initial add - go fmt on grpc
Change-Id: Ib0afadd2fe5571d1456a091f94f5644458f7d3f4
diff --git a/vendor/github.com/golang/protobuf/AUTHORS b/vendor/github.com/golang/protobuf/AUTHORS
new file mode 100644
index 0000000..15167cd
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/AUTHORS
@@ -0,0 +1,3 @@
+# This source code refers to The Go Authors for copyright purposes.
+# The master list of authors is in the main Go distribution,
+# visible at http://tip.golang.org/AUTHORS.
diff --git a/vendor/github.com/golang/protobuf/CONTRIBUTORS b/vendor/github.com/golang/protobuf/CONTRIBUTORS
new file mode 100644
index 0000000..1c4577e
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/CONTRIBUTORS
@@ -0,0 +1,3 @@
+# This source code was written by the Go contributors.
+# The master list of contributors is in the main Go distribution,
+# visible at http://tip.golang.org/CONTRIBUTORS.
diff --git a/vendor/github.com/golang/protobuf/LICENSE b/vendor/github.com/golang/protobuf/LICENSE
new file mode 100644
index 0000000..0f64693
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/LICENSE
@@ -0,0 +1,28 @@
+Copyright 2010 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
diff --git a/vendor/github.com/golang/protobuf/proto/clone.go b/vendor/github.com/golang/protobuf/proto/clone.go
new file mode 100644
index 0000000..3cd3249
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/clone.go
@@ -0,0 +1,253 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2011 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Protocol buffer deep copy and merge.
+// TODO: RawMessage.
+
+package proto
+
+import (
+ "fmt"
+ "log"
+ "reflect"
+ "strings"
+)
+
+// Clone returns a deep copy of a protocol buffer.
+func Clone(src Message) Message {
+ in := reflect.ValueOf(src)
+ if in.IsNil() {
+ return src
+ }
+ out := reflect.New(in.Type().Elem())
+ dst := out.Interface().(Message)
+ Merge(dst, src)
+ return dst
+}
+
+// Merger is the interface representing objects that can merge messages of the same type.
+type Merger interface {
+ // Merge merges src into this message.
+ // Required and optional fields that are set in src will be set to that value in dst.
+ // Elements of repeated fields will be appended.
+ //
+ // Merge may panic if called with a different argument type than the receiver.
+ Merge(src Message)
+}
+
+// generatedMerger is the custom merge method that generated protos will have.
+// We must add this method since a generate Merge method will conflict with
+// many existing protos that have a Merge data field already defined.
+type generatedMerger interface {
+ XXX_Merge(src Message)
+}
+
+// Merge merges src into dst.
+// Required and optional fields that are set in src will be set to that value in dst.
+// Elements of repeated fields will be appended.
+// Merge panics if src and dst are not the same type, or if dst is nil.
+func Merge(dst, src Message) {
+ if m, ok := dst.(Merger); ok {
+ m.Merge(src)
+ return
+ }
+
+ in := reflect.ValueOf(src)
+ out := reflect.ValueOf(dst)
+ if out.IsNil() {
+ panic("proto: nil destination")
+ }
+ if in.Type() != out.Type() {
+ panic(fmt.Sprintf("proto.Merge(%T, %T) type mismatch", dst, src))
+ }
+ if in.IsNil() {
+ return // Merge from nil src is a noop
+ }
+ if m, ok := dst.(generatedMerger); ok {
+ m.XXX_Merge(src)
+ return
+ }
+ mergeStruct(out.Elem(), in.Elem())
+}
+
+func mergeStruct(out, in reflect.Value) {
+ sprop := GetProperties(in.Type())
+ for i := 0; i < in.NumField(); i++ {
+ f := in.Type().Field(i)
+ if strings.HasPrefix(f.Name, "XXX_") {
+ continue
+ }
+ mergeAny(out.Field(i), in.Field(i), false, sprop.Prop[i])
+ }
+
+ if emIn, err := extendable(in.Addr().Interface()); err == nil {
+ emOut, _ := extendable(out.Addr().Interface())
+ mIn, muIn := emIn.extensionsRead()
+ if mIn != nil {
+ mOut := emOut.extensionsWrite()
+ muIn.Lock()
+ mergeExtension(mOut, mIn)
+ muIn.Unlock()
+ }
+ }
+
+ uf := in.FieldByName("XXX_unrecognized")
+ if !uf.IsValid() {
+ return
+ }
+ uin := uf.Bytes()
+ if len(uin) > 0 {
+ out.FieldByName("XXX_unrecognized").SetBytes(append([]byte(nil), uin...))
+ }
+}
+
+// mergeAny performs a merge between two values of the same type.
+// viaPtr indicates whether the values were indirected through a pointer (implying proto2).
+// prop is set if this is a struct field (it may be nil).
+func mergeAny(out, in reflect.Value, viaPtr bool, prop *Properties) {
+ if in.Type() == protoMessageType {
+ if !in.IsNil() {
+ if out.IsNil() {
+ out.Set(reflect.ValueOf(Clone(in.Interface().(Message))))
+ } else {
+ Merge(out.Interface().(Message), in.Interface().(Message))
+ }
+ }
+ return
+ }
+ switch in.Kind() {
+ case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,
+ reflect.String, reflect.Uint32, reflect.Uint64:
+ if !viaPtr && isProto3Zero(in) {
+ return
+ }
+ out.Set(in)
+ case reflect.Interface:
+ // Probably a oneof field; copy non-nil values.
+ if in.IsNil() {
+ return
+ }
+ // Allocate destination if it is not set, or set to a different type.
+ // Otherwise we will merge as normal.
+ if out.IsNil() || out.Elem().Type() != in.Elem().Type() {
+ out.Set(reflect.New(in.Elem().Elem().Type())) // interface -> *T -> T -> new(T)
+ }
+ mergeAny(out.Elem(), in.Elem(), false, nil)
+ case reflect.Map:
+ if in.Len() == 0 {
+ return
+ }
+ if out.IsNil() {
+ out.Set(reflect.MakeMap(in.Type()))
+ }
+ // For maps with value types of *T or []byte we need to deep copy each value.
+ elemKind := in.Type().Elem().Kind()
+ for _, key := range in.MapKeys() {
+ var val reflect.Value
+ switch elemKind {
+ case reflect.Ptr:
+ val = reflect.New(in.Type().Elem().Elem())
+ mergeAny(val, in.MapIndex(key), false, nil)
+ case reflect.Slice:
+ val = in.MapIndex(key)
+ val = reflect.ValueOf(append([]byte{}, val.Bytes()...))
+ default:
+ val = in.MapIndex(key)
+ }
+ out.SetMapIndex(key, val)
+ }
+ case reflect.Ptr:
+ if in.IsNil() {
+ return
+ }
+ if out.IsNil() {
+ out.Set(reflect.New(in.Elem().Type()))
+ }
+ mergeAny(out.Elem(), in.Elem(), true, nil)
+ case reflect.Slice:
+ if in.IsNil() {
+ return
+ }
+ if in.Type().Elem().Kind() == reflect.Uint8 {
+ // []byte is a scalar bytes field, not a repeated field.
+
+ // Edge case: if this is in a proto3 message, a zero length
+ // bytes field is considered the zero value, and should not
+ // be merged.
+ if prop != nil && prop.proto3 && in.Len() == 0 {
+ return
+ }
+
+ // Make a deep copy.
+ // Append to []byte{} instead of []byte(nil) so that we never end up
+ // with a nil result.
+ out.SetBytes(append([]byte{}, in.Bytes()...))
+ return
+ }
+ n := in.Len()
+ if out.IsNil() {
+ out.Set(reflect.MakeSlice(in.Type(), 0, n))
+ }
+ switch in.Type().Elem().Kind() {
+ case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,
+ reflect.String, reflect.Uint32, reflect.Uint64:
+ out.Set(reflect.AppendSlice(out, in))
+ default:
+ for i := 0; i < n; i++ {
+ x := reflect.Indirect(reflect.New(in.Type().Elem()))
+ mergeAny(x, in.Index(i), false, nil)
+ out.Set(reflect.Append(out, x))
+ }
+ }
+ case reflect.Struct:
+ mergeStruct(out, in)
+ default:
+ // unknown type, so not a protocol buffer
+ log.Printf("proto: don't know how to copy %v", in)
+ }
+}
+
+func mergeExtension(out, in map[int32]Extension) {
+ for extNum, eIn := range in {
+ eOut := Extension{desc: eIn.desc}
+ if eIn.value != nil {
+ v := reflect.New(reflect.TypeOf(eIn.value)).Elem()
+ mergeAny(v, reflect.ValueOf(eIn.value), false, nil)
+ eOut.value = v.Interface()
+ }
+ if eIn.enc != nil {
+ eOut.enc = make([]byte, len(eIn.enc))
+ copy(eOut.enc, eIn.enc)
+ }
+
+ out[extNum] = eOut
+ }
+}
diff --git a/vendor/github.com/golang/protobuf/proto/decode.go b/vendor/github.com/golang/protobuf/proto/decode.go
new file mode 100644
index 0000000..63b0f08
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/decode.go
@@ -0,0 +1,427 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2010 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+/*
+ * Routines for decoding protocol buffer data to construct in-memory representations.
+ */
+
+import (
+ "errors"
+ "fmt"
+ "io"
+)
+
+// errOverflow is returned when an integer is too large to be represented.
+var errOverflow = errors.New("proto: integer overflow")
+
+// ErrInternalBadWireType is returned by generated code when an incorrect
+// wire type is encountered. It does not get returned to user code.
+var ErrInternalBadWireType = errors.New("proto: internal error: bad wiretype for oneof")
+
+// DecodeVarint reads a varint-encoded integer from the slice.
+// It returns the integer and the number of bytes consumed, or
+// zero if there is not enough.
+// This is the format for the
+// int32, int64, uint32, uint64, bool, and enum
+// protocol buffer types.
+func DecodeVarint(buf []byte) (x uint64, n int) {
+ for shift := uint(0); shift < 64; shift += 7 {
+ if n >= len(buf) {
+ return 0, 0
+ }
+ b := uint64(buf[n])
+ n++
+ x |= (b & 0x7F) << shift
+ if (b & 0x80) == 0 {
+ return x, n
+ }
+ }
+
+ // The number is too large to represent in a 64-bit value.
+ return 0, 0
+}
+
+func (p *Buffer) decodeVarintSlow() (x uint64, err error) {
+ i := p.index
+ l := len(p.buf)
+
+ for shift := uint(0); shift < 64; shift += 7 {
+ if i >= l {
+ err = io.ErrUnexpectedEOF
+ return
+ }
+ b := p.buf[i]
+ i++
+ x |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ p.index = i
+ return
+ }
+ }
+
+ // The number is too large to represent in a 64-bit value.
+ err = errOverflow
+ return
+}
+
+// DecodeVarint reads a varint-encoded integer from the Buffer.
+// This is the format for the
+// int32, int64, uint32, uint64, bool, and enum
+// protocol buffer types.
+func (p *Buffer) DecodeVarint() (x uint64, err error) {
+ i := p.index
+ buf := p.buf
+
+ if i >= len(buf) {
+ return 0, io.ErrUnexpectedEOF
+ } else if buf[i] < 0x80 {
+ p.index++
+ return uint64(buf[i]), nil
+ } else if len(buf)-i < 10 {
+ return p.decodeVarintSlow()
+ }
+
+ var b uint64
+ // we already checked the first byte
+ x = uint64(buf[i]) - 0x80
+ i++
+
+ b = uint64(buf[i])
+ i++
+ x += b << 7
+ if b&0x80 == 0 {
+ goto done
+ }
+ x -= 0x80 << 7
+
+ b = uint64(buf[i])
+ i++
+ x += b << 14
+ if b&0x80 == 0 {
+ goto done
+ }
+ x -= 0x80 << 14
+
+ b = uint64(buf[i])
+ i++
+ x += b << 21
+ if b&0x80 == 0 {
+ goto done
+ }
+ x -= 0x80 << 21
+
+ b = uint64(buf[i])
+ i++
+ x += b << 28
+ if b&0x80 == 0 {
+ goto done
+ }
+ x -= 0x80 << 28
+
+ b = uint64(buf[i])
+ i++
+ x += b << 35
+ if b&0x80 == 0 {
+ goto done
+ }
+ x -= 0x80 << 35
+
+ b = uint64(buf[i])
+ i++
+ x += b << 42
+ if b&0x80 == 0 {
+ goto done
+ }
+ x -= 0x80 << 42
+
+ b = uint64(buf[i])
+ i++
+ x += b << 49
+ if b&0x80 == 0 {
+ goto done
+ }
+ x -= 0x80 << 49
+
+ b = uint64(buf[i])
+ i++
+ x += b << 56
+ if b&0x80 == 0 {
+ goto done
+ }
+ x -= 0x80 << 56
+
+ b = uint64(buf[i])
+ i++
+ x += b << 63
+ if b&0x80 == 0 {
+ goto done
+ }
+
+ return 0, errOverflow
+
+done:
+ p.index = i
+ return x, nil
+}
+
+// DecodeFixed64 reads a 64-bit integer from the Buffer.
+// This is the format for the
+// fixed64, sfixed64, and double protocol buffer types.
+func (p *Buffer) DecodeFixed64() (x uint64, err error) {
+ // x, err already 0
+ i := p.index + 8
+ if i < 0 || i > len(p.buf) {
+ err = io.ErrUnexpectedEOF
+ return
+ }
+ p.index = i
+
+ x = uint64(p.buf[i-8])
+ x |= uint64(p.buf[i-7]) << 8
+ x |= uint64(p.buf[i-6]) << 16
+ x |= uint64(p.buf[i-5]) << 24
+ x |= uint64(p.buf[i-4]) << 32
+ x |= uint64(p.buf[i-3]) << 40
+ x |= uint64(p.buf[i-2]) << 48
+ x |= uint64(p.buf[i-1]) << 56
+ return
+}
+
+// DecodeFixed32 reads a 32-bit integer from the Buffer.
+// This is the format for the
+// fixed32, sfixed32, and float protocol buffer types.
+func (p *Buffer) DecodeFixed32() (x uint64, err error) {
+ // x, err already 0
+ i := p.index + 4
+ if i < 0 || i > len(p.buf) {
+ err = io.ErrUnexpectedEOF
+ return
+ }
+ p.index = i
+
+ x = uint64(p.buf[i-4])
+ x |= uint64(p.buf[i-3]) << 8
+ x |= uint64(p.buf[i-2]) << 16
+ x |= uint64(p.buf[i-1]) << 24
+ return
+}
+
+// DecodeZigzag64 reads a zigzag-encoded 64-bit integer
+// from the Buffer.
+// This is the format used for the sint64 protocol buffer type.
+func (p *Buffer) DecodeZigzag64() (x uint64, err error) {
+ x, err = p.DecodeVarint()
+ if err != nil {
+ return
+ }
+ x = (x >> 1) ^ uint64((int64(x&1)<<63)>>63)
+ return
+}
+
+// DecodeZigzag32 reads a zigzag-encoded 32-bit integer
+// from the Buffer.
+// This is the format used for the sint32 protocol buffer type.
+func (p *Buffer) DecodeZigzag32() (x uint64, err error) {
+ x, err = p.DecodeVarint()
+ if err != nil {
+ return
+ }
+ x = uint64((uint32(x) >> 1) ^ uint32((int32(x&1)<<31)>>31))
+ return
+}
+
+// DecodeRawBytes reads a count-delimited byte buffer from the Buffer.
+// This is the format used for the bytes protocol buffer
+// type and for embedded messages.
+func (p *Buffer) DecodeRawBytes(alloc bool) (buf []byte, err error) {
+ n, err := p.DecodeVarint()
+ if err != nil {
+ return nil, err
+ }
+
+ nb := int(n)
+ if nb < 0 {
+ return nil, fmt.Errorf("proto: bad byte length %d", nb)
+ }
+ end := p.index + nb
+ if end < p.index || end > len(p.buf) {
+ return nil, io.ErrUnexpectedEOF
+ }
+
+ if !alloc {
+ // todo: check if can get more uses of alloc=false
+ buf = p.buf[p.index:end]
+ p.index += nb
+ return
+ }
+
+ buf = make([]byte, nb)
+ copy(buf, p.buf[p.index:])
+ p.index += nb
+ return
+}
+
+// DecodeStringBytes reads an encoded string from the Buffer.
+// This is the format used for the proto2 string type.
+func (p *Buffer) DecodeStringBytes() (s string, err error) {
+ buf, err := p.DecodeRawBytes(false)
+ if err != nil {
+ return
+ }
+ return string(buf), nil
+}
+
+// Unmarshaler is the interface representing objects that can
+// unmarshal themselves. The argument points to data that may be
+// overwritten, so implementations should not keep references to the
+// buffer.
+// Unmarshal implementations should not clear the receiver.
+// Any unmarshaled data should be merged into the receiver.
+// Callers of Unmarshal that do not want to retain existing data
+// should Reset the receiver before calling Unmarshal.
+type Unmarshaler interface {
+ Unmarshal([]byte) error
+}
+
+// newUnmarshaler is the interface representing objects that can
+// unmarshal themselves. The semantics are identical to Unmarshaler.
+//
+// This exists to support protoc-gen-go generated messages.
+// The proto package will stop type-asserting to this interface in the future.
+//
+// DO NOT DEPEND ON THIS.
+type newUnmarshaler interface {
+ XXX_Unmarshal([]byte) error
+}
+
+// Unmarshal parses the protocol buffer representation in buf and places the
+// decoded result in pb. If the struct underlying pb does not match
+// the data in buf, the results can be unpredictable.
+//
+// Unmarshal resets pb before starting to unmarshal, so any
+// existing data in pb is always removed. Use UnmarshalMerge
+// to preserve and append to existing data.
+func Unmarshal(buf []byte, pb Message) error {
+ pb.Reset()
+ if u, ok := pb.(newUnmarshaler); ok {
+ return u.XXX_Unmarshal(buf)
+ }
+ if u, ok := pb.(Unmarshaler); ok {
+ return u.Unmarshal(buf)
+ }
+ return NewBuffer(buf).Unmarshal(pb)
+}
+
+// UnmarshalMerge parses the protocol buffer representation in buf and
+// writes the decoded result to pb. If the struct underlying pb does not match
+// the data in buf, the results can be unpredictable.
+//
+// UnmarshalMerge merges into existing data in pb.
+// Most code should use Unmarshal instead.
+func UnmarshalMerge(buf []byte, pb Message) error {
+ if u, ok := pb.(newUnmarshaler); ok {
+ return u.XXX_Unmarshal(buf)
+ }
+ if u, ok := pb.(Unmarshaler); ok {
+ // NOTE: The history of proto have unfortunately been inconsistent
+ // whether Unmarshaler should or should not implicitly clear itself.
+ // Some implementations do, most do not.
+ // Thus, calling this here may or may not do what people want.
+ //
+ // See https://github.com/golang/protobuf/issues/424
+ return u.Unmarshal(buf)
+ }
+ return NewBuffer(buf).Unmarshal(pb)
+}
+
+// DecodeMessage reads a count-delimited message from the Buffer.
+func (p *Buffer) DecodeMessage(pb Message) error {
+ enc, err := p.DecodeRawBytes(false)
+ if err != nil {
+ return err
+ }
+ return NewBuffer(enc).Unmarshal(pb)
+}
+
+// DecodeGroup reads a tag-delimited group from the Buffer.
+// StartGroup tag is already consumed. This function consumes
+// EndGroup tag.
+func (p *Buffer) DecodeGroup(pb Message) error {
+ b := p.buf[p.index:]
+ x, y := findEndGroup(b)
+ if x < 0 {
+ return io.ErrUnexpectedEOF
+ }
+ err := Unmarshal(b[:x], pb)
+ p.index += y
+ return err
+}
+
+// Unmarshal parses the protocol buffer representation in the
+// Buffer and places the decoded result in pb. If the struct
+// underlying pb does not match the data in the buffer, the results can be
+// unpredictable.
+//
+// Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal.
+func (p *Buffer) Unmarshal(pb Message) error {
+ // If the object can unmarshal itself, let it.
+ if u, ok := pb.(newUnmarshaler); ok {
+ err := u.XXX_Unmarshal(p.buf[p.index:])
+ p.index = len(p.buf)
+ return err
+ }
+ if u, ok := pb.(Unmarshaler); ok {
+ // NOTE: The history of proto have unfortunately been inconsistent
+ // whether Unmarshaler should or should not implicitly clear itself.
+ // Some implementations do, most do not.
+ // Thus, calling this here may or may not do what people want.
+ //
+ // See https://github.com/golang/protobuf/issues/424
+ err := u.Unmarshal(p.buf[p.index:])
+ p.index = len(p.buf)
+ return err
+ }
+
+ // Slow workaround for messages that aren't Unmarshalers.
+ // This includes some hand-coded .pb.go files and
+ // bootstrap protos.
+ // TODO: fix all of those and then add Unmarshal to
+ // the Message interface. Then:
+ // The cast above and code below can be deleted.
+ // The old unmarshaler can be deleted.
+ // Clients can call Unmarshal directly (can already do that, actually).
+ var info InternalMessageInfo
+ err := info.Unmarshal(pb, p.buf[p.index:])
+ p.index = len(p.buf)
+ return err
+}
diff --git a/vendor/github.com/golang/protobuf/proto/deprecated.go b/vendor/github.com/golang/protobuf/proto/deprecated.go
new file mode 100644
index 0000000..35b882c
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/deprecated.go
@@ -0,0 +1,63 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2018 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+import "errors"
+
+// Deprecated: do not use.
+type Stats struct{ Emalloc, Dmalloc, Encode, Decode, Chit, Cmiss, Size uint64 }
+
+// Deprecated: do not use.
+func GetStats() Stats { return Stats{} }
+
+// Deprecated: do not use.
+func MarshalMessageSet(interface{}) ([]byte, error) {
+ return nil, errors.New("proto: not implemented")
+}
+
+// Deprecated: do not use.
+func UnmarshalMessageSet([]byte, interface{}) error {
+ return errors.New("proto: not implemented")
+}
+
+// Deprecated: do not use.
+func MarshalMessageSetJSON(interface{}) ([]byte, error) {
+ return nil, errors.New("proto: not implemented")
+}
+
+// Deprecated: do not use.
+func UnmarshalMessageSetJSON([]byte, interface{}) error {
+ return errors.New("proto: not implemented")
+}
+
+// Deprecated: do not use.
+func RegisterMessageSetType(Message, int32, string) {}
diff --git a/vendor/github.com/golang/protobuf/proto/discard.go b/vendor/github.com/golang/protobuf/proto/discard.go
new file mode 100644
index 0000000..dea2617
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/discard.go
@@ -0,0 +1,350 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2017 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+import (
+ "fmt"
+ "reflect"
+ "strings"
+ "sync"
+ "sync/atomic"
+)
+
+type generatedDiscarder interface {
+ XXX_DiscardUnknown()
+}
+
+// DiscardUnknown recursively discards all unknown fields from this message
+// and all embedded messages.
+//
+// When unmarshaling a message with unrecognized fields, the tags and values
+// of such fields are preserved in the Message. This allows a later call to
+// marshal to be able to produce a message that continues to have those
+// unrecognized fields. To avoid this, DiscardUnknown is used to
+// explicitly clear the unknown fields after unmarshaling.
+//
+// For proto2 messages, the unknown fields of message extensions are only
+// discarded from messages that have been accessed via GetExtension.
+func DiscardUnknown(m Message) {
+ if m, ok := m.(generatedDiscarder); ok {
+ m.XXX_DiscardUnknown()
+ return
+ }
+ // TODO: Dynamically populate a InternalMessageInfo for legacy messages,
+ // but the master branch has no implementation for InternalMessageInfo,
+ // so it would be more work to replicate that approach.
+ discardLegacy(m)
+}
+
+// DiscardUnknown recursively discards all unknown fields.
+func (a *InternalMessageInfo) DiscardUnknown(m Message) {
+ di := atomicLoadDiscardInfo(&a.discard)
+ if di == nil {
+ di = getDiscardInfo(reflect.TypeOf(m).Elem())
+ atomicStoreDiscardInfo(&a.discard, di)
+ }
+ di.discard(toPointer(&m))
+}
+
+type discardInfo struct {
+ typ reflect.Type
+
+ initialized int32 // 0: only typ is valid, 1: everything is valid
+ lock sync.Mutex
+
+ fields []discardFieldInfo
+ unrecognized field
+}
+
+type discardFieldInfo struct {
+ field field // Offset of field, guaranteed to be valid
+ discard func(src pointer)
+}
+
+var (
+ discardInfoMap = map[reflect.Type]*discardInfo{}
+ discardInfoLock sync.Mutex
+)
+
+func getDiscardInfo(t reflect.Type) *discardInfo {
+ discardInfoLock.Lock()
+ defer discardInfoLock.Unlock()
+ di := discardInfoMap[t]
+ if di == nil {
+ di = &discardInfo{typ: t}
+ discardInfoMap[t] = di
+ }
+ return di
+}
+
+func (di *discardInfo) discard(src pointer) {
+ if src.isNil() {
+ return // Nothing to do.
+ }
+
+ if atomic.LoadInt32(&di.initialized) == 0 {
+ di.computeDiscardInfo()
+ }
+
+ for _, fi := range di.fields {
+ sfp := src.offset(fi.field)
+ fi.discard(sfp)
+ }
+
+ // For proto2 messages, only discard unknown fields in message extensions
+ // that have been accessed via GetExtension.
+ if em, err := extendable(src.asPointerTo(di.typ).Interface()); err == nil {
+ // Ignore lock since DiscardUnknown is not concurrency safe.
+ emm, _ := em.extensionsRead()
+ for _, mx := range emm {
+ if m, ok := mx.value.(Message); ok {
+ DiscardUnknown(m)
+ }
+ }
+ }
+
+ if di.unrecognized.IsValid() {
+ *src.offset(di.unrecognized).toBytes() = nil
+ }
+}
+
+func (di *discardInfo) computeDiscardInfo() {
+ di.lock.Lock()
+ defer di.lock.Unlock()
+ if di.initialized != 0 {
+ return
+ }
+ t := di.typ
+ n := t.NumField()
+
+ for i := 0; i < n; i++ {
+ f := t.Field(i)
+ if strings.HasPrefix(f.Name, "XXX_") {
+ continue
+ }
+
+ dfi := discardFieldInfo{field: toField(&f)}
+ tf := f.Type
+
+ // Unwrap tf to get its most basic type.
+ var isPointer, isSlice bool
+ if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {
+ isSlice = true
+ tf = tf.Elem()
+ }
+ if tf.Kind() == reflect.Ptr {
+ isPointer = true
+ tf = tf.Elem()
+ }
+ if isPointer && isSlice && tf.Kind() != reflect.Struct {
+ panic(fmt.Sprintf("%v.%s cannot be a slice of pointers to primitive types", t, f.Name))
+ }
+
+ switch tf.Kind() {
+ case reflect.Struct:
+ switch {
+ case !isPointer:
+ panic(fmt.Sprintf("%v.%s cannot be a direct struct value", t, f.Name))
+ case isSlice: // E.g., []*pb.T
+ di := getDiscardInfo(tf)
+ dfi.discard = func(src pointer) {
+ sps := src.getPointerSlice()
+ for _, sp := range sps {
+ if !sp.isNil() {
+ di.discard(sp)
+ }
+ }
+ }
+ default: // E.g., *pb.T
+ di := getDiscardInfo(tf)
+ dfi.discard = func(src pointer) {
+ sp := src.getPointer()
+ if !sp.isNil() {
+ di.discard(sp)
+ }
+ }
+ }
+ case reflect.Map:
+ switch {
+ case isPointer || isSlice:
+ panic(fmt.Sprintf("%v.%s cannot be a pointer to a map or a slice of map values", t, f.Name))
+ default: // E.g., map[K]V
+ if tf.Elem().Kind() == reflect.Ptr { // Proto struct (e.g., *T)
+ dfi.discard = func(src pointer) {
+ sm := src.asPointerTo(tf).Elem()
+ if sm.Len() == 0 {
+ return
+ }
+ for _, key := range sm.MapKeys() {
+ val := sm.MapIndex(key)
+ DiscardUnknown(val.Interface().(Message))
+ }
+ }
+ } else {
+ dfi.discard = func(pointer) {} // Noop
+ }
+ }
+ case reflect.Interface:
+ // Must be oneof field.
+ switch {
+ case isPointer || isSlice:
+ panic(fmt.Sprintf("%v.%s cannot be a pointer to a interface or a slice of interface values", t, f.Name))
+ default: // E.g., interface{}
+ // TODO: Make this faster?
+ dfi.discard = func(src pointer) {
+ su := src.asPointerTo(tf).Elem()
+ if !su.IsNil() {
+ sv := su.Elem().Elem().Field(0)
+ if sv.Kind() == reflect.Ptr && sv.IsNil() {
+ return
+ }
+ switch sv.Type().Kind() {
+ case reflect.Ptr: // Proto struct (e.g., *T)
+ DiscardUnknown(sv.Interface().(Message))
+ }
+ }
+ }
+ }
+ default:
+ continue
+ }
+ di.fields = append(di.fields, dfi)
+ }
+
+ di.unrecognized = invalidField
+ if f, ok := t.FieldByName("XXX_unrecognized"); ok {
+ if f.Type != reflect.TypeOf([]byte{}) {
+ panic("expected XXX_unrecognized to be of type []byte")
+ }
+ di.unrecognized = toField(&f)
+ }
+
+ atomic.StoreInt32(&di.initialized, 1)
+}
+
+func discardLegacy(m Message) {
+ v := reflect.ValueOf(m)
+ if v.Kind() != reflect.Ptr || v.IsNil() {
+ return
+ }
+ v = v.Elem()
+ if v.Kind() != reflect.Struct {
+ return
+ }
+ t := v.Type()
+
+ for i := 0; i < v.NumField(); i++ {
+ f := t.Field(i)
+ if strings.HasPrefix(f.Name, "XXX_") {
+ continue
+ }
+ vf := v.Field(i)
+ tf := f.Type
+
+ // Unwrap tf to get its most basic type.
+ var isPointer, isSlice bool
+ if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {
+ isSlice = true
+ tf = tf.Elem()
+ }
+ if tf.Kind() == reflect.Ptr {
+ isPointer = true
+ tf = tf.Elem()
+ }
+ if isPointer && isSlice && tf.Kind() != reflect.Struct {
+ panic(fmt.Sprintf("%T.%s cannot be a slice of pointers to primitive types", m, f.Name))
+ }
+
+ switch tf.Kind() {
+ case reflect.Struct:
+ switch {
+ case !isPointer:
+ panic(fmt.Sprintf("%T.%s cannot be a direct struct value", m, f.Name))
+ case isSlice: // E.g., []*pb.T
+ for j := 0; j < vf.Len(); j++ {
+ discardLegacy(vf.Index(j).Interface().(Message))
+ }
+ default: // E.g., *pb.T
+ discardLegacy(vf.Interface().(Message))
+ }
+ case reflect.Map:
+ switch {
+ case isPointer || isSlice:
+ panic(fmt.Sprintf("%T.%s cannot be a pointer to a map or a slice of map values", m, f.Name))
+ default: // E.g., map[K]V
+ tv := vf.Type().Elem()
+ if tv.Kind() == reflect.Ptr && tv.Implements(protoMessageType) { // Proto struct (e.g., *T)
+ for _, key := range vf.MapKeys() {
+ val := vf.MapIndex(key)
+ discardLegacy(val.Interface().(Message))
+ }
+ }
+ }
+ case reflect.Interface:
+ // Must be oneof field.
+ switch {
+ case isPointer || isSlice:
+ panic(fmt.Sprintf("%T.%s cannot be a pointer to a interface or a slice of interface values", m, f.Name))
+ default: // E.g., test_proto.isCommunique_Union interface
+ if !vf.IsNil() && f.Tag.Get("protobuf_oneof") != "" {
+ vf = vf.Elem() // E.g., *test_proto.Communique_Msg
+ if !vf.IsNil() {
+ vf = vf.Elem() // E.g., test_proto.Communique_Msg
+ vf = vf.Field(0) // E.g., Proto struct (e.g., *T) or primitive value
+ if vf.Kind() == reflect.Ptr {
+ discardLegacy(vf.Interface().(Message))
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if vf := v.FieldByName("XXX_unrecognized"); vf.IsValid() {
+ if vf.Type() != reflect.TypeOf([]byte{}) {
+ panic("expected XXX_unrecognized to be of type []byte")
+ }
+ vf.Set(reflect.ValueOf([]byte(nil)))
+ }
+
+ // For proto2 messages, only discard unknown fields in message extensions
+ // that have been accessed via GetExtension.
+ if em, err := extendable(m); err == nil {
+ // Ignore lock since discardLegacy is not concurrency safe.
+ emm, _ := em.extensionsRead()
+ for _, mx := range emm {
+ if m, ok := mx.value.(Message); ok {
+ discardLegacy(m)
+ }
+ }
+ }
+}
diff --git a/vendor/github.com/golang/protobuf/proto/encode.go b/vendor/github.com/golang/protobuf/proto/encode.go
new file mode 100644
index 0000000..3abfed2
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/encode.go
@@ -0,0 +1,203 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2010 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+/*
+ * Routines for encoding data into the wire format for protocol buffers.
+ */
+
+import (
+ "errors"
+ "reflect"
+)
+
+var (
+ // errRepeatedHasNil is the error returned if Marshal is called with
+ // a struct with a repeated field containing a nil element.
+ errRepeatedHasNil = errors.New("proto: repeated field has nil element")
+
+ // errOneofHasNil is the error returned if Marshal is called with
+ // a struct with a oneof field containing a nil element.
+ errOneofHasNil = errors.New("proto: oneof field has nil value")
+
+ // ErrNil is the error returned if Marshal is called with nil.
+ ErrNil = errors.New("proto: Marshal called with nil")
+
+ // ErrTooLarge is the error returned if Marshal is called with a
+ // message that encodes to >2GB.
+ ErrTooLarge = errors.New("proto: message encodes to over 2 GB")
+)
+
+// The fundamental encoders that put bytes on the wire.
+// Those that take integer types all accept uint64 and are
+// therefore of type valueEncoder.
+
+const maxVarintBytes = 10 // maximum length of a varint
+
+// EncodeVarint returns the varint encoding of x.
+// This is the format for the
+// int32, int64, uint32, uint64, bool, and enum
+// protocol buffer types.
+// Not used by the package itself, but helpful to clients
+// wishing to use the same encoding.
+func EncodeVarint(x uint64) []byte {
+ var buf [maxVarintBytes]byte
+ var n int
+ for n = 0; x > 127; n++ {
+ buf[n] = 0x80 | uint8(x&0x7F)
+ x >>= 7
+ }
+ buf[n] = uint8(x)
+ n++
+ return buf[0:n]
+}
+
+// EncodeVarint writes a varint-encoded integer to the Buffer.
+// This is the format for the
+// int32, int64, uint32, uint64, bool, and enum
+// protocol buffer types.
+func (p *Buffer) EncodeVarint(x uint64) error {
+ for x >= 1<<7 {
+ p.buf = append(p.buf, uint8(x&0x7f|0x80))
+ x >>= 7
+ }
+ p.buf = append(p.buf, uint8(x))
+ return nil
+}
+
+// SizeVarint returns the varint encoding size of an integer.
+func SizeVarint(x uint64) int {
+ switch {
+ case x < 1<<7:
+ return 1
+ case x < 1<<14:
+ return 2
+ case x < 1<<21:
+ return 3
+ case x < 1<<28:
+ return 4
+ case x < 1<<35:
+ return 5
+ case x < 1<<42:
+ return 6
+ case x < 1<<49:
+ return 7
+ case x < 1<<56:
+ return 8
+ case x < 1<<63:
+ return 9
+ }
+ return 10
+}
+
+// EncodeFixed64 writes a 64-bit integer to the Buffer.
+// This is the format for the
+// fixed64, sfixed64, and double protocol buffer types.
+func (p *Buffer) EncodeFixed64(x uint64) error {
+ p.buf = append(p.buf,
+ uint8(x),
+ uint8(x>>8),
+ uint8(x>>16),
+ uint8(x>>24),
+ uint8(x>>32),
+ uint8(x>>40),
+ uint8(x>>48),
+ uint8(x>>56))
+ return nil
+}
+
+// EncodeFixed32 writes a 32-bit integer to the Buffer.
+// This is the format for the
+// fixed32, sfixed32, and float protocol buffer types.
+func (p *Buffer) EncodeFixed32(x uint64) error {
+ p.buf = append(p.buf,
+ uint8(x),
+ uint8(x>>8),
+ uint8(x>>16),
+ uint8(x>>24))
+ return nil
+}
+
+// EncodeZigzag64 writes a zigzag-encoded 64-bit integer
+// to the Buffer.
+// This is the format used for the sint64 protocol buffer type.
+func (p *Buffer) EncodeZigzag64(x uint64) error {
+ // use signed number to get arithmetic right shift.
+ return p.EncodeVarint(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+}
+
+// EncodeZigzag32 writes a zigzag-encoded 32-bit integer
+// to the Buffer.
+// This is the format used for the sint32 protocol buffer type.
+func (p *Buffer) EncodeZigzag32(x uint64) error {
+ // use signed number to get arithmetic right shift.
+ return p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31))))
+}
+
+// EncodeRawBytes writes a count-delimited byte buffer to the Buffer.
+// This is the format used for the bytes protocol buffer
+// type and for embedded messages.
+func (p *Buffer) EncodeRawBytes(b []byte) error {
+ p.EncodeVarint(uint64(len(b)))
+ p.buf = append(p.buf, b...)
+ return nil
+}
+
+// EncodeStringBytes writes an encoded string to the Buffer.
+// This is the format used for the proto2 string type.
+func (p *Buffer) EncodeStringBytes(s string) error {
+ p.EncodeVarint(uint64(len(s)))
+ p.buf = append(p.buf, s...)
+ return nil
+}
+
+// Marshaler is the interface representing objects that can marshal themselves.
+type Marshaler interface {
+ Marshal() ([]byte, error)
+}
+
+// EncodeMessage writes the protocol buffer to the Buffer,
+// prefixed by a varint-encoded length.
+func (p *Buffer) EncodeMessage(pb Message) error {
+ siz := Size(pb)
+ p.EncodeVarint(uint64(siz))
+ return p.Marshal(pb)
+}
+
+// All protocol buffer fields are nillable, but be careful.
+func isNil(v reflect.Value) bool {
+ switch v.Kind() {
+ case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice:
+ return v.IsNil()
+ }
+ return false
+}
diff --git a/vendor/github.com/golang/protobuf/proto/equal.go b/vendor/github.com/golang/protobuf/proto/equal.go
new file mode 100644
index 0000000..f9b6e41
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/equal.go
@@ -0,0 +1,301 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2011 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Protocol buffer comparison.
+
+package proto
+
+import (
+ "bytes"
+ "log"
+ "reflect"
+ "strings"
+)
+
+/*
+Equal returns true iff protocol buffers a and b are equal.
+The arguments must both be pointers to protocol buffer structs.
+
+Equality is defined in this way:
+ - Two messages are equal iff they are the same type,
+ corresponding fields are equal, unknown field sets
+ are equal, and extensions sets are equal.
+ - Two set scalar fields are equal iff their values are equal.
+ If the fields are of a floating-point type, remember that
+ NaN != x for all x, including NaN. If the message is defined
+ in a proto3 .proto file, fields are not "set"; specifically,
+ zero length proto3 "bytes" fields are equal (nil == {}).
+ - Two repeated fields are equal iff their lengths are the same,
+ and their corresponding elements are equal. Note a "bytes" field,
+ although represented by []byte, is not a repeated field and the
+ rule for the scalar fields described above applies.
+ - Two unset fields are equal.
+ - Two unknown field sets are equal if their current
+ encoded state is equal.
+ - Two extension sets are equal iff they have corresponding
+ elements that are pairwise equal.
+ - Two map fields are equal iff their lengths are the same,
+ and they contain the same set of elements. Zero-length map
+ fields are equal.
+ - Every other combination of things are not equal.
+
+The return value is undefined if a and b are not protocol buffers.
+*/
+func Equal(a, b Message) bool {
+ if a == nil || b == nil {
+ return a == b
+ }
+ v1, v2 := reflect.ValueOf(a), reflect.ValueOf(b)
+ if v1.Type() != v2.Type() {
+ return false
+ }
+ if v1.Kind() == reflect.Ptr {
+ if v1.IsNil() {
+ return v2.IsNil()
+ }
+ if v2.IsNil() {
+ return false
+ }
+ v1, v2 = v1.Elem(), v2.Elem()
+ }
+ if v1.Kind() != reflect.Struct {
+ return false
+ }
+ return equalStruct(v1, v2)
+}
+
+// v1 and v2 are known to have the same type.
+func equalStruct(v1, v2 reflect.Value) bool {
+ sprop := GetProperties(v1.Type())
+ for i := 0; i < v1.NumField(); i++ {
+ f := v1.Type().Field(i)
+ if strings.HasPrefix(f.Name, "XXX_") {
+ continue
+ }
+ f1, f2 := v1.Field(i), v2.Field(i)
+ if f.Type.Kind() == reflect.Ptr {
+ if n1, n2 := f1.IsNil(), f2.IsNil(); n1 && n2 {
+ // both unset
+ continue
+ } else if n1 != n2 {
+ // set/unset mismatch
+ return false
+ }
+ f1, f2 = f1.Elem(), f2.Elem()
+ }
+ if !equalAny(f1, f2, sprop.Prop[i]) {
+ return false
+ }
+ }
+
+ if em1 := v1.FieldByName("XXX_InternalExtensions"); em1.IsValid() {
+ em2 := v2.FieldByName("XXX_InternalExtensions")
+ if !equalExtensions(v1.Type(), em1.Interface().(XXX_InternalExtensions), em2.Interface().(XXX_InternalExtensions)) {
+ return false
+ }
+ }
+
+ if em1 := v1.FieldByName("XXX_extensions"); em1.IsValid() {
+ em2 := v2.FieldByName("XXX_extensions")
+ if !equalExtMap(v1.Type(), em1.Interface().(map[int32]Extension), em2.Interface().(map[int32]Extension)) {
+ return false
+ }
+ }
+
+ uf := v1.FieldByName("XXX_unrecognized")
+ if !uf.IsValid() {
+ return true
+ }
+
+ u1 := uf.Bytes()
+ u2 := v2.FieldByName("XXX_unrecognized").Bytes()
+ return bytes.Equal(u1, u2)
+}
+
+// v1 and v2 are known to have the same type.
+// prop may be nil.
+func equalAny(v1, v2 reflect.Value, prop *Properties) bool {
+ if v1.Type() == protoMessageType {
+ m1, _ := v1.Interface().(Message)
+ m2, _ := v2.Interface().(Message)
+ return Equal(m1, m2)
+ }
+ switch v1.Kind() {
+ case reflect.Bool:
+ return v1.Bool() == v2.Bool()
+ case reflect.Float32, reflect.Float64:
+ return v1.Float() == v2.Float()
+ case reflect.Int32, reflect.Int64:
+ return v1.Int() == v2.Int()
+ case reflect.Interface:
+ // Probably a oneof field; compare the inner values.
+ n1, n2 := v1.IsNil(), v2.IsNil()
+ if n1 || n2 {
+ return n1 == n2
+ }
+ e1, e2 := v1.Elem(), v2.Elem()
+ if e1.Type() != e2.Type() {
+ return false
+ }
+ return equalAny(e1, e2, nil)
+ case reflect.Map:
+ if v1.Len() != v2.Len() {
+ return false
+ }
+ for _, key := range v1.MapKeys() {
+ val2 := v2.MapIndex(key)
+ if !val2.IsValid() {
+ // This key was not found in the second map.
+ return false
+ }
+ if !equalAny(v1.MapIndex(key), val2, nil) {
+ return false
+ }
+ }
+ return true
+ case reflect.Ptr:
+ // Maps may have nil values in them, so check for nil.
+ if v1.IsNil() && v2.IsNil() {
+ return true
+ }
+ if v1.IsNil() != v2.IsNil() {
+ return false
+ }
+ return equalAny(v1.Elem(), v2.Elem(), prop)
+ case reflect.Slice:
+ if v1.Type().Elem().Kind() == reflect.Uint8 {
+ // short circuit: []byte
+
+ // Edge case: if this is in a proto3 message, a zero length
+ // bytes field is considered the zero value.
+ if prop != nil && prop.proto3 && v1.Len() == 0 && v2.Len() == 0 {
+ return true
+ }
+ if v1.IsNil() != v2.IsNil() {
+ return false
+ }
+ return bytes.Equal(v1.Interface().([]byte), v2.Interface().([]byte))
+ }
+
+ if v1.Len() != v2.Len() {
+ return false
+ }
+ for i := 0; i < v1.Len(); i++ {
+ if !equalAny(v1.Index(i), v2.Index(i), prop) {
+ return false
+ }
+ }
+ return true
+ case reflect.String:
+ return v1.Interface().(string) == v2.Interface().(string)
+ case reflect.Struct:
+ return equalStruct(v1, v2)
+ case reflect.Uint32, reflect.Uint64:
+ return v1.Uint() == v2.Uint()
+ }
+
+ // unknown type, so not a protocol buffer
+ log.Printf("proto: don't know how to compare %v", v1)
+ return false
+}
+
+// base is the struct type that the extensions are based on.
+// x1 and x2 are InternalExtensions.
+func equalExtensions(base reflect.Type, x1, x2 XXX_InternalExtensions) bool {
+ em1, _ := x1.extensionsRead()
+ em2, _ := x2.extensionsRead()
+ return equalExtMap(base, em1, em2)
+}
+
+func equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool {
+ if len(em1) != len(em2) {
+ return false
+ }
+
+ for extNum, e1 := range em1 {
+ e2, ok := em2[extNum]
+ if !ok {
+ return false
+ }
+
+ m1 := extensionAsLegacyType(e1.value)
+ m2 := extensionAsLegacyType(e2.value)
+
+ if m1 == nil && m2 == nil {
+ // Both have only encoded form.
+ if bytes.Equal(e1.enc, e2.enc) {
+ continue
+ }
+ // The bytes are different, but the extensions might still be
+ // equal. We need to decode them to compare.
+ }
+
+ if m1 != nil && m2 != nil {
+ // Both are unencoded.
+ if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {
+ return false
+ }
+ continue
+ }
+
+ // At least one is encoded. To do a semantically correct comparison
+ // we need to unmarshal them first.
+ var desc *ExtensionDesc
+ if m := extensionMaps[base]; m != nil {
+ desc = m[extNum]
+ }
+ if desc == nil {
+ // If both have only encoded form and the bytes are the same,
+ // it is handled above. We get here when the bytes are different.
+ // We don't know how to decode it, so just compare them as byte
+ // slices.
+ log.Printf("proto: don't know how to compare extension %d of %v", extNum, base)
+ return false
+ }
+ var err error
+ if m1 == nil {
+ m1, err = decodeExtension(e1.enc, desc)
+ }
+ if m2 == nil && err == nil {
+ m2, err = decodeExtension(e2.enc, desc)
+ }
+ if err != nil {
+ // The encoded form is invalid.
+ log.Printf("proto: badly encoded extension %d of %v: %v", extNum, base, err)
+ return false
+ }
+ if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {
+ return false
+ }
+ }
+
+ return true
+}
diff --git a/vendor/github.com/golang/protobuf/proto/extensions.go b/vendor/github.com/golang/protobuf/proto/extensions.go
new file mode 100644
index 0000000..fa88add
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/extensions.go
@@ -0,0 +1,607 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2010 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+/*
+ * Types and routines for supporting protocol buffer extensions.
+ */
+
+import (
+ "errors"
+ "fmt"
+ "io"
+ "reflect"
+ "strconv"
+ "sync"
+)
+
+// ErrMissingExtension is the error returned by GetExtension if the named extension is not in the message.
+var ErrMissingExtension = errors.New("proto: missing extension")
+
+// ExtensionRange represents a range of message extensions for a protocol buffer.
+// Used in code generated by the protocol compiler.
+type ExtensionRange struct {
+ Start, End int32 // both inclusive
+}
+
+// extendableProto is an interface implemented by any protocol buffer generated by the current
+// proto compiler that may be extended.
+type extendableProto interface {
+ Message
+ ExtensionRangeArray() []ExtensionRange
+ extensionsWrite() map[int32]Extension
+ extensionsRead() (map[int32]Extension, sync.Locker)
+}
+
+// extendableProtoV1 is an interface implemented by a protocol buffer generated by the previous
+// version of the proto compiler that may be extended.
+type extendableProtoV1 interface {
+ Message
+ ExtensionRangeArray() []ExtensionRange
+ ExtensionMap() map[int32]Extension
+}
+
+// extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto.
+type extensionAdapter struct {
+ extendableProtoV1
+}
+
+func (e extensionAdapter) extensionsWrite() map[int32]Extension {
+ return e.ExtensionMap()
+}
+
+func (e extensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) {
+ return e.ExtensionMap(), notLocker{}
+}
+
+// notLocker is a sync.Locker whose Lock and Unlock methods are nops.
+type notLocker struct{}
+
+func (n notLocker) Lock() {}
+func (n notLocker) Unlock() {}
+
+// extendable returns the extendableProto interface for the given generated proto message.
+// If the proto message has the old extension format, it returns a wrapper that implements
+// the extendableProto interface.
+func extendable(p interface{}) (extendableProto, error) {
+ switch p := p.(type) {
+ case extendableProto:
+ if isNilPtr(p) {
+ return nil, fmt.Errorf("proto: nil %T is not extendable", p)
+ }
+ return p, nil
+ case extendableProtoV1:
+ if isNilPtr(p) {
+ return nil, fmt.Errorf("proto: nil %T is not extendable", p)
+ }
+ return extensionAdapter{p}, nil
+ }
+ // Don't allocate a specific error containing %T:
+ // this is the hot path for Clone and MarshalText.
+ return nil, errNotExtendable
+}
+
+var errNotExtendable = errors.New("proto: not an extendable proto.Message")
+
+func isNilPtr(x interface{}) bool {
+ v := reflect.ValueOf(x)
+ return v.Kind() == reflect.Ptr && v.IsNil()
+}
+
+// XXX_InternalExtensions is an internal representation of proto extensions.
+//
+// Each generated message struct type embeds an anonymous XXX_InternalExtensions field,
+// thus gaining the unexported 'extensions' method, which can be called only from the proto package.
+//
+// The methods of XXX_InternalExtensions are not concurrency safe in general,
+// but calls to logically read-only methods such as has and get may be executed concurrently.
+type XXX_InternalExtensions struct {
+ // The struct must be indirect so that if a user inadvertently copies a
+ // generated message and its embedded XXX_InternalExtensions, they
+ // avoid the mayhem of a copied mutex.
+ //
+ // The mutex serializes all logically read-only operations to p.extensionMap.
+ // It is up to the client to ensure that write operations to p.extensionMap are
+ // mutually exclusive with other accesses.
+ p *struct {
+ mu sync.Mutex
+ extensionMap map[int32]Extension
+ }
+}
+
+// extensionsWrite returns the extension map, creating it on first use.
+func (e *XXX_InternalExtensions) extensionsWrite() map[int32]Extension {
+ if e.p == nil {
+ e.p = new(struct {
+ mu sync.Mutex
+ extensionMap map[int32]Extension
+ })
+ e.p.extensionMap = make(map[int32]Extension)
+ }
+ return e.p.extensionMap
+}
+
+// extensionsRead returns the extensions map for read-only use. It may be nil.
+// The caller must hold the returned mutex's lock when accessing Elements within the map.
+func (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Locker) {
+ if e.p == nil {
+ return nil, nil
+ }
+ return e.p.extensionMap, &e.p.mu
+}
+
+// ExtensionDesc represents an extension specification.
+// Used in generated code from the protocol compiler.
+type ExtensionDesc struct {
+ ExtendedType Message // nil pointer to the type that is being extended
+ ExtensionType interface{} // nil pointer to the extension type
+ Field int32 // field number
+ Name string // fully-qualified name of extension, for text formatting
+ Tag string // protobuf tag style
+ Filename string // name of the file in which the extension is defined
+}
+
+func (ed *ExtensionDesc) repeated() bool {
+ t := reflect.TypeOf(ed.ExtensionType)
+ return t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8
+}
+
+// Extension represents an extension in a message.
+type Extension struct {
+ // When an extension is stored in a message using SetExtension
+ // only desc and value are set. When the message is marshaled
+ // enc will be set to the encoded form of the message.
+ //
+ // When a message is unmarshaled and contains extensions, each
+ // extension will have only enc set. When such an extension is
+ // accessed using GetExtension (or GetExtensions) desc and value
+ // will be set.
+ desc *ExtensionDesc
+
+ // value is a concrete value for the extension field. Let the type of
+ // desc.ExtensionType be the "API type" and the type of Extension.value
+ // be the "storage type". The API type and storage type are the same except:
+ // * For scalars (except []byte), the API type uses *T,
+ // while the storage type uses T.
+ // * For repeated fields, the API type uses []T, while the storage type
+ // uses *[]T.
+ //
+ // The reason for the divergence is so that the storage type more naturally
+ // matches what is expected of when retrieving the values through the
+ // protobuf reflection APIs.
+ //
+ // The value may only be populated if desc is also populated.
+ value interface{}
+
+ // enc is the raw bytes for the extension field.
+ enc []byte
+}
+
+// SetRawExtension is for testing only.
+func SetRawExtension(base Message, id int32, b []byte) {
+ epb, err := extendable(base)
+ if err != nil {
+ return
+ }
+ extmap := epb.extensionsWrite()
+ extmap[id] = Extension{enc: b}
+}
+
+// isExtensionField returns true iff the given field number is in an extension range.
+func isExtensionField(pb extendableProto, field int32) bool {
+ for _, er := range pb.ExtensionRangeArray() {
+ if er.Start <= field && field <= er.End {
+ return true
+ }
+ }
+ return false
+}
+
+// checkExtensionTypes checks that the given extension is valid for pb.
+func checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error {
+ var pbi interface{} = pb
+ // Check the extended type.
+ if ea, ok := pbi.(extensionAdapter); ok {
+ pbi = ea.extendableProtoV1
+ }
+ if a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b {
+ return fmt.Errorf("proto: bad extended type; %v does not extend %v", b, a)
+ }
+ // Check the range.
+ if !isExtensionField(pb, extension.Field) {
+ return errors.New("proto: bad extension number; not in declared ranges")
+ }
+ return nil
+}
+
+// extPropKey is sufficient to uniquely identify an extension.
+type extPropKey struct {
+ base reflect.Type
+ field int32
+}
+
+var extProp = struct {
+ sync.RWMutex
+ m map[extPropKey]*Properties
+}{
+ m: make(map[extPropKey]*Properties),
+}
+
+func extensionProperties(ed *ExtensionDesc) *Properties {
+ key := extPropKey{base: reflect.TypeOf(ed.ExtendedType), field: ed.Field}
+
+ extProp.RLock()
+ if prop, ok := extProp.m[key]; ok {
+ extProp.RUnlock()
+ return prop
+ }
+ extProp.RUnlock()
+
+ extProp.Lock()
+ defer extProp.Unlock()
+ // Check again.
+ if prop, ok := extProp.m[key]; ok {
+ return prop
+ }
+
+ prop := new(Properties)
+ prop.Init(reflect.TypeOf(ed.ExtensionType), "unknown_name", ed.Tag, nil)
+ extProp.m[key] = prop
+ return prop
+}
+
+// HasExtension returns whether the given extension is present in pb.
+func HasExtension(pb Message, extension *ExtensionDesc) bool {
+ // TODO: Check types, field numbers, etc.?
+ epb, err := extendable(pb)
+ if err != nil {
+ return false
+ }
+ extmap, mu := epb.extensionsRead()
+ if extmap == nil {
+ return false
+ }
+ mu.Lock()
+ _, ok := extmap[extension.Field]
+ mu.Unlock()
+ return ok
+}
+
+// ClearExtension removes the given extension from pb.
+func ClearExtension(pb Message, extension *ExtensionDesc) {
+ epb, err := extendable(pb)
+ if err != nil {
+ return
+ }
+ // TODO: Check types, field numbers, etc.?
+ extmap := epb.extensionsWrite()
+ delete(extmap, extension.Field)
+}
+
+// GetExtension retrieves a proto2 extended field from pb.
+//
+// If the descriptor is type complete (i.e., ExtensionDesc.ExtensionType is non-nil),
+// then GetExtension parses the encoded field and returns a Go value of the specified type.
+// If the field is not present, then the default value is returned (if one is specified),
+// otherwise ErrMissingExtension is reported.
+//
+// If the descriptor is not type complete (i.e., ExtensionDesc.ExtensionType is nil),
+// then GetExtension returns the raw encoded bytes of the field extension.
+func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) {
+ epb, err := extendable(pb)
+ if err != nil {
+ return nil, err
+ }
+
+ if extension.ExtendedType != nil {
+ // can only check type if this is a complete descriptor
+ if err := checkExtensionTypes(epb, extension); err != nil {
+ return nil, err
+ }
+ }
+
+ emap, mu := epb.extensionsRead()
+ if emap == nil {
+ return defaultExtensionValue(extension)
+ }
+ mu.Lock()
+ defer mu.Unlock()
+ e, ok := emap[extension.Field]
+ if !ok {
+ // defaultExtensionValue returns the default value or
+ // ErrMissingExtension if there is no default.
+ return defaultExtensionValue(extension)
+ }
+
+ if e.value != nil {
+ // Already decoded. Check the descriptor, though.
+ if e.desc != extension {
+ // This shouldn't happen. If it does, it means that
+ // GetExtension was called twice with two different
+ // descriptors with the same field number.
+ return nil, errors.New("proto: descriptor conflict")
+ }
+ return extensionAsLegacyType(e.value), nil
+ }
+
+ if extension.ExtensionType == nil {
+ // incomplete descriptor
+ return e.enc, nil
+ }
+
+ v, err := decodeExtension(e.enc, extension)
+ if err != nil {
+ return nil, err
+ }
+
+ // Remember the decoded version and drop the encoded version.
+ // That way it is safe to mutate what we return.
+ e.value = extensionAsStorageType(v)
+ e.desc = extension
+ e.enc = nil
+ emap[extension.Field] = e
+ return extensionAsLegacyType(e.value), nil
+}
+
+// defaultExtensionValue returns the default value for extension.
+// If no default for an extension is defined ErrMissingExtension is returned.
+func defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) {
+ if extension.ExtensionType == nil {
+ // incomplete descriptor, so no default
+ return nil, ErrMissingExtension
+ }
+
+ t := reflect.TypeOf(extension.ExtensionType)
+ props := extensionProperties(extension)
+
+ sf, _, err := fieldDefault(t, props)
+ if err != nil {
+ return nil, err
+ }
+
+ if sf == nil || sf.value == nil {
+ // There is no default value.
+ return nil, ErrMissingExtension
+ }
+
+ if t.Kind() != reflect.Ptr {
+ // We do not need to return a Ptr, we can directly return sf.value.
+ return sf.value, nil
+ }
+
+ // We need to return an interface{} that is a pointer to sf.value.
+ value := reflect.New(t).Elem()
+ value.Set(reflect.New(value.Type().Elem()))
+ if sf.kind == reflect.Int32 {
+ // We may have an int32 or an enum, but the underlying data is int32.
+ // Since we can't set an int32 into a non int32 reflect.value directly
+ // set it as a int32.
+ value.Elem().SetInt(int64(sf.value.(int32)))
+ } else {
+ value.Elem().Set(reflect.ValueOf(sf.value))
+ }
+ return value.Interface(), nil
+}
+
+// decodeExtension decodes an extension encoded in b.
+func decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) {
+ t := reflect.TypeOf(extension.ExtensionType)
+ unmarshal := typeUnmarshaler(t, extension.Tag)
+
+ // t is a pointer to a struct, pointer to basic type or a slice.
+ // Allocate space to store the pointer/slice.
+ value := reflect.New(t).Elem()
+
+ var err error
+ for {
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ wire := int(x) & 7
+
+ b, err = unmarshal(b, valToPointer(value.Addr()), wire)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(b) == 0 {
+ break
+ }
+ }
+ return value.Interface(), nil
+}
+
+// GetExtensions returns a slice of the extensions present in pb that are also listed in es.
+// The returned slice has the same length as es; missing extensions will appear as nil elements.
+func GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) {
+ epb, err := extendable(pb)
+ if err != nil {
+ return nil, err
+ }
+ extensions = make([]interface{}, len(es))
+ for i, e := range es {
+ extensions[i], err = GetExtension(epb, e)
+ if err == ErrMissingExtension {
+ err = nil
+ }
+ if err != nil {
+ return
+ }
+ }
+ return
+}
+
+// ExtensionDescs returns a new slice containing pb's extension descriptors, in undefined order.
+// For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing
+// just the Field field, which defines the extension's field number.
+func ExtensionDescs(pb Message) ([]*ExtensionDesc, error) {
+ epb, err := extendable(pb)
+ if err != nil {
+ return nil, err
+ }
+ registeredExtensions := RegisteredExtensions(pb)
+
+ emap, mu := epb.extensionsRead()
+ if emap == nil {
+ return nil, nil
+ }
+ mu.Lock()
+ defer mu.Unlock()
+ extensions := make([]*ExtensionDesc, 0, len(emap))
+ for extid, e := range emap {
+ desc := e.desc
+ if desc == nil {
+ desc = registeredExtensions[extid]
+ if desc == nil {
+ desc = &ExtensionDesc{Field: extid}
+ }
+ }
+
+ extensions = append(extensions, desc)
+ }
+ return extensions, nil
+}
+
+// SetExtension sets the specified extension of pb to the specified value.
+func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error {
+ epb, err := extendable(pb)
+ if err != nil {
+ return err
+ }
+ if err := checkExtensionTypes(epb, extension); err != nil {
+ return err
+ }
+ typ := reflect.TypeOf(extension.ExtensionType)
+ if typ != reflect.TypeOf(value) {
+ return fmt.Errorf("proto: bad extension value type. got: %T, want: %T", value, extension.ExtensionType)
+ }
+ // nil extension values need to be caught early, because the
+ // encoder can't distinguish an ErrNil due to a nil extension
+ // from an ErrNil due to a missing field. Extensions are
+ // always optional, so the encoder would just swallow the error
+ // and drop all the extensions from the encoded message.
+ if reflect.ValueOf(value).IsNil() {
+ return fmt.Errorf("proto: SetExtension called with nil value of type %T", value)
+ }
+
+ extmap := epb.extensionsWrite()
+ extmap[extension.Field] = Extension{desc: extension, value: extensionAsStorageType(value)}
+ return nil
+}
+
+// ClearAllExtensions clears all extensions from pb.
+func ClearAllExtensions(pb Message) {
+ epb, err := extendable(pb)
+ if err != nil {
+ return
+ }
+ m := epb.extensionsWrite()
+ for k := range m {
+ delete(m, k)
+ }
+}
+
+// A global registry of extensions.
+// The generated code will register the generated descriptors by calling RegisterExtension.
+
+var extensionMaps = make(map[reflect.Type]map[int32]*ExtensionDesc)
+
+// RegisterExtension is called from the generated code.
+func RegisterExtension(desc *ExtensionDesc) {
+ st := reflect.TypeOf(desc.ExtendedType).Elem()
+ m := extensionMaps[st]
+ if m == nil {
+ m = make(map[int32]*ExtensionDesc)
+ extensionMaps[st] = m
+ }
+ if _, ok := m[desc.Field]; ok {
+ panic("proto: duplicate extension registered: " + st.String() + " " + strconv.Itoa(int(desc.Field)))
+ }
+ m[desc.Field] = desc
+}
+
+// RegisteredExtensions returns a map of the registered extensions of a
+// protocol buffer struct, indexed by the extension number.
+// The argument pb should be a nil pointer to the struct type.
+func RegisteredExtensions(pb Message) map[int32]*ExtensionDesc {
+ return extensionMaps[reflect.TypeOf(pb).Elem()]
+}
+
+// extensionAsLegacyType converts an value in the storage type as the API type.
+// See Extension.value.
+func extensionAsLegacyType(v interface{}) interface{} {
+ switch rv := reflect.ValueOf(v); rv.Kind() {
+ case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String:
+ // Represent primitive types as a pointer to the value.
+ rv2 := reflect.New(rv.Type())
+ rv2.Elem().Set(rv)
+ v = rv2.Interface()
+ case reflect.Ptr:
+ // Represent slice types as the value itself.
+ switch rv.Type().Elem().Kind() {
+ case reflect.Slice:
+ if rv.IsNil() {
+ v = reflect.Zero(rv.Type().Elem()).Interface()
+ } else {
+ v = rv.Elem().Interface()
+ }
+ }
+ }
+ return v
+}
+
+// extensionAsStorageType converts an value in the API type as the storage type.
+// See Extension.value.
+func extensionAsStorageType(v interface{}) interface{} {
+ switch rv := reflect.ValueOf(v); rv.Kind() {
+ case reflect.Ptr:
+ // Represent slice types as the value itself.
+ switch rv.Type().Elem().Kind() {
+ case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String:
+ if rv.IsNil() {
+ v = reflect.Zero(rv.Type().Elem()).Interface()
+ } else {
+ v = rv.Elem().Interface()
+ }
+ }
+ case reflect.Slice:
+ // Represent slice types as a pointer to the value.
+ if rv.Type().Elem().Kind() != reflect.Uint8 {
+ rv2 := reflect.New(rv.Type())
+ rv2.Elem().Set(rv)
+ v = rv2.Interface()
+ }
+ }
+ return v
+}
diff --git a/vendor/github.com/golang/protobuf/proto/lib.go b/vendor/github.com/golang/protobuf/proto/lib.go
new file mode 100644
index 0000000..fdd328b
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/lib.go
@@ -0,0 +1,965 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2010 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Package proto converts data structures to and from the wire format of
+protocol buffers. It works in concert with the Go source code generated
+for .proto files by the protocol compiler.
+
+A summary of the properties of the protocol buffer interface
+for a protocol buffer variable v:
+
+ - Names are turned from camel_case to CamelCase for export.
+ - There are no methods on v to set fields; just treat
+ them as structure fields.
+ - There are getters that return a field's value if set,
+ and return the field's default value if unset.
+ The getters work even if the receiver is a nil message.
+ - The zero value for a struct is its correct initialization state.
+ All desired fields must be set before marshaling.
+ - A Reset() method will restore a protobuf struct to its zero state.
+ - Non-repeated fields are pointers to the values; nil means unset.
+ That is, optional or required field int32 f becomes F *int32.
+ - Repeated fields are slices.
+ - Helper functions are available to aid the setting of fields.
+ msg.Foo = proto.String("hello") // set field
+ - Constants are defined to hold the default values of all fields that
+ have them. They have the form Default_StructName_FieldName.
+ Because the getter methods handle defaulted values,
+ direct use of these constants should be rare.
+ - Enums are given type names and maps from names to values.
+ Enum values are prefixed by the enclosing message's name, or by the
+ enum's type name if it is a top-level enum. Enum types have a String
+ method, and a Enum method to assist in message construction.
+ - Nested messages, groups and enums have type names prefixed with the name of
+ the surrounding message type.
+ - Extensions are given descriptor names that start with E_,
+ followed by an underscore-delimited list of the nested messages
+ that contain it (if any) followed by the CamelCased name of the
+ extension field itself. HasExtension, ClearExtension, GetExtension
+ and SetExtension are functions for manipulating extensions.
+ - Oneof field sets are given a single field in their message,
+ with distinguished wrapper types for each possible field value.
+ - Marshal and Unmarshal are functions to encode and decode the wire format.
+
+When the .proto file specifies `syntax="proto3"`, there are some differences:
+
+ - Non-repeated fields of non-message type are values instead of pointers.
+ - Enum types do not get an Enum method.
+
+The simplest way to describe this is to see an example.
+Given file test.proto, containing
+
+ package example;
+
+ enum FOO { X = 17; }
+
+ message Test {
+ required string label = 1;
+ optional int32 type = 2 [default=77];
+ repeated int64 reps = 3;
+ optional group OptionalGroup = 4 {
+ required string RequiredField = 5;
+ }
+ oneof union {
+ int32 number = 6;
+ string name = 7;
+ }
+ }
+
+The resulting file, test.pb.go, is:
+
+ package example
+
+ import proto "github.com/golang/protobuf/proto"
+ import math "math"
+
+ type FOO int32
+ const (
+ FOO_X FOO = 17
+ )
+ var FOO_name = map[int32]string{
+ 17: "X",
+ }
+ var FOO_value = map[string]int32{
+ "X": 17,
+ }
+
+ func (x FOO) Enum() *FOO {
+ p := new(FOO)
+ *p = x
+ return p
+ }
+ func (x FOO) String() string {
+ return proto.EnumName(FOO_name, int32(x))
+ }
+ func (x *FOO) UnmarshalJSON(data []byte) error {
+ value, err := proto.UnmarshalJSONEnum(FOO_value, data)
+ if err != nil {
+ return err
+ }
+ *x = FOO(value)
+ return nil
+ }
+
+ type Test struct {
+ Label *string `protobuf:"bytes,1,req,name=label" json:"label,omitempty"`
+ Type *int32 `protobuf:"varint,2,opt,name=type,def=77" json:"type,omitempty"`
+ Reps []int64 `protobuf:"varint,3,rep,name=reps" json:"reps,omitempty"`
+ Optionalgroup *Test_OptionalGroup `protobuf:"group,4,opt,name=OptionalGroup" json:"optionalgroup,omitempty"`
+ // Types that are valid to be assigned to Union:
+ // *Test_Number
+ // *Test_Name
+ Union isTest_Union `protobuf_oneof:"union"`
+ XXX_unrecognized []byte `json:"-"`
+ }
+ func (m *Test) Reset() { *m = Test{} }
+ func (m *Test) String() string { return proto.CompactTextString(m) }
+ func (*Test) ProtoMessage() {}
+
+ type isTest_Union interface {
+ isTest_Union()
+ }
+
+ type Test_Number struct {
+ Number int32 `protobuf:"varint,6,opt,name=number"`
+ }
+ type Test_Name struct {
+ Name string `protobuf:"bytes,7,opt,name=name"`
+ }
+
+ func (*Test_Number) isTest_Union() {}
+ func (*Test_Name) isTest_Union() {}
+
+ func (m *Test) GetUnion() isTest_Union {
+ if m != nil {
+ return m.Union
+ }
+ return nil
+ }
+ const Default_Test_Type int32 = 77
+
+ func (m *Test) GetLabel() string {
+ if m != nil && m.Label != nil {
+ return *m.Label
+ }
+ return ""
+ }
+
+ func (m *Test) GetType() int32 {
+ if m != nil && m.Type != nil {
+ return *m.Type
+ }
+ return Default_Test_Type
+ }
+
+ func (m *Test) GetOptionalgroup() *Test_OptionalGroup {
+ if m != nil {
+ return m.Optionalgroup
+ }
+ return nil
+ }
+
+ type Test_OptionalGroup struct {
+ RequiredField *string `protobuf:"bytes,5,req" json:"RequiredField,omitempty"`
+ }
+ func (m *Test_OptionalGroup) Reset() { *m = Test_OptionalGroup{} }
+ func (m *Test_OptionalGroup) String() string { return proto.CompactTextString(m) }
+
+ func (m *Test_OptionalGroup) GetRequiredField() string {
+ if m != nil && m.RequiredField != nil {
+ return *m.RequiredField
+ }
+ return ""
+ }
+
+ func (m *Test) GetNumber() int32 {
+ if x, ok := m.GetUnion().(*Test_Number); ok {
+ return x.Number
+ }
+ return 0
+ }
+
+ func (m *Test) GetName() string {
+ if x, ok := m.GetUnion().(*Test_Name); ok {
+ return x.Name
+ }
+ return ""
+ }
+
+ func init() {
+ proto.RegisterEnum("example.FOO", FOO_name, FOO_value)
+ }
+
+To create and play with a Test object:
+
+ package main
+
+ import (
+ "log"
+
+ "github.com/golang/protobuf/proto"
+ pb "./example.pb"
+ )
+
+ func main() {
+ test := &pb.Test{
+ Label: proto.String("hello"),
+ Type: proto.Int32(17),
+ Reps: []int64{1, 2, 3},
+ Optionalgroup: &pb.Test_OptionalGroup{
+ RequiredField: proto.String("good bye"),
+ },
+ Union: &pb.Test_Name{"fred"},
+ }
+ data, err := proto.Marshal(test)
+ if err != nil {
+ log.Fatal("marshaling error: ", err)
+ }
+ newTest := &pb.Test{}
+ err = proto.Unmarshal(data, newTest)
+ if err != nil {
+ log.Fatal("unmarshaling error: ", err)
+ }
+ // Now test and newTest contain the same data.
+ if test.GetLabel() != newTest.GetLabel() {
+ log.Fatalf("data mismatch %q != %q", test.GetLabel(), newTest.GetLabel())
+ }
+ // Use a type switch to determine which oneof was set.
+ switch u := test.Union.(type) {
+ case *pb.Test_Number: // u.Number contains the number.
+ case *pb.Test_Name: // u.Name contains the string.
+ }
+ // etc.
+ }
+*/
+package proto
+
+import (
+ "encoding/json"
+ "fmt"
+ "log"
+ "reflect"
+ "sort"
+ "strconv"
+ "sync"
+)
+
+// RequiredNotSetError is an error type returned by either Marshal or Unmarshal.
+// Marshal reports this when a required field is not initialized.
+// Unmarshal reports this when a required field is missing from the wire data.
+type RequiredNotSetError struct{ field string }
+
+func (e *RequiredNotSetError) Error() string {
+ if e.field == "" {
+ return fmt.Sprintf("proto: required field not set")
+ }
+ return fmt.Sprintf("proto: required field %q not set", e.field)
+}
+func (e *RequiredNotSetError) RequiredNotSet() bool {
+ return true
+}
+
+type invalidUTF8Error struct{ field string }
+
+func (e *invalidUTF8Error) Error() string {
+ if e.field == "" {
+ return "proto: invalid UTF-8 detected"
+ }
+ return fmt.Sprintf("proto: field %q contains invalid UTF-8", e.field)
+}
+func (e *invalidUTF8Error) InvalidUTF8() bool {
+ return true
+}
+
+// errInvalidUTF8 is a sentinel error to identify fields with invalid UTF-8.
+// This error should not be exposed to the external API as such errors should
+// be recreated with the field information.
+var errInvalidUTF8 = &invalidUTF8Error{}
+
+// isNonFatal reports whether the error is either a RequiredNotSet error
+// or a InvalidUTF8 error.
+func isNonFatal(err error) bool {
+ if re, ok := err.(interface{ RequiredNotSet() bool }); ok && re.RequiredNotSet() {
+ return true
+ }
+ if re, ok := err.(interface{ InvalidUTF8() bool }); ok && re.InvalidUTF8() {
+ return true
+ }
+ return false
+}
+
+type nonFatal struct{ E error }
+
+// Merge merges err into nf and reports whether it was successful.
+// Otherwise it returns false for any fatal non-nil errors.
+func (nf *nonFatal) Merge(err error) (ok bool) {
+ if err == nil {
+ return true // not an error
+ }
+ if !isNonFatal(err) {
+ return false // fatal error
+ }
+ if nf.E == nil {
+ nf.E = err // store first instance of non-fatal error
+ }
+ return true
+}
+
+// Message is implemented by generated protocol buffer messages.
+type Message interface {
+ Reset()
+ String() string
+ ProtoMessage()
+}
+
+// A Buffer is a buffer manager for marshaling and unmarshaling
+// protocol buffers. It may be reused between invocations to
+// reduce memory usage. It is not necessary to use a Buffer;
+// the global functions Marshal and Unmarshal create a
+// temporary Buffer and are fine for most applications.
+type Buffer struct {
+ buf []byte // encode/decode byte stream
+ index int // read point
+
+ deterministic bool
+}
+
+// NewBuffer allocates a new Buffer and initializes its internal data to
+// the contents of the argument slice.
+func NewBuffer(e []byte) *Buffer {
+ return &Buffer{buf: e}
+}
+
+// Reset resets the Buffer, ready for marshaling a new protocol buffer.
+func (p *Buffer) Reset() {
+ p.buf = p.buf[0:0] // for reading/writing
+ p.index = 0 // for reading
+}
+
+// SetBuf replaces the internal buffer with the slice,
+// ready for unmarshaling the contents of the slice.
+func (p *Buffer) SetBuf(s []byte) {
+ p.buf = s
+ p.index = 0
+}
+
+// Bytes returns the contents of the Buffer.
+func (p *Buffer) Bytes() []byte { return p.buf }
+
+// SetDeterministic sets whether to use deterministic serialization.
+//
+// Deterministic serialization guarantees that for a given binary, equal
+// messages will always be serialized to the same bytes. This implies:
+//
+// - Repeated serialization of a message will return the same bytes.
+// - Different processes of the same binary (which may be executing on
+// different machines) will serialize equal messages to the same bytes.
+//
+// Note that the deterministic serialization is NOT canonical across
+// languages. It is not guaranteed to remain stable over time. It is unstable
+// across different builds with schema changes due to unknown fields.
+// Users who need canonical serialization (e.g., persistent storage in a
+// canonical form, fingerprinting, etc.) should define their own
+// canonicalization specification and implement their own serializer rather
+// than relying on this API.
+//
+// If deterministic serialization is requested, map entries will be sorted
+// by keys in lexographical order. This is an implementation detail and
+// subject to change.
+func (p *Buffer) SetDeterministic(deterministic bool) {
+ p.deterministic = deterministic
+}
+
+/*
+ * Helper routines for simplifying the creation of optional fields of basic type.
+ */
+
+// Bool is a helper routine that allocates a new bool value
+// to store v and returns a pointer to it.
+func Bool(v bool) *bool {
+ return &v
+}
+
+// Int32 is a helper routine that allocates a new int32 value
+// to store v and returns a pointer to it.
+func Int32(v int32) *int32 {
+ return &v
+}
+
+// Int is a helper routine that allocates a new int32 value
+// to store v and returns a pointer to it, but unlike Int32
+// its argument value is an int.
+func Int(v int) *int32 {
+ p := new(int32)
+ *p = int32(v)
+ return p
+}
+
+// Int64 is a helper routine that allocates a new int64 value
+// to store v and returns a pointer to it.
+func Int64(v int64) *int64 {
+ return &v
+}
+
+// Float32 is a helper routine that allocates a new float32 value
+// to store v and returns a pointer to it.
+func Float32(v float32) *float32 {
+ return &v
+}
+
+// Float64 is a helper routine that allocates a new float64 value
+// to store v and returns a pointer to it.
+func Float64(v float64) *float64 {
+ return &v
+}
+
+// Uint32 is a helper routine that allocates a new uint32 value
+// to store v and returns a pointer to it.
+func Uint32(v uint32) *uint32 {
+ return &v
+}
+
+// Uint64 is a helper routine that allocates a new uint64 value
+// to store v and returns a pointer to it.
+func Uint64(v uint64) *uint64 {
+ return &v
+}
+
+// String is a helper routine that allocates a new string value
+// to store v and returns a pointer to it.
+func String(v string) *string {
+ return &v
+}
+
+// EnumName is a helper function to simplify printing protocol buffer enums
+// by name. Given an enum map and a value, it returns a useful string.
+func EnumName(m map[int32]string, v int32) string {
+ s, ok := m[v]
+ if ok {
+ return s
+ }
+ return strconv.Itoa(int(v))
+}
+
+// UnmarshalJSONEnum is a helper function to simplify recovering enum int values
+// from their JSON-encoded representation. Given a map from the enum's symbolic
+// names to its int values, and a byte buffer containing the JSON-encoded
+// value, it returns an int32 that can be cast to the enum type by the caller.
+//
+// The function can deal with both JSON representations, numeric and symbolic.
+func UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) {
+ if data[0] == '"' {
+ // New style: enums are strings.
+ var repr string
+ if err := json.Unmarshal(data, &repr); err != nil {
+ return -1, err
+ }
+ val, ok := m[repr]
+ if !ok {
+ return 0, fmt.Errorf("unrecognized enum %s value %q", enumName, repr)
+ }
+ return val, nil
+ }
+ // Old style: enums are ints.
+ var val int32
+ if err := json.Unmarshal(data, &val); err != nil {
+ return 0, fmt.Errorf("cannot unmarshal %#q into enum %s", data, enumName)
+ }
+ return val, nil
+}
+
+// DebugPrint dumps the encoded data in b in a debugging format with a header
+// including the string s. Used in testing but made available for general debugging.
+func (p *Buffer) DebugPrint(s string, b []byte) {
+ var u uint64
+
+ obuf := p.buf
+ index := p.index
+ p.buf = b
+ p.index = 0
+ depth := 0
+
+ fmt.Printf("\n--- %s ---\n", s)
+
+out:
+ for {
+ for i := 0; i < depth; i++ {
+ fmt.Print(" ")
+ }
+
+ index := p.index
+ if index == len(p.buf) {
+ break
+ }
+
+ op, err := p.DecodeVarint()
+ if err != nil {
+ fmt.Printf("%3d: fetching op err %v\n", index, err)
+ break out
+ }
+ tag := op >> 3
+ wire := op & 7
+
+ switch wire {
+ default:
+ fmt.Printf("%3d: t=%3d unknown wire=%d\n",
+ index, tag, wire)
+ break out
+
+ case WireBytes:
+ var r []byte
+
+ r, err = p.DecodeRawBytes(false)
+ if err != nil {
+ break out
+ }
+ fmt.Printf("%3d: t=%3d bytes [%d]", index, tag, len(r))
+ if len(r) <= 6 {
+ for i := 0; i < len(r); i++ {
+ fmt.Printf(" %.2x", r[i])
+ }
+ } else {
+ for i := 0; i < 3; i++ {
+ fmt.Printf(" %.2x", r[i])
+ }
+ fmt.Printf(" ..")
+ for i := len(r) - 3; i < len(r); i++ {
+ fmt.Printf(" %.2x", r[i])
+ }
+ }
+ fmt.Printf("\n")
+
+ case WireFixed32:
+ u, err = p.DecodeFixed32()
+ if err != nil {
+ fmt.Printf("%3d: t=%3d fix32 err %v\n", index, tag, err)
+ break out
+ }
+ fmt.Printf("%3d: t=%3d fix32 %d\n", index, tag, u)
+
+ case WireFixed64:
+ u, err = p.DecodeFixed64()
+ if err != nil {
+ fmt.Printf("%3d: t=%3d fix64 err %v\n", index, tag, err)
+ break out
+ }
+ fmt.Printf("%3d: t=%3d fix64 %d\n", index, tag, u)
+
+ case WireVarint:
+ u, err = p.DecodeVarint()
+ if err != nil {
+ fmt.Printf("%3d: t=%3d varint err %v\n", index, tag, err)
+ break out
+ }
+ fmt.Printf("%3d: t=%3d varint %d\n", index, tag, u)
+
+ case WireStartGroup:
+ fmt.Printf("%3d: t=%3d start\n", index, tag)
+ depth++
+
+ case WireEndGroup:
+ depth--
+ fmt.Printf("%3d: t=%3d end\n", index, tag)
+ }
+ }
+
+ if depth != 0 {
+ fmt.Printf("%3d: start-end not balanced %d\n", p.index, depth)
+ }
+ fmt.Printf("\n")
+
+ p.buf = obuf
+ p.index = index
+}
+
+// SetDefaults sets unset protocol buffer fields to their default values.
+// It only modifies fields that are both unset and have defined defaults.
+// It recursively sets default values in any non-nil sub-messages.
+func SetDefaults(pb Message) {
+ setDefaults(reflect.ValueOf(pb), true, false)
+}
+
+// v is a pointer to a struct.
+func setDefaults(v reflect.Value, recur, zeros bool) {
+ v = v.Elem()
+
+ defaultMu.RLock()
+ dm, ok := defaults[v.Type()]
+ defaultMu.RUnlock()
+ if !ok {
+ dm = buildDefaultMessage(v.Type())
+ defaultMu.Lock()
+ defaults[v.Type()] = dm
+ defaultMu.Unlock()
+ }
+
+ for _, sf := range dm.scalars {
+ f := v.Field(sf.index)
+ if !f.IsNil() {
+ // field already set
+ continue
+ }
+ dv := sf.value
+ if dv == nil && !zeros {
+ // no explicit default, and don't want to set zeros
+ continue
+ }
+ fptr := f.Addr().Interface() // **T
+ // TODO: Consider batching the allocations we do here.
+ switch sf.kind {
+ case reflect.Bool:
+ b := new(bool)
+ if dv != nil {
+ *b = dv.(bool)
+ }
+ *(fptr.(**bool)) = b
+ case reflect.Float32:
+ f := new(float32)
+ if dv != nil {
+ *f = dv.(float32)
+ }
+ *(fptr.(**float32)) = f
+ case reflect.Float64:
+ f := new(float64)
+ if dv != nil {
+ *f = dv.(float64)
+ }
+ *(fptr.(**float64)) = f
+ case reflect.Int32:
+ // might be an enum
+ if ft := f.Type(); ft != int32PtrType {
+ // enum
+ f.Set(reflect.New(ft.Elem()))
+ if dv != nil {
+ f.Elem().SetInt(int64(dv.(int32)))
+ }
+ } else {
+ // int32 field
+ i := new(int32)
+ if dv != nil {
+ *i = dv.(int32)
+ }
+ *(fptr.(**int32)) = i
+ }
+ case reflect.Int64:
+ i := new(int64)
+ if dv != nil {
+ *i = dv.(int64)
+ }
+ *(fptr.(**int64)) = i
+ case reflect.String:
+ s := new(string)
+ if dv != nil {
+ *s = dv.(string)
+ }
+ *(fptr.(**string)) = s
+ case reflect.Uint8:
+ // exceptional case: []byte
+ var b []byte
+ if dv != nil {
+ db := dv.([]byte)
+ b = make([]byte, len(db))
+ copy(b, db)
+ } else {
+ b = []byte{}
+ }
+ *(fptr.(*[]byte)) = b
+ case reflect.Uint32:
+ u := new(uint32)
+ if dv != nil {
+ *u = dv.(uint32)
+ }
+ *(fptr.(**uint32)) = u
+ case reflect.Uint64:
+ u := new(uint64)
+ if dv != nil {
+ *u = dv.(uint64)
+ }
+ *(fptr.(**uint64)) = u
+ default:
+ log.Printf("proto: can't set default for field %v (sf.kind=%v)", f, sf.kind)
+ }
+ }
+
+ for _, ni := range dm.nested {
+ f := v.Field(ni)
+ // f is *T or []*T or map[T]*T
+ switch f.Kind() {
+ case reflect.Ptr:
+ if f.IsNil() {
+ continue
+ }
+ setDefaults(f, recur, zeros)
+
+ case reflect.Slice:
+ for i := 0; i < f.Len(); i++ {
+ e := f.Index(i)
+ if e.IsNil() {
+ continue
+ }
+ setDefaults(e, recur, zeros)
+ }
+
+ case reflect.Map:
+ for _, k := range f.MapKeys() {
+ e := f.MapIndex(k)
+ if e.IsNil() {
+ continue
+ }
+ setDefaults(e, recur, zeros)
+ }
+ }
+ }
+}
+
+var (
+ // defaults maps a protocol buffer struct type to a slice of the fields,
+ // with its scalar fields set to their proto-declared non-zero default values.
+ defaultMu sync.RWMutex
+ defaults = make(map[reflect.Type]defaultMessage)
+
+ int32PtrType = reflect.TypeOf((*int32)(nil))
+)
+
+// defaultMessage represents information about the default values of a message.
+type defaultMessage struct {
+ scalars []scalarField
+ nested []int // struct field index of nested messages
+}
+
+type scalarField struct {
+ index int // struct field index
+ kind reflect.Kind // element type (the T in *T or []T)
+ value interface{} // the proto-declared default value, or nil
+}
+
+// t is a struct type.
+func buildDefaultMessage(t reflect.Type) (dm defaultMessage) {
+ sprop := GetProperties(t)
+ for _, prop := range sprop.Prop {
+ fi, ok := sprop.decoderTags.get(prop.Tag)
+ if !ok {
+ // XXX_unrecognized
+ continue
+ }
+ ft := t.Field(fi).Type
+
+ sf, nested, err := fieldDefault(ft, prop)
+ switch {
+ case err != nil:
+ log.Print(err)
+ case nested:
+ dm.nested = append(dm.nested, fi)
+ case sf != nil:
+ sf.index = fi
+ dm.scalars = append(dm.scalars, *sf)
+ }
+ }
+
+ return dm
+}
+
+// fieldDefault returns the scalarField for field type ft.
+// sf will be nil if the field can not have a default.
+// nestedMessage will be true if this is a nested message.
+// Note that sf.index is not set on return.
+func fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) {
+ var canHaveDefault bool
+ switch ft.Kind() {
+ case reflect.Ptr:
+ if ft.Elem().Kind() == reflect.Struct {
+ nestedMessage = true
+ } else {
+ canHaveDefault = true // proto2 scalar field
+ }
+
+ case reflect.Slice:
+ switch ft.Elem().Kind() {
+ case reflect.Ptr:
+ nestedMessage = true // repeated message
+ case reflect.Uint8:
+ canHaveDefault = true // bytes field
+ }
+
+ case reflect.Map:
+ if ft.Elem().Kind() == reflect.Ptr {
+ nestedMessage = true // map with message values
+ }
+ }
+
+ if !canHaveDefault {
+ if nestedMessage {
+ return nil, true, nil
+ }
+ return nil, false, nil
+ }
+
+ // We now know that ft is a pointer or slice.
+ sf = &scalarField{kind: ft.Elem().Kind()}
+
+ // scalar fields without defaults
+ if !prop.HasDefault {
+ return sf, false, nil
+ }
+
+ // a scalar field: either *T or []byte
+ switch ft.Elem().Kind() {
+ case reflect.Bool:
+ x, err := strconv.ParseBool(prop.Default)
+ if err != nil {
+ return nil, false, fmt.Errorf("proto: bad default bool %q: %v", prop.Default, err)
+ }
+ sf.value = x
+ case reflect.Float32:
+ x, err := strconv.ParseFloat(prop.Default, 32)
+ if err != nil {
+ return nil, false, fmt.Errorf("proto: bad default float32 %q: %v", prop.Default, err)
+ }
+ sf.value = float32(x)
+ case reflect.Float64:
+ x, err := strconv.ParseFloat(prop.Default, 64)
+ if err != nil {
+ return nil, false, fmt.Errorf("proto: bad default float64 %q: %v", prop.Default, err)
+ }
+ sf.value = x
+ case reflect.Int32:
+ x, err := strconv.ParseInt(prop.Default, 10, 32)
+ if err != nil {
+ return nil, false, fmt.Errorf("proto: bad default int32 %q: %v", prop.Default, err)
+ }
+ sf.value = int32(x)
+ case reflect.Int64:
+ x, err := strconv.ParseInt(prop.Default, 10, 64)
+ if err != nil {
+ return nil, false, fmt.Errorf("proto: bad default int64 %q: %v", prop.Default, err)
+ }
+ sf.value = x
+ case reflect.String:
+ sf.value = prop.Default
+ case reflect.Uint8:
+ // []byte (not *uint8)
+ sf.value = []byte(prop.Default)
+ case reflect.Uint32:
+ x, err := strconv.ParseUint(prop.Default, 10, 32)
+ if err != nil {
+ return nil, false, fmt.Errorf("proto: bad default uint32 %q: %v", prop.Default, err)
+ }
+ sf.value = uint32(x)
+ case reflect.Uint64:
+ x, err := strconv.ParseUint(prop.Default, 10, 64)
+ if err != nil {
+ return nil, false, fmt.Errorf("proto: bad default uint64 %q: %v", prop.Default, err)
+ }
+ sf.value = x
+ default:
+ return nil, false, fmt.Errorf("proto: unhandled def kind %v", ft.Elem().Kind())
+ }
+
+ return sf, false, nil
+}
+
+// mapKeys returns a sort.Interface to be used for sorting the map keys.
+// Map fields may have key types of non-float scalars, strings and enums.
+func mapKeys(vs []reflect.Value) sort.Interface {
+ s := mapKeySorter{vs: vs}
+
+ // Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps.
+ if len(vs) == 0 {
+ return s
+ }
+ switch vs[0].Kind() {
+ case reflect.Int32, reflect.Int64:
+ s.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() }
+ case reflect.Uint32, reflect.Uint64:
+ s.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() }
+ case reflect.Bool:
+ s.less = func(a, b reflect.Value) bool { return !a.Bool() && b.Bool() } // false < true
+ case reflect.String:
+ s.less = func(a, b reflect.Value) bool { return a.String() < b.String() }
+ default:
+ panic(fmt.Sprintf("unsupported map key type: %v", vs[0].Kind()))
+ }
+
+ return s
+}
+
+type mapKeySorter struct {
+ vs []reflect.Value
+ less func(a, b reflect.Value) bool
+}
+
+func (s mapKeySorter) Len() int { return len(s.vs) }
+func (s mapKeySorter) Swap(i, j int) { s.vs[i], s.vs[j] = s.vs[j], s.vs[i] }
+func (s mapKeySorter) Less(i, j int) bool {
+ return s.less(s.vs[i], s.vs[j])
+}
+
+// isProto3Zero reports whether v is a zero proto3 value.
+func isProto3Zero(v reflect.Value) bool {
+ switch v.Kind() {
+ case reflect.Bool:
+ return !v.Bool()
+ case reflect.Int32, reflect.Int64:
+ return v.Int() == 0
+ case reflect.Uint32, reflect.Uint64:
+ return v.Uint() == 0
+ case reflect.Float32, reflect.Float64:
+ return v.Float() == 0
+ case reflect.String:
+ return v.String() == ""
+ }
+ return false
+}
+
+const (
+ // ProtoPackageIsVersion3 is referenced from generated protocol buffer files
+ // to assert that that code is compatible with this version of the proto package.
+ ProtoPackageIsVersion3 = true
+
+ // ProtoPackageIsVersion2 is referenced from generated protocol buffer files
+ // to assert that that code is compatible with this version of the proto package.
+ ProtoPackageIsVersion2 = true
+
+ // ProtoPackageIsVersion1 is referenced from generated protocol buffer files
+ // to assert that that code is compatible with this version of the proto package.
+ ProtoPackageIsVersion1 = true
+)
+
+// InternalMessageInfo is a type used internally by generated .pb.go files.
+// This type is not intended to be used by non-generated code.
+// This type is not subject to any compatibility guarantee.
+type InternalMessageInfo struct {
+ marshal *marshalInfo
+ unmarshal *unmarshalInfo
+ merge *mergeInfo
+ discard *discardInfo
+}
diff --git a/vendor/github.com/golang/protobuf/proto/message_set.go b/vendor/github.com/golang/protobuf/proto/message_set.go
new file mode 100644
index 0000000..f48a756
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/message_set.go
@@ -0,0 +1,181 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2010 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+/*
+ * Support for message sets.
+ */
+
+import (
+ "errors"
+)
+
+// errNoMessageTypeID occurs when a protocol buffer does not have a message type ID.
+// A message type ID is required for storing a protocol buffer in a message set.
+var errNoMessageTypeID = errors.New("proto does not have a message type ID")
+
+// The first two types (_MessageSet_Item and messageSet)
+// model what the protocol compiler produces for the following protocol message:
+// message MessageSet {
+// repeated group Item = 1 {
+// required int32 type_id = 2;
+// required string message = 3;
+// };
+// }
+// That is the MessageSet wire format. We can't use a proto to generate these
+// because that would introduce a circular dependency between it and this package.
+
+type _MessageSet_Item struct {
+ TypeId *int32 `protobuf:"varint,2,req,name=type_id"`
+ Message []byte `protobuf:"bytes,3,req,name=message"`
+}
+
+type messageSet struct {
+ Item []*_MessageSet_Item `protobuf:"group,1,rep"`
+ XXX_unrecognized []byte
+ // TODO: caching?
+}
+
+// Make sure messageSet is a Message.
+var _ Message = (*messageSet)(nil)
+
+// messageTypeIder is an interface satisfied by a protocol buffer type
+// that may be stored in a MessageSet.
+type messageTypeIder interface {
+ MessageTypeId() int32
+}
+
+func (ms *messageSet) find(pb Message) *_MessageSet_Item {
+ mti, ok := pb.(messageTypeIder)
+ if !ok {
+ return nil
+ }
+ id := mti.MessageTypeId()
+ for _, item := range ms.Item {
+ if *item.TypeId == id {
+ return item
+ }
+ }
+ return nil
+}
+
+func (ms *messageSet) Has(pb Message) bool {
+ return ms.find(pb) != nil
+}
+
+func (ms *messageSet) Unmarshal(pb Message) error {
+ if item := ms.find(pb); item != nil {
+ return Unmarshal(item.Message, pb)
+ }
+ if _, ok := pb.(messageTypeIder); !ok {
+ return errNoMessageTypeID
+ }
+ return nil // TODO: return error instead?
+}
+
+func (ms *messageSet) Marshal(pb Message) error {
+ msg, err := Marshal(pb)
+ if err != nil {
+ return err
+ }
+ if item := ms.find(pb); item != nil {
+ // reuse existing item
+ item.Message = msg
+ return nil
+ }
+
+ mti, ok := pb.(messageTypeIder)
+ if !ok {
+ return errNoMessageTypeID
+ }
+
+ mtid := mti.MessageTypeId()
+ ms.Item = append(ms.Item, &_MessageSet_Item{
+ TypeId: &mtid,
+ Message: msg,
+ })
+ return nil
+}
+
+func (ms *messageSet) Reset() { *ms = messageSet{} }
+func (ms *messageSet) String() string { return CompactTextString(ms) }
+func (*messageSet) ProtoMessage() {}
+
+// Support for the message_set_wire_format message option.
+
+func skipVarint(buf []byte) []byte {
+ i := 0
+ for ; buf[i]&0x80 != 0; i++ {
+ }
+ return buf[i+1:]
+}
+
+// unmarshalMessageSet decodes the extension map encoded in buf in the message set wire format.
+// It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option.
+func unmarshalMessageSet(buf []byte, exts interface{}) error {
+ var m map[int32]Extension
+ switch exts := exts.(type) {
+ case *XXX_InternalExtensions:
+ m = exts.extensionsWrite()
+ case map[int32]Extension:
+ m = exts
+ default:
+ return errors.New("proto: not an extension map")
+ }
+
+ ms := new(messageSet)
+ if err := Unmarshal(buf, ms); err != nil {
+ return err
+ }
+ for _, item := range ms.Item {
+ id := *item.TypeId
+ msg := item.Message
+
+ // Restore wire type and field number varint, plus length varint.
+ // Be careful to preserve duplicate items.
+ b := EncodeVarint(uint64(id)<<3 | WireBytes)
+ if ext, ok := m[id]; ok {
+ // Existing data; rip off the tag and length varint
+ // so we join the new data correctly.
+ // We can assume that ext.enc is set because we are unmarshaling.
+ o := ext.enc[len(b):] // skip wire type and field number
+ _, n := DecodeVarint(o) // calculate length of length varint
+ o = o[n:] // skip length varint
+ msg = append(o, msg...) // join old data and new data
+ }
+ b = append(b, EncodeVarint(uint64(len(msg)))...)
+ b = append(b, msg...)
+
+ m[id] = Extension{enc: b}
+ }
+ return nil
+}
diff --git a/vendor/github.com/golang/protobuf/proto/pointer_reflect.go b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go
new file mode 100644
index 0000000..94fa919
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go
@@ -0,0 +1,360 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2012 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// +build purego appengine js
+
+// This file contains an implementation of proto field accesses using package reflect.
+// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can
+// be used on App Engine.
+
+package proto
+
+import (
+ "reflect"
+ "sync"
+)
+
+const unsafeAllowed = false
+
+// A field identifies a field in a struct, accessible from a pointer.
+// In this implementation, a field is identified by the sequence of field indices
+// passed to reflect's FieldByIndex.
+type field []int
+
+// toField returns a field equivalent to the given reflect field.
+func toField(f *reflect.StructField) field {
+ return f.Index
+}
+
+// invalidField is an invalid field identifier.
+var invalidField = field(nil)
+
+// zeroField is a noop when calling pointer.offset.
+var zeroField = field([]int{})
+
+// IsValid reports whether the field identifier is valid.
+func (f field) IsValid() bool { return f != nil }
+
+// The pointer type is for the table-driven decoder.
+// The implementation here uses a reflect.Value of pointer type to
+// create a generic pointer. In pointer_unsafe.go we use unsafe
+// instead of reflect to implement the same (but faster) interface.
+type pointer struct {
+ v reflect.Value
+}
+
+// toPointer converts an interface of pointer type to a pointer
+// that points to the same target.
+func toPointer(i *Message) pointer {
+ return pointer{v: reflect.ValueOf(*i)}
+}
+
+// toAddrPointer converts an interface to a pointer that points to
+// the interface data.
+func toAddrPointer(i *interface{}, isptr, deref bool) pointer {
+ v := reflect.ValueOf(*i)
+ u := reflect.New(v.Type())
+ u.Elem().Set(v)
+ if deref {
+ u = u.Elem()
+ }
+ return pointer{v: u}
+}
+
+// valToPointer converts v to a pointer. v must be of pointer type.
+func valToPointer(v reflect.Value) pointer {
+ return pointer{v: v}
+}
+
+// offset converts from a pointer to a structure to a pointer to
+// one of its fields.
+func (p pointer) offset(f field) pointer {
+ return pointer{v: p.v.Elem().FieldByIndex(f).Addr()}
+}
+
+func (p pointer) isNil() bool {
+ return p.v.IsNil()
+}
+
+// grow updates the slice s in place to make it one element longer.
+// s must be addressable.
+// Returns the (addressable) new element.
+func grow(s reflect.Value) reflect.Value {
+ n, m := s.Len(), s.Cap()
+ if n < m {
+ s.SetLen(n + 1)
+ } else {
+ s.Set(reflect.Append(s, reflect.Zero(s.Type().Elem())))
+ }
+ return s.Index(n)
+}
+
+func (p pointer) toInt64() *int64 {
+ return p.v.Interface().(*int64)
+}
+func (p pointer) toInt64Ptr() **int64 {
+ return p.v.Interface().(**int64)
+}
+func (p pointer) toInt64Slice() *[]int64 {
+ return p.v.Interface().(*[]int64)
+}
+
+var int32ptr = reflect.TypeOf((*int32)(nil))
+
+func (p pointer) toInt32() *int32 {
+ return p.v.Convert(int32ptr).Interface().(*int32)
+}
+
+// The toInt32Ptr/Slice methods don't work because of enums.
+// Instead, we must use set/get methods for the int32ptr/slice case.
+/*
+ func (p pointer) toInt32Ptr() **int32 {
+ return p.v.Interface().(**int32)
+}
+ func (p pointer) toInt32Slice() *[]int32 {
+ return p.v.Interface().(*[]int32)
+}
+*/
+func (p pointer) getInt32Ptr() *int32 {
+ if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {
+ // raw int32 type
+ return p.v.Elem().Interface().(*int32)
+ }
+ // an enum
+ return p.v.Elem().Convert(int32PtrType).Interface().(*int32)
+}
+func (p pointer) setInt32Ptr(v int32) {
+ // Allocate value in a *int32. Possibly convert that to a *enum.
+ // Then assign it to a **int32 or **enum.
+ // Note: we can convert *int32 to *enum, but we can't convert
+ // **int32 to **enum!
+ p.v.Elem().Set(reflect.ValueOf(&v).Convert(p.v.Type().Elem()))
+}
+
+// getInt32Slice copies []int32 from p as a new slice.
+// This behavior differs from the implementation in pointer_unsafe.go.
+func (p pointer) getInt32Slice() []int32 {
+ if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {
+ // raw int32 type
+ return p.v.Elem().Interface().([]int32)
+ }
+ // an enum
+ // Allocate a []int32, then assign []enum's values into it.
+ // Note: we can't convert []enum to []int32.
+ slice := p.v.Elem()
+ s := make([]int32, slice.Len())
+ for i := 0; i < slice.Len(); i++ {
+ s[i] = int32(slice.Index(i).Int())
+ }
+ return s
+}
+
+// setInt32Slice copies []int32 into p as a new slice.
+// This behavior differs from the implementation in pointer_unsafe.go.
+func (p pointer) setInt32Slice(v []int32) {
+ if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {
+ // raw int32 type
+ p.v.Elem().Set(reflect.ValueOf(v))
+ return
+ }
+ // an enum
+ // Allocate a []enum, then assign []int32's values into it.
+ // Note: we can't convert []enum to []int32.
+ slice := reflect.MakeSlice(p.v.Type().Elem(), len(v), cap(v))
+ for i, x := range v {
+ slice.Index(i).SetInt(int64(x))
+ }
+ p.v.Elem().Set(slice)
+}
+func (p pointer) appendInt32Slice(v int32) {
+ grow(p.v.Elem()).SetInt(int64(v))
+}
+
+func (p pointer) toUint64() *uint64 {
+ return p.v.Interface().(*uint64)
+}
+func (p pointer) toUint64Ptr() **uint64 {
+ return p.v.Interface().(**uint64)
+}
+func (p pointer) toUint64Slice() *[]uint64 {
+ return p.v.Interface().(*[]uint64)
+}
+func (p pointer) toUint32() *uint32 {
+ return p.v.Interface().(*uint32)
+}
+func (p pointer) toUint32Ptr() **uint32 {
+ return p.v.Interface().(**uint32)
+}
+func (p pointer) toUint32Slice() *[]uint32 {
+ return p.v.Interface().(*[]uint32)
+}
+func (p pointer) toBool() *bool {
+ return p.v.Interface().(*bool)
+}
+func (p pointer) toBoolPtr() **bool {
+ return p.v.Interface().(**bool)
+}
+func (p pointer) toBoolSlice() *[]bool {
+ return p.v.Interface().(*[]bool)
+}
+func (p pointer) toFloat64() *float64 {
+ return p.v.Interface().(*float64)
+}
+func (p pointer) toFloat64Ptr() **float64 {
+ return p.v.Interface().(**float64)
+}
+func (p pointer) toFloat64Slice() *[]float64 {
+ return p.v.Interface().(*[]float64)
+}
+func (p pointer) toFloat32() *float32 {
+ return p.v.Interface().(*float32)
+}
+func (p pointer) toFloat32Ptr() **float32 {
+ return p.v.Interface().(**float32)
+}
+func (p pointer) toFloat32Slice() *[]float32 {
+ return p.v.Interface().(*[]float32)
+}
+func (p pointer) toString() *string {
+ return p.v.Interface().(*string)
+}
+func (p pointer) toStringPtr() **string {
+ return p.v.Interface().(**string)
+}
+func (p pointer) toStringSlice() *[]string {
+ return p.v.Interface().(*[]string)
+}
+func (p pointer) toBytes() *[]byte {
+ return p.v.Interface().(*[]byte)
+}
+func (p pointer) toBytesSlice() *[][]byte {
+ return p.v.Interface().(*[][]byte)
+}
+func (p pointer) toExtensions() *XXX_InternalExtensions {
+ return p.v.Interface().(*XXX_InternalExtensions)
+}
+func (p pointer) toOldExtensions() *map[int32]Extension {
+ return p.v.Interface().(*map[int32]Extension)
+}
+func (p pointer) getPointer() pointer {
+ return pointer{v: p.v.Elem()}
+}
+func (p pointer) setPointer(q pointer) {
+ p.v.Elem().Set(q.v)
+}
+func (p pointer) appendPointer(q pointer) {
+ grow(p.v.Elem()).Set(q.v)
+}
+
+// getPointerSlice copies []*T from p as a new []pointer.
+// This behavior differs from the implementation in pointer_unsafe.go.
+func (p pointer) getPointerSlice() []pointer {
+ if p.v.IsNil() {
+ return nil
+ }
+ n := p.v.Elem().Len()
+ s := make([]pointer, n)
+ for i := 0; i < n; i++ {
+ s[i] = pointer{v: p.v.Elem().Index(i)}
+ }
+ return s
+}
+
+// setPointerSlice copies []pointer into p as a new []*T.
+// This behavior differs from the implementation in pointer_unsafe.go.
+func (p pointer) setPointerSlice(v []pointer) {
+ if v == nil {
+ p.v.Elem().Set(reflect.New(p.v.Elem().Type()).Elem())
+ return
+ }
+ s := reflect.MakeSlice(p.v.Elem().Type(), 0, len(v))
+ for _, p := range v {
+ s = reflect.Append(s, p.v)
+ }
+ p.v.Elem().Set(s)
+}
+
+// getInterfacePointer returns a pointer that points to the
+// interface data of the interface pointed by p.
+func (p pointer) getInterfacePointer() pointer {
+ if p.v.Elem().IsNil() {
+ return pointer{v: p.v.Elem()}
+ }
+ return pointer{v: p.v.Elem().Elem().Elem().Field(0).Addr()} // *interface -> interface -> *struct -> struct
+}
+
+func (p pointer) asPointerTo(t reflect.Type) reflect.Value {
+ // TODO: check that p.v.Type().Elem() == t?
+ return p.v
+}
+
+func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo {
+ atomicLock.Lock()
+ defer atomicLock.Unlock()
+ return *p
+}
+func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) {
+ atomicLock.Lock()
+ defer atomicLock.Unlock()
+ *p = v
+}
+func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo {
+ atomicLock.Lock()
+ defer atomicLock.Unlock()
+ return *p
+}
+func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) {
+ atomicLock.Lock()
+ defer atomicLock.Unlock()
+ *p = v
+}
+func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo {
+ atomicLock.Lock()
+ defer atomicLock.Unlock()
+ return *p
+}
+func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) {
+ atomicLock.Lock()
+ defer atomicLock.Unlock()
+ *p = v
+}
+func atomicLoadDiscardInfo(p **discardInfo) *discardInfo {
+ atomicLock.Lock()
+ defer atomicLock.Unlock()
+ return *p
+}
+func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) {
+ atomicLock.Lock()
+ defer atomicLock.Unlock()
+ *p = v
+}
+
+var atomicLock sync.Mutex
diff --git a/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go
new file mode 100644
index 0000000..dbfffe0
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go
@@ -0,0 +1,313 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2012 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// +build !purego,!appengine,!js
+
+// This file contains the implementation of the proto field accesses using package unsafe.
+
+package proto
+
+import (
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+const unsafeAllowed = true
+
+// A field identifies a field in a struct, accessible from a pointer.
+// In this implementation, a field is identified by its byte offset from the start of the struct.
+type field uintptr
+
+// toField returns a field equivalent to the given reflect field.
+func toField(f *reflect.StructField) field {
+ return field(f.Offset)
+}
+
+// invalidField is an invalid field identifier.
+const invalidField = ^field(0)
+
+// zeroField is a noop when calling pointer.offset.
+const zeroField = field(0)
+
+// IsValid reports whether the field identifier is valid.
+func (f field) IsValid() bool {
+ return f != invalidField
+}
+
+// The pointer type below is for the new table-driven encoder/decoder.
+// The implementation here uses unsafe.Pointer to create a generic pointer.
+// In pointer_reflect.go we use reflect instead of unsafe to implement
+// the same (but slower) interface.
+type pointer struct {
+ p unsafe.Pointer
+}
+
+// size of pointer
+var ptrSize = unsafe.Sizeof(uintptr(0))
+
+// toPointer converts an interface of pointer type to a pointer
+// that points to the same target.
+func toPointer(i *Message) pointer {
+ // Super-tricky - read pointer out of data word of interface value.
+ // Saves ~25ns over the equivalent:
+ // return valToPointer(reflect.ValueOf(*i))
+ return pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]}
+}
+
+// toAddrPointer converts an interface to a pointer that points to
+// the interface data.
+func toAddrPointer(i *interface{}, isptr, deref bool) (p pointer) {
+ // Super-tricky - read or get the address of data word of interface value.
+ if isptr {
+ // The interface is of pointer type, thus it is a direct interface.
+ // The data word is the pointer data itself. We take its address.
+ p = pointer{p: unsafe.Pointer(uintptr(unsafe.Pointer(i)) + ptrSize)}
+ } else {
+ // The interface is not of pointer type. The data word is the pointer
+ // to the data.
+ p = pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]}
+ }
+ if deref {
+ p.p = *(*unsafe.Pointer)(p.p)
+ }
+ return p
+}
+
+// valToPointer converts v to a pointer. v must be of pointer type.
+func valToPointer(v reflect.Value) pointer {
+ return pointer{p: unsafe.Pointer(v.Pointer())}
+}
+
+// offset converts from a pointer to a structure to a pointer to
+// one of its fields.
+func (p pointer) offset(f field) pointer {
+ // For safety, we should panic if !f.IsValid, however calling panic causes
+ // this to no longer be inlineable, which is a serious performance cost.
+ /*
+ if !f.IsValid() {
+ panic("invalid field")
+ }
+ */
+ return pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))}
+}
+
+func (p pointer) isNil() bool {
+ return p.p == nil
+}
+
+func (p pointer) toInt64() *int64 {
+ return (*int64)(p.p)
+}
+func (p pointer) toInt64Ptr() **int64 {
+ return (**int64)(p.p)
+}
+func (p pointer) toInt64Slice() *[]int64 {
+ return (*[]int64)(p.p)
+}
+func (p pointer) toInt32() *int32 {
+ return (*int32)(p.p)
+}
+
+// See pointer_reflect.go for why toInt32Ptr/Slice doesn't exist.
+/*
+ func (p pointer) toInt32Ptr() **int32 {
+ return (**int32)(p.p)
+ }
+ func (p pointer) toInt32Slice() *[]int32 {
+ return (*[]int32)(p.p)
+ }
+*/
+func (p pointer) getInt32Ptr() *int32 {
+ return *(**int32)(p.p)
+}
+func (p pointer) setInt32Ptr(v int32) {
+ *(**int32)(p.p) = &v
+}
+
+// getInt32Slice loads a []int32 from p.
+// The value returned is aliased with the original slice.
+// This behavior differs from the implementation in pointer_reflect.go.
+func (p pointer) getInt32Slice() []int32 {
+ return *(*[]int32)(p.p)
+}
+
+// setInt32Slice stores a []int32 to p.
+// The value set is aliased with the input slice.
+// This behavior differs from the implementation in pointer_reflect.go.
+func (p pointer) setInt32Slice(v []int32) {
+ *(*[]int32)(p.p) = v
+}
+
+// TODO: Can we get rid of appendInt32Slice and use setInt32Slice instead?
+func (p pointer) appendInt32Slice(v int32) {
+ s := (*[]int32)(p.p)
+ *s = append(*s, v)
+}
+
+func (p pointer) toUint64() *uint64 {
+ return (*uint64)(p.p)
+}
+func (p pointer) toUint64Ptr() **uint64 {
+ return (**uint64)(p.p)
+}
+func (p pointer) toUint64Slice() *[]uint64 {
+ return (*[]uint64)(p.p)
+}
+func (p pointer) toUint32() *uint32 {
+ return (*uint32)(p.p)
+}
+func (p pointer) toUint32Ptr() **uint32 {
+ return (**uint32)(p.p)
+}
+func (p pointer) toUint32Slice() *[]uint32 {
+ return (*[]uint32)(p.p)
+}
+func (p pointer) toBool() *bool {
+ return (*bool)(p.p)
+}
+func (p pointer) toBoolPtr() **bool {
+ return (**bool)(p.p)
+}
+func (p pointer) toBoolSlice() *[]bool {
+ return (*[]bool)(p.p)
+}
+func (p pointer) toFloat64() *float64 {
+ return (*float64)(p.p)
+}
+func (p pointer) toFloat64Ptr() **float64 {
+ return (**float64)(p.p)
+}
+func (p pointer) toFloat64Slice() *[]float64 {
+ return (*[]float64)(p.p)
+}
+func (p pointer) toFloat32() *float32 {
+ return (*float32)(p.p)
+}
+func (p pointer) toFloat32Ptr() **float32 {
+ return (**float32)(p.p)
+}
+func (p pointer) toFloat32Slice() *[]float32 {
+ return (*[]float32)(p.p)
+}
+func (p pointer) toString() *string {
+ return (*string)(p.p)
+}
+func (p pointer) toStringPtr() **string {
+ return (**string)(p.p)
+}
+func (p pointer) toStringSlice() *[]string {
+ return (*[]string)(p.p)
+}
+func (p pointer) toBytes() *[]byte {
+ return (*[]byte)(p.p)
+}
+func (p pointer) toBytesSlice() *[][]byte {
+ return (*[][]byte)(p.p)
+}
+func (p pointer) toExtensions() *XXX_InternalExtensions {
+ return (*XXX_InternalExtensions)(p.p)
+}
+func (p pointer) toOldExtensions() *map[int32]Extension {
+ return (*map[int32]Extension)(p.p)
+}
+
+// getPointerSlice loads []*T from p as a []pointer.
+// The value returned is aliased with the original slice.
+// This behavior differs from the implementation in pointer_reflect.go.
+func (p pointer) getPointerSlice() []pointer {
+ // Super-tricky - p should point to a []*T where T is a
+ // message type. We load it as []pointer.
+ return *(*[]pointer)(p.p)
+}
+
+// setPointerSlice stores []pointer into p as a []*T.
+// The value set is aliased with the input slice.
+// This behavior differs from the implementation in pointer_reflect.go.
+func (p pointer) setPointerSlice(v []pointer) {
+ // Super-tricky - p should point to a []*T where T is a
+ // message type. We store it as []pointer.
+ *(*[]pointer)(p.p) = v
+}
+
+// getPointer loads the pointer at p and returns it.
+func (p pointer) getPointer() pointer {
+ return pointer{p: *(*unsafe.Pointer)(p.p)}
+}
+
+// setPointer stores the pointer q at p.
+func (p pointer) setPointer(q pointer) {
+ *(*unsafe.Pointer)(p.p) = q.p
+}
+
+// append q to the slice pointed to by p.
+func (p pointer) appendPointer(q pointer) {
+ s := (*[]unsafe.Pointer)(p.p)
+ *s = append(*s, q.p)
+}
+
+// getInterfacePointer returns a pointer that points to the
+// interface data of the interface pointed by p.
+func (p pointer) getInterfacePointer() pointer {
+ // Super-tricky - read pointer out of data word of interface value.
+ return pointer{p: (*(*[2]unsafe.Pointer)(p.p))[1]}
+}
+
+// asPointerTo returns a reflect.Value that is a pointer to an
+// object of type t stored at p.
+func (p pointer) asPointerTo(t reflect.Type) reflect.Value {
+ return reflect.NewAt(t, p.p)
+}
+
+func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo {
+ return (*unmarshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))
+}
+func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) {
+ atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))
+}
+func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo {
+ return (*marshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))
+}
+func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) {
+ atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))
+}
+func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo {
+ return (*mergeInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))
+}
+func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) {
+ atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))
+}
+func atomicLoadDiscardInfo(p **discardInfo) *discardInfo {
+ return (*discardInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))
+}
+func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) {
+ atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))
+}
diff --git a/vendor/github.com/golang/protobuf/proto/properties.go b/vendor/github.com/golang/protobuf/proto/properties.go
new file mode 100644
index 0000000..a4b8c0c
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/properties.go
@@ -0,0 +1,544 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2010 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+/*
+ * Routines for encoding data into the wire format for protocol buffers.
+ */
+
+import (
+ "fmt"
+ "log"
+ "reflect"
+ "sort"
+ "strconv"
+ "strings"
+ "sync"
+)
+
+const debug bool = false
+
+// Constants that identify the encoding of a value on the wire.
+const (
+ WireVarint = 0
+ WireFixed64 = 1
+ WireBytes = 2
+ WireStartGroup = 3
+ WireEndGroup = 4
+ WireFixed32 = 5
+)
+
+// tagMap is an optimization over map[int]int for typical protocol buffer
+// use-cases. Encoded protocol buffers are often in tag order with small tag
+// numbers.
+type tagMap struct {
+ fastTags []int
+ slowTags map[int]int
+}
+
+// tagMapFastLimit is the upper bound on the tag number that will be stored in
+// the tagMap slice rather than its map.
+const tagMapFastLimit = 1024
+
+func (p *tagMap) get(t int) (int, bool) {
+ if t > 0 && t < tagMapFastLimit {
+ if t >= len(p.fastTags) {
+ return 0, false
+ }
+ fi := p.fastTags[t]
+ return fi, fi >= 0
+ }
+ fi, ok := p.slowTags[t]
+ return fi, ok
+}
+
+func (p *tagMap) put(t int, fi int) {
+ if t > 0 && t < tagMapFastLimit {
+ for len(p.fastTags) < t+1 {
+ p.fastTags = append(p.fastTags, -1)
+ }
+ p.fastTags[t] = fi
+ return
+ }
+ if p.slowTags == nil {
+ p.slowTags = make(map[int]int)
+ }
+ p.slowTags[t] = fi
+}
+
+// StructProperties represents properties for all the fields of a struct.
+// decoderTags and decoderOrigNames should only be used by the decoder.
+type StructProperties struct {
+ Prop []*Properties // properties for each field
+ reqCount int // required count
+ decoderTags tagMap // map from proto tag to struct field number
+ decoderOrigNames map[string]int // map from original name to struct field number
+ order []int // list of struct field numbers in tag order
+
+ // OneofTypes contains information about the oneof fields in this message.
+ // It is keyed by the original name of a field.
+ OneofTypes map[string]*OneofProperties
+}
+
+// OneofProperties represents information about a specific field in a oneof.
+type OneofProperties struct {
+ Type reflect.Type // pointer to generated struct type for this oneof field
+ Field int // struct field number of the containing oneof in the message
+ Prop *Properties
+}
+
+// Implement the sorting interface so we can sort the fields in tag order, as recommended by the spec.
+// See encode.go, (*Buffer).enc_struct.
+
+func (sp *StructProperties) Len() int { return len(sp.order) }
+func (sp *StructProperties) Less(i, j int) bool {
+ return sp.Prop[sp.order[i]].Tag < sp.Prop[sp.order[j]].Tag
+}
+func (sp *StructProperties) Swap(i, j int) { sp.order[i], sp.order[j] = sp.order[j], sp.order[i] }
+
+// Properties represents the protocol-specific behavior of a single struct field.
+type Properties struct {
+ Name string // name of the field, for error messages
+ OrigName string // original name before protocol compiler (always set)
+ JSONName string // name to use for JSON; determined by protoc
+ Wire string
+ WireType int
+ Tag int
+ Required bool
+ Optional bool
+ Repeated bool
+ Packed bool // relevant for repeated primitives only
+ Enum string // set for enum types only
+ proto3 bool // whether this is known to be a proto3 field
+ oneof bool // whether this is a oneof field
+
+ Default string // default value
+ HasDefault bool // whether an explicit default was provided
+
+ stype reflect.Type // set for struct types only
+ sprop *StructProperties // set for struct types only
+
+ mtype reflect.Type // set for map types only
+ MapKeyProp *Properties // set for map types only
+ MapValProp *Properties // set for map types only
+}
+
+// String formats the properties in the protobuf struct field tag style.
+func (p *Properties) String() string {
+ s := p.Wire
+ s += ","
+ s += strconv.Itoa(p.Tag)
+ if p.Required {
+ s += ",req"
+ }
+ if p.Optional {
+ s += ",opt"
+ }
+ if p.Repeated {
+ s += ",rep"
+ }
+ if p.Packed {
+ s += ",packed"
+ }
+ s += ",name=" + p.OrigName
+ if p.JSONName != p.OrigName {
+ s += ",json=" + p.JSONName
+ }
+ if p.proto3 {
+ s += ",proto3"
+ }
+ if p.oneof {
+ s += ",oneof"
+ }
+ if len(p.Enum) > 0 {
+ s += ",enum=" + p.Enum
+ }
+ if p.HasDefault {
+ s += ",def=" + p.Default
+ }
+ return s
+}
+
+// Parse populates p by parsing a string in the protobuf struct field tag style.
+func (p *Properties) Parse(s string) {
+ // "bytes,49,opt,name=foo,def=hello!"
+ fields := strings.Split(s, ",") // breaks def=, but handled below.
+ if len(fields) < 2 {
+ log.Printf("proto: tag has too few fields: %q", s)
+ return
+ }
+
+ p.Wire = fields[0]
+ switch p.Wire {
+ case "varint":
+ p.WireType = WireVarint
+ case "fixed32":
+ p.WireType = WireFixed32
+ case "fixed64":
+ p.WireType = WireFixed64
+ case "zigzag32":
+ p.WireType = WireVarint
+ case "zigzag64":
+ p.WireType = WireVarint
+ case "bytes", "group":
+ p.WireType = WireBytes
+ // no numeric converter for non-numeric types
+ default:
+ log.Printf("proto: tag has unknown wire type: %q", s)
+ return
+ }
+
+ var err error
+ p.Tag, err = strconv.Atoi(fields[1])
+ if err != nil {
+ return
+ }
+
+outer:
+ for i := 2; i < len(fields); i++ {
+ f := fields[i]
+ switch {
+ case f == "req":
+ p.Required = true
+ case f == "opt":
+ p.Optional = true
+ case f == "rep":
+ p.Repeated = true
+ case f == "packed":
+ p.Packed = true
+ case strings.HasPrefix(f, "name="):
+ p.OrigName = f[5:]
+ case strings.HasPrefix(f, "json="):
+ p.JSONName = f[5:]
+ case strings.HasPrefix(f, "enum="):
+ p.Enum = f[5:]
+ case f == "proto3":
+ p.proto3 = true
+ case f == "oneof":
+ p.oneof = true
+ case strings.HasPrefix(f, "def="):
+ p.HasDefault = true
+ p.Default = f[4:] // rest of string
+ if i+1 < len(fields) {
+ // Commas aren't escaped, and def is always last.
+ p.Default += "," + strings.Join(fields[i+1:], ",")
+ break outer
+ }
+ }
+ }
+}
+
+var protoMessageType = reflect.TypeOf((*Message)(nil)).Elem()
+
+// setFieldProps initializes the field properties for submessages and maps.
+func (p *Properties) setFieldProps(typ reflect.Type, f *reflect.StructField, lockGetProp bool) {
+ switch t1 := typ; t1.Kind() {
+ case reflect.Ptr:
+ if t1.Elem().Kind() == reflect.Struct {
+ p.stype = t1.Elem()
+ }
+
+ case reflect.Slice:
+ if t2 := t1.Elem(); t2.Kind() == reflect.Ptr && t2.Elem().Kind() == reflect.Struct {
+ p.stype = t2.Elem()
+ }
+
+ case reflect.Map:
+ p.mtype = t1
+ p.MapKeyProp = &Properties{}
+ p.MapKeyProp.init(reflect.PtrTo(p.mtype.Key()), "Key", f.Tag.Get("protobuf_key"), nil, lockGetProp)
+ p.MapValProp = &Properties{}
+ vtype := p.mtype.Elem()
+ if vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice {
+ // The value type is not a message (*T) or bytes ([]byte),
+ // so we need encoders for the pointer to this type.
+ vtype = reflect.PtrTo(vtype)
+ }
+ p.MapValProp.init(vtype, "Value", f.Tag.Get("protobuf_val"), nil, lockGetProp)
+ }
+
+ if p.stype != nil {
+ if lockGetProp {
+ p.sprop = GetProperties(p.stype)
+ } else {
+ p.sprop = getPropertiesLocked(p.stype)
+ }
+ }
+}
+
+var (
+ marshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem()
+)
+
+// Init populates the properties from a protocol buffer struct tag.
+func (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) {
+ p.init(typ, name, tag, f, true)
+}
+
+func (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructField, lockGetProp bool) {
+ // "bytes,49,opt,def=hello!"
+ p.Name = name
+ p.OrigName = name
+ if tag == "" {
+ return
+ }
+ p.Parse(tag)
+ p.setFieldProps(typ, f, lockGetProp)
+}
+
+var (
+ propertiesMu sync.RWMutex
+ propertiesMap = make(map[reflect.Type]*StructProperties)
+)
+
+// GetProperties returns the list of properties for the type represented by t.
+// t must represent a generated struct type of a protocol message.
+func GetProperties(t reflect.Type) *StructProperties {
+ if t.Kind() != reflect.Struct {
+ panic("proto: type must have kind struct")
+ }
+
+ // Most calls to GetProperties in a long-running program will be
+ // retrieving details for types we have seen before.
+ propertiesMu.RLock()
+ sprop, ok := propertiesMap[t]
+ propertiesMu.RUnlock()
+ if ok {
+ return sprop
+ }
+
+ propertiesMu.Lock()
+ sprop = getPropertiesLocked(t)
+ propertiesMu.Unlock()
+ return sprop
+}
+
+type (
+ oneofFuncsIface interface {
+ XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{})
+ }
+ oneofWrappersIface interface {
+ XXX_OneofWrappers() []interface{}
+ }
+)
+
+// getPropertiesLocked requires that propertiesMu is held.
+func getPropertiesLocked(t reflect.Type) *StructProperties {
+ if prop, ok := propertiesMap[t]; ok {
+ return prop
+ }
+
+ prop := new(StructProperties)
+ // in case of recursive protos, fill this in now.
+ propertiesMap[t] = prop
+
+ // build properties
+ prop.Prop = make([]*Properties, t.NumField())
+ prop.order = make([]int, t.NumField())
+
+ for i := 0; i < t.NumField(); i++ {
+ f := t.Field(i)
+ p := new(Properties)
+ name := f.Name
+ p.init(f.Type, name, f.Tag.Get("protobuf"), &f, false)
+
+ oneof := f.Tag.Get("protobuf_oneof") // special case
+ if oneof != "" {
+ // Oneof fields don't use the traditional protobuf tag.
+ p.OrigName = oneof
+ }
+ prop.Prop[i] = p
+ prop.order[i] = i
+ if debug {
+ print(i, " ", f.Name, " ", t.String(), " ")
+ if p.Tag > 0 {
+ print(p.String())
+ }
+ print("\n")
+ }
+ }
+
+ // Re-order prop.order.
+ sort.Sort(prop)
+
+ var oots []interface{}
+ switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) {
+ case oneofFuncsIface:
+ _, _, _, oots = m.XXX_OneofFuncs()
+ case oneofWrappersIface:
+ oots = m.XXX_OneofWrappers()
+ }
+ if len(oots) > 0 {
+ // Interpret oneof metadata.
+ prop.OneofTypes = make(map[string]*OneofProperties)
+ for _, oot := range oots {
+ oop := &OneofProperties{
+ Type: reflect.ValueOf(oot).Type(), // *T
+ Prop: new(Properties),
+ }
+ sft := oop.Type.Elem().Field(0)
+ oop.Prop.Name = sft.Name
+ oop.Prop.Parse(sft.Tag.Get("protobuf"))
+ // There will be exactly one interface field that
+ // this new value is assignable to.
+ for i := 0; i < t.NumField(); i++ {
+ f := t.Field(i)
+ if f.Type.Kind() != reflect.Interface {
+ continue
+ }
+ if !oop.Type.AssignableTo(f.Type) {
+ continue
+ }
+ oop.Field = i
+ break
+ }
+ prop.OneofTypes[oop.Prop.OrigName] = oop
+ }
+ }
+
+ // build required counts
+ // build tags
+ reqCount := 0
+ prop.decoderOrigNames = make(map[string]int)
+ for i, p := range prop.Prop {
+ if strings.HasPrefix(p.Name, "XXX_") {
+ // Internal fields should not appear in tags/origNames maps.
+ // They are handled specially when encoding and decoding.
+ continue
+ }
+ if p.Required {
+ reqCount++
+ }
+ prop.decoderTags.put(p.Tag, i)
+ prop.decoderOrigNames[p.OrigName] = i
+ }
+ prop.reqCount = reqCount
+
+ return prop
+}
+
+// A global registry of enum types.
+// The generated code will register the generated maps by calling RegisterEnum.
+
+var enumValueMaps = make(map[string]map[string]int32)
+
+// RegisterEnum is called from the generated code to install the enum descriptor
+// maps into the global table to aid parsing text format protocol buffers.
+func RegisterEnum(typeName string, unusedNameMap map[int32]string, valueMap map[string]int32) {
+ if _, ok := enumValueMaps[typeName]; ok {
+ panic("proto: duplicate enum registered: " + typeName)
+ }
+ enumValueMaps[typeName] = valueMap
+}
+
+// EnumValueMap returns the mapping from names to integers of the
+// enum type enumType, or a nil if not found.
+func EnumValueMap(enumType string) map[string]int32 {
+ return enumValueMaps[enumType]
+}
+
+// A registry of all linked message types.
+// The string is a fully-qualified proto name ("pkg.Message").
+var (
+ protoTypedNils = make(map[string]Message) // a map from proto names to typed nil pointers
+ protoMapTypes = make(map[string]reflect.Type) // a map from proto names to map types
+ revProtoTypes = make(map[reflect.Type]string)
+)
+
+// RegisterType is called from generated code and maps from the fully qualified
+// proto name to the type (pointer to struct) of the protocol buffer.
+func RegisterType(x Message, name string) {
+ if _, ok := protoTypedNils[name]; ok {
+ // TODO: Some day, make this a panic.
+ log.Printf("proto: duplicate proto type registered: %s", name)
+ return
+ }
+ t := reflect.TypeOf(x)
+ if v := reflect.ValueOf(x); v.Kind() == reflect.Ptr && v.Pointer() == 0 {
+ // Generated code always calls RegisterType with nil x.
+ // This check is just for extra safety.
+ protoTypedNils[name] = x
+ } else {
+ protoTypedNils[name] = reflect.Zero(t).Interface().(Message)
+ }
+ revProtoTypes[t] = name
+}
+
+// RegisterMapType is called from generated code and maps from the fully qualified
+// proto name to the native map type of the proto map definition.
+func RegisterMapType(x interface{}, name string) {
+ if reflect.TypeOf(x).Kind() != reflect.Map {
+ panic(fmt.Sprintf("RegisterMapType(%T, %q); want map", x, name))
+ }
+ if _, ok := protoMapTypes[name]; ok {
+ log.Printf("proto: duplicate proto type registered: %s", name)
+ return
+ }
+ t := reflect.TypeOf(x)
+ protoMapTypes[name] = t
+ revProtoTypes[t] = name
+}
+
+// MessageName returns the fully-qualified proto name for the given message type.
+func MessageName(x Message) string {
+ type xname interface {
+ XXX_MessageName() string
+ }
+ if m, ok := x.(xname); ok {
+ return m.XXX_MessageName()
+ }
+ return revProtoTypes[reflect.TypeOf(x)]
+}
+
+// MessageType returns the message type (pointer to struct) for a named message.
+// The type is not guaranteed to implement proto.Message if the name refers to a
+// map entry.
+func MessageType(name string) reflect.Type {
+ if t, ok := protoTypedNils[name]; ok {
+ return reflect.TypeOf(t)
+ }
+ return protoMapTypes[name]
+}
+
+// A registry of all linked proto files.
+var (
+ protoFiles = make(map[string][]byte) // file name => fileDescriptor
+)
+
+// RegisterFile is called from generated code and maps from the
+// full file name of a .proto file to its compressed FileDescriptorProto.
+func RegisterFile(filename string, fileDescriptor []byte) {
+ protoFiles[filename] = fileDescriptor
+}
+
+// FileDescriptor returns the compressed FileDescriptorProto for a .proto file.
+func FileDescriptor(filename string) []byte { return protoFiles[filename] }
diff --git a/vendor/github.com/golang/protobuf/proto/table_marshal.go b/vendor/github.com/golang/protobuf/proto/table_marshal.go
new file mode 100644
index 0000000..5cb11fa
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/table_marshal.go
@@ -0,0 +1,2776 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2016 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+import (
+ "errors"
+ "fmt"
+ "math"
+ "reflect"
+ "sort"
+ "strconv"
+ "strings"
+ "sync"
+ "sync/atomic"
+ "unicode/utf8"
+)
+
+// a sizer takes a pointer to a field and the size of its tag, computes the size of
+// the encoded data.
+type sizer func(pointer, int) int
+
+// a marshaler takes a byte slice, a pointer to a field, and its tag (in wire format),
+// marshals the field to the end of the slice, returns the slice and error (if any).
+type marshaler func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error)
+
+// marshalInfo is the information used for marshaling a message.
+type marshalInfo struct {
+ typ reflect.Type
+ fields []*marshalFieldInfo
+ unrecognized field // offset of XXX_unrecognized
+ extensions field // offset of XXX_InternalExtensions
+ v1extensions field // offset of XXX_extensions
+ sizecache field // offset of XXX_sizecache
+ initialized int32 // 0 -- only typ is set, 1 -- fully initialized
+ messageset bool // uses message set wire format
+ hasmarshaler bool // has custom marshaler
+ sync.RWMutex // protect extElems map, also for initialization
+ extElems map[int32]*marshalElemInfo // info of extension elements
+}
+
+// marshalFieldInfo is the information used for marshaling a field of a message.
+type marshalFieldInfo struct {
+ field field
+ wiretag uint64 // tag in wire format
+ tagsize int // size of tag in wire format
+ sizer sizer
+ marshaler marshaler
+ isPointer bool
+ required bool // field is required
+ name string // name of the field, for error reporting
+ oneofElems map[reflect.Type]*marshalElemInfo // info of oneof elements
+}
+
+// marshalElemInfo is the information used for marshaling an extension or oneof element.
+type marshalElemInfo struct {
+ wiretag uint64 // tag in wire format
+ tagsize int // size of tag in wire format
+ sizer sizer
+ marshaler marshaler
+ isptr bool // elem is pointer typed, thus interface of this type is a direct interface (extension only)
+ deref bool // dereference the pointer before operating on it; implies isptr
+}
+
+var (
+ marshalInfoMap = map[reflect.Type]*marshalInfo{}
+ marshalInfoLock sync.Mutex
+)
+
+// getMarshalInfo returns the information to marshal a given type of message.
+// The info it returns may not necessarily initialized.
+// t is the type of the message (NOT the pointer to it).
+func getMarshalInfo(t reflect.Type) *marshalInfo {
+ marshalInfoLock.Lock()
+ u, ok := marshalInfoMap[t]
+ if !ok {
+ u = &marshalInfo{typ: t}
+ marshalInfoMap[t] = u
+ }
+ marshalInfoLock.Unlock()
+ return u
+}
+
+// Size is the entry point from generated code,
+// and should be ONLY called by generated code.
+// It computes the size of encoded data of msg.
+// a is a pointer to a place to store cached marshal info.
+func (a *InternalMessageInfo) Size(msg Message) int {
+ u := getMessageMarshalInfo(msg, a)
+ ptr := toPointer(&msg)
+ if ptr.isNil() {
+ // We get here if msg is a typed nil ((*SomeMessage)(nil)),
+ // so it satisfies the interface, and msg == nil wouldn't
+ // catch it. We don't want crash in this case.
+ return 0
+ }
+ return u.size(ptr)
+}
+
+// Marshal is the entry point from generated code,
+// and should be ONLY called by generated code.
+// It marshals msg to the end of b.
+// a is a pointer to a place to store cached marshal info.
+func (a *InternalMessageInfo) Marshal(b []byte, msg Message, deterministic bool) ([]byte, error) {
+ u := getMessageMarshalInfo(msg, a)
+ ptr := toPointer(&msg)
+ if ptr.isNil() {
+ // We get here if msg is a typed nil ((*SomeMessage)(nil)),
+ // so it satisfies the interface, and msg == nil wouldn't
+ // catch it. We don't want crash in this case.
+ return b, ErrNil
+ }
+ return u.marshal(b, ptr, deterministic)
+}
+
+func getMessageMarshalInfo(msg interface{}, a *InternalMessageInfo) *marshalInfo {
+ // u := a.marshal, but atomically.
+ // We use an atomic here to ensure memory consistency.
+ u := atomicLoadMarshalInfo(&a.marshal)
+ if u == nil {
+ // Get marshal information from type of message.
+ t := reflect.ValueOf(msg).Type()
+ if t.Kind() != reflect.Ptr {
+ panic(fmt.Sprintf("cannot handle non-pointer message type %v", t))
+ }
+ u = getMarshalInfo(t.Elem())
+ // Store it in the cache for later users.
+ // a.marshal = u, but atomically.
+ atomicStoreMarshalInfo(&a.marshal, u)
+ }
+ return u
+}
+
+// size is the main function to compute the size of the encoded data of a message.
+// ptr is the pointer to the message.
+func (u *marshalInfo) size(ptr pointer) int {
+ if atomic.LoadInt32(&u.initialized) == 0 {
+ u.computeMarshalInfo()
+ }
+
+ // If the message can marshal itself, let it do it, for compatibility.
+ // NOTE: This is not efficient.
+ if u.hasmarshaler {
+ m := ptr.asPointerTo(u.typ).Interface().(Marshaler)
+ b, _ := m.Marshal()
+ return len(b)
+ }
+
+ n := 0
+ for _, f := range u.fields {
+ if f.isPointer && ptr.offset(f.field).getPointer().isNil() {
+ // nil pointer always marshals to nothing
+ continue
+ }
+ n += f.sizer(ptr.offset(f.field), f.tagsize)
+ }
+ if u.extensions.IsValid() {
+ e := ptr.offset(u.extensions).toExtensions()
+ if u.messageset {
+ n += u.sizeMessageSet(e)
+ } else {
+ n += u.sizeExtensions(e)
+ }
+ }
+ if u.v1extensions.IsValid() {
+ m := *ptr.offset(u.v1extensions).toOldExtensions()
+ n += u.sizeV1Extensions(m)
+ }
+ if u.unrecognized.IsValid() {
+ s := *ptr.offset(u.unrecognized).toBytes()
+ n += len(s)
+ }
+ // cache the result for use in marshal
+ if u.sizecache.IsValid() {
+ atomic.StoreInt32(ptr.offset(u.sizecache).toInt32(), int32(n))
+ }
+ return n
+}
+
+// cachedsize gets the size from cache. If there is no cache (i.e. message is not generated),
+// fall back to compute the size.
+func (u *marshalInfo) cachedsize(ptr pointer) int {
+ if u.sizecache.IsValid() {
+ return int(atomic.LoadInt32(ptr.offset(u.sizecache).toInt32()))
+ }
+ return u.size(ptr)
+}
+
+// marshal is the main function to marshal a message. It takes a byte slice and appends
+// the encoded data to the end of the slice, returns the slice and error (if any).
+// ptr is the pointer to the message.
+// If deterministic is true, map is marshaled in deterministic order.
+func (u *marshalInfo) marshal(b []byte, ptr pointer, deterministic bool) ([]byte, error) {
+ if atomic.LoadInt32(&u.initialized) == 0 {
+ u.computeMarshalInfo()
+ }
+
+ // If the message can marshal itself, let it do it, for compatibility.
+ // NOTE: This is not efficient.
+ if u.hasmarshaler {
+ m := ptr.asPointerTo(u.typ).Interface().(Marshaler)
+ b1, err := m.Marshal()
+ b = append(b, b1...)
+ return b, err
+ }
+
+ var err, errLater error
+ // The old marshaler encodes extensions at beginning.
+ if u.extensions.IsValid() {
+ e := ptr.offset(u.extensions).toExtensions()
+ if u.messageset {
+ b, err = u.appendMessageSet(b, e, deterministic)
+ } else {
+ b, err = u.appendExtensions(b, e, deterministic)
+ }
+ if err != nil {
+ return b, err
+ }
+ }
+ if u.v1extensions.IsValid() {
+ m := *ptr.offset(u.v1extensions).toOldExtensions()
+ b, err = u.appendV1Extensions(b, m, deterministic)
+ if err != nil {
+ return b, err
+ }
+ }
+ for _, f := range u.fields {
+ if f.required {
+ if ptr.offset(f.field).getPointer().isNil() {
+ // Required field is not set.
+ // We record the error but keep going, to give a complete marshaling.
+ if errLater == nil {
+ errLater = &RequiredNotSetError{f.name}
+ }
+ continue
+ }
+ }
+ if f.isPointer && ptr.offset(f.field).getPointer().isNil() {
+ // nil pointer always marshals to nothing
+ continue
+ }
+ b, err = f.marshaler(b, ptr.offset(f.field), f.wiretag, deterministic)
+ if err != nil {
+ if err1, ok := err.(*RequiredNotSetError); ok {
+ // Required field in submessage is not set.
+ // We record the error but keep going, to give a complete marshaling.
+ if errLater == nil {
+ errLater = &RequiredNotSetError{f.name + "." + err1.field}
+ }
+ continue
+ }
+ if err == errRepeatedHasNil {
+ err = errors.New("proto: repeated field " + f.name + " has nil element")
+ }
+ if err == errInvalidUTF8 {
+ if errLater == nil {
+ fullName := revProtoTypes[reflect.PtrTo(u.typ)] + "." + f.name
+ errLater = &invalidUTF8Error{fullName}
+ }
+ continue
+ }
+ return b, err
+ }
+ }
+ if u.unrecognized.IsValid() {
+ s := *ptr.offset(u.unrecognized).toBytes()
+ b = append(b, s...)
+ }
+ return b, errLater
+}
+
+// computeMarshalInfo initializes the marshal info.
+func (u *marshalInfo) computeMarshalInfo() {
+ u.Lock()
+ defer u.Unlock()
+ if u.initialized != 0 { // non-atomic read is ok as it is protected by the lock
+ return
+ }
+
+ t := u.typ
+ u.unrecognized = invalidField
+ u.extensions = invalidField
+ u.v1extensions = invalidField
+ u.sizecache = invalidField
+
+ // If the message can marshal itself, let it do it, for compatibility.
+ // NOTE: This is not efficient.
+ if reflect.PtrTo(t).Implements(marshalerType) {
+ u.hasmarshaler = true
+ atomic.StoreInt32(&u.initialized, 1)
+ return
+ }
+
+ // get oneof implementers
+ var oneofImplementers []interface{}
+ switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) {
+ case oneofFuncsIface:
+ _, _, _, oneofImplementers = m.XXX_OneofFuncs()
+ case oneofWrappersIface:
+ oneofImplementers = m.XXX_OneofWrappers()
+ }
+
+ n := t.NumField()
+
+ // deal with XXX fields first
+ for i := 0; i < t.NumField(); i++ {
+ f := t.Field(i)
+ if !strings.HasPrefix(f.Name, "XXX_") {
+ continue
+ }
+ switch f.Name {
+ case "XXX_sizecache":
+ u.sizecache = toField(&f)
+ case "XXX_unrecognized":
+ u.unrecognized = toField(&f)
+ case "XXX_InternalExtensions":
+ u.extensions = toField(&f)
+ u.messageset = f.Tag.Get("protobuf_messageset") == "1"
+ case "XXX_extensions":
+ u.v1extensions = toField(&f)
+ case "XXX_NoUnkeyedLiteral":
+ // nothing to do
+ default:
+ panic("unknown XXX field: " + f.Name)
+ }
+ n--
+ }
+
+ // normal fields
+ fields := make([]marshalFieldInfo, n) // batch allocation
+ u.fields = make([]*marshalFieldInfo, 0, n)
+ for i, j := 0, 0; i < t.NumField(); i++ {
+ f := t.Field(i)
+
+ if strings.HasPrefix(f.Name, "XXX_") {
+ continue
+ }
+ field := &fields[j]
+ j++
+ field.name = f.Name
+ u.fields = append(u.fields, field)
+ if f.Tag.Get("protobuf_oneof") != "" {
+ field.computeOneofFieldInfo(&f, oneofImplementers)
+ continue
+ }
+ if f.Tag.Get("protobuf") == "" {
+ // field has no tag (not in generated message), ignore it
+ u.fields = u.fields[:len(u.fields)-1]
+ j--
+ continue
+ }
+ field.computeMarshalFieldInfo(&f)
+ }
+
+ // fields are marshaled in tag order on the wire.
+ sort.Sort(byTag(u.fields))
+
+ atomic.StoreInt32(&u.initialized, 1)
+}
+
+// helper for sorting fields by tag
+type byTag []*marshalFieldInfo
+
+func (a byTag) Len() int { return len(a) }
+func (a byTag) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
+func (a byTag) Less(i, j int) bool { return a[i].wiretag < a[j].wiretag }
+
+// getExtElemInfo returns the information to marshal an extension element.
+// The info it returns is initialized.
+func (u *marshalInfo) getExtElemInfo(desc *ExtensionDesc) *marshalElemInfo {
+ // get from cache first
+ u.RLock()
+ e, ok := u.extElems[desc.Field]
+ u.RUnlock()
+ if ok {
+ return e
+ }
+
+ t := reflect.TypeOf(desc.ExtensionType) // pointer or slice to basic type or struct
+ tags := strings.Split(desc.Tag, ",")
+ tag, err := strconv.Atoi(tags[1])
+ if err != nil {
+ panic("tag is not an integer")
+ }
+ wt := wiretype(tags[0])
+ if t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct {
+ t = t.Elem()
+ }
+ sizer, marshaler := typeMarshaler(t, tags, false, false)
+ var deref bool
+ if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 {
+ t = reflect.PtrTo(t)
+ deref = true
+ }
+ e = &marshalElemInfo{
+ wiretag: uint64(tag)<<3 | wt,
+ tagsize: SizeVarint(uint64(tag) << 3),
+ sizer: sizer,
+ marshaler: marshaler,
+ isptr: t.Kind() == reflect.Ptr,
+ deref: deref,
+ }
+
+ // update cache
+ u.Lock()
+ if u.extElems == nil {
+ u.extElems = make(map[int32]*marshalElemInfo)
+ }
+ u.extElems[desc.Field] = e
+ u.Unlock()
+ return e
+}
+
+// computeMarshalFieldInfo fills up the information to marshal a field.
+func (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) {
+ // parse protobuf tag of the field.
+ // tag has format of "bytes,49,opt,name=foo,def=hello!"
+ tags := strings.Split(f.Tag.Get("protobuf"), ",")
+ if tags[0] == "" {
+ return
+ }
+ tag, err := strconv.Atoi(tags[1])
+ if err != nil {
+ panic("tag is not an integer")
+ }
+ wt := wiretype(tags[0])
+ if tags[2] == "req" {
+ fi.required = true
+ }
+ fi.setTag(f, tag, wt)
+ fi.setMarshaler(f, tags)
+}
+
+func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) {
+ fi.field = toField(f)
+ fi.wiretag = math.MaxInt32 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire.
+ fi.isPointer = true
+ fi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f)
+ fi.oneofElems = make(map[reflect.Type]*marshalElemInfo)
+
+ ityp := f.Type // interface type
+ for _, o := range oneofImplementers {
+ t := reflect.TypeOf(o)
+ if !t.Implements(ityp) {
+ continue
+ }
+ sf := t.Elem().Field(0) // oneof implementer is a struct with a single field
+ tags := strings.Split(sf.Tag.Get("protobuf"), ",")
+ tag, err := strconv.Atoi(tags[1])
+ if err != nil {
+ panic("tag is not an integer")
+ }
+ wt := wiretype(tags[0])
+ sizer, marshaler := typeMarshaler(sf.Type, tags, false, true) // oneof should not omit any zero value
+ fi.oneofElems[t.Elem()] = &marshalElemInfo{
+ wiretag: uint64(tag)<<3 | wt,
+ tagsize: SizeVarint(uint64(tag) << 3),
+ sizer: sizer,
+ marshaler: marshaler,
+ }
+ }
+}
+
+// wiretype returns the wire encoding of the type.
+func wiretype(encoding string) uint64 {
+ switch encoding {
+ case "fixed32":
+ return WireFixed32
+ case "fixed64":
+ return WireFixed64
+ case "varint", "zigzag32", "zigzag64":
+ return WireVarint
+ case "bytes":
+ return WireBytes
+ case "group":
+ return WireStartGroup
+ }
+ panic("unknown wire type " + encoding)
+}
+
+// setTag fills up the tag (in wire format) and its size in the info of a field.
+func (fi *marshalFieldInfo) setTag(f *reflect.StructField, tag int, wt uint64) {
+ fi.field = toField(f)
+ fi.wiretag = uint64(tag)<<3 | wt
+ fi.tagsize = SizeVarint(uint64(tag) << 3)
+}
+
+// setMarshaler fills up the sizer and marshaler in the info of a field.
+func (fi *marshalFieldInfo) setMarshaler(f *reflect.StructField, tags []string) {
+ switch f.Type.Kind() {
+ case reflect.Map:
+ // map field
+ fi.isPointer = true
+ fi.sizer, fi.marshaler = makeMapMarshaler(f)
+ return
+ case reflect.Ptr, reflect.Slice:
+ fi.isPointer = true
+ }
+ fi.sizer, fi.marshaler = typeMarshaler(f.Type, tags, true, false)
+}
+
+// typeMarshaler returns the sizer and marshaler of a given field.
+// t is the type of the field.
+// tags is the generated "protobuf" tag of the field.
+// If nozero is true, zero value is not marshaled to the wire.
+// If oneof is true, it is a oneof field.
+func typeMarshaler(t reflect.Type, tags []string, nozero, oneof bool) (sizer, marshaler) {
+ encoding := tags[0]
+
+ pointer := false
+ slice := false
+ if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 {
+ slice = true
+ t = t.Elem()
+ }
+ if t.Kind() == reflect.Ptr {
+ pointer = true
+ t = t.Elem()
+ }
+
+ packed := false
+ proto3 := false
+ validateUTF8 := true
+ for i := 2; i < len(tags); i++ {
+ if tags[i] == "packed" {
+ packed = true
+ }
+ if tags[i] == "proto3" {
+ proto3 = true
+ }
+ }
+ validateUTF8 = validateUTF8 && proto3
+
+ switch t.Kind() {
+ case reflect.Bool:
+ if pointer {
+ return sizeBoolPtr, appendBoolPtr
+ }
+ if slice {
+ if packed {
+ return sizeBoolPackedSlice, appendBoolPackedSlice
+ }
+ return sizeBoolSlice, appendBoolSlice
+ }
+ if nozero {
+ return sizeBoolValueNoZero, appendBoolValueNoZero
+ }
+ return sizeBoolValue, appendBoolValue
+ case reflect.Uint32:
+ switch encoding {
+ case "fixed32":
+ if pointer {
+ return sizeFixed32Ptr, appendFixed32Ptr
+ }
+ if slice {
+ if packed {
+ return sizeFixed32PackedSlice, appendFixed32PackedSlice
+ }
+ return sizeFixed32Slice, appendFixed32Slice
+ }
+ if nozero {
+ return sizeFixed32ValueNoZero, appendFixed32ValueNoZero
+ }
+ return sizeFixed32Value, appendFixed32Value
+ case "varint":
+ if pointer {
+ return sizeVarint32Ptr, appendVarint32Ptr
+ }
+ if slice {
+ if packed {
+ return sizeVarint32PackedSlice, appendVarint32PackedSlice
+ }
+ return sizeVarint32Slice, appendVarint32Slice
+ }
+ if nozero {
+ return sizeVarint32ValueNoZero, appendVarint32ValueNoZero
+ }
+ return sizeVarint32Value, appendVarint32Value
+ }
+ case reflect.Int32:
+ switch encoding {
+ case "fixed32":
+ if pointer {
+ return sizeFixedS32Ptr, appendFixedS32Ptr
+ }
+ if slice {
+ if packed {
+ return sizeFixedS32PackedSlice, appendFixedS32PackedSlice
+ }
+ return sizeFixedS32Slice, appendFixedS32Slice
+ }
+ if nozero {
+ return sizeFixedS32ValueNoZero, appendFixedS32ValueNoZero
+ }
+ return sizeFixedS32Value, appendFixedS32Value
+ case "varint":
+ if pointer {
+ return sizeVarintS32Ptr, appendVarintS32Ptr
+ }
+ if slice {
+ if packed {
+ return sizeVarintS32PackedSlice, appendVarintS32PackedSlice
+ }
+ return sizeVarintS32Slice, appendVarintS32Slice
+ }
+ if nozero {
+ return sizeVarintS32ValueNoZero, appendVarintS32ValueNoZero
+ }
+ return sizeVarintS32Value, appendVarintS32Value
+ case "zigzag32":
+ if pointer {
+ return sizeZigzag32Ptr, appendZigzag32Ptr
+ }
+ if slice {
+ if packed {
+ return sizeZigzag32PackedSlice, appendZigzag32PackedSlice
+ }
+ return sizeZigzag32Slice, appendZigzag32Slice
+ }
+ if nozero {
+ return sizeZigzag32ValueNoZero, appendZigzag32ValueNoZero
+ }
+ return sizeZigzag32Value, appendZigzag32Value
+ }
+ case reflect.Uint64:
+ switch encoding {
+ case "fixed64":
+ if pointer {
+ return sizeFixed64Ptr, appendFixed64Ptr
+ }
+ if slice {
+ if packed {
+ return sizeFixed64PackedSlice, appendFixed64PackedSlice
+ }
+ return sizeFixed64Slice, appendFixed64Slice
+ }
+ if nozero {
+ return sizeFixed64ValueNoZero, appendFixed64ValueNoZero
+ }
+ return sizeFixed64Value, appendFixed64Value
+ case "varint":
+ if pointer {
+ return sizeVarint64Ptr, appendVarint64Ptr
+ }
+ if slice {
+ if packed {
+ return sizeVarint64PackedSlice, appendVarint64PackedSlice
+ }
+ return sizeVarint64Slice, appendVarint64Slice
+ }
+ if nozero {
+ return sizeVarint64ValueNoZero, appendVarint64ValueNoZero
+ }
+ return sizeVarint64Value, appendVarint64Value
+ }
+ case reflect.Int64:
+ switch encoding {
+ case "fixed64":
+ if pointer {
+ return sizeFixedS64Ptr, appendFixedS64Ptr
+ }
+ if slice {
+ if packed {
+ return sizeFixedS64PackedSlice, appendFixedS64PackedSlice
+ }
+ return sizeFixedS64Slice, appendFixedS64Slice
+ }
+ if nozero {
+ return sizeFixedS64ValueNoZero, appendFixedS64ValueNoZero
+ }
+ return sizeFixedS64Value, appendFixedS64Value
+ case "varint":
+ if pointer {
+ return sizeVarintS64Ptr, appendVarintS64Ptr
+ }
+ if slice {
+ if packed {
+ return sizeVarintS64PackedSlice, appendVarintS64PackedSlice
+ }
+ return sizeVarintS64Slice, appendVarintS64Slice
+ }
+ if nozero {
+ return sizeVarintS64ValueNoZero, appendVarintS64ValueNoZero
+ }
+ return sizeVarintS64Value, appendVarintS64Value
+ case "zigzag64":
+ if pointer {
+ return sizeZigzag64Ptr, appendZigzag64Ptr
+ }
+ if slice {
+ if packed {
+ return sizeZigzag64PackedSlice, appendZigzag64PackedSlice
+ }
+ return sizeZigzag64Slice, appendZigzag64Slice
+ }
+ if nozero {
+ return sizeZigzag64ValueNoZero, appendZigzag64ValueNoZero
+ }
+ return sizeZigzag64Value, appendZigzag64Value
+ }
+ case reflect.Float32:
+ if pointer {
+ return sizeFloat32Ptr, appendFloat32Ptr
+ }
+ if slice {
+ if packed {
+ return sizeFloat32PackedSlice, appendFloat32PackedSlice
+ }
+ return sizeFloat32Slice, appendFloat32Slice
+ }
+ if nozero {
+ return sizeFloat32ValueNoZero, appendFloat32ValueNoZero
+ }
+ return sizeFloat32Value, appendFloat32Value
+ case reflect.Float64:
+ if pointer {
+ return sizeFloat64Ptr, appendFloat64Ptr
+ }
+ if slice {
+ if packed {
+ return sizeFloat64PackedSlice, appendFloat64PackedSlice
+ }
+ return sizeFloat64Slice, appendFloat64Slice
+ }
+ if nozero {
+ return sizeFloat64ValueNoZero, appendFloat64ValueNoZero
+ }
+ return sizeFloat64Value, appendFloat64Value
+ case reflect.String:
+ if validateUTF8 {
+ if pointer {
+ return sizeStringPtr, appendUTF8StringPtr
+ }
+ if slice {
+ return sizeStringSlice, appendUTF8StringSlice
+ }
+ if nozero {
+ return sizeStringValueNoZero, appendUTF8StringValueNoZero
+ }
+ return sizeStringValue, appendUTF8StringValue
+ }
+ if pointer {
+ return sizeStringPtr, appendStringPtr
+ }
+ if slice {
+ return sizeStringSlice, appendStringSlice
+ }
+ if nozero {
+ return sizeStringValueNoZero, appendStringValueNoZero
+ }
+ return sizeStringValue, appendStringValue
+ case reflect.Slice:
+ if slice {
+ return sizeBytesSlice, appendBytesSlice
+ }
+ if oneof {
+ // Oneof bytes field may also have "proto3" tag.
+ // We want to marshal it as a oneof field. Do this
+ // check before the proto3 check.
+ return sizeBytesOneof, appendBytesOneof
+ }
+ if proto3 {
+ return sizeBytes3, appendBytes3
+ }
+ return sizeBytes, appendBytes
+ case reflect.Struct:
+ switch encoding {
+ case "group":
+ if slice {
+ return makeGroupSliceMarshaler(getMarshalInfo(t))
+ }
+ return makeGroupMarshaler(getMarshalInfo(t))
+ case "bytes":
+ if slice {
+ return makeMessageSliceMarshaler(getMarshalInfo(t))
+ }
+ return makeMessageMarshaler(getMarshalInfo(t))
+ }
+ }
+ panic(fmt.Sprintf("unknown or mismatched type: type: %v, wire type: %v", t, encoding))
+}
+
+// Below are functions to size/marshal a specific type of a field.
+// They are stored in the field's info, and called by function pointers.
+// They have type sizer or marshaler.
+
+func sizeFixed32Value(_ pointer, tagsize int) int {
+ return 4 + tagsize
+}
+func sizeFixed32ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toUint32()
+ if v == 0 {
+ return 0
+ }
+ return 4 + tagsize
+}
+func sizeFixed32Ptr(ptr pointer, tagsize int) int {
+ p := *ptr.toUint32Ptr()
+ if p == nil {
+ return 0
+ }
+ return 4 + tagsize
+}
+func sizeFixed32Slice(ptr pointer, tagsize int) int {
+ s := *ptr.toUint32Slice()
+ return (4 + tagsize) * len(s)
+}
+func sizeFixed32PackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toUint32Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize
+}
+func sizeFixedS32Value(_ pointer, tagsize int) int {
+ return 4 + tagsize
+}
+func sizeFixedS32ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toInt32()
+ if v == 0 {
+ return 0
+ }
+ return 4 + tagsize
+}
+func sizeFixedS32Ptr(ptr pointer, tagsize int) int {
+ p := ptr.getInt32Ptr()
+ if p == nil {
+ return 0
+ }
+ return 4 + tagsize
+}
+func sizeFixedS32Slice(ptr pointer, tagsize int) int {
+ s := ptr.getInt32Slice()
+ return (4 + tagsize) * len(s)
+}
+func sizeFixedS32PackedSlice(ptr pointer, tagsize int) int {
+ s := ptr.getInt32Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize
+}
+func sizeFloat32Value(_ pointer, tagsize int) int {
+ return 4 + tagsize
+}
+func sizeFloat32ValueNoZero(ptr pointer, tagsize int) int {
+ v := math.Float32bits(*ptr.toFloat32())
+ if v == 0 {
+ return 0
+ }
+ return 4 + tagsize
+}
+func sizeFloat32Ptr(ptr pointer, tagsize int) int {
+ p := *ptr.toFloat32Ptr()
+ if p == nil {
+ return 0
+ }
+ return 4 + tagsize
+}
+func sizeFloat32Slice(ptr pointer, tagsize int) int {
+ s := *ptr.toFloat32Slice()
+ return (4 + tagsize) * len(s)
+}
+func sizeFloat32PackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toFloat32Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize
+}
+func sizeFixed64Value(_ pointer, tagsize int) int {
+ return 8 + tagsize
+}
+func sizeFixed64ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toUint64()
+ if v == 0 {
+ return 0
+ }
+ return 8 + tagsize
+}
+func sizeFixed64Ptr(ptr pointer, tagsize int) int {
+ p := *ptr.toUint64Ptr()
+ if p == nil {
+ return 0
+ }
+ return 8 + tagsize
+}
+func sizeFixed64Slice(ptr pointer, tagsize int) int {
+ s := *ptr.toUint64Slice()
+ return (8 + tagsize) * len(s)
+}
+func sizeFixed64PackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toUint64Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize
+}
+func sizeFixedS64Value(_ pointer, tagsize int) int {
+ return 8 + tagsize
+}
+func sizeFixedS64ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toInt64()
+ if v == 0 {
+ return 0
+ }
+ return 8 + tagsize
+}
+func sizeFixedS64Ptr(ptr pointer, tagsize int) int {
+ p := *ptr.toInt64Ptr()
+ if p == nil {
+ return 0
+ }
+ return 8 + tagsize
+}
+func sizeFixedS64Slice(ptr pointer, tagsize int) int {
+ s := *ptr.toInt64Slice()
+ return (8 + tagsize) * len(s)
+}
+func sizeFixedS64PackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toInt64Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize
+}
+func sizeFloat64Value(_ pointer, tagsize int) int {
+ return 8 + tagsize
+}
+func sizeFloat64ValueNoZero(ptr pointer, tagsize int) int {
+ v := math.Float64bits(*ptr.toFloat64())
+ if v == 0 {
+ return 0
+ }
+ return 8 + tagsize
+}
+func sizeFloat64Ptr(ptr pointer, tagsize int) int {
+ p := *ptr.toFloat64Ptr()
+ if p == nil {
+ return 0
+ }
+ return 8 + tagsize
+}
+func sizeFloat64Slice(ptr pointer, tagsize int) int {
+ s := *ptr.toFloat64Slice()
+ return (8 + tagsize) * len(s)
+}
+func sizeFloat64PackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toFloat64Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize
+}
+func sizeVarint32Value(ptr pointer, tagsize int) int {
+ v := *ptr.toUint32()
+ return SizeVarint(uint64(v)) + tagsize
+}
+func sizeVarint32ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toUint32()
+ if v == 0 {
+ return 0
+ }
+ return SizeVarint(uint64(v)) + tagsize
+}
+func sizeVarint32Ptr(ptr pointer, tagsize int) int {
+ p := *ptr.toUint32Ptr()
+ if p == nil {
+ return 0
+ }
+ return SizeVarint(uint64(*p)) + tagsize
+}
+func sizeVarint32Slice(ptr pointer, tagsize int) int {
+ s := *ptr.toUint32Slice()
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v)) + tagsize
+ }
+ return n
+}
+func sizeVarint32PackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toUint32Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v))
+ }
+ return n + SizeVarint(uint64(n)) + tagsize
+}
+func sizeVarintS32Value(ptr pointer, tagsize int) int {
+ v := *ptr.toInt32()
+ return SizeVarint(uint64(v)) + tagsize
+}
+func sizeVarintS32ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toInt32()
+ if v == 0 {
+ return 0
+ }
+ return SizeVarint(uint64(v)) + tagsize
+}
+func sizeVarintS32Ptr(ptr pointer, tagsize int) int {
+ p := ptr.getInt32Ptr()
+ if p == nil {
+ return 0
+ }
+ return SizeVarint(uint64(*p)) + tagsize
+}
+func sizeVarintS32Slice(ptr pointer, tagsize int) int {
+ s := ptr.getInt32Slice()
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v)) + tagsize
+ }
+ return n
+}
+func sizeVarintS32PackedSlice(ptr pointer, tagsize int) int {
+ s := ptr.getInt32Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v))
+ }
+ return n + SizeVarint(uint64(n)) + tagsize
+}
+func sizeVarint64Value(ptr pointer, tagsize int) int {
+ v := *ptr.toUint64()
+ return SizeVarint(v) + tagsize
+}
+func sizeVarint64ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toUint64()
+ if v == 0 {
+ return 0
+ }
+ return SizeVarint(v) + tagsize
+}
+func sizeVarint64Ptr(ptr pointer, tagsize int) int {
+ p := *ptr.toUint64Ptr()
+ if p == nil {
+ return 0
+ }
+ return SizeVarint(*p) + tagsize
+}
+func sizeVarint64Slice(ptr pointer, tagsize int) int {
+ s := *ptr.toUint64Slice()
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(v) + tagsize
+ }
+ return n
+}
+func sizeVarint64PackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toUint64Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(v)
+ }
+ return n + SizeVarint(uint64(n)) + tagsize
+}
+func sizeVarintS64Value(ptr pointer, tagsize int) int {
+ v := *ptr.toInt64()
+ return SizeVarint(uint64(v)) + tagsize
+}
+func sizeVarintS64ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toInt64()
+ if v == 0 {
+ return 0
+ }
+ return SizeVarint(uint64(v)) + tagsize
+}
+func sizeVarintS64Ptr(ptr pointer, tagsize int) int {
+ p := *ptr.toInt64Ptr()
+ if p == nil {
+ return 0
+ }
+ return SizeVarint(uint64(*p)) + tagsize
+}
+func sizeVarintS64Slice(ptr pointer, tagsize int) int {
+ s := *ptr.toInt64Slice()
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v)) + tagsize
+ }
+ return n
+}
+func sizeVarintS64PackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toInt64Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v))
+ }
+ return n + SizeVarint(uint64(n)) + tagsize
+}
+func sizeZigzag32Value(ptr pointer, tagsize int) int {
+ v := *ptr.toInt32()
+ return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize
+}
+func sizeZigzag32ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toInt32()
+ if v == 0 {
+ return 0
+ }
+ return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize
+}
+func sizeZigzag32Ptr(ptr pointer, tagsize int) int {
+ p := ptr.getInt32Ptr()
+ if p == nil {
+ return 0
+ }
+ v := *p
+ return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize
+}
+func sizeZigzag32Slice(ptr pointer, tagsize int) int {
+ s := ptr.getInt32Slice()
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize
+ }
+ return n
+}
+func sizeZigzag32PackedSlice(ptr pointer, tagsize int) int {
+ s := ptr.getInt32Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31))))
+ }
+ return n + SizeVarint(uint64(n)) + tagsize
+}
+func sizeZigzag64Value(ptr pointer, tagsize int) int {
+ v := *ptr.toInt64()
+ return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize
+}
+func sizeZigzag64ValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toInt64()
+ if v == 0 {
+ return 0
+ }
+ return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize
+}
+func sizeZigzag64Ptr(ptr pointer, tagsize int) int {
+ p := *ptr.toInt64Ptr()
+ if p == nil {
+ return 0
+ }
+ v := *p
+ return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize
+}
+func sizeZigzag64Slice(ptr pointer, tagsize int) int {
+ s := *ptr.toInt64Slice()
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize
+ }
+ return n
+}
+func sizeZigzag64PackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toInt64Slice()
+ if len(s) == 0 {
+ return 0
+ }
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63)))
+ }
+ return n + SizeVarint(uint64(n)) + tagsize
+}
+func sizeBoolValue(_ pointer, tagsize int) int {
+ return 1 + tagsize
+}
+func sizeBoolValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toBool()
+ if !v {
+ return 0
+ }
+ return 1 + tagsize
+}
+func sizeBoolPtr(ptr pointer, tagsize int) int {
+ p := *ptr.toBoolPtr()
+ if p == nil {
+ return 0
+ }
+ return 1 + tagsize
+}
+func sizeBoolSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toBoolSlice()
+ return (1 + tagsize) * len(s)
+}
+func sizeBoolPackedSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toBoolSlice()
+ if len(s) == 0 {
+ return 0
+ }
+ return len(s) + SizeVarint(uint64(len(s))) + tagsize
+}
+func sizeStringValue(ptr pointer, tagsize int) int {
+ v := *ptr.toString()
+ return len(v) + SizeVarint(uint64(len(v))) + tagsize
+}
+func sizeStringValueNoZero(ptr pointer, tagsize int) int {
+ v := *ptr.toString()
+ if v == "" {
+ return 0
+ }
+ return len(v) + SizeVarint(uint64(len(v))) + tagsize
+}
+func sizeStringPtr(ptr pointer, tagsize int) int {
+ p := *ptr.toStringPtr()
+ if p == nil {
+ return 0
+ }
+ v := *p
+ return len(v) + SizeVarint(uint64(len(v))) + tagsize
+}
+func sizeStringSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toStringSlice()
+ n := 0
+ for _, v := range s {
+ n += len(v) + SizeVarint(uint64(len(v))) + tagsize
+ }
+ return n
+}
+func sizeBytes(ptr pointer, tagsize int) int {
+ v := *ptr.toBytes()
+ if v == nil {
+ return 0
+ }
+ return len(v) + SizeVarint(uint64(len(v))) + tagsize
+}
+func sizeBytes3(ptr pointer, tagsize int) int {
+ v := *ptr.toBytes()
+ if len(v) == 0 {
+ return 0
+ }
+ return len(v) + SizeVarint(uint64(len(v))) + tagsize
+}
+func sizeBytesOneof(ptr pointer, tagsize int) int {
+ v := *ptr.toBytes()
+ return len(v) + SizeVarint(uint64(len(v))) + tagsize
+}
+func sizeBytesSlice(ptr pointer, tagsize int) int {
+ s := *ptr.toBytesSlice()
+ n := 0
+ for _, v := range s {
+ n += len(v) + SizeVarint(uint64(len(v))) + tagsize
+ }
+ return n
+}
+
+// appendFixed32 appends an encoded fixed32 to b.
+func appendFixed32(b []byte, v uint32) []byte {
+ b = append(b,
+ byte(v),
+ byte(v>>8),
+ byte(v>>16),
+ byte(v>>24))
+ return b
+}
+
+// appendFixed64 appends an encoded fixed64 to b.
+func appendFixed64(b []byte, v uint64) []byte {
+ b = append(b,
+ byte(v),
+ byte(v>>8),
+ byte(v>>16),
+ byte(v>>24),
+ byte(v>>32),
+ byte(v>>40),
+ byte(v>>48),
+ byte(v>>56))
+ return b
+}
+
+// appendVarint appends an encoded varint to b.
+func appendVarint(b []byte, v uint64) []byte {
+ // TODO: make 1-byte (maybe 2-byte) case inline-able, once we
+ // have non-leaf inliner.
+ switch {
+ case v < 1<<7:
+ b = append(b, byte(v))
+ case v < 1<<14:
+ b = append(b,
+ byte(v&0x7f|0x80),
+ byte(v>>7))
+ case v < 1<<21:
+ b = append(b,
+ byte(v&0x7f|0x80),
+ byte((v>>7)&0x7f|0x80),
+ byte(v>>14))
+ case v < 1<<28:
+ b = append(b,
+ byte(v&0x7f|0x80),
+ byte((v>>7)&0x7f|0x80),
+ byte((v>>14)&0x7f|0x80),
+ byte(v>>21))
+ case v < 1<<35:
+ b = append(b,
+ byte(v&0x7f|0x80),
+ byte((v>>7)&0x7f|0x80),
+ byte((v>>14)&0x7f|0x80),
+ byte((v>>21)&0x7f|0x80),
+ byte(v>>28))
+ case v < 1<<42:
+ b = append(b,
+ byte(v&0x7f|0x80),
+ byte((v>>7)&0x7f|0x80),
+ byte((v>>14)&0x7f|0x80),
+ byte((v>>21)&0x7f|0x80),
+ byte((v>>28)&0x7f|0x80),
+ byte(v>>35))
+ case v < 1<<49:
+ b = append(b,
+ byte(v&0x7f|0x80),
+ byte((v>>7)&0x7f|0x80),
+ byte((v>>14)&0x7f|0x80),
+ byte((v>>21)&0x7f|0x80),
+ byte((v>>28)&0x7f|0x80),
+ byte((v>>35)&0x7f|0x80),
+ byte(v>>42))
+ case v < 1<<56:
+ b = append(b,
+ byte(v&0x7f|0x80),
+ byte((v>>7)&0x7f|0x80),
+ byte((v>>14)&0x7f|0x80),
+ byte((v>>21)&0x7f|0x80),
+ byte((v>>28)&0x7f|0x80),
+ byte((v>>35)&0x7f|0x80),
+ byte((v>>42)&0x7f|0x80),
+ byte(v>>49))
+ case v < 1<<63:
+ b = append(b,
+ byte(v&0x7f|0x80),
+ byte((v>>7)&0x7f|0x80),
+ byte((v>>14)&0x7f|0x80),
+ byte((v>>21)&0x7f|0x80),
+ byte((v>>28)&0x7f|0x80),
+ byte((v>>35)&0x7f|0x80),
+ byte((v>>42)&0x7f|0x80),
+ byte((v>>49)&0x7f|0x80),
+ byte(v>>56))
+ default:
+ b = append(b,
+ byte(v&0x7f|0x80),
+ byte((v>>7)&0x7f|0x80),
+ byte((v>>14)&0x7f|0x80),
+ byte((v>>21)&0x7f|0x80),
+ byte((v>>28)&0x7f|0x80),
+ byte((v>>35)&0x7f|0x80),
+ byte((v>>42)&0x7f|0x80),
+ byte((v>>49)&0x7f|0x80),
+ byte((v>>56)&0x7f|0x80),
+ 1)
+ }
+ return b
+}
+
+func appendFixed32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toUint32()
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, v)
+ return b, nil
+}
+func appendFixed32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toUint32()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, v)
+ return b, nil
+}
+func appendFixed32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toUint32Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, *p)
+ return b, nil
+}
+func appendFixed32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toUint32Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, v)
+ }
+ return b, nil
+}
+func appendFixed32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toUint32Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ b = appendVarint(b, uint64(4*len(s)))
+ for _, v := range s {
+ b = appendFixed32(b, v)
+ }
+ return b, nil
+}
+func appendFixedS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt32()
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, uint32(v))
+ return b, nil
+}
+func appendFixedS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt32()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, uint32(v))
+ return b, nil
+}
+func appendFixedS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := ptr.getInt32Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, uint32(*p))
+ return b, nil
+}
+func appendFixedS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := ptr.getInt32Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, uint32(v))
+ }
+ return b, nil
+}
+func appendFixedS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := ptr.getInt32Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ b = appendVarint(b, uint64(4*len(s)))
+ for _, v := range s {
+ b = appendFixed32(b, uint32(v))
+ }
+ return b, nil
+}
+func appendFloat32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := math.Float32bits(*ptr.toFloat32())
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, v)
+ return b, nil
+}
+func appendFloat32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := math.Float32bits(*ptr.toFloat32())
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, v)
+ return b, nil
+}
+func appendFloat32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toFloat32Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, math.Float32bits(*p))
+ return b, nil
+}
+func appendFloat32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toFloat32Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendFixed32(b, math.Float32bits(v))
+ }
+ return b, nil
+}
+func appendFloat32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toFloat32Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ b = appendVarint(b, uint64(4*len(s)))
+ for _, v := range s {
+ b = appendFixed32(b, math.Float32bits(v))
+ }
+ return b, nil
+}
+func appendFixed64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toUint64()
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, v)
+ return b, nil
+}
+func appendFixed64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toUint64()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, v)
+ return b, nil
+}
+func appendFixed64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toUint64Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, *p)
+ return b, nil
+}
+func appendFixed64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toUint64Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, v)
+ }
+ return b, nil
+}
+func appendFixed64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toUint64Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ b = appendVarint(b, uint64(8*len(s)))
+ for _, v := range s {
+ b = appendFixed64(b, v)
+ }
+ return b, nil
+}
+func appendFixedS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt64()
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, uint64(v))
+ return b, nil
+}
+func appendFixedS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt64()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, uint64(v))
+ return b, nil
+}
+func appendFixedS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toInt64Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, uint64(*p))
+ return b, nil
+}
+func appendFixedS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toInt64Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, uint64(v))
+ }
+ return b, nil
+}
+func appendFixedS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toInt64Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ b = appendVarint(b, uint64(8*len(s)))
+ for _, v := range s {
+ b = appendFixed64(b, uint64(v))
+ }
+ return b, nil
+}
+func appendFloat64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := math.Float64bits(*ptr.toFloat64())
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, v)
+ return b, nil
+}
+func appendFloat64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := math.Float64bits(*ptr.toFloat64())
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, v)
+ return b, nil
+}
+func appendFloat64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toFloat64Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, math.Float64bits(*p))
+ return b, nil
+}
+func appendFloat64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toFloat64Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendFixed64(b, math.Float64bits(v))
+ }
+ return b, nil
+}
+func appendFloat64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toFloat64Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ b = appendVarint(b, uint64(8*len(s)))
+ for _, v := range s {
+ b = appendFixed64(b, math.Float64bits(v))
+ }
+ return b, nil
+}
+func appendVarint32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toUint32()
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v))
+ return b, nil
+}
+func appendVarint32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toUint32()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v))
+ return b, nil
+}
+func appendVarint32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toUint32Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(*p))
+ return b, nil
+}
+func appendVarint32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toUint32Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v))
+ }
+ return b, nil
+}
+func appendVarint32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toUint32Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ // compute size
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v))
+ }
+ b = appendVarint(b, uint64(n))
+ for _, v := range s {
+ b = appendVarint(b, uint64(v))
+ }
+ return b, nil
+}
+func appendVarintS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt32()
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v))
+ return b, nil
+}
+func appendVarintS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt32()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v))
+ return b, nil
+}
+func appendVarintS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := ptr.getInt32Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(*p))
+ return b, nil
+}
+func appendVarintS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := ptr.getInt32Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v))
+ }
+ return b, nil
+}
+func appendVarintS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := ptr.getInt32Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ // compute size
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v))
+ }
+ b = appendVarint(b, uint64(n))
+ for _, v := range s {
+ b = appendVarint(b, uint64(v))
+ }
+ return b, nil
+}
+func appendVarint64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toUint64()
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, v)
+ return b, nil
+}
+func appendVarint64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toUint64()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, v)
+ return b, nil
+}
+func appendVarint64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toUint64Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, *p)
+ return b, nil
+}
+func appendVarint64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toUint64Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, v)
+ }
+ return b, nil
+}
+func appendVarint64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toUint64Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ // compute size
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(v)
+ }
+ b = appendVarint(b, uint64(n))
+ for _, v := range s {
+ b = appendVarint(b, v)
+ }
+ return b, nil
+}
+func appendVarintS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt64()
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v))
+ return b, nil
+}
+func appendVarintS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt64()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v))
+ return b, nil
+}
+func appendVarintS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toInt64Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(*p))
+ return b, nil
+}
+func appendVarintS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toInt64Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v))
+ }
+ return b, nil
+}
+func appendVarintS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toInt64Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ // compute size
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v))
+ }
+ b = appendVarint(b, uint64(n))
+ for _, v := range s {
+ b = appendVarint(b, uint64(v))
+ }
+ return b, nil
+}
+func appendZigzag32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt32()
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
+ return b, nil
+}
+func appendZigzag32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt32()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
+ return b, nil
+}
+func appendZigzag32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := ptr.getInt32Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ v := *p
+ b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
+ return b, nil
+}
+func appendZigzag32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := ptr.getInt32Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
+ }
+ return b, nil
+}
+func appendZigzag32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := ptr.getInt32Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ // compute size
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31))))
+ }
+ b = appendVarint(b, uint64(n))
+ for _, v := range s {
+ b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
+ }
+ return b, nil
+}
+func appendZigzag64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt64()
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
+ return b, nil
+}
+func appendZigzag64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toInt64()
+ if v == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
+ return b, nil
+}
+func appendZigzag64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toInt64Ptr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ v := *p
+ b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
+ return b, nil
+}
+func appendZigzag64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toInt64Slice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
+ }
+ return b, nil
+}
+func appendZigzag64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toInt64Slice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ // compute size
+ n := 0
+ for _, v := range s {
+ n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63)))
+ }
+ b = appendVarint(b, uint64(n))
+ for _, v := range s {
+ b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
+ }
+ return b, nil
+}
+func appendBoolValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toBool()
+ b = appendVarint(b, wiretag)
+ if v {
+ b = append(b, 1)
+ } else {
+ b = append(b, 0)
+ }
+ return b, nil
+}
+func appendBoolValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toBool()
+ if !v {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = append(b, 1)
+ return b, nil
+}
+
+func appendBoolPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toBoolPtr()
+ if p == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ if *p {
+ b = append(b, 1)
+ } else {
+ b = append(b, 0)
+ }
+ return b, nil
+}
+func appendBoolSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toBoolSlice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ if v {
+ b = append(b, 1)
+ } else {
+ b = append(b, 0)
+ }
+ }
+ return b, nil
+}
+func appendBoolPackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toBoolSlice()
+ if len(s) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag&^7|WireBytes)
+ b = appendVarint(b, uint64(len(s)))
+ for _, v := range s {
+ if v {
+ b = append(b, 1)
+ } else {
+ b = append(b, 0)
+ }
+ }
+ return b, nil
+}
+func appendStringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toString()
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ return b, nil
+}
+func appendStringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toString()
+ if v == "" {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ return b, nil
+}
+func appendStringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ p := *ptr.toStringPtr()
+ if p == nil {
+ return b, nil
+ }
+ v := *p
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ return b, nil
+}
+func appendStringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toStringSlice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ }
+ return b, nil
+}
+func appendUTF8StringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ var invalidUTF8 bool
+ v := *ptr.toString()
+ if !utf8.ValidString(v) {
+ invalidUTF8 = true
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ if invalidUTF8 {
+ return b, errInvalidUTF8
+ }
+ return b, nil
+}
+func appendUTF8StringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ var invalidUTF8 bool
+ v := *ptr.toString()
+ if v == "" {
+ return b, nil
+ }
+ if !utf8.ValidString(v) {
+ invalidUTF8 = true
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ if invalidUTF8 {
+ return b, errInvalidUTF8
+ }
+ return b, nil
+}
+func appendUTF8StringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ var invalidUTF8 bool
+ p := *ptr.toStringPtr()
+ if p == nil {
+ return b, nil
+ }
+ v := *p
+ if !utf8.ValidString(v) {
+ invalidUTF8 = true
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ if invalidUTF8 {
+ return b, errInvalidUTF8
+ }
+ return b, nil
+}
+func appendUTF8StringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ var invalidUTF8 bool
+ s := *ptr.toStringSlice()
+ for _, v := range s {
+ if !utf8.ValidString(v) {
+ invalidUTF8 = true
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ }
+ if invalidUTF8 {
+ return b, errInvalidUTF8
+ }
+ return b, nil
+}
+func appendBytes(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toBytes()
+ if v == nil {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ return b, nil
+}
+func appendBytes3(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toBytes()
+ if len(v) == 0 {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ return b, nil
+}
+func appendBytesOneof(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ v := *ptr.toBytes()
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ return b, nil
+}
+func appendBytesSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
+ s := *ptr.toBytesSlice()
+ for _, v := range s {
+ b = appendVarint(b, wiretag)
+ b = appendVarint(b, uint64(len(v)))
+ b = append(b, v...)
+ }
+ return b, nil
+}
+
+// makeGroupMarshaler returns the sizer and marshaler for a group.
+// u is the marshal info of the underlying message.
+func makeGroupMarshaler(u *marshalInfo) (sizer, marshaler) {
+ return func(ptr pointer, tagsize int) int {
+ p := ptr.getPointer()
+ if p.isNil() {
+ return 0
+ }
+ return u.size(p) + 2*tagsize
+ },
+ func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
+ p := ptr.getPointer()
+ if p.isNil() {
+ return b, nil
+ }
+ var err error
+ b = appendVarint(b, wiretag) // start group
+ b, err = u.marshal(b, p, deterministic)
+ b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group
+ return b, err
+ }
+}
+
+// makeGroupSliceMarshaler returns the sizer and marshaler for a group slice.
+// u is the marshal info of the underlying message.
+func makeGroupSliceMarshaler(u *marshalInfo) (sizer, marshaler) {
+ return func(ptr pointer, tagsize int) int {
+ s := ptr.getPointerSlice()
+ n := 0
+ for _, v := range s {
+ if v.isNil() {
+ continue
+ }
+ n += u.size(v) + 2*tagsize
+ }
+ return n
+ },
+ func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
+ s := ptr.getPointerSlice()
+ var err error
+ var nerr nonFatal
+ for _, v := range s {
+ if v.isNil() {
+ return b, errRepeatedHasNil
+ }
+ b = appendVarint(b, wiretag) // start group
+ b, err = u.marshal(b, v, deterministic)
+ b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group
+ if !nerr.Merge(err) {
+ if err == ErrNil {
+ err = errRepeatedHasNil
+ }
+ return b, err
+ }
+ }
+ return b, nerr.E
+ }
+}
+
+// makeMessageMarshaler returns the sizer and marshaler for a message field.
+// u is the marshal info of the message.
+func makeMessageMarshaler(u *marshalInfo) (sizer, marshaler) {
+ return func(ptr pointer, tagsize int) int {
+ p := ptr.getPointer()
+ if p.isNil() {
+ return 0
+ }
+ siz := u.size(p)
+ return siz + SizeVarint(uint64(siz)) + tagsize
+ },
+ func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
+ p := ptr.getPointer()
+ if p.isNil() {
+ return b, nil
+ }
+ b = appendVarint(b, wiretag)
+ siz := u.cachedsize(p)
+ b = appendVarint(b, uint64(siz))
+ return u.marshal(b, p, deterministic)
+ }
+}
+
+// makeMessageSliceMarshaler returns the sizer and marshaler for a message slice.
+// u is the marshal info of the message.
+func makeMessageSliceMarshaler(u *marshalInfo) (sizer, marshaler) {
+ return func(ptr pointer, tagsize int) int {
+ s := ptr.getPointerSlice()
+ n := 0
+ for _, v := range s {
+ if v.isNil() {
+ continue
+ }
+ siz := u.size(v)
+ n += siz + SizeVarint(uint64(siz)) + tagsize
+ }
+ return n
+ },
+ func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
+ s := ptr.getPointerSlice()
+ var err error
+ var nerr nonFatal
+ for _, v := range s {
+ if v.isNil() {
+ return b, errRepeatedHasNil
+ }
+ b = appendVarint(b, wiretag)
+ siz := u.cachedsize(v)
+ b = appendVarint(b, uint64(siz))
+ b, err = u.marshal(b, v, deterministic)
+
+ if !nerr.Merge(err) {
+ if err == ErrNil {
+ err = errRepeatedHasNil
+ }
+ return b, err
+ }
+ }
+ return b, nerr.E
+ }
+}
+
+// makeMapMarshaler returns the sizer and marshaler for a map field.
+// f is the pointer to the reflect data structure of the field.
+func makeMapMarshaler(f *reflect.StructField) (sizer, marshaler) {
+ // figure out key and value type
+ t := f.Type
+ keyType := t.Key()
+ valType := t.Elem()
+ keyTags := strings.Split(f.Tag.Get("protobuf_key"), ",")
+ valTags := strings.Split(f.Tag.Get("protobuf_val"), ",")
+ keySizer, keyMarshaler := typeMarshaler(keyType, keyTags, false, false) // don't omit zero value in map
+ valSizer, valMarshaler := typeMarshaler(valType, valTags, false, false) // don't omit zero value in map
+ keyWireTag := 1<<3 | wiretype(keyTags[0])
+ valWireTag := 2<<3 | wiretype(valTags[0])
+
+ // We create an interface to get the addresses of the map key and value.
+ // If value is pointer-typed, the interface is a direct interface, the
+ // idata itself is the value. Otherwise, the idata is the pointer to the
+ // value.
+ // Key cannot be pointer-typed.
+ valIsPtr := valType.Kind() == reflect.Ptr
+
+ // If value is a message with nested maps, calling
+ // valSizer in marshal may be quadratic. We should use
+ // cached version in marshal (but not in size).
+ // If value is not message type, we don't have size cache,
+ // but it cannot be nested either. Just use valSizer.
+ valCachedSizer := valSizer
+ if valIsPtr && valType.Elem().Kind() == reflect.Struct {
+ u := getMarshalInfo(valType.Elem())
+ valCachedSizer = func(ptr pointer, tagsize int) int {
+ // Same as message sizer, but use cache.
+ p := ptr.getPointer()
+ if p.isNil() {
+ return 0
+ }
+ siz := u.cachedsize(p)
+ return siz + SizeVarint(uint64(siz)) + tagsize
+ }
+ }
+ return func(ptr pointer, tagsize int) int {
+ m := ptr.asPointerTo(t).Elem() // the map
+ n := 0
+ for _, k := range m.MapKeys() {
+ ki := k.Interface()
+ vi := m.MapIndex(k).Interface()
+ kaddr := toAddrPointer(&ki, false, false) // pointer to key
+ vaddr := toAddrPointer(&vi, valIsPtr, false) // pointer to value
+ siz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1)
+ n += siz + SizeVarint(uint64(siz)) + tagsize
+ }
+ return n
+ },
+ func(b []byte, ptr pointer, tag uint64, deterministic bool) ([]byte, error) {
+ m := ptr.asPointerTo(t).Elem() // the map
+ var err error
+ keys := m.MapKeys()
+ if len(keys) > 1 && deterministic {
+ sort.Sort(mapKeys(keys))
+ }
+
+ var nerr nonFatal
+ for _, k := range keys {
+ ki := k.Interface()
+ vi := m.MapIndex(k).Interface()
+ kaddr := toAddrPointer(&ki, false, false) // pointer to key
+ vaddr := toAddrPointer(&vi, valIsPtr, false) // pointer to value
+ b = appendVarint(b, tag)
+ siz := keySizer(kaddr, 1) + valCachedSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1)
+ b = appendVarint(b, uint64(siz))
+ b, err = keyMarshaler(b, kaddr, keyWireTag, deterministic)
+ if !nerr.Merge(err) {
+ return b, err
+ }
+ b, err = valMarshaler(b, vaddr, valWireTag, deterministic)
+ if err != ErrNil && !nerr.Merge(err) { // allow nil value in map
+ return b, err
+ }
+ }
+ return b, nerr.E
+ }
+}
+
+// makeOneOfMarshaler returns the sizer and marshaler for a oneof field.
+// fi is the marshal info of the field.
+// f is the pointer to the reflect data structure of the field.
+func makeOneOfMarshaler(fi *marshalFieldInfo, f *reflect.StructField) (sizer, marshaler) {
+ // Oneof field is an interface. We need to get the actual data type on the fly.
+ t := f.Type
+ return func(ptr pointer, _ int) int {
+ p := ptr.getInterfacePointer()
+ if p.isNil() {
+ return 0
+ }
+ v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct
+ telem := v.Type()
+ e := fi.oneofElems[telem]
+ return e.sizer(p, e.tagsize)
+ },
+ func(b []byte, ptr pointer, _ uint64, deterministic bool) ([]byte, error) {
+ p := ptr.getInterfacePointer()
+ if p.isNil() {
+ return b, nil
+ }
+ v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct
+ telem := v.Type()
+ if telem.Field(0).Type.Kind() == reflect.Ptr && p.getPointer().isNil() {
+ return b, errOneofHasNil
+ }
+ e := fi.oneofElems[telem]
+ return e.marshaler(b, p, e.wiretag, deterministic)
+ }
+}
+
+// sizeExtensions computes the size of encoded data for a XXX_InternalExtensions field.
+func (u *marshalInfo) sizeExtensions(ext *XXX_InternalExtensions) int {
+ m, mu := ext.extensionsRead()
+ if m == nil {
+ return 0
+ }
+ mu.Lock()
+
+ n := 0
+ for _, e := range m {
+ if e.value == nil || e.desc == nil {
+ // Extension is only in its encoded form.
+ n += len(e.enc)
+ continue
+ }
+
+ // We don't skip extensions that have an encoded form set,
+ // because the extension value may have been mutated after
+ // the last time this function was called.
+ ei := u.getExtElemInfo(e.desc)
+ v := e.value
+ p := toAddrPointer(&v, ei.isptr, ei.deref)
+ n += ei.sizer(p, ei.tagsize)
+ }
+ mu.Unlock()
+ return n
+}
+
+// appendExtensions marshals a XXX_InternalExtensions field to the end of byte slice b.
+func (u *marshalInfo) appendExtensions(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) {
+ m, mu := ext.extensionsRead()
+ if m == nil {
+ return b, nil
+ }
+ mu.Lock()
+ defer mu.Unlock()
+
+ var err error
+ var nerr nonFatal
+
+ // Fast-path for common cases: zero or one extensions.
+ // Don't bother sorting the keys.
+ if len(m) <= 1 {
+ for _, e := range m {
+ if e.value == nil || e.desc == nil {
+ // Extension is only in its encoded form.
+ b = append(b, e.enc...)
+ continue
+ }
+
+ // We don't skip extensions that have an encoded form set,
+ // because the extension value may have been mutated after
+ // the last time this function was called.
+
+ ei := u.getExtElemInfo(e.desc)
+ v := e.value
+ p := toAddrPointer(&v, ei.isptr, ei.deref)
+ b, err = ei.marshaler(b, p, ei.wiretag, deterministic)
+ if !nerr.Merge(err) {
+ return b, err
+ }
+ }
+ return b, nerr.E
+ }
+
+ // Sort the keys to provide a deterministic encoding.
+ // Not sure this is required, but the old code does it.
+ keys := make([]int, 0, len(m))
+ for k := range m {
+ keys = append(keys, int(k))
+ }
+ sort.Ints(keys)
+
+ for _, k := range keys {
+ e := m[int32(k)]
+ if e.value == nil || e.desc == nil {
+ // Extension is only in its encoded form.
+ b = append(b, e.enc...)
+ continue
+ }
+
+ // We don't skip extensions that have an encoded form set,
+ // because the extension value may have been mutated after
+ // the last time this function was called.
+
+ ei := u.getExtElemInfo(e.desc)
+ v := e.value
+ p := toAddrPointer(&v, ei.isptr, ei.deref)
+ b, err = ei.marshaler(b, p, ei.wiretag, deterministic)
+ if !nerr.Merge(err) {
+ return b, err
+ }
+ }
+ return b, nerr.E
+}
+
+// message set format is:
+// message MessageSet {
+// repeated group Item = 1 {
+// required int32 type_id = 2;
+// required string message = 3;
+// };
+// }
+
+// sizeMessageSet computes the size of encoded data for a XXX_InternalExtensions field
+// in message set format (above).
+func (u *marshalInfo) sizeMessageSet(ext *XXX_InternalExtensions) int {
+ m, mu := ext.extensionsRead()
+ if m == nil {
+ return 0
+ }
+ mu.Lock()
+
+ n := 0
+ for id, e := range m {
+ n += 2 // start group, end group. tag = 1 (size=1)
+ n += SizeVarint(uint64(id)) + 1 // type_id, tag = 2 (size=1)
+
+ if e.value == nil || e.desc == nil {
+ // Extension is only in its encoded form.
+ msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint
+ siz := len(msgWithLen)
+ n += siz + 1 // message, tag = 3 (size=1)
+ continue
+ }
+
+ // We don't skip extensions that have an encoded form set,
+ // because the extension value may have been mutated after
+ // the last time this function was called.
+
+ ei := u.getExtElemInfo(e.desc)
+ v := e.value
+ p := toAddrPointer(&v, ei.isptr, ei.deref)
+ n += ei.sizer(p, 1) // message, tag = 3 (size=1)
+ }
+ mu.Unlock()
+ return n
+}
+
+// appendMessageSet marshals a XXX_InternalExtensions field in message set format (above)
+// to the end of byte slice b.
+func (u *marshalInfo) appendMessageSet(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) {
+ m, mu := ext.extensionsRead()
+ if m == nil {
+ return b, nil
+ }
+ mu.Lock()
+ defer mu.Unlock()
+
+ var err error
+ var nerr nonFatal
+
+ // Fast-path for common cases: zero or one extensions.
+ // Don't bother sorting the keys.
+ if len(m) <= 1 {
+ for id, e := range m {
+ b = append(b, 1<<3|WireStartGroup)
+ b = append(b, 2<<3|WireVarint)
+ b = appendVarint(b, uint64(id))
+
+ if e.value == nil || e.desc == nil {
+ // Extension is only in its encoded form.
+ msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint
+ b = append(b, 3<<3|WireBytes)
+ b = append(b, msgWithLen...)
+ b = append(b, 1<<3|WireEndGroup)
+ continue
+ }
+
+ // We don't skip extensions that have an encoded form set,
+ // because the extension value may have been mutated after
+ // the last time this function was called.
+
+ ei := u.getExtElemInfo(e.desc)
+ v := e.value
+ p := toAddrPointer(&v, ei.isptr, ei.deref)
+ b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic)
+ if !nerr.Merge(err) {
+ return b, err
+ }
+ b = append(b, 1<<3|WireEndGroup)
+ }
+ return b, nerr.E
+ }
+
+ // Sort the keys to provide a deterministic encoding.
+ keys := make([]int, 0, len(m))
+ for k := range m {
+ keys = append(keys, int(k))
+ }
+ sort.Ints(keys)
+
+ for _, id := range keys {
+ e := m[int32(id)]
+ b = append(b, 1<<3|WireStartGroup)
+ b = append(b, 2<<3|WireVarint)
+ b = appendVarint(b, uint64(id))
+
+ if e.value == nil || e.desc == nil {
+ // Extension is only in its encoded form.
+ msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint
+ b = append(b, 3<<3|WireBytes)
+ b = append(b, msgWithLen...)
+ b = append(b, 1<<3|WireEndGroup)
+ continue
+ }
+
+ // We don't skip extensions that have an encoded form set,
+ // because the extension value may have been mutated after
+ // the last time this function was called.
+
+ ei := u.getExtElemInfo(e.desc)
+ v := e.value
+ p := toAddrPointer(&v, ei.isptr, ei.deref)
+ b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic)
+ b = append(b, 1<<3|WireEndGroup)
+ if !nerr.Merge(err) {
+ return b, err
+ }
+ }
+ return b, nerr.E
+}
+
+// sizeV1Extensions computes the size of encoded data for a V1-API extension field.
+func (u *marshalInfo) sizeV1Extensions(m map[int32]Extension) int {
+ if m == nil {
+ return 0
+ }
+
+ n := 0
+ for _, e := range m {
+ if e.value == nil || e.desc == nil {
+ // Extension is only in its encoded form.
+ n += len(e.enc)
+ continue
+ }
+
+ // We don't skip extensions that have an encoded form set,
+ // because the extension value may have been mutated after
+ // the last time this function was called.
+
+ ei := u.getExtElemInfo(e.desc)
+ v := e.value
+ p := toAddrPointer(&v, ei.isptr, ei.deref)
+ n += ei.sizer(p, ei.tagsize)
+ }
+ return n
+}
+
+// appendV1Extensions marshals a V1-API extension field to the end of byte slice b.
+func (u *marshalInfo) appendV1Extensions(b []byte, m map[int32]Extension, deterministic bool) ([]byte, error) {
+ if m == nil {
+ return b, nil
+ }
+
+ // Sort the keys to provide a deterministic encoding.
+ keys := make([]int, 0, len(m))
+ for k := range m {
+ keys = append(keys, int(k))
+ }
+ sort.Ints(keys)
+
+ var err error
+ var nerr nonFatal
+ for _, k := range keys {
+ e := m[int32(k)]
+ if e.value == nil || e.desc == nil {
+ // Extension is only in its encoded form.
+ b = append(b, e.enc...)
+ continue
+ }
+
+ // We don't skip extensions that have an encoded form set,
+ // because the extension value may have been mutated after
+ // the last time this function was called.
+
+ ei := u.getExtElemInfo(e.desc)
+ v := e.value
+ p := toAddrPointer(&v, ei.isptr, ei.deref)
+ b, err = ei.marshaler(b, p, ei.wiretag, deterministic)
+ if !nerr.Merge(err) {
+ return b, err
+ }
+ }
+ return b, nerr.E
+}
+
+// newMarshaler is the interface representing objects that can marshal themselves.
+//
+// This exists to support protoc-gen-go generated messages.
+// The proto package will stop type-asserting to this interface in the future.
+//
+// DO NOT DEPEND ON THIS.
+type newMarshaler interface {
+ XXX_Size() int
+ XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
+}
+
+// Size returns the encoded size of a protocol buffer message.
+// This is the main entry point.
+func Size(pb Message) int {
+ if m, ok := pb.(newMarshaler); ok {
+ return m.XXX_Size()
+ }
+ if m, ok := pb.(Marshaler); ok {
+ // If the message can marshal itself, let it do it, for compatibility.
+ // NOTE: This is not efficient.
+ b, _ := m.Marshal()
+ return len(b)
+ }
+ // in case somehow we didn't generate the wrapper
+ if pb == nil {
+ return 0
+ }
+ var info InternalMessageInfo
+ return info.Size(pb)
+}
+
+// Marshal takes a protocol buffer message
+// and encodes it into the wire format, returning the data.
+// This is the main entry point.
+func Marshal(pb Message) ([]byte, error) {
+ if m, ok := pb.(newMarshaler); ok {
+ siz := m.XXX_Size()
+ b := make([]byte, 0, siz)
+ return m.XXX_Marshal(b, false)
+ }
+ if m, ok := pb.(Marshaler); ok {
+ // If the message can marshal itself, let it do it, for compatibility.
+ // NOTE: This is not efficient.
+ return m.Marshal()
+ }
+ // in case somehow we didn't generate the wrapper
+ if pb == nil {
+ return nil, ErrNil
+ }
+ var info InternalMessageInfo
+ siz := info.Size(pb)
+ b := make([]byte, 0, siz)
+ return info.Marshal(b, pb, false)
+}
+
+// Marshal takes a protocol buffer message
+// and encodes it into the wire format, writing the result to the
+// Buffer.
+// This is an alternative entry point. It is not necessary to use
+// a Buffer for most applications.
+func (p *Buffer) Marshal(pb Message) error {
+ var err error
+ if m, ok := pb.(newMarshaler); ok {
+ siz := m.XXX_Size()
+ p.grow(siz) // make sure buf has enough capacity
+ p.buf, err = m.XXX_Marshal(p.buf, p.deterministic)
+ return err
+ }
+ if m, ok := pb.(Marshaler); ok {
+ // If the message can marshal itself, let it do it, for compatibility.
+ // NOTE: This is not efficient.
+ b, err := m.Marshal()
+ p.buf = append(p.buf, b...)
+ return err
+ }
+ // in case somehow we didn't generate the wrapper
+ if pb == nil {
+ return ErrNil
+ }
+ var info InternalMessageInfo
+ siz := info.Size(pb)
+ p.grow(siz) // make sure buf has enough capacity
+ p.buf, err = info.Marshal(p.buf, pb, p.deterministic)
+ return err
+}
+
+// grow grows the buffer's capacity, if necessary, to guarantee space for
+// another n bytes. After grow(n), at least n bytes can be written to the
+// buffer without another allocation.
+func (p *Buffer) grow(n int) {
+ need := len(p.buf) + n
+ if need <= cap(p.buf) {
+ return
+ }
+ newCap := len(p.buf) * 2
+ if newCap < need {
+ newCap = need
+ }
+ p.buf = append(make([]byte, 0, newCap), p.buf...)
+}
diff --git a/vendor/github.com/golang/protobuf/proto/table_merge.go b/vendor/github.com/golang/protobuf/proto/table_merge.go
new file mode 100644
index 0000000..5525def
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/table_merge.go
@@ -0,0 +1,654 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2016 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+import (
+ "fmt"
+ "reflect"
+ "strings"
+ "sync"
+ "sync/atomic"
+)
+
+// Merge merges the src message into dst.
+// This assumes that dst and src of the same type and are non-nil.
+func (a *InternalMessageInfo) Merge(dst, src Message) {
+ mi := atomicLoadMergeInfo(&a.merge)
+ if mi == nil {
+ mi = getMergeInfo(reflect.TypeOf(dst).Elem())
+ atomicStoreMergeInfo(&a.merge, mi)
+ }
+ mi.merge(toPointer(&dst), toPointer(&src))
+}
+
+type mergeInfo struct {
+ typ reflect.Type
+
+ initialized int32 // 0: only typ is valid, 1: everything is valid
+ lock sync.Mutex
+
+ fields []mergeFieldInfo
+ unrecognized field // Offset of XXX_unrecognized
+}
+
+type mergeFieldInfo struct {
+ field field // Offset of field, guaranteed to be valid
+
+ // isPointer reports whether the value in the field is a pointer.
+ // This is true for the following situations:
+ // * Pointer to struct
+ // * Pointer to basic type (proto2 only)
+ // * Slice (first value in slice header is a pointer)
+ // * String (first value in string header is a pointer)
+ isPointer bool
+
+ // basicWidth reports the width of the field assuming that it is directly
+ // embedded in the struct (as is the case for basic types in proto3).
+ // The possible values are:
+ // 0: invalid
+ // 1: bool
+ // 4: int32, uint32, float32
+ // 8: int64, uint64, float64
+ basicWidth int
+
+ // Where dst and src are pointers to the types being merged.
+ merge func(dst, src pointer)
+}
+
+var (
+ mergeInfoMap = map[reflect.Type]*mergeInfo{}
+ mergeInfoLock sync.Mutex
+)
+
+func getMergeInfo(t reflect.Type) *mergeInfo {
+ mergeInfoLock.Lock()
+ defer mergeInfoLock.Unlock()
+ mi := mergeInfoMap[t]
+ if mi == nil {
+ mi = &mergeInfo{typ: t}
+ mergeInfoMap[t] = mi
+ }
+ return mi
+}
+
+// merge merges src into dst assuming they are both of type *mi.typ.
+func (mi *mergeInfo) merge(dst, src pointer) {
+ if dst.isNil() {
+ panic("proto: nil destination")
+ }
+ if src.isNil() {
+ return // Nothing to do.
+ }
+
+ if atomic.LoadInt32(&mi.initialized) == 0 {
+ mi.computeMergeInfo()
+ }
+
+ for _, fi := range mi.fields {
+ sfp := src.offset(fi.field)
+
+ // As an optimization, we can avoid the merge function call cost
+ // if we know for sure that the source will have no effect
+ // by checking if it is the zero value.
+ if unsafeAllowed {
+ if fi.isPointer && sfp.getPointer().isNil() { // Could be slice or string
+ continue
+ }
+ if fi.basicWidth > 0 {
+ switch {
+ case fi.basicWidth == 1 && !*sfp.toBool():
+ continue
+ case fi.basicWidth == 4 && *sfp.toUint32() == 0:
+ continue
+ case fi.basicWidth == 8 && *sfp.toUint64() == 0:
+ continue
+ }
+ }
+ }
+
+ dfp := dst.offset(fi.field)
+ fi.merge(dfp, sfp)
+ }
+
+ // TODO: Make this faster?
+ out := dst.asPointerTo(mi.typ).Elem()
+ in := src.asPointerTo(mi.typ).Elem()
+ if emIn, err := extendable(in.Addr().Interface()); err == nil {
+ emOut, _ := extendable(out.Addr().Interface())
+ mIn, muIn := emIn.extensionsRead()
+ if mIn != nil {
+ mOut := emOut.extensionsWrite()
+ muIn.Lock()
+ mergeExtension(mOut, mIn)
+ muIn.Unlock()
+ }
+ }
+
+ if mi.unrecognized.IsValid() {
+ if b := *src.offset(mi.unrecognized).toBytes(); len(b) > 0 {
+ *dst.offset(mi.unrecognized).toBytes() = append([]byte(nil), b...)
+ }
+ }
+}
+
+func (mi *mergeInfo) computeMergeInfo() {
+ mi.lock.Lock()
+ defer mi.lock.Unlock()
+ if mi.initialized != 0 {
+ return
+ }
+ t := mi.typ
+ n := t.NumField()
+
+ props := GetProperties(t)
+ for i := 0; i < n; i++ {
+ f := t.Field(i)
+ if strings.HasPrefix(f.Name, "XXX_") {
+ continue
+ }
+
+ mfi := mergeFieldInfo{field: toField(&f)}
+ tf := f.Type
+
+ // As an optimization, we can avoid the merge function call cost
+ // if we know for sure that the source will have no effect
+ // by checking if it is the zero value.
+ if unsafeAllowed {
+ switch tf.Kind() {
+ case reflect.Ptr, reflect.Slice, reflect.String:
+ // As a special case, we assume slices and strings are pointers
+ // since we know that the first field in the SliceSlice or
+ // StringHeader is a data pointer.
+ mfi.isPointer = true
+ case reflect.Bool:
+ mfi.basicWidth = 1
+ case reflect.Int32, reflect.Uint32, reflect.Float32:
+ mfi.basicWidth = 4
+ case reflect.Int64, reflect.Uint64, reflect.Float64:
+ mfi.basicWidth = 8
+ }
+ }
+
+ // Unwrap tf to get at its most basic type.
+ var isPointer, isSlice bool
+ if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {
+ isSlice = true
+ tf = tf.Elem()
+ }
+ if tf.Kind() == reflect.Ptr {
+ isPointer = true
+ tf = tf.Elem()
+ }
+ if isPointer && isSlice && tf.Kind() != reflect.Struct {
+ panic("both pointer and slice for basic type in " + tf.Name())
+ }
+
+ switch tf.Kind() {
+ case reflect.Int32:
+ switch {
+ case isSlice: // E.g., []int32
+ mfi.merge = func(dst, src pointer) {
+ // NOTE: toInt32Slice is not defined (see pointer_reflect.go).
+ /*
+ sfsp := src.toInt32Slice()
+ if *sfsp != nil {
+ dfsp := dst.toInt32Slice()
+ *dfsp = append(*dfsp, *sfsp...)
+ if *dfsp == nil {
+ *dfsp = []int64{}
+ }
+ }
+ */
+ sfs := src.getInt32Slice()
+ if sfs != nil {
+ dfs := dst.getInt32Slice()
+ dfs = append(dfs, sfs...)
+ if dfs == nil {
+ dfs = []int32{}
+ }
+ dst.setInt32Slice(dfs)
+ }
+ }
+ case isPointer: // E.g., *int32
+ mfi.merge = func(dst, src pointer) {
+ // NOTE: toInt32Ptr is not defined (see pointer_reflect.go).
+ /*
+ sfpp := src.toInt32Ptr()
+ if *sfpp != nil {
+ dfpp := dst.toInt32Ptr()
+ if *dfpp == nil {
+ *dfpp = Int32(**sfpp)
+ } else {
+ **dfpp = **sfpp
+ }
+ }
+ */
+ sfp := src.getInt32Ptr()
+ if sfp != nil {
+ dfp := dst.getInt32Ptr()
+ if dfp == nil {
+ dst.setInt32Ptr(*sfp)
+ } else {
+ *dfp = *sfp
+ }
+ }
+ }
+ default: // E.g., int32
+ mfi.merge = func(dst, src pointer) {
+ if v := *src.toInt32(); v != 0 {
+ *dst.toInt32() = v
+ }
+ }
+ }
+ case reflect.Int64:
+ switch {
+ case isSlice: // E.g., []int64
+ mfi.merge = func(dst, src pointer) {
+ sfsp := src.toInt64Slice()
+ if *sfsp != nil {
+ dfsp := dst.toInt64Slice()
+ *dfsp = append(*dfsp, *sfsp...)
+ if *dfsp == nil {
+ *dfsp = []int64{}
+ }
+ }
+ }
+ case isPointer: // E.g., *int64
+ mfi.merge = func(dst, src pointer) {
+ sfpp := src.toInt64Ptr()
+ if *sfpp != nil {
+ dfpp := dst.toInt64Ptr()
+ if *dfpp == nil {
+ *dfpp = Int64(**sfpp)
+ } else {
+ **dfpp = **sfpp
+ }
+ }
+ }
+ default: // E.g., int64
+ mfi.merge = func(dst, src pointer) {
+ if v := *src.toInt64(); v != 0 {
+ *dst.toInt64() = v
+ }
+ }
+ }
+ case reflect.Uint32:
+ switch {
+ case isSlice: // E.g., []uint32
+ mfi.merge = func(dst, src pointer) {
+ sfsp := src.toUint32Slice()
+ if *sfsp != nil {
+ dfsp := dst.toUint32Slice()
+ *dfsp = append(*dfsp, *sfsp...)
+ if *dfsp == nil {
+ *dfsp = []uint32{}
+ }
+ }
+ }
+ case isPointer: // E.g., *uint32
+ mfi.merge = func(dst, src pointer) {
+ sfpp := src.toUint32Ptr()
+ if *sfpp != nil {
+ dfpp := dst.toUint32Ptr()
+ if *dfpp == nil {
+ *dfpp = Uint32(**sfpp)
+ } else {
+ **dfpp = **sfpp
+ }
+ }
+ }
+ default: // E.g., uint32
+ mfi.merge = func(dst, src pointer) {
+ if v := *src.toUint32(); v != 0 {
+ *dst.toUint32() = v
+ }
+ }
+ }
+ case reflect.Uint64:
+ switch {
+ case isSlice: // E.g., []uint64
+ mfi.merge = func(dst, src pointer) {
+ sfsp := src.toUint64Slice()
+ if *sfsp != nil {
+ dfsp := dst.toUint64Slice()
+ *dfsp = append(*dfsp, *sfsp...)
+ if *dfsp == nil {
+ *dfsp = []uint64{}
+ }
+ }
+ }
+ case isPointer: // E.g., *uint64
+ mfi.merge = func(dst, src pointer) {
+ sfpp := src.toUint64Ptr()
+ if *sfpp != nil {
+ dfpp := dst.toUint64Ptr()
+ if *dfpp == nil {
+ *dfpp = Uint64(**sfpp)
+ } else {
+ **dfpp = **sfpp
+ }
+ }
+ }
+ default: // E.g., uint64
+ mfi.merge = func(dst, src pointer) {
+ if v := *src.toUint64(); v != 0 {
+ *dst.toUint64() = v
+ }
+ }
+ }
+ case reflect.Float32:
+ switch {
+ case isSlice: // E.g., []float32
+ mfi.merge = func(dst, src pointer) {
+ sfsp := src.toFloat32Slice()
+ if *sfsp != nil {
+ dfsp := dst.toFloat32Slice()
+ *dfsp = append(*dfsp, *sfsp...)
+ if *dfsp == nil {
+ *dfsp = []float32{}
+ }
+ }
+ }
+ case isPointer: // E.g., *float32
+ mfi.merge = func(dst, src pointer) {
+ sfpp := src.toFloat32Ptr()
+ if *sfpp != nil {
+ dfpp := dst.toFloat32Ptr()
+ if *dfpp == nil {
+ *dfpp = Float32(**sfpp)
+ } else {
+ **dfpp = **sfpp
+ }
+ }
+ }
+ default: // E.g., float32
+ mfi.merge = func(dst, src pointer) {
+ if v := *src.toFloat32(); v != 0 {
+ *dst.toFloat32() = v
+ }
+ }
+ }
+ case reflect.Float64:
+ switch {
+ case isSlice: // E.g., []float64
+ mfi.merge = func(dst, src pointer) {
+ sfsp := src.toFloat64Slice()
+ if *sfsp != nil {
+ dfsp := dst.toFloat64Slice()
+ *dfsp = append(*dfsp, *sfsp...)
+ if *dfsp == nil {
+ *dfsp = []float64{}
+ }
+ }
+ }
+ case isPointer: // E.g., *float64
+ mfi.merge = func(dst, src pointer) {
+ sfpp := src.toFloat64Ptr()
+ if *sfpp != nil {
+ dfpp := dst.toFloat64Ptr()
+ if *dfpp == nil {
+ *dfpp = Float64(**sfpp)
+ } else {
+ **dfpp = **sfpp
+ }
+ }
+ }
+ default: // E.g., float64
+ mfi.merge = func(dst, src pointer) {
+ if v := *src.toFloat64(); v != 0 {
+ *dst.toFloat64() = v
+ }
+ }
+ }
+ case reflect.Bool:
+ switch {
+ case isSlice: // E.g., []bool
+ mfi.merge = func(dst, src pointer) {
+ sfsp := src.toBoolSlice()
+ if *sfsp != nil {
+ dfsp := dst.toBoolSlice()
+ *dfsp = append(*dfsp, *sfsp...)
+ if *dfsp == nil {
+ *dfsp = []bool{}
+ }
+ }
+ }
+ case isPointer: // E.g., *bool
+ mfi.merge = func(dst, src pointer) {
+ sfpp := src.toBoolPtr()
+ if *sfpp != nil {
+ dfpp := dst.toBoolPtr()
+ if *dfpp == nil {
+ *dfpp = Bool(**sfpp)
+ } else {
+ **dfpp = **sfpp
+ }
+ }
+ }
+ default: // E.g., bool
+ mfi.merge = func(dst, src pointer) {
+ if v := *src.toBool(); v {
+ *dst.toBool() = v
+ }
+ }
+ }
+ case reflect.String:
+ switch {
+ case isSlice: // E.g., []string
+ mfi.merge = func(dst, src pointer) {
+ sfsp := src.toStringSlice()
+ if *sfsp != nil {
+ dfsp := dst.toStringSlice()
+ *dfsp = append(*dfsp, *sfsp...)
+ if *dfsp == nil {
+ *dfsp = []string{}
+ }
+ }
+ }
+ case isPointer: // E.g., *string
+ mfi.merge = func(dst, src pointer) {
+ sfpp := src.toStringPtr()
+ if *sfpp != nil {
+ dfpp := dst.toStringPtr()
+ if *dfpp == nil {
+ *dfpp = String(**sfpp)
+ } else {
+ **dfpp = **sfpp
+ }
+ }
+ }
+ default: // E.g., string
+ mfi.merge = func(dst, src pointer) {
+ if v := *src.toString(); v != "" {
+ *dst.toString() = v
+ }
+ }
+ }
+ case reflect.Slice:
+ isProto3 := props.Prop[i].proto3
+ switch {
+ case isPointer:
+ panic("bad pointer in byte slice case in " + tf.Name())
+ case tf.Elem().Kind() != reflect.Uint8:
+ panic("bad element kind in byte slice case in " + tf.Name())
+ case isSlice: // E.g., [][]byte
+ mfi.merge = func(dst, src pointer) {
+ sbsp := src.toBytesSlice()
+ if *sbsp != nil {
+ dbsp := dst.toBytesSlice()
+ for _, sb := range *sbsp {
+ if sb == nil {
+ *dbsp = append(*dbsp, nil)
+ } else {
+ *dbsp = append(*dbsp, append([]byte{}, sb...))
+ }
+ }
+ if *dbsp == nil {
+ *dbsp = [][]byte{}
+ }
+ }
+ }
+ default: // E.g., []byte
+ mfi.merge = func(dst, src pointer) {
+ sbp := src.toBytes()
+ if *sbp != nil {
+ dbp := dst.toBytes()
+ if !isProto3 || len(*sbp) > 0 {
+ *dbp = append([]byte{}, *sbp...)
+ }
+ }
+ }
+ }
+ case reflect.Struct:
+ switch {
+ case !isPointer:
+ panic(fmt.Sprintf("message field %s without pointer", tf))
+ case isSlice: // E.g., []*pb.T
+ mi := getMergeInfo(tf)
+ mfi.merge = func(dst, src pointer) {
+ sps := src.getPointerSlice()
+ if sps != nil {
+ dps := dst.getPointerSlice()
+ for _, sp := range sps {
+ var dp pointer
+ if !sp.isNil() {
+ dp = valToPointer(reflect.New(tf))
+ mi.merge(dp, sp)
+ }
+ dps = append(dps, dp)
+ }
+ if dps == nil {
+ dps = []pointer{}
+ }
+ dst.setPointerSlice(dps)
+ }
+ }
+ default: // E.g., *pb.T
+ mi := getMergeInfo(tf)
+ mfi.merge = func(dst, src pointer) {
+ sp := src.getPointer()
+ if !sp.isNil() {
+ dp := dst.getPointer()
+ if dp.isNil() {
+ dp = valToPointer(reflect.New(tf))
+ dst.setPointer(dp)
+ }
+ mi.merge(dp, sp)
+ }
+ }
+ }
+ case reflect.Map:
+ switch {
+ case isPointer || isSlice:
+ panic("bad pointer or slice in map case in " + tf.Name())
+ default: // E.g., map[K]V
+ mfi.merge = func(dst, src pointer) {
+ sm := src.asPointerTo(tf).Elem()
+ if sm.Len() == 0 {
+ return
+ }
+ dm := dst.asPointerTo(tf).Elem()
+ if dm.IsNil() {
+ dm.Set(reflect.MakeMap(tf))
+ }
+
+ switch tf.Elem().Kind() {
+ case reflect.Ptr: // Proto struct (e.g., *T)
+ for _, key := range sm.MapKeys() {
+ val := sm.MapIndex(key)
+ val = reflect.ValueOf(Clone(val.Interface().(Message)))
+ dm.SetMapIndex(key, val)
+ }
+ case reflect.Slice: // E.g. Bytes type (e.g., []byte)
+ for _, key := range sm.MapKeys() {
+ val := sm.MapIndex(key)
+ val = reflect.ValueOf(append([]byte{}, val.Bytes()...))
+ dm.SetMapIndex(key, val)
+ }
+ default: // Basic type (e.g., string)
+ for _, key := range sm.MapKeys() {
+ val := sm.MapIndex(key)
+ dm.SetMapIndex(key, val)
+ }
+ }
+ }
+ }
+ case reflect.Interface:
+ // Must be oneof field.
+ switch {
+ case isPointer || isSlice:
+ panic("bad pointer or slice in interface case in " + tf.Name())
+ default: // E.g., interface{}
+ // TODO: Make this faster?
+ mfi.merge = func(dst, src pointer) {
+ su := src.asPointerTo(tf).Elem()
+ if !su.IsNil() {
+ du := dst.asPointerTo(tf).Elem()
+ typ := su.Elem().Type()
+ if du.IsNil() || du.Elem().Type() != typ {
+ du.Set(reflect.New(typ.Elem())) // Initialize interface if empty
+ }
+ sv := su.Elem().Elem().Field(0)
+ if sv.Kind() == reflect.Ptr && sv.IsNil() {
+ return
+ }
+ dv := du.Elem().Elem().Field(0)
+ if dv.Kind() == reflect.Ptr && dv.IsNil() {
+ dv.Set(reflect.New(sv.Type().Elem())) // Initialize proto message if empty
+ }
+ switch sv.Type().Kind() {
+ case reflect.Ptr: // Proto struct (e.g., *T)
+ Merge(dv.Interface().(Message), sv.Interface().(Message))
+ case reflect.Slice: // E.g. Bytes type (e.g., []byte)
+ dv.Set(reflect.ValueOf(append([]byte{}, sv.Bytes()...)))
+ default: // Basic type (e.g., string)
+ dv.Set(sv)
+ }
+ }
+ }
+ }
+ default:
+ panic(fmt.Sprintf("merger not found for type:%s", tf))
+ }
+ mi.fields = append(mi.fields, mfi)
+ }
+
+ mi.unrecognized = invalidField
+ if f, ok := t.FieldByName("XXX_unrecognized"); ok {
+ if f.Type != reflect.TypeOf([]byte{}) {
+ panic("expected XXX_unrecognized to be of type []byte")
+ }
+ mi.unrecognized = toField(&f)
+ }
+
+ atomic.StoreInt32(&mi.initialized, 1)
+}
diff --git a/vendor/github.com/golang/protobuf/proto/table_unmarshal.go b/vendor/github.com/golang/protobuf/proto/table_unmarshal.go
new file mode 100644
index 0000000..acee2fc
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/table_unmarshal.go
@@ -0,0 +1,2053 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2016 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+import (
+ "errors"
+ "fmt"
+ "io"
+ "math"
+ "reflect"
+ "strconv"
+ "strings"
+ "sync"
+ "sync/atomic"
+ "unicode/utf8"
+)
+
+// Unmarshal is the entry point from the generated .pb.go files.
+// This function is not intended to be used by non-generated code.
+// This function is not subject to any compatibility guarantee.
+// msg contains a pointer to a protocol buffer struct.
+// b is the data to be unmarshaled into the protocol buffer.
+// a is a pointer to a place to store cached unmarshal information.
+func (a *InternalMessageInfo) Unmarshal(msg Message, b []byte) error {
+ // Load the unmarshal information for this message type.
+ // The atomic load ensures memory consistency.
+ u := atomicLoadUnmarshalInfo(&a.unmarshal)
+ if u == nil {
+ // Slow path: find unmarshal info for msg, update a with it.
+ u = getUnmarshalInfo(reflect.TypeOf(msg).Elem())
+ atomicStoreUnmarshalInfo(&a.unmarshal, u)
+ }
+ // Then do the unmarshaling.
+ err := u.unmarshal(toPointer(&msg), b)
+ return err
+}
+
+type unmarshalInfo struct {
+ typ reflect.Type // type of the protobuf struct
+
+ // 0 = only typ field is initialized
+ // 1 = completely initialized
+ initialized int32
+ lock sync.Mutex // prevents double initialization
+ dense []unmarshalFieldInfo // fields indexed by tag #
+ sparse map[uint64]unmarshalFieldInfo // fields indexed by tag #
+ reqFields []string // names of required fields
+ reqMask uint64 // 1<<len(reqFields)-1
+ unrecognized field // offset of []byte to put unrecognized data (or invalidField if we should throw it away)
+ extensions field // offset of extensions field (of type proto.XXX_InternalExtensions), or invalidField if it does not exist
+ oldExtensions field // offset of old-form extensions field (of type map[int]Extension)
+ extensionRanges []ExtensionRange // if non-nil, implies extensions field is valid
+ isMessageSet bool // if true, implies extensions field is valid
+}
+
+// An unmarshaler takes a stream of bytes and a pointer to a field of a message.
+// It decodes the field, stores it at f, and returns the unused bytes.
+// w is the wire encoding.
+// b is the data after the tag and wire encoding have been read.
+type unmarshaler func(b []byte, f pointer, w int) ([]byte, error)
+
+type unmarshalFieldInfo struct {
+ // location of the field in the proto message structure.
+ field field
+
+ // function to unmarshal the data for the field.
+ unmarshal unmarshaler
+
+ // if a required field, contains a single set bit at this field's index in the required field list.
+ reqMask uint64
+
+ name string // name of the field, for error reporting
+}
+
+var (
+ unmarshalInfoMap = map[reflect.Type]*unmarshalInfo{}
+ unmarshalInfoLock sync.Mutex
+)
+
+// getUnmarshalInfo returns the data structure which can be
+// subsequently used to unmarshal a message of the given type.
+// t is the type of the message (note: not pointer to message).
+func getUnmarshalInfo(t reflect.Type) *unmarshalInfo {
+ // It would be correct to return a new unmarshalInfo
+ // unconditionally. We would end up allocating one
+ // per occurrence of that type as a message or submessage.
+ // We use a cache here just to reduce memory usage.
+ unmarshalInfoLock.Lock()
+ defer unmarshalInfoLock.Unlock()
+ u := unmarshalInfoMap[t]
+ if u == nil {
+ u = &unmarshalInfo{typ: t}
+ // Note: we just set the type here. The rest of the fields
+ // will be initialized on first use.
+ unmarshalInfoMap[t] = u
+ }
+ return u
+}
+
+// unmarshal does the main work of unmarshaling a message.
+// u provides type information used to unmarshal the message.
+// m is a pointer to a protocol buffer message.
+// b is a byte stream to unmarshal into m.
+// This is top routine used when recursively unmarshaling submessages.
+func (u *unmarshalInfo) unmarshal(m pointer, b []byte) error {
+ if atomic.LoadInt32(&u.initialized) == 0 {
+ u.computeUnmarshalInfo()
+ }
+ if u.isMessageSet {
+ return unmarshalMessageSet(b, m.offset(u.extensions).toExtensions())
+ }
+ var reqMask uint64 // bitmask of required fields we've seen.
+ var errLater error
+ for len(b) > 0 {
+ // Read tag and wire type.
+ // Special case 1 and 2 byte varints.
+ var x uint64
+ if b[0] < 128 {
+ x = uint64(b[0])
+ b = b[1:]
+ } else if len(b) >= 2 && b[1] < 128 {
+ x = uint64(b[0]&0x7f) + uint64(b[1])<<7
+ b = b[2:]
+ } else {
+ var n int
+ x, n = decodeVarint(b)
+ if n == 0 {
+ return io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ }
+ tag := x >> 3
+ wire := int(x) & 7
+
+ // Dispatch on the tag to one of the unmarshal* functions below.
+ var f unmarshalFieldInfo
+ if tag < uint64(len(u.dense)) {
+ f = u.dense[tag]
+ } else {
+ f = u.sparse[tag]
+ }
+ if fn := f.unmarshal; fn != nil {
+ var err error
+ b, err = fn(b, m.offset(f.field), wire)
+ if err == nil {
+ reqMask |= f.reqMask
+ continue
+ }
+ if r, ok := err.(*RequiredNotSetError); ok {
+ // Remember this error, but keep parsing. We need to produce
+ // a full parse even if a required field is missing.
+ if errLater == nil {
+ errLater = r
+ }
+ reqMask |= f.reqMask
+ continue
+ }
+ if err != errInternalBadWireType {
+ if err == errInvalidUTF8 {
+ if errLater == nil {
+ fullName := revProtoTypes[reflect.PtrTo(u.typ)] + "." + f.name
+ errLater = &invalidUTF8Error{fullName}
+ }
+ continue
+ }
+ return err
+ }
+ // Fragments with bad wire type are treated as unknown fields.
+ }
+
+ // Unknown tag.
+ if !u.unrecognized.IsValid() {
+ // Don't keep unrecognized data; just skip it.
+ var err error
+ b, err = skipField(b, wire)
+ if err != nil {
+ return err
+ }
+ continue
+ }
+ // Keep unrecognized data around.
+ // maybe in extensions, maybe in the unrecognized field.
+ z := m.offset(u.unrecognized).toBytes()
+ var emap map[int32]Extension
+ var e Extension
+ for _, r := range u.extensionRanges {
+ if uint64(r.Start) <= tag && tag <= uint64(r.End) {
+ if u.extensions.IsValid() {
+ mp := m.offset(u.extensions).toExtensions()
+ emap = mp.extensionsWrite()
+ e = emap[int32(tag)]
+ z = &e.enc
+ break
+ }
+ if u.oldExtensions.IsValid() {
+ p := m.offset(u.oldExtensions).toOldExtensions()
+ emap = *p
+ if emap == nil {
+ emap = map[int32]Extension{}
+ *p = emap
+ }
+ e = emap[int32(tag)]
+ z = &e.enc
+ break
+ }
+ panic("no extensions field available")
+ }
+ }
+
+ // Use wire type to skip data.
+ var err error
+ b0 := b
+ b, err = skipField(b, wire)
+ if err != nil {
+ return err
+ }
+ *z = encodeVarint(*z, tag<<3|uint64(wire))
+ *z = append(*z, b0[:len(b0)-len(b)]...)
+
+ if emap != nil {
+ emap[int32(tag)] = e
+ }
+ }
+ if reqMask != u.reqMask && errLater == nil {
+ // A required field of this message is missing.
+ for _, n := range u.reqFields {
+ if reqMask&1 == 0 {
+ errLater = &RequiredNotSetError{n}
+ }
+ reqMask >>= 1
+ }
+ }
+ return errLater
+}
+
+// computeUnmarshalInfo fills in u with information for use
+// in unmarshaling protocol buffers of type u.typ.
+func (u *unmarshalInfo) computeUnmarshalInfo() {
+ u.lock.Lock()
+ defer u.lock.Unlock()
+ if u.initialized != 0 {
+ return
+ }
+ t := u.typ
+ n := t.NumField()
+
+ // Set up the "not found" value for the unrecognized byte buffer.
+ // This is the default for proto3.
+ u.unrecognized = invalidField
+ u.extensions = invalidField
+ u.oldExtensions = invalidField
+
+ // List of the generated type and offset for each oneof field.
+ type oneofField struct {
+ ityp reflect.Type // interface type of oneof field
+ field field // offset in containing message
+ }
+ var oneofFields []oneofField
+
+ for i := 0; i < n; i++ {
+ f := t.Field(i)
+ if f.Name == "XXX_unrecognized" {
+ // The byte slice used to hold unrecognized input is special.
+ if f.Type != reflect.TypeOf(([]byte)(nil)) {
+ panic("bad type for XXX_unrecognized field: " + f.Type.Name())
+ }
+ u.unrecognized = toField(&f)
+ continue
+ }
+ if f.Name == "XXX_InternalExtensions" {
+ // Ditto here.
+ if f.Type != reflect.TypeOf(XXX_InternalExtensions{}) {
+ panic("bad type for XXX_InternalExtensions field: " + f.Type.Name())
+ }
+ u.extensions = toField(&f)
+ if f.Tag.Get("protobuf_messageset") == "1" {
+ u.isMessageSet = true
+ }
+ continue
+ }
+ if f.Name == "XXX_extensions" {
+ // An older form of the extensions field.
+ if f.Type != reflect.TypeOf((map[int32]Extension)(nil)) {
+ panic("bad type for XXX_extensions field: " + f.Type.Name())
+ }
+ u.oldExtensions = toField(&f)
+ continue
+ }
+ if f.Name == "XXX_NoUnkeyedLiteral" || f.Name == "XXX_sizecache" {
+ continue
+ }
+
+ oneof := f.Tag.Get("protobuf_oneof")
+ if oneof != "" {
+ oneofFields = append(oneofFields, oneofField{f.Type, toField(&f)})
+ // The rest of oneof processing happens below.
+ continue
+ }
+
+ tags := f.Tag.Get("protobuf")
+ tagArray := strings.Split(tags, ",")
+ if len(tagArray) < 2 {
+ panic("protobuf tag not enough fields in " + t.Name() + "." + f.Name + ": " + tags)
+ }
+ tag, err := strconv.Atoi(tagArray[1])
+ if err != nil {
+ panic("protobuf tag field not an integer: " + tagArray[1])
+ }
+
+ name := ""
+ for _, tag := range tagArray[3:] {
+ if strings.HasPrefix(tag, "name=") {
+ name = tag[5:]
+ }
+ }
+
+ // Extract unmarshaling function from the field (its type and tags).
+ unmarshal := fieldUnmarshaler(&f)
+
+ // Required field?
+ var reqMask uint64
+ if tagArray[2] == "req" {
+ bit := len(u.reqFields)
+ u.reqFields = append(u.reqFields, name)
+ reqMask = uint64(1) << uint(bit)
+ // TODO: if we have more than 64 required fields, we end up
+ // not verifying that all required fields are present.
+ // Fix this, perhaps using a count of required fields?
+ }
+
+ // Store the info in the correct slot in the message.
+ u.setTag(tag, toField(&f), unmarshal, reqMask, name)
+ }
+
+ // Find any types associated with oneof fields.
+ var oneofImplementers []interface{}
+ switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) {
+ case oneofFuncsIface:
+ _, _, _, oneofImplementers = m.XXX_OneofFuncs()
+ case oneofWrappersIface:
+ oneofImplementers = m.XXX_OneofWrappers()
+ }
+ for _, v := range oneofImplementers {
+ tptr := reflect.TypeOf(v) // *Msg_X
+ typ := tptr.Elem() // Msg_X
+
+ f := typ.Field(0) // oneof implementers have one field
+ baseUnmarshal := fieldUnmarshaler(&f)
+ tags := strings.Split(f.Tag.Get("protobuf"), ",")
+ fieldNum, err := strconv.Atoi(tags[1])
+ if err != nil {
+ panic("protobuf tag field not an integer: " + tags[1])
+ }
+ var name string
+ for _, tag := range tags {
+ if strings.HasPrefix(tag, "name=") {
+ name = strings.TrimPrefix(tag, "name=")
+ break
+ }
+ }
+
+ // Find the oneof field that this struct implements.
+ // Might take O(n^2) to process all of the oneofs, but who cares.
+ for _, of := range oneofFields {
+ if tptr.Implements(of.ityp) {
+ // We have found the corresponding interface for this struct.
+ // That lets us know where this struct should be stored
+ // when we encounter it during unmarshaling.
+ unmarshal := makeUnmarshalOneof(typ, of.ityp, baseUnmarshal)
+ u.setTag(fieldNum, of.field, unmarshal, 0, name)
+ }
+ }
+
+ }
+
+ // Get extension ranges, if any.
+ fn := reflect.Zero(reflect.PtrTo(t)).MethodByName("ExtensionRangeArray")
+ if fn.IsValid() {
+ if !u.extensions.IsValid() && !u.oldExtensions.IsValid() {
+ panic("a message with extensions, but no extensions field in " + t.Name())
+ }
+ u.extensionRanges = fn.Call(nil)[0].Interface().([]ExtensionRange)
+ }
+
+ // Explicitly disallow tag 0. This will ensure we flag an error
+ // when decoding a buffer of all zeros. Without this code, we
+ // would decode and skip an all-zero buffer of even length.
+ // [0 0] is [tag=0/wiretype=varint varint-encoded-0].
+ u.setTag(0, zeroField, func(b []byte, f pointer, w int) ([]byte, error) {
+ return nil, fmt.Errorf("proto: %s: illegal tag 0 (wire type %d)", t, w)
+ }, 0, "")
+
+ // Set mask for required field check.
+ u.reqMask = uint64(1)<<uint(len(u.reqFields)) - 1
+
+ atomic.StoreInt32(&u.initialized, 1)
+}
+
+// setTag stores the unmarshal information for the given tag.
+// tag = tag # for field
+// field/unmarshal = unmarshal info for that field.
+// reqMask = if required, bitmask for field position in required field list. 0 otherwise.
+// name = short name of the field.
+func (u *unmarshalInfo) setTag(tag int, field field, unmarshal unmarshaler, reqMask uint64, name string) {
+ i := unmarshalFieldInfo{field: field, unmarshal: unmarshal, reqMask: reqMask, name: name}
+ n := u.typ.NumField()
+ if tag >= 0 && (tag < 16 || tag < 2*n) { // TODO: what are the right numbers here?
+ for len(u.dense) <= tag {
+ u.dense = append(u.dense, unmarshalFieldInfo{})
+ }
+ u.dense[tag] = i
+ return
+ }
+ if u.sparse == nil {
+ u.sparse = map[uint64]unmarshalFieldInfo{}
+ }
+ u.sparse[uint64(tag)] = i
+}
+
+// fieldUnmarshaler returns an unmarshaler for the given field.
+func fieldUnmarshaler(f *reflect.StructField) unmarshaler {
+ if f.Type.Kind() == reflect.Map {
+ return makeUnmarshalMap(f)
+ }
+ return typeUnmarshaler(f.Type, f.Tag.Get("protobuf"))
+}
+
+// typeUnmarshaler returns an unmarshaler for the given field type / field tag pair.
+func typeUnmarshaler(t reflect.Type, tags string) unmarshaler {
+ tagArray := strings.Split(tags, ",")
+ encoding := tagArray[0]
+ name := "unknown"
+ proto3 := false
+ validateUTF8 := true
+ for _, tag := range tagArray[3:] {
+ if strings.HasPrefix(tag, "name=") {
+ name = tag[5:]
+ }
+ if tag == "proto3" {
+ proto3 = true
+ }
+ }
+ validateUTF8 = validateUTF8 && proto3
+
+ // Figure out packaging (pointer, slice, or both)
+ slice := false
+ pointer := false
+ if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 {
+ slice = true
+ t = t.Elem()
+ }
+ if t.Kind() == reflect.Ptr {
+ pointer = true
+ t = t.Elem()
+ }
+
+ // We'll never have both pointer and slice for basic types.
+ if pointer && slice && t.Kind() != reflect.Struct {
+ panic("both pointer and slice for basic type in " + t.Name())
+ }
+
+ switch t.Kind() {
+ case reflect.Bool:
+ if pointer {
+ return unmarshalBoolPtr
+ }
+ if slice {
+ return unmarshalBoolSlice
+ }
+ return unmarshalBoolValue
+ case reflect.Int32:
+ switch encoding {
+ case "fixed32":
+ if pointer {
+ return unmarshalFixedS32Ptr
+ }
+ if slice {
+ return unmarshalFixedS32Slice
+ }
+ return unmarshalFixedS32Value
+ case "varint":
+ // this could be int32 or enum
+ if pointer {
+ return unmarshalInt32Ptr
+ }
+ if slice {
+ return unmarshalInt32Slice
+ }
+ return unmarshalInt32Value
+ case "zigzag32":
+ if pointer {
+ return unmarshalSint32Ptr
+ }
+ if slice {
+ return unmarshalSint32Slice
+ }
+ return unmarshalSint32Value
+ }
+ case reflect.Int64:
+ switch encoding {
+ case "fixed64":
+ if pointer {
+ return unmarshalFixedS64Ptr
+ }
+ if slice {
+ return unmarshalFixedS64Slice
+ }
+ return unmarshalFixedS64Value
+ case "varint":
+ if pointer {
+ return unmarshalInt64Ptr
+ }
+ if slice {
+ return unmarshalInt64Slice
+ }
+ return unmarshalInt64Value
+ case "zigzag64":
+ if pointer {
+ return unmarshalSint64Ptr
+ }
+ if slice {
+ return unmarshalSint64Slice
+ }
+ return unmarshalSint64Value
+ }
+ case reflect.Uint32:
+ switch encoding {
+ case "fixed32":
+ if pointer {
+ return unmarshalFixed32Ptr
+ }
+ if slice {
+ return unmarshalFixed32Slice
+ }
+ return unmarshalFixed32Value
+ case "varint":
+ if pointer {
+ return unmarshalUint32Ptr
+ }
+ if slice {
+ return unmarshalUint32Slice
+ }
+ return unmarshalUint32Value
+ }
+ case reflect.Uint64:
+ switch encoding {
+ case "fixed64":
+ if pointer {
+ return unmarshalFixed64Ptr
+ }
+ if slice {
+ return unmarshalFixed64Slice
+ }
+ return unmarshalFixed64Value
+ case "varint":
+ if pointer {
+ return unmarshalUint64Ptr
+ }
+ if slice {
+ return unmarshalUint64Slice
+ }
+ return unmarshalUint64Value
+ }
+ case reflect.Float32:
+ if pointer {
+ return unmarshalFloat32Ptr
+ }
+ if slice {
+ return unmarshalFloat32Slice
+ }
+ return unmarshalFloat32Value
+ case reflect.Float64:
+ if pointer {
+ return unmarshalFloat64Ptr
+ }
+ if slice {
+ return unmarshalFloat64Slice
+ }
+ return unmarshalFloat64Value
+ case reflect.Map:
+ panic("map type in typeUnmarshaler in " + t.Name())
+ case reflect.Slice:
+ if pointer {
+ panic("bad pointer in slice case in " + t.Name())
+ }
+ if slice {
+ return unmarshalBytesSlice
+ }
+ return unmarshalBytesValue
+ case reflect.String:
+ if validateUTF8 {
+ if pointer {
+ return unmarshalUTF8StringPtr
+ }
+ if slice {
+ return unmarshalUTF8StringSlice
+ }
+ return unmarshalUTF8StringValue
+ }
+ if pointer {
+ return unmarshalStringPtr
+ }
+ if slice {
+ return unmarshalStringSlice
+ }
+ return unmarshalStringValue
+ case reflect.Struct:
+ // message or group field
+ if !pointer {
+ panic(fmt.Sprintf("message/group field %s:%s without pointer", t, encoding))
+ }
+ switch encoding {
+ case "bytes":
+ if slice {
+ return makeUnmarshalMessageSlicePtr(getUnmarshalInfo(t), name)
+ }
+ return makeUnmarshalMessagePtr(getUnmarshalInfo(t), name)
+ case "group":
+ if slice {
+ return makeUnmarshalGroupSlicePtr(getUnmarshalInfo(t), name)
+ }
+ return makeUnmarshalGroupPtr(getUnmarshalInfo(t), name)
+ }
+ }
+ panic(fmt.Sprintf("unmarshaler not found type:%s encoding:%s", t, encoding))
+}
+
+// Below are all the unmarshalers for individual fields of various types.
+
+func unmarshalInt64Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int64(x)
+ *f.toInt64() = v
+ return b, nil
+}
+
+func unmarshalInt64Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int64(x)
+ *f.toInt64Ptr() = &v
+ return b, nil
+}
+
+func unmarshalInt64Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ x, n = decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int64(x)
+ s := f.toInt64Slice()
+ *s = append(*s, v)
+ }
+ return res, nil
+ }
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int64(x)
+ s := f.toInt64Slice()
+ *s = append(*s, v)
+ return b, nil
+}
+
+func unmarshalSint64Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int64(x>>1) ^ int64(x)<<63>>63
+ *f.toInt64() = v
+ return b, nil
+}
+
+func unmarshalSint64Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int64(x>>1) ^ int64(x)<<63>>63
+ *f.toInt64Ptr() = &v
+ return b, nil
+}
+
+func unmarshalSint64Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ x, n = decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int64(x>>1) ^ int64(x)<<63>>63
+ s := f.toInt64Slice()
+ *s = append(*s, v)
+ }
+ return res, nil
+ }
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int64(x>>1) ^ int64(x)<<63>>63
+ s := f.toInt64Slice()
+ *s = append(*s, v)
+ return b, nil
+}
+
+func unmarshalUint64Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := uint64(x)
+ *f.toUint64() = v
+ return b, nil
+}
+
+func unmarshalUint64Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := uint64(x)
+ *f.toUint64Ptr() = &v
+ return b, nil
+}
+
+func unmarshalUint64Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ x, n = decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := uint64(x)
+ s := f.toUint64Slice()
+ *s = append(*s, v)
+ }
+ return res, nil
+ }
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := uint64(x)
+ s := f.toUint64Slice()
+ *s = append(*s, v)
+ return b, nil
+}
+
+func unmarshalInt32Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int32(x)
+ *f.toInt32() = v
+ return b, nil
+}
+
+func unmarshalInt32Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int32(x)
+ f.setInt32Ptr(v)
+ return b, nil
+}
+
+func unmarshalInt32Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ x, n = decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int32(x)
+ f.appendInt32Slice(v)
+ }
+ return res, nil
+ }
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int32(x)
+ f.appendInt32Slice(v)
+ return b, nil
+}
+
+func unmarshalSint32Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int32(x>>1) ^ int32(x)<<31>>31
+ *f.toInt32() = v
+ return b, nil
+}
+
+func unmarshalSint32Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int32(x>>1) ^ int32(x)<<31>>31
+ f.setInt32Ptr(v)
+ return b, nil
+}
+
+func unmarshalSint32Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ x, n = decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int32(x>>1) ^ int32(x)<<31>>31
+ f.appendInt32Slice(v)
+ }
+ return res, nil
+ }
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := int32(x>>1) ^ int32(x)<<31>>31
+ f.appendInt32Slice(v)
+ return b, nil
+}
+
+func unmarshalUint32Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := uint32(x)
+ *f.toUint32() = v
+ return b, nil
+}
+
+func unmarshalUint32Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := uint32(x)
+ *f.toUint32Ptr() = &v
+ return b, nil
+}
+
+func unmarshalUint32Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ x, n = decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := uint32(x)
+ s := f.toUint32Slice()
+ *s = append(*s, v)
+ }
+ return res, nil
+ }
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ v := uint32(x)
+ s := f.toUint32Slice()
+ *s = append(*s, v)
+ return b, nil
+}
+
+func unmarshalFixed64Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed64 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
+ *f.toUint64() = v
+ return b[8:], nil
+}
+
+func unmarshalFixed64Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed64 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
+ *f.toUint64Ptr() = &v
+ return b[8:], nil
+}
+
+func unmarshalFixed64Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
+ s := f.toUint64Slice()
+ *s = append(*s, v)
+ b = b[8:]
+ }
+ return res, nil
+ }
+ if w != WireFixed64 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
+ s := f.toUint64Slice()
+ *s = append(*s, v)
+ return b[8:], nil
+}
+
+func unmarshalFixedS64Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed64 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56
+ *f.toInt64() = v
+ return b[8:], nil
+}
+
+func unmarshalFixedS64Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed64 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56
+ *f.toInt64Ptr() = &v
+ return b[8:], nil
+}
+
+func unmarshalFixedS64Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56
+ s := f.toInt64Slice()
+ *s = append(*s, v)
+ b = b[8:]
+ }
+ return res, nil
+ }
+ if w != WireFixed64 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56
+ s := f.toInt64Slice()
+ *s = append(*s, v)
+ return b[8:], nil
+}
+
+func unmarshalFixed32Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed32 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
+ *f.toUint32() = v
+ return b[4:], nil
+}
+
+func unmarshalFixed32Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed32 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
+ *f.toUint32Ptr() = &v
+ return b[4:], nil
+}
+
+func unmarshalFixed32Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
+ s := f.toUint32Slice()
+ *s = append(*s, v)
+ b = b[4:]
+ }
+ return res, nil
+ }
+ if w != WireFixed32 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
+ s := f.toUint32Slice()
+ *s = append(*s, v)
+ return b[4:], nil
+}
+
+func unmarshalFixedS32Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed32 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24
+ *f.toInt32() = v
+ return b[4:], nil
+}
+
+func unmarshalFixedS32Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed32 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24
+ f.setInt32Ptr(v)
+ return b[4:], nil
+}
+
+func unmarshalFixedS32Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24
+ f.appendInt32Slice(v)
+ b = b[4:]
+ }
+ return res, nil
+ }
+ if w != WireFixed32 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24
+ f.appendInt32Slice(v)
+ return b[4:], nil
+}
+
+func unmarshalBoolValue(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ // Note: any length varint is allowed, even though any sane
+ // encoder will use one byte.
+ // See https://github.com/golang/protobuf/issues/76
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ // TODO: check if x>1? Tests seem to indicate no.
+ v := x != 0
+ *f.toBool() = v
+ return b[n:], nil
+}
+
+func unmarshalBoolPtr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := x != 0
+ *f.toBoolPtr() = &v
+ return b[n:], nil
+}
+
+func unmarshalBoolSlice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ x, n = decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := x != 0
+ s := f.toBoolSlice()
+ *s = append(*s, v)
+ b = b[n:]
+ }
+ return res, nil
+ }
+ if w != WireVarint {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := x != 0
+ s := f.toBoolSlice()
+ *s = append(*s, v)
+ return b[n:], nil
+}
+
+func unmarshalFloat64Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed64 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)
+ *f.toFloat64() = v
+ return b[8:], nil
+}
+
+func unmarshalFloat64Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed64 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)
+ *f.toFloat64Ptr() = &v
+ return b[8:], nil
+}
+
+func unmarshalFloat64Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)
+ s := f.toFloat64Slice()
+ *s = append(*s, v)
+ b = b[8:]
+ }
+ return res, nil
+ }
+ if w != WireFixed64 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 8 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)
+ s := f.toFloat64Slice()
+ *s = append(*s, v)
+ return b[8:], nil
+}
+
+func unmarshalFloat32Value(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed32 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
+ *f.toFloat32() = v
+ return b[4:], nil
+}
+
+func unmarshalFloat32Ptr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireFixed32 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
+ *f.toFloat32Ptr() = &v
+ return b[4:], nil
+}
+
+func unmarshalFloat32Slice(b []byte, f pointer, w int) ([]byte, error) {
+ if w == WireBytes { // packed
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ res := b[x:]
+ b = b[:x]
+ for len(b) > 0 {
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
+ s := f.toFloat32Slice()
+ *s = append(*s, v)
+ b = b[4:]
+ }
+ return res, nil
+ }
+ if w != WireFixed32 {
+ return b, errInternalBadWireType
+ }
+ if len(b) < 4 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
+ s := f.toFloat32Slice()
+ *s = append(*s, v)
+ return b[4:], nil
+}
+
+func unmarshalStringValue(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := string(b[:x])
+ *f.toString() = v
+ return b[x:], nil
+}
+
+func unmarshalStringPtr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := string(b[:x])
+ *f.toStringPtr() = &v
+ return b[x:], nil
+}
+
+func unmarshalStringSlice(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := string(b[:x])
+ s := f.toStringSlice()
+ *s = append(*s, v)
+ return b[x:], nil
+}
+
+func unmarshalUTF8StringValue(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := string(b[:x])
+ *f.toString() = v
+ if !utf8.ValidString(v) {
+ return b[x:], errInvalidUTF8
+ }
+ return b[x:], nil
+}
+
+func unmarshalUTF8StringPtr(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := string(b[:x])
+ *f.toStringPtr() = &v
+ if !utf8.ValidString(v) {
+ return b[x:], errInvalidUTF8
+ }
+ return b[x:], nil
+}
+
+func unmarshalUTF8StringSlice(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := string(b[:x])
+ s := f.toStringSlice()
+ *s = append(*s, v)
+ if !utf8.ValidString(v) {
+ return b[x:], errInvalidUTF8
+ }
+ return b[x:], nil
+}
+
+var emptyBuf [0]byte
+
+func unmarshalBytesValue(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ // The use of append here is a trick which avoids the zeroing
+ // that would be required if we used a make/copy pair.
+ // We append to emptyBuf instead of nil because we want
+ // a non-nil result even when the length is 0.
+ v := append(emptyBuf[:], b[:x]...)
+ *f.toBytes() = v
+ return b[x:], nil
+}
+
+func unmarshalBytesSlice(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := append(emptyBuf[:], b[:x]...)
+ s := f.toBytesSlice()
+ *s = append(*s, v)
+ return b[x:], nil
+}
+
+func makeUnmarshalMessagePtr(sub *unmarshalInfo, name string) unmarshaler {
+ return func(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ // First read the message field to see if something is there.
+ // The semantics of multiple submessages are weird. Instead of
+ // the last one winning (as it is for all other fields), multiple
+ // submessages are merged.
+ v := f.getPointer()
+ if v.isNil() {
+ v = valToPointer(reflect.New(sub.typ))
+ f.setPointer(v)
+ }
+ err := sub.unmarshal(v, b[:x])
+ if err != nil {
+ if r, ok := err.(*RequiredNotSetError); ok {
+ r.field = name + "." + r.field
+ } else {
+ return nil, err
+ }
+ }
+ return b[x:], err
+ }
+}
+
+func makeUnmarshalMessageSlicePtr(sub *unmarshalInfo, name string) unmarshaler {
+ return func(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireBytes {
+ return b, errInternalBadWireType
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := valToPointer(reflect.New(sub.typ))
+ err := sub.unmarshal(v, b[:x])
+ if err != nil {
+ if r, ok := err.(*RequiredNotSetError); ok {
+ r.field = name + "." + r.field
+ } else {
+ return nil, err
+ }
+ }
+ f.appendPointer(v)
+ return b[x:], err
+ }
+}
+
+func makeUnmarshalGroupPtr(sub *unmarshalInfo, name string) unmarshaler {
+ return func(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireStartGroup {
+ return b, errInternalBadWireType
+ }
+ x, y := findEndGroup(b)
+ if x < 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := f.getPointer()
+ if v.isNil() {
+ v = valToPointer(reflect.New(sub.typ))
+ f.setPointer(v)
+ }
+ err := sub.unmarshal(v, b[:x])
+ if err != nil {
+ if r, ok := err.(*RequiredNotSetError); ok {
+ r.field = name + "." + r.field
+ } else {
+ return nil, err
+ }
+ }
+ return b[y:], err
+ }
+}
+
+func makeUnmarshalGroupSlicePtr(sub *unmarshalInfo, name string) unmarshaler {
+ return func(b []byte, f pointer, w int) ([]byte, error) {
+ if w != WireStartGroup {
+ return b, errInternalBadWireType
+ }
+ x, y := findEndGroup(b)
+ if x < 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ v := valToPointer(reflect.New(sub.typ))
+ err := sub.unmarshal(v, b[:x])
+ if err != nil {
+ if r, ok := err.(*RequiredNotSetError); ok {
+ r.field = name + "." + r.field
+ } else {
+ return nil, err
+ }
+ }
+ f.appendPointer(v)
+ return b[y:], err
+ }
+}
+
+func makeUnmarshalMap(f *reflect.StructField) unmarshaler {
+ t := f.Type
+ kt := t.Key()
+ vt := t.Elem()
+ unmarshalKey := typeUnmarshaler(kt, f.Tag.Get("protobuf_key"))
+ unmarshalVal := typeUnmarshaler(vt, f.Tag.Get("protobuf_val"))
+ return func(b []byte, f pointer, w int) ([]byte, error) {
+ // The map entry is a submessage. Figure out how big it is.
+ if w != WireBytes {
+ return nil, fmt.Errorf("proto: bad wiretype for map field: got %d want %d", w, WireBytes)
+ }
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ b = b[n:]
+ if x > uint64(len(b)) {
+ return nil, io.ErrUnexpectedEOF
+ }
+ r := b[x:] // unused data to return
+ b = b[:x] // data for map entry
+
+ // Note: we could use #keys * #values ~= 200 functions
+ // to do map decoding without reflection. Probably not worth it.
+ // Maps will be somewhat slow. Oh well.
+
+ // Read key and value from data.
+ var nerr nonFatal
+ k := reflect.New(kt)
+ v := reflect.New(vt)
+ for len(b) > 0 {
+ x, n := decodeVarint(b)
+ if n == 0 {
+ return nil, io.ErrUnexpectedEOF
+ }
+ wire := int(x) & 7
+ b = b[n:]
+
+ var err error
+ switch x >> 3 {
+ case 1:
+ b, err = unmarshalKey(b, valToPointer(k), wire)
+ case 2:
+ b, err = unmarshalVal(b, valToPointer(v), wire)
+ default:
+ err = errInternalBadWireType // skip unknown tag
+ }
+
+ if nerr.Merge(err) {
+ continue
+ }
+ if err != errInternalBadWireType {
+ return nil, err
+ }
+
+ // Skip past unknown fields.
+ b, err = skipField(b, wire)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ // Get map, allocate if needed.
+ m := f.asPointerTo(t).Elem() // an addressable map[K]T
+ if m.IsNil() {
+ m.Set(reflect.MakeMap(t))
+ }
+
+ // Insert into map.
+ m.SetMapIndex(k.Elem(), v.Elem())
+
+ return r, nerr.E
+ }
+}
+
+// makeUnmarshalOneof makes an unmarshaler for oneof fields.
+// for:
+// message Msg {
+// oneof F {
+// int64 X = 1;
+// float64 Y = 2;
+// }
+// }
+// typ is the type of the concrete entry for a oneof case (e.g. Msg_X).
+// ityp is the interface type of the oneof field (e.g. isMsg_F).
+// unmarshal is the unmarshaler for the base type of the oneof case (e.g. int64).
+// Note that this function will be called once for each case in the oneof.
+func makeUnmarshalOneof(typ, ityp reflect.Type, unmarshal unmarshaler) unmarshaler {
+ sf := typ.Field(0)
+ field0 := toField(&sf)
+ return func(b []byte, f pointer, w int) ([]byte, error) {
+ // Allocate holder for value.
+ v := reflect.New(typ)
+
+ // Unmarshal data into holder.
+ // We unmarshal into the first field of the holder object.
+ var err error
+ var nerr nonFatal
+ b, err = unmarshal(b, valToPointer(v).offset(field0), w)
+ if !nerr.Merge(err) {
+ return nil, err
+ }
+
+ // Write pointer to holder into target field.
+ f.asPointerTo(ityp).Elem().Set(v)
+
+ return b, nerr.E
+ }
+}
+
+// Error used by decode internally.
+var errInternalBadWireType = errors.New("proto: internal error: bad wiretype")
+
+// skipField skips past a field of type wire and returns the remaining bytes.
+func skipField(b []byte, wire int) ([]byte, error) {
+ switch wire {
+ case WireVarint:
+ _, k := decodeVarint(b)
+ if k == 0 {
+ return b, io.ErrUnexpectedEOF
+ }
+ b = b[k:]
+ case WireFixed32:
+ if len(b) < 4 {
+ return b, io.ErrUnexpectedEOF
+ }
+ b = b[4:]
+ case WireFixed64:
+ if len(b) < 8 {
+ return b, io.ErrUnexpectedEOF
+ }
+ b = b[8:]
+ case WireBytes:
+ m, k := decodeVarint(b)
+ if k == 0 || uint64(len(b)-k) < m {
+ return b, io.ErrUnexpectedEOF
+ }
+ b = b[uint64(k)+m:]
+ case WireStartGroup:
+ _, i := findEndGroup(b)
+ if i == -1 {
+ return b, io.ErrUnexpectedEOF
+ }
+ b = b[i:]
+ default:
+ return b, fmt.Errorf("proto: can't skip unknown wire type %d", wire)
+ }
+ return b, nil
+}
+
+// findEndGroup finds the index of the next EndGroup tag.
+// Groups may be nested, so the "next" EndGroup tag is the first
+// unpaired EndGroup.
+// findEndGroup returns the indexes of the start and end of the EndGroup tag.
+// Returns (-1,-1) if it can't find one.
+func findEndGroup(b []byte) (int, int) {
+ depth := 1
+ i := 0
+ for {
+ x, n := decodeVarint(b[i:])
+ if n == 0 {
+ return -1, -1
+ }
+ j := i
+ i += n
+ switch x & 7 {
+ case WireVarint:
+ _, k := decodeVarint(b[i:])
+ if k == 0 {
+ return -1, -1
+ }
+ i += k
+ case WireFixed32:
+ if len(b)-4 < i {
+ return -1, -1
+ }
+ i += 4
+ case WireFixed64:
+ if len(b)-8 < i {
+ return -1, -1
+ }
+ i += 8
+ case WireBytes:
+ m, k := decodeVarint(b[i:])
+ if k == 0 {
+ return -1, -1
+ }
+ i += k
+ if uint64(len(b)-i) < m {
+ return -1, -1
+ }
+ i += int(m)
+ case WireStartGroup:
+ depth++
+ case WireEndGroup:
+ depth--
+ if depth == 0 {
+ return j, i
+ }
+ default:
+ return -1, -1
+ }
+ }
+}
+
+// encodeVarint appends a varint-encoded integer to b and returns the result.
+func encodeVarint(b []byte, x uint64) []byte {
+ for x >= 1<<7 {
+ b = append(b, byte(x&0x7f|0x80))
+ x >>= 7
+ }
+ return append(b, byte(x))
+}
+
+// decodeVarint reads a varint-encoded integer from b.
+// Returns the decoded integer and the number of bytes read.
+// If there is an error, it returns 0,0.
+func decodeVarint(b []byte) (uint64, int) {
+ var x, y uint64
+ if len(b) == 0 {
+ goto bad
+ }
+ x = uint64(b[0])
+ if x < 0x80 {
+ return x, 1
+ }
+ x -= 0x80
+
+ if len(b) <= 1 {
+ goto bad
+ }
+ y = uint64(b[1])
+ x += y << 7
+ if y < 0x80 {
+ return x, 2
+ }
+ x -= 0x80 << 7
+
+ if len(b) <= 2 {
+ goto bad
+ }
+ y = uint64(b[2])
+ x += y << 14
+ if y < 0x80 {
+ return x, 3
+ }
+ x -= 0x80 << 14
+
+ if len(b) <= 3 {
+ goto bad
+ }
+ y = uint64(b[3])
+ x += y << 21
+ if y < 0x80 {
+ return x, 4
+ }
+ x -= 0x80 << 21
+
+ if len(b) <= 4 {
+ goto bad
+ }
+ y = uint64(b[4])
+ x += y << 28
+ if y < 0x80 {
+ return x, 5
+ }
+ x -= 0x80 << 28
+
+ if len(b) <= 5 {
+ goto bad
+ }
+ y = uint64(b[5])
+ x += y << 35
+ if y < 0x80 {
+ return x, 6
+ }
+ x -= 0x80 << 35
+
+ if len(b) <= 6 {
+ goto bad
+ }
+ y = uint64(b[6])
+ x += y << 42
+ if y < 0x80 {
+ return x, 7
+ }
+ x -= 0x80 << 42
+
+ if len(b) <= 7 {
+ goto bad
+ }
+ y = uint64(b[7])
+ x += y << 49
+ if y < 0x80 {
+ return x, 8
+ }
+ x -= 0x80 << 49
+
+ if len(b) <= 8 {
+ goto bad
+ }
+ y = uint64(b[8])
+ x += y << 56
+ if y < 0x80 {
+ return x, 9
+ }
+ x -= 0x80 << 56
+
+ if len(b) <= 9 {
+ goto bad
+ }
+ y = uint64(b[9])
+ x += y << 63
+ if y < 2 {
+ return x, 10
+ }
+
+bad:
+ return 0, 0
+}
diff --git a/vendor/github.com/golang/protobuf/proto/text.go b/vendor/github.com/golang/protobuf/proto/text.go
new file mode 100644
index 0000000..1aaee72
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/text.go
@@ -0,0 +1,843 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2010 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+// Functions for writing the text protocol buffer format.
+
+import (
+ "bufio"
+ "bytes"
+ "encoding"
+ "errors"
+ "fmt"
+ "io"
+ "log"
+ "math"
+ "reflect"
+ "sort"
+ "strings"
+)
+
+var (
+ newline = []byte("\n")
+ spaces = []byte(" ")
+ endBraceNewline = []byte("}\n")
+ backslashN = []byte{'\\', 'n'}
+ backslashR = []byte{'\\', 'r'}
+ backslashT = []byte{'\\', 't'}
+ backslashDQ = []byte{'\\', '"'}
+ backslashBS = []byte{'\\', '\\'}
+ posInf = []byte("inf")
+ negInf = []byte("-inf")
+ nan = []byte("nan")
+)
+
+type writer interface {
+ io.Writer
+ WriteByte(byte) error
+}
+
+// textWriter is an io.Writer that tracks its indentation level.
+type textWriter struct {
+ ind int
+ complete bool // if the current position is a complete line
+ compact bool // whether to write out as a one-liner
+ w writer
+}
+
+func (w *textWriter) WriteString(s string) (n int, err error) {
+ if !strings.Contains(s, "\n") {
+ if !w.compact && w.complete {
+ w.writeIndent()
+ }
+ w.complete = false
+ return io.WriteString(w.w, s)
+ }
+ // WriteString is typically called without newlines, so this
+ // codepath and its copy are rare. We copy to avoid
+ // duplicating all of Write's logic here.
+ return w.Write([]byte(s))
+}
+
+func (w *textWriter) Write(p []byte) (n int, err error) {
+ newlines := bytes.Count(p, newline)
+ if newlines == 0 {
+ if !w.compact && w.complete {
+ w.writeIndent()
+ }
+ n, err = w.w.Write(p)
+ w.complete = false
+ return n, err
+ }
+
+ frags := bytes.SplitN(p, newline, newlines+1)
+ if w.compact {
+ for i, frag := range frags {
+ if i > 0 {
+ if err := w.w.WriteByte(' '); err != nil {
+ return n, err
+ }
+ n++
+ }
+ nn, err := w.w.Write(frag)
+ n += nn
+ if err != nil {
+ return n, err
+ }
+ }
+ return n, nil
+ }
+
+ for i, frag := range frags {
+ if w.complete {
+ w.writeIndent()
+ }
+ nn, err := w.w.Write(frag)
+ n += nn
+ if err != nil {
+ return n, err
+ }
+ if i+1 < len(frags) {
+ if err := w.w.WriteByte('\n'); err != nil {
+ return n, err
+ }
+ n++
+ }
+ }
+ w.complete = len(frags[len(frags)-1]) == 0
+ return n, nil
+}
+
+func (w *textWriter) WriteByte(c byte) error {
+ if w.compact && c == '\n' {
+ c = ' '
+ }
+ if !w.compact && w.complete {
+ w.writeIndent()
+ }
+ err := w.w.WriteByte(c)
+ w.complete = c == '\n'
+ return err
+}
+
+func (w *textWriter) indent() { w.ind++ }
+
+func (w *textWriter) unindent() {
+ if w.ind == 0 {
+ log.Print("proto: textWriter unindented too far")
+ return
+ }
+ w.ind--
+}
+
+func writeName(w *textWriter, props *Properties) error {
+ if _, err := w.WriteString(props.OrigName); err != nil {
+ return err
+ }
+ if props.Wire != "group" {
+ return w.WriteByte(':')
+ }
+ return nil
+}
+
+func requiresQuotes(u string) bool {
+ // When type URL contains any characters except [0-9A-Za-z./\-]*, it must be quoted.
+ for _, ch := range u {
+ switch {
+ case ch == '.' || ch == '/' || ch == '_':
+ continue
+ case '0' <= ch && ch <= '9':
+ continue
+ case 'A' <= ch && ch <= 'Z':
+ continue
+ case 'a' <= ch && ch <= 'z':
+ continue
+ default:
+ return true
+ }
+ }
+ return false
+}
+
+// isAny reports whether sv is a google.protobuf.Any message
+func isAny(sv reflect.Value) bool {
+ type wkt interface {
+ XXX_WellKnownType() string
+ }
+ t, ok := sv.Addr().Interface().(wkt)
+ return ok && t.XXX_WellKnownType() == "Any"
+}
+
+// writeProto3Any writes an expanded google.protobuf.Any message.
+//
+// It returns (false, nil) if sv value can't be unmarshaled (e.g. because
+// required messages are not linked in).
+//
+// It returns (true, error) when sv was written in expanded format or an error
+// was encountered.
+func (tm *TextMarshaler) writeProto3Any(w *textWriter, sv reflect.Value) (bool, error) {
+ turl := sv.FieldByName("TypeUrl")
+ val := sv.FieldByName("Value")
+ if !turl.IsValid() || !val.IsValid() {
+ return true, errors.New("proto: invalid google.protobuf.Any message")
+ }
+
+ b, ok := val.Interface().([]byte)
+ if !ok {
+ return true, errors.New("proto: invalid google.protobuf.Any message")
+ }
+
+ parts := strings.Split(turl.String(), "/")
+ mt := MessageType(parts[len(parts)-1])
+ if mt == nil {
+ return false, nil
+ }
+ m := reflect.New(mt.Elem())
+ if err := Unmarshal(b, m.Interface().(Message)); err != nil {
+ return false, nil
+ }
+ w.Write([]byte("["))
+ u := turl.String()
+ if requiresQuotes(u) {
+ writeString(w, u)
+ } else {
+ w.Write([]byte(u))
+ }
+ if w.compact {
+ w.Write([]byte("]:<"))
+ } else {
+ w.Write([]byte("]: <\n"))
+ w.ind++
+ }
+ if err := tm.writeStruct(w, m.Elem()); err != nil {
+ return true, err
+ }
+ if w.compact {
+ w.Write([]byte("> "))
+ } else {
+ w.ind--
+ w.Write([]byte(">\n"))
+ }
+ return true, nil
+}
+
+func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error {
+ if tm.ExpandAny && isAny(sv) {
+ if canExpand, err := tm.writeProto3Any(w, sv); canExpand {
+ return err
+ }
+ }
+ st := sv.Type()
+ sprops := GetProperties(st)
+ for i := 0; i < sv.NumField(); i++ {
+ fv := sv.Field(i)
+ props := sprops.Prop[i]
+ name := st.Field(i).Name
+
+ if name == "XXX_NoUnkeyedLiteral" {
+ continue
+ }
+
+ if strings.HasPrefix(name, "XXX_") {
+ // There are two XXX_ fields:
+ // XXX_unrecognized []byte
+ // XXX_extensions map[int32]proto.Extension
+ // The first is handled here;
+ // the second is handled at the bottom of this function.
+ if name == "XXX_unrecognized" && !fv.IsNil() {
+ if err := writeUnknownStruct(w, fv.Interface().([]byte)); err != nil {
+ return err
+ }
+ }
+ continue
+ }
+ if fv.Kind() == reflect.Ptr && fv.IsNil() {
+ // Field not filled in. This could be an optional field or
+ // a required field that wasn't filled in. Either way, there
+ // isn't anything we can show for it.
+ continue
+ }
+ if fv.Kind() == reflect.Slice && fv.IsNil() {
+ // Repeated field that is empty, or a bytes field that is unused.
+ continue
+ }
+
+ if props.Repeated && fv.Kind() == reflect.Slice {
+ // Repeated field.
+ for j := 0; j < fv.Len(); j++ {
+ if err := writeName(w, props); err != nil {
+ return err
+ }
+ if !w.compact {
+ if err := w.WriteByte(' '); err != nil {
+ return err
+ }
+ }
+ v := fv.Index(j)
+ if v.Kind() == reflect.Ptr && v.IsNil() {
+ // A nil message in a repeated field is not valid,
+ // but we can handle that more gracefully than panicking.
+ if _, err := w.Write([]byte("<nil>\n")); err != nil {
+ return err
+ }
+ continue
+ }
+ if err := tm.writeAny(w, v, props); err != nil {
+ return err
+ }
+ if err := w.WriteByte('\n'); err != nil {
+ return err
+ }
+ }
+ continue
+ }
+ if fv.Kind() == reflect.Map {
+ // Map fields are rendered as a repeated struct with key/value fields.
+ keys := fv.MapKeys()
+ sort.Sort(mapKeys(keys))
+ for _, key := range keys {
+ val := fv.MapIndex(key)
+ if err := writeName(w, props); err != nil {
+ return err
+ }
+ if !w.compact {
+ if err := w.WriteByte(' '); err != nil {
+ return err
+ }
+ }
+ // open struct
+ if err := w.WriteByte('<'); err != nil {
+ return err
+ }
+ if !w.compact {
+ if err := w.WriteByte('\n'); err != nil {
+ return err
+ }
+ }
+ w.indent()
+ // key
+ if _, err := w.WriteString("key:"); err != nil {
+ return err
+ }
+ if !w.compact {
+ if err := w.WriteByte(' '); err != nil {
+ return err
+ }
+ }
+ if err := tm.writeAny(w, key, props.MapKeyProp); err != nil {
+ return err
+ }
+ if err := w.WriteByte('\n'); err != nil {
+ return err
+ }
+ // nil values aren't legal, but we can avoid panicking because of them.
+ if val.Kind() != reflect.Ptr || !val.IsNil() {
+ // value
+ if _, err := w.WriteString("value:"); err != nil {
+ return err
+ }
+ if !w.compact {
+ if err := w.WriteByte(' '); err != nil {
+ return err
+ }
+ }
+ if err := tm.writeAny(w, val, props.MapValProp); err != nil {
+ return err
+ }
+ if err := w.WriteByte('\n'); err != nil {
+ return err
+ }
+ }
+ // close struct
+ w.unindent()
+ if err := w.WriteByte('>'); err != nil {
+ return err
+ }
+ if err := w.WriteByte('\n'); err != nil {
+ return err
+ }
+ }
+ continue
+ }
+ if props.proto3 && fv.Kind() == reflect.Slice && fv.Len() == 0 {
+ // empty bytes field
+ continue
+ }
+ if fv.Kind() != reflect.Ptr && fv.Kind() != reflect.Slice {
+ // proto3 non-repeated scalar field; skip if zero value
+ if isProto3Zero(fv) {
+ continue
+ }
+ }
+
+ if fv.Kind() == reflect.Interface {
+ // Check if it is a oneof.
+ if st.Field(i).Tag.Get("protobuf_oneof") != "" {
+ // fv is nil, or holds a pointer to generated struct.
+ // That generated struct has exactly one field,
+ // which has a protobuf struct tag.
+ if fv.IsNil() {
+ continue
+ }
+ inner := fv.Elem().Elem() // interface -> *T -> T
+ tag := inner.Type().Field(0).Tag.Get("protobuf")
+ props = new(Properties) // Overwrite the outer props var, but not its pointee.
+ props.Parse(tag)
+ // Write the value in the oneof, not the oneof itself.
+ fv = inner.Field(0)
+
+ // Special case to cope with malformed messages gracefully:
+ // If the value in the oneof is a nil pointer, don't panic
+ // in writeAny.
+ if fv.Kind() == reflect.Ptr && fv.IsNil() {
+ // Use errors.New so writeAny won't render quotes.
+ msg := errors.New("/* nil */")
+ fv = reflect.ValueOf(&msg).Elem()
+ }
+ }
+ }
+
+ if err := writeName(w, props); err != nil {
+ return err
+ }
+ if !w.compact {
+ if err := w.WriteByte(' '); err != nil {
+ return err
+ }
+ }
+
+ // Enums have a String method, so writeAny will work fine.
+ if err := tm.writeAny(w, fv, props); err != nil {
+ return err
+ }
+
+ if err := w.WriteByte('\n'); err != nil {
+ return err
+ }
+ }
+
+ // Extensions (the XXX_extensions field).
+ pv := sv.Addr()
+ if _, err := extendable(pv.Interface()); err == nil {
+ if err := tm.writeExtensions(w, pv); err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+// writeAny writes an arbitrary field.
+func (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error {
+ v = reflect.Indirect(v)
+
+ // Floats have special cases.
+ if v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 {
+ x := v.Float()
+ var b []byte
+ switch {
+ case math.IsInf(x, 1):
+ b = posInf
+ case math.IsInf(x, -1):
+ b = negInf
+ case math.IsNaN(x):
+ b = nan
+ }
+ if b != nil {
+ _, err := w.Write(b)
+ return err
+ }
+ // Other values are handled below.
+ }
+
+ // We don't attempt to serialise every possible value type; only those
+ // that can occur in protocol buffers.
+ switch v.Kind() {
+ case reflect.Slice:
+ // Should only be a []byte; repeated fields are handled in writeStruct.
+ if err := writeString(w, string(v.Bytes())); err != nil {
+ return err
+ }
+ case reflect.String:
+ if err := writeString(w, v.String()); err != nil {
+ return err
+ }
+ case reflect.Struct:
+ // Required/optional group/message.
+ var bra, ket byte = '<', '>'
+ if props != nil && props.Wire == "group" {
+ bra, ket = '{', '}'
+ }
+ if err := w.WriteByte(bra); err != nil {
+ return err
+ }
+ if !w.compact {
+ if err := w.WriteByte('\n'); err != nil {
+ return err
+ }
+ }
+ w.indent()
+ if v.CanAddr() {
+ // Calling v.Interface on a struct causes the reflect package to
+ // copy the entire struct. This is racy with the new Marshaler
+ // since we atomically update the XXX_sizecache.
+ //
+ // Thus, we retrieve a pointer to the struct if possible to avoid
+ // a race since v.Interface on the pointer doesn't copy the struct.
+ //
+ // If v is not addressable, then we are not worried about a race
+ // since it implies that the binary Marshaler cannot possibly be
+ // mutating this value.
+ v = v.Addr()
+ }
+ if etm, ok := v.Interface().(encoding.TextMarshaler); ok {
+ text, err := etm.MarshalText()
+ if err != nil {
+ return err
+ }
+ if _, err = w.Write(text); err != nil {
+ return err
+ }
+ } else {
+ if v.Kind() == reflect.Ptr {
+ v = v.Elem()
+ }
+ if err := tm.writeStruct(w, v); err != nil {
+ return err
+ }
+ }
+ w.unindent()
+ if err := w.WriteByte(ket); err != nil {
+ return err
+ }
+ default:
+ _, err := fmt.Fprint(w, v.Interface())
+ return err
+ }
+ return nil
+}
+
+// equivalent to C's isprint.
+func isprint(c byte) bool {
+ return c >= 0x20 && c < 0x7f
+}
+
+// writeString writes a string in the protocol buffer text format.
+// It is similar to strconv.Quote except we don't use Go escape sequences,
+// we treat the string as a byte sequence, and we use octal escapes.
+// These differences are to maintain interoperability with the other
+// languages' implementations of the text format.
+func writeString(w *textWriter, s string) error {
+ // use WriteByte here to get any needed indent
+ if err := w.WriteByte('"'); err != nil {
+ return err
+ }
+ // Loop over the bytes, not the runes.
+ for i := 0; i < len(s); i++ {
+ var err error
+ // Divergence from C++: we don't escape apostrophes.
+ // There's no need to escape them, and the C++ parser
+ // copes with a naked apostrophe.
+ switch c := s[i]; c {
+ case '\n':
+ _, err = w.w.Write(backslashN)
+ case '\r':
+ _, err = w.w.Write(backslashR)
+ case '\t':
+ _, err = w.w.Write(backslashT)
+ case '"':
+ _, err = w.w.Write(backslashDQ)
+ case '\\':
+ _, err = w.w.Write(backslashBS)
+ default:
+ if isprint(c) {
+ err = w.w.WriteByte(c)
+ } else {
+ _, err = fmt.Fprintf(w.w, "\\%03o", c)
+ }
+ }
+ if err != nil {
+ return err
+ }
+ }
+ return w.WriteByte('"')
+}
+
+func writeUnknownStruct(w *textWriter, data []byte) (err error) {
+ if !w.compact {
+ if _, err := fmt.Fprintf(w, "/* %d unknown bytes */\n", len(data)); err != nil {
+ return err
+ }
+ }
+ b := NewBuffer(data)
+ for b.index < len(b.buf) {
+ x, err := b.DecodeVarint()
+ if err != nil {
+ _, err := fmt.Fprintf(w, "/* %v */\n", err)
+ return err
+ }
+ wire, tag := x&7, x>>3
+ if wire == WireEndGroup {
+ w.unindent()
+ if _, err := w.Write(endBraceNewline); err != nil {
+ return err
+ }
+ continue
+ }
+ if _, err := fmt.Fprint(w, tag); err != nil {
+ return err
+ }
+ if wire != WireStartGroup {
+ if err := w.WriteByte(':'); err != nil {
+ return err
+ }
+ }
+ if !w.compact || wire == WireStartGroup {
+ if err := w.WriteByte(' '); err != nil {
+ return err
+ }
+ }
+ switch wire {
+ case WireBytes:
+ buf, e := b.DecodeRawBytes(false)
+ if e == nil {
+ _, err = fmt.Fprintf(w, "%q", buf)
+ } else {
+ _, err = fmt.Fprintf(w, "/* %v */", e)
+ }
+ case WireFixed32:
+ x, err = b.DecodeFixed32()
+ err = writeUnknownInt(w, x, err)
+ case WireFixed64:
+ x, err = b.DecodeFixed64()
+ err = writeUnknownInt(w, x, err)
+ case WireStartGroup:
+ err = w.WriteByte('{')
+ w.indent()
+ case WireVarint:
+ x, err = b.DecodeVarint()
+ err = writeUnknownInt(w, x, err)
+ default:
+ _, err = fmt.Fprintf(w, "/* unknown wire type %d */", wire)
+ }
+ if err != nil {
+ return err
+ }
+ if err = w.WriteByte('\n'); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func writeUnknownInt(w *textWriter, x uint64, err error) error {
+ if err == nil {
+ _, err = fmt.Fprint(w, x)
+ } else {
+ _, err = fmt.Fprintf(w, "/* %v */", err)
+ }
+ return err
+}
+
+type int32Slice []int32
+
+func (s int32Slice) Len() int { return len(s) }
+func (s int32Slice) Less(i, j int) bool { return s[i] < s[j] }
+func (s int32Slice) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
+
+// writeExtensions writes all the extensions in pv.
+// pv is assumed to be a pointer to a protocol message struct that is extendable.
+func (tm *TextMarshaler) writeExtensions(w *textWriter, pv reflect.Value) error {
+ emap := extensionMaps[pv.Type().Elem()]
+ ep, _ := extendable(pv.Interface())
+
+ // Order the extensions by ID.
+ // This isn't strictly necessary, but it will give us
+ // canonical output, which will also make testing easier.
+ m, mu := ep.extensionsRead()
+ if m == nil {
+ return nil
+ }
+ mu.Lock()
+ ids := make([]int32, 0, len(m))
+ for id := range m {
+ ids = append(ids, id)
+ }
+ sort.Sort(int32Slice(ids))
+ mu.Unlock()
+
+ for _, extNum := range ids {
+ ext := m[extNum]
+ var desc *ExtensionDesc
+ if emap != nil {
+ desc = emap[extNum]
+ }
+ if desc == nil {
+ // Unknown extension.
+ if err := writeUnknownStruct(w, ext.enc); err != nil {
+ return err
+ }
+ continue
+ }
+
+ pb, err := GetExtension(ep, desc)
+ if err != nil {
+ return fmt.Errorf("failed getting extension: %v", err)
+ }
+
+ // Repeated extensions will appear as a slice.
+ if !desc.repeated() {
+ if err := tm.writeExtension(w, desc.Name, pb); err != nil {
+ return err
+ }
+ } else {
+ v := reflect.ValueOf(pb)
+ for i := 0; i < v.Len(); i++ {
+ if err := tm.writeExtension(w, desc.Name, v.Index(i).Interface()); err != nil {
+ return err
+ }
+ }
+ }
+ }
+ return nil
+}
+
+func (tm *TextMarshaler) writeExtension(w *textWriter, name string, pb interface{}) error {
+ if _, err := fmt.Fprintf(w, "[%s]:", name); err != nil {
+ return err
+ }
+ if !w.compact {
+ if err := w.WriteByte(' '); err != nil {
+ return err
+ }
+ }
+ if err := tm.writeAny(w, reflect.ValueOf(pb), nil); err != nil {
+ return err
+ }
+ if err := w.WriteByte('\n'); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (w *textWriter) writeIndent() {
+ if !w.complete {
+ return
+ }
+ remain := w.ind * 2
+ for remain > 0 {
+ n := remain
+ if n > len(spaces) {
+ n = len(spaces)
+ }
+ w.w.Write(spaces[:n])
+ remain -= n
+ }
+ w.complete = false
+}
+
+// TextMarshaler is a configurable text format marshaler.
+type TextMarshaler struct {
+ Compact bool // use compact text format (one line).
+ ExpandAny bool // expand google.protobuf.Any messages of known types
+}
+
+// Marshal writes a given protocol buffer in text format.
+// The only errors returned are from w.
+func (tm *TextMarshaler) Marshal(w io.Writer, pb Message) error {
+ val := reflect.ValueOf(pb)
+ if pb == nil || val.IsNil() {
+ w.Write([]byte("<nil>"))
+ return nil
+ }
+ var bw *bufio.Writer
+ ww, ok := w.(writer)
+ if !ok {
+ bw = bufio.NewWriter(w)
+ ww = bw
+ }
+ aw := &textWriter{
+ w: ww,
+ complete: true,
+ compact: tm.Compact,
+ }
+
+ if etm, ok := pb.(encoding.TextMarshaler); ok {
+ text, err := etm.MarshalText()
+ if err != nil {
+ return err
+ }
+ if _, err = aw.Write(text); err != nil {
+ return err
+ }
+ if bw != nil {
+ return bw.Flush()
+ }
+ return nil
+ }
+ // Dereference the received pointer so we don't have outer < and >.
+ v := reflect.Indirect(val)
+ if err := tm.writeStruct(aw, v); err != nil {
+ return err
+ }
+ if bw != nil {
+ return bw.Flush()
+ }
+ return nil
+}
+
+// Text is the same as Marshal, but returns the string directly.
+func (tm *TextMarshaler) Text(pb Message) string {
+ var buf bytes.Buffer
+ tm.Marshal(&buf, pb)
+ return buf.String()
+}
+
+var (
+ defaultTextMarshaler = TextMarshaler{}
+ compactTextMarshaler = TextMarshaler{Compact: true}
+)
+
+// TODO: consider removing some of the Marshal functions below.
+
+// MarshalText writes a given protocol buffer in text format.
+// The only errors returned are from w.
+func MarshalText(w io.Writer, pb Message) error { return defaultTextMarshaler.Marshal(w, pb) }
+
+// MarshalTextString is the same as MarshalText, but returns the string directly.
+func MarshalTextString(pb Message) string { return defaultTextMarshaler.Text(pb) }
+
+// CompactText writes a given protocol buffer in compact text format (one line).
+func CompactText(w io.Writer, pb Message) error { return compactTextMarshaler.Marshal(w, pb) }
+
+// CompactTextString is the same as CompactText, but returns the string directly.
+func CompactTextString(pb Message) string { return compactTextMarshaler.Text(pb) }
diff --git a/vendor/github.com/golang/protobuf/proto/text_parser.go b/vendor/github.com/golang/protobuf/proto/text_parser.go
new file mode 100644
index 0000000..bb55a3a
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/proto/text_parser.go
@@ -0,0 +1,880 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2010 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package proto
+
+// Functions for parsing the Text protocol buffer format.
+// TODO: message sets.
+
+import (
+ "encoding"
+ "errors"
+ "fmt"
+ "reflect"
+ "strconv"
+ "strings"
+ "unicode/utf8"
+)
+
+// Error string emitted when deserializing Any and fields are already set
+const anyRepeatedlyUnpacked = "Any message unpacked multiple times, or %q already set"
+
+type ParseError struct {
+ Message string
+ Line int // 1-based line number
+ Offset int // 0-based byte offset from start of input
+}
+
+func (p *ParseError) Error() string {
+ if p.Line == 1 {
+ // show offset only for first line
+ return fmt.Sprintf("line 1.%d: %v", p.Offset, p.Message)
+ }
+ return fmt.Sprintf("line %d: %v", p.Line, p.Message)
+}
+
+type token struct {
+ value string
+ err *ParseError
+ line int // line number
+ offset int // byte number from start of input, not start of line
+ unquoted string // the unquoted version of value, if it was a quoted string
+}
+
+func (t *token) String() string {
+ if t.err == nil {
+ return fmt.Sprintf("%q (line=%d, offset=%d)", t.value, t.line, t.offset)
+ }
+ return fmt.Sprintf("parse error: %v", t.err)
+}
+
+type textParser struct {
+ s string // remaining input
+ done bool // whether the parsing is finished (success or error)
+ backed bool // whether back() was called
+ offset, line int
+ cur token
+}
+
+func newTextParser(s string) *textParser {
+ p := new(textParser)
+ p.s = s
+ p.line = 1
+ p.cur.line = 1
+ return p
+}
+
+func (p *textParser) errorf(format string, a ...interface{}) *ParseError {
+ pe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset}
+ p.cur.err = pe
+ p.done = true
+ return pe
+}
+
+// Numbers and identifiers are matched by [-+._A-Za-z0-9]
+func isIdentOrNumberChar(c byte) bool {
+ switch {
+ case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z':
+ return true
+ case '0' <= c && c <= '9':
+ return true
+ }
+ switch c {
+ case '-', '+', '.', '_':
+ return true
+ }
+ return false
+}
+
+func isWhitespace(c byte) bool {
+ switch c {
+ case ' ', '\t', '\n', '\r':
+ return true
+ }
+ return false
+}
+
+func isQuote(c byte) bool {
+ switch c {
+ case '"', '\'':
+ return true
+ }
+ return false
+}
+
+func (p *textParser) skipWhitespace() {
+ i := 0
+ for i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') {
+ if p.s[i] == '#' {
+ // comment; skip to end of line or input
+ for i < len(p.s) && p.s[i] != '\n' {
+ i++
+ }
+ if i == len(p.s) {
+ break
+ }
+ }
+ if p.s[i] == '\n' {
+ p.line++
+ }
+ i++
+ }
+ p.offset += i
+ p.s = p.s[i:len(p.s)]
+ if len(p.s) == 0 {
+ p.done = true
+ }
+}
+
+func (p *textParser) advance() {
+ // Skip whitespace
+ p.skipWhitespace()
+ if p.done {
+ return
+ }
+
+ // Start of non-whitespace
+ p.cur.err = nil
+ p.cur.offset, p.cur.line = p.offset, p.line
+ p.cur.unquoted = ""
+ switch p.s[0] {
+ case '<', '>', '{', '}', ':', '[', ']', ';', ',', '/':
+ // Single symbol
+ p.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)]
+ case '"', '\'':
+ // Quoted string
+ i := 1
+ for i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\n' {
+ if p.s[i] == '\\' && i+1 < len(p.s) {
+ // skip escaped char
+ i++
+ }
+ i++
+ }
+ if i >= len(p.s) || p.s[i] != p.s[0] {
+ p.errorf("unmatched quote")
+ return
+ }
+ unq, err := unquoteC(p.s[1:i], rune(p.s[0]))
+ if err != nil {
+ p.errorf("invalid quoted string %s: %v", p.s[0:i+1], err)
+ return
+ }
+ p.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)]
+ p.cur.unquoted = unq
+ default:
+ i := 0
+ for i < len(p.s) && isIdentOrNumberChar(p.s[i]) {
+ i++
+ }
+ if i == 0 {
+ p.errorf("unexpected byte %#x", p.s[0])
+ return
+ }
+ p.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)]
+ }
+ p.offset += len(p.cur.value)
+}
+
+var (
+ errBadUTF8 = errors.New("proto: bad UTF-8")
+)
+
+func unquoteC(s string, quote rune) (string, error) {
+ // This is based on C++'s tokenizer.cc.
+ // Despite its name, this is *not* parsing C syntax.
+ // For instance, "\0" is an invalid quoted string.
+
+ // Avoid allocation in trivial cases.
+ simple := true
+ for _, r := range s {
+ if r == '\\' || r == quote {
+ simple = false
+ break
+ }
+ }
+ if simple {
+ return s, nil
+ }
+
+ buf := make([]byte, 0, 3*len(s)/2)
+ for len(s) > 0 {
+ r, n := utf8.DecodeRuneInString(s)
+ if r == utf8.RuneError && n == 1 {
+ return "", errBadUTF8
+ }
+ s = s[n:]
+ if r != '\\' {
+ if r < utf8.RuneSelf {
+ buf = append(buf, byte(r))
+ } else {
+ buf = append(buf, string(r)...)
+ }
+ continue
+ }
+
+ ch, tail, err := unescape(s)
+ if err != nil {
+ return "", err
+ }
+ buf = append(buf, ch...)
+ s = tail
+ }
+ return string(buf), nil
+}
+
+func unescape(s string) (ch string, tail string, err error) {
+ r, n := utf8.DecodeRuneInString(s)
+ if r == utf8.RuneError && n == 1 {
+ return "", "", errBadUTF8
+ }
+ s = s[n:]
+ switch r {
+ case 'a':
+ return "\a", s, nil
+ case 'b':
+ return "\b", s, nil
+ case 'f':
+ return "\f", s, nil
+ case 'n':
+ return "\n", s, nil
+ case 'r':
+ return "\r", s, nil
+ case 't':
+ return "\t", s, nil
+ case 'v':
+ return "\v", s, nil
+ case '?':
+ return "?", s, nil // trigraph workaround
+ case '\'', '"', '\\':
+ return string(r), s, nil
+ case '0', '1', '2', '3', '4', '5', '6', '7':
+ if len(s) < 2 {
+ return "", "", fmt.Errorf(`\%c requires 2 following digits`, r)
+ }
+ ss := string(r) + s[:2]
+ s = s[2:]
+ i, err := strconv.ParseUint(ss, 8, 8)
+ if err != nil {
+ return "", "", fmt.Errorf(`\%s contains non-octal digits`, ss)
+ }
+ return string([]byte{byte(i)}), s, nil
+ case 'x', 'X', 'u', 'U':
+ var n int
+ switch r {
+ case 'x', 'X':
+ n = 2
+ case 'u':
+ n = 4
+ case 'U':
+ n = 8
+ }
+ if len(s) < n {
+ return "", "", fmt.Errorf(`\%c requires %d following digits`, r, n)
+ }
+ ss := s[:n]
+ s = s[n:]
+ i, err := strconv.ParseUint(ss, 16, 64)
+ if err != nil {
+ return "", "", fmt.Errorf(`\%c%s contains non-hexadecimal digits`, r, ss)
+ }
+ if r == 'x' || r == 'X' {
+ return string([]byte{byte(i)}), s, nil
+ }
+ if i > utf8.MaxRune {
+ return "", "", fmt.Errorf(`\%c%s is not a valid Unicode code point`, r, ss)
+ }
+ return string(i), s, nil
+ }
+ return "", "", fmt.Errorf(`unknown escape \%c`, r)
+}
+
+// Back off the parser by one token. Can only be done between calls to next().
+// It makes the next advance() a no-op.
+func (p *textParser) back() { p.backed = true }
+
+// Advances the parser and returns the new current token.
+func (p *textParser) next() *token {
+ if p.backed || p.done {
+ p.backed = false
+ return &p.cur
+ }
+ p.advance()
+ if p.done {
+ p.cur.value = ""
+ } else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) {
+ // Look for multiple quoted strings separated by whitespace,
+ // and concatenate them.
+ cat := p.cur
+ for {
+ p.skipWhitespace()
+ if p.done || !isQuote(p.s[0]) {
+ break
+ }
+ p.advance()
+ if p.cur.err != nil {
+ return &p.cur
+ }
+ cat.value += " " + p.cur.value
+ cat.unquoted += p.cur.unquoted
+ }
+ p.done = false // parser may have seen EOF, but we want to return cat
+ p.cur = cat
+ }
+ return &p.cur
+}
+
+func (p *textParser) consumeToken(s string) error {
+ tok := p.next()
+ if tok.err != nil {
+ return tok.err
+ }
+ if tok.value != s {
+ p.back()
+ return p.errorf("expected %q, found %q", s, tok.value)
+ }
+ return nil
+}
+
+// Return a RequiredNotSetError indicating which required field was not set.
+func (p *textParser) missingRequiredFieldError(sv reflect.Value) *RequiredNotSetError {
+ st := sv.Type()
+ sprops := GetProperties(st)
+ for i := 0; i < st.NumField(); i++ {
+ if !isNil(sv.Field(i)) {
+ continue
+ }
+
+ props := sprops.Prop[i]
+ if props.Required {
+ return &RequiredNotSetError{fmt.Sprintf("%v.%v", st, props.OrigName)}
+ }
+ }
+ return &RequiredNotSetError{fmt.Sprintf("%v.<unknown field name>", st)} // should not happen
+}
+
+// Returns the index in the struct for the named field, as well as the parsed tag properties.
+func structFieldByName(sprops *StructProperties, name string) (int, *Properties, bool) {
+ i, ok := sprops.decoderOrigNames[name]
+ if ok {
+ return i, sprops.Prop[i], true
+ }
+ return -1, nil, false
+}
+
+// Consume a ':' from the input stream (if the next token is a colon),
+// returning an error if a colon is needed but not present.
+func (p *textParser) checkForColon(props *Properties, typ reflect.Type) *ParseError {
+ tok := p.next()
+ if tok.err != nil {
+ return tok.err
+ }
+ if tok.value != ":" {
+ // Colon is optional when the field is a group or message.
+ needColon := true
+ switch props.Wire {
+ case "group":
+ needColon = false
+ case "bytes":
+ // A "bytes" field is either a message, a string, or a repeated field;
+ // those three become *T, *string and []T respectively, so we can check for
+ // this field being a pointer to a non-string.
+ if typ.Kind() == reflect.Ptr {
+ // *T or *string
+ if typ.Elem().Kind() == reflect.String {
+ break
+ }
+ } else if typ.Kind() == reflect.Slice {
+ // []T or []*T
+ if typ.Elem().Kind() != reflect.Ptr {
+ break
+ }
+ } else if typ.Kind() == reflect.String {
+ // The proto3 exception is for a string field,
+ // which requires a colon.
+ break
+ }
+ needColon = false
+ }
+ if needColon {
+ return p.errorf("expected ':', found %q", tok.value)
+ }
+ p.back()
+ }
+ return nil
+}
+
+func (p *textParser) readStruct(sv reflect.Value, terminator string) error {
+ st := sv.Type()
+ sprops := GetProperties(st)
+ reqCount := sprops.reqCount
+ var reqFieldErr error
+ fieldSet := make(map[string]bool)
+ // A struct is a sequence of "name: value", terminated by one of
+ // '>' or '}', or the end of the input. A name may also be
+ // "[extension]" or "[type/url]".
+ //
+ // The whole struct can also be an expanded Any message, like:
+ // [type/url] < ... struct contents ... >
+ for {
+ tok := p.next()
+ if tok.err != nil {
+ return tok.err
+ }
+ if tok.value == terminator {
+ break
+ }
+ if tok.value == "[" {
+ // Looks like an extension or an Any.
+ //
+ // TODO: Check whether we need to handle
+ // namespace rooted names (e.g. ".something.Foo").
+ extName, err := p.consumeExtName()
+ if err != nil {
+ return err
+ }
+
+ if s := strings.LastIndex(extName, "/"); s >= 0 {
+ // If it contains a slash, it's an Any type URL.
+ messageName := extName[s+1:]
+ mt := MessageType(messageName)
+ if mt == nil {
+ return p.errorf("unrecognized message %q in google.protobuf.Any", messageName)
+ }
+ tok = p.next()
+ if tok.err != nil {
+ return tok.err
+ }
+ // consume an optional colon
+ if tok.value == ":" {
+ tok = p.next()
+ if tok.err != nil {
+ return tok.err
+ }
+ }
+ var terminator string
+ switch tok.value {
+ case "<":
+ terminator = ">"
+ case "{":
+ terminator = "}"
+ default:
+ return p.errorf("expected '{' or '<', found %q", tok.value)
+ }
+ v := reflect.New(mt.Elem())
+ if pe := p.readStruct(v.Elem(), terminator); pe != nil {
+ return pe
+ }
+ b, err := Marshal(v.Interface().(Message))
+ if err != nil {
+ return p.errorf("failed to marshal message of type %q: %v", messageName, err)
+ }
+ if fieldSet["type_url"] {
+ return p.errorf(anyRepeatedlyUnpacked, "type_url")
+ }
+ if fieldSet["value"] {
+ return p.errorf(anyRepeatedlyUnpacked, "value")
+ }
+ sv.FieldByName("TypeUrl").SetString(extName)
+ sv.FieldByName("Value").SetBytes(b)
+ fieldSet["type_url"] = true
+ fieldSet["value"] = true
+ continue
+ }
+
+ var desc *ExtensionDesc
+ // This could be faster, but it's functional.
+ // TODO: Do something smarter than a linear scan.
+ for _, d := range RegisteredExtensions(reflect.New(st).Interface().(Message)) {
+ if d.Name == extName {
+ desc = d
+ break
+ }
+ }
+ if desc == nil {
+ return p.errorf("unrecognized extension %q", extName)
+ }
+
+ props := &Properties{}
+ props.Parse(desc.Tag)
+
+ typ := reflect.TypeOf(desc.ExtensionType)
+ if err := p.checkForColon(props, typ); err != nil {
+ return err
+ }
+
+ rep := desc.repeated()
+
+ // Read the extension structure, and set it in
+ // the value we're constructing.
+ var ext reflect.Value
+ if !rep {
+ ext = reflect.New(typ).Elem()
+ } else {
+ ext = reflect.New(typ.Elem()).Elem()
+ }
+ if err := p.readAny(ext, props); err != nil {
+ if _, ok := err.(*RequiredNotSetError); !ok {
+ return err
+ }
+ reqFieldErr = err
+ }
+ ep := sv.Addr().Interface().(Message)
+ if !rep {
+ SetExtension(ep, desc, ext.Interface())
+ } else {
+ old, err := GetExtension(ep, desc)
+ var sl reflect.Value
+ if err == nil {
+ sl = reflect.ValueOf(old) // existing slice
+ } else {
+ sl = reflect.MakeSlice(typ, 0, 1)
+ }
+ sl = reflect.Append(sl, ext)
+ SetExtension(ep, desc, sl.Interface())
+ }
+ if err := p.consumeOptionalSeparator(); err != nil {
+ return err
+ }
+ continue
+ }
+
+ // This is a normal, non-extension field.
+ name := tok.value
+ var dst reflect.Value
+ fi, props, ok := structFieldByName(sprops, name)
+ if ok {
+ dst = sv.Field(fi)
+ } else if oop, ok := sprops.OneofTypes[name]; ok {
+ // It is a oneof.
+ props = oop.Prop
+ nv := reflect.New(oop.Type.Elem())
+ dst = nv.Elem().Field(0)
+ field := sv.Field(oop.Field)
+ if !field.IsNil() {
+ return p.errorf("field '%s' would overwrite already parsed oneof '%s'", name, sv.Type().Field(oop.Field).Name)
+ }
+ field.Set(nv)
+ }
+ if !dst.IsValid() {
+ return p.errorf("unknown field name %q in %v", name, st)
+ }
+
+ if dst.Kind() == reflect.Map {
+ // Consume any colon.
+ if err := p.checkForColon(props, dst.Type()); err != nil {
+ return err
+ }
+
+ // Construct the map if it doesn't already exist.
+ if dst.IsNil() {
+ dst.Set(reflect.MakeMap(dst.Type()))
+ }
+ key := reflect.New(dst.Type().Key()).Elem()
+ val := reflect.New(dst.Type().Elem()).Elem()
+
+ // The map entry should be this sequence of tokens:
+ // < key : KEY value : VALUE >
+ // However, implementations may omit key or value, and technically
+ // we should support them in any order. See b/28924776 for a time
+ // this went wrong.
+
+ tok := p.next()
+ var terminator string
+ switch tok.value {
+ case "<":
+ terminator = ">"
+ case "{":
+ terminator = "}"
+ default:
+ return p.errorf("expected '{' or '<', found %q", tok.value)
+ }
+ for {
+ tok := p.next()
+ if tok.err != nil {
+ return tok.err
+ }
+ if tok.value == terminator {
+ break
+ }
+ switch tok.value {
+ case "key":
+ if err := p.consumeToken(":"); err != nil {
+ return err
+ }
+ if err := p.readAny(key, props.MapKeyProp); err != nil {
+ return err
+ }
+ if err := p.consumeOptionalSeparator(); err != nil {
+ return err
+ }
+ case "value":
+ if err := p.checkForColon(props.MapValProp, dst.Type().Elem()); err != nil {
+ return err
+ }
+ if err := p.readAny(val, props.MapValProp); err != nil {
+ return err
+ }
+ if err := p.consumeOptionalSeparator(); err != nil {
+ return err
+ }
+ default:
+ p.back()
+ return p.errorf(`expected "key", "value", or %q, found %q`, terminator, tok.value)
+ }
+ }
+
+ dst.SetMapIndex(key, val)
+ continue
+ }
+
+ // Check that it's not already set if it's not a repeated field.
+ if !props.Repeated && fieldSet[name] {
+ return p.errorf("non-repeated field %q was repeated", name)
+ }
+
+ if err := p.checkForColon(props, dst.Type()); err != nil {
+ return err
+ }
+
+ // Parse into the field.
+ fieldSet[name] = true
+ if err := p.readAny(dst, props); err != nil {
+ if _, ok := err.(*RequiredNotSetError); !ok {
+ return err
+ }
+ reqFieldErr = err
+ }
+ if props.Required {
+ reqCount--
+ }
+
+ if err := p.consumeOptionalSeparator(); err != nil {
+ return err
+ }
+
+ }
+
+ if reqCount > 0 {
+ return p.missingRequiredFieldError(sv)
+ }
+ return reqFieldErr
+}
+
+// consumeExtName consumes extension name or expanded Any type URL and the
+// following ']'. It returns the name or URL consumed.
+func (p *textParser) consumeExtName() (string, error) {
+ tok := p.next()
+ if tok.err != nil {
+ return "", tok.err
+ }
+
+ // If extension name or type url is quoted, it's a single token.
+ if len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] {
+ name, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0]))
+ if err != nil {
+ return "", err
+ }
+ return name, p.consumeToken("]")
+ }
+
+ // Consume everything up to "]"
+ var parts []string
+ for tok.value != "]" {
+ parts = append(parts, tok.value)
+ tok = p.next()
+ if tok.err != nil {
+ return "", p.errorf("unrecognized type_url or extension name: %s", tok.err)
+ }
+ if p.done && tok.value != "]" {
+ return "", p.errorf("unclosed type_url or extension name")
+ }
+ }
+ return strings.Join(parts, ""), nil
+}
+
+// consumeOptionalSeparator consumes an optional semicolon or comma.
+// It is used in readStruct to provide backward compatibility.
+func (p *textParser) consumeOptionalSeparator() error {
+ tok := p.next()
+ if tok.err != nil {
+ return tok.err
+ }
+ if tok.value != ";" && tok.value != "," {
+ p.back()
+ }
+ return nil
+}
+
+func (p *textParser) readAny(v reflect.Value, props *Properties) error {
+ tok := p.next()
+ if tok.err != nil {
+ return tok.err
+ }
+ if tok.value == "" {
+ return p.errorf("unexpected EOF")
+ }
+
+ switch fv := v; fv.Kind() {
+ case reflect.Slice:
+ at := v.Type()
+ if at.Elem().Kind() == reflect.Uint8 {
+ // Special case for []byte
+ if tok.value[0] != '"' && tok.value[0] != '\'' {
+ // Deliberately written out here, as the error after
+ // this switch statement would write "invalid []byte: ...",
+ // which is not as user-friendly.
+ return p.errorf("invalid string: %v", tok.value)
+ }
+ bytes := []byte(tok.unquoted)
+ fv.Set(reflect.ValueOf(bytes))
+ return nil
+ }
+ // Repeated field.
+ if tok.value == "[" {
+ // Repeated field with list notation, like [1,2,3].
+ for {
+ fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))
+ err := p.readAny(fv.Index(fv.Len()-1), props)
+ if err != nil {
+ return err
+ }
+ tok := p.next()
+ if tok.err != nil {
+ return tok.err
+ }
+ if tok.value == "]" {
+ break
+ }
+ if tok.value != "," {
+ return p.errorf("Expected ']' or ',' found %q", tok.value)
+ }
+ }
+ return nil
+ }
+ // One value of the repeated field.
+ p.back()
+ fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))
+ return p.readAny(fv.Index(fv.Len()-1), props)
+ case reflect.Bool:
+ // true/1/t/True or false/f/0/False.
+ switch tok.value {
+ case "true", "1", "t", "True":
+ fv.SetBool(true)
+ return nil
+ case "false", "0", "f", "False":
+ fv.SetBool(false)
+ return nil
+ }
+ case reflect.Float32, reflect.Float64:
+ v := tok.value
+ // Ignore 'f' for compatibility with output generated by C++, but don't
+ // remove 'f' when the value is "-inf" or "inf".
+ if strings.HasSuffix(v, "f") && tok.value != "-inf" && tok.value != "inf" {
+ v = v[:len(v)-1]
+ }
+ if f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil {
+ fv.SetFloat(f)
+ return nil
+ }
+ case reflect.Int32:
+ if x, err := strconv.ParseInt(tok.value, 0, 32); err == nil {
+ fv.SetInt(x)
+ return nil
+ }
+
+ if len(props.Enum) == 0 {
+ break
+ }
+ m, ok := enumValueMaps[props.Enum]
+ if !ok {
+ break
+ }
+ x, ok := m[tok.value]
+ if !ok {
+ break
+ }
+ fv.SetInt(int64(x))
+ return nil
+ case reflect.Int64:
+ if x, err := strconv.ParseInt(tok.value, 0, 64); err == nil {
+ fv.SetInt(x)
+ return nil
+ }
+
+ case reflect.Ptr:
+ // A basic field (indirected through pointer), or a repeated message/group
+ p.back()
+ fv.Set(reflect.New(fv.Type().Elem()))
+ return p.readAny(fv.Elem(), props)
+ case reflect.String:
+ if tok.value[0] == '"' || tok.value[0] == '\'' {
+ fv.SetString(tok.unquoted)
+ return nil
+ }
+ case reflect.Struct:
+ var terminator string
+ switch tok.value {
+ case "{":
+ terminator = "}"
+ case "<":
+ terminator = ">"
+ default:
+ return p.errorf("expected '{' or '<', found %q", tok.value)
+ }
+ // TODO: Handle nested messages which implement encoding.TextUnmarshaler.
+ return p.readStruct(fv, terminator)
+ case reflect.Uint32:
+ if x, err := strconv.ParseUint(tok.value, 0, 32); err == nil {
+ fv.SetUint(uint64(x))
+ return nil
+ }
+ case reflect.Uint64:
+ if x, err := strconv.ParseUint(tok.value, 0, 64); err == nil {
+ fv.SetUint(x)
+ return nil
+ }
+ }
+ return p.errorf("invalid %v: %v", v.Type(), tok.value)
+}
+
+// UnmarshalText reads a protocol buffer in Text format. UnmarshalText resets pb
+// before starting to unmarshal, so any existing data in pb is always removed.
+// If a required field is not set and no other error occurs,
+// UnmarshalText returns *RequiredNotSetError.
+func UnmarshalText(s string, pb Message) error {
+ if um, ok := pb.(encoding.TextUnmarshaler); ok {
+ return um.UnmarshalText([]byte(s))
+ }
+ pb.Reset()
+ v := reflect.ValueOf(pb)
+ return newTextParser(s).readStruct(v.Elem(), "")
+}
diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go
new file mode 100644
index 0000000..1ded05b
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go
@@ -0,0 +1,2887 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/protobuf/descriptor.proto
+
+package descriptor
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type FieldDescriptorProto_Type int32
+
+const (
+ // 0 is reserved for errors.
+ // Order is weird for historical reasons.
+ FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
+ FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2
+ // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
+ // negative values are likely.
+ FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3
+ FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
+ // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
+ // negative values are likely.
+ FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5
+ FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
+ FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
+ FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8
+ FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9
+ // Tag-delimited aggregate.
+ // Group type is deprecated and not supported in proto3. However, Proto3
+ // implementations should still be able to parse the group wire format and
+ // treat group fields as unknown fields.
+ FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10
+ FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
+ // New in version 2.
+ FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12
+ FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13
+ FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14
+ FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
+ FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
+ FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17
+ FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18
+)
+
+var FieldDescriptorProto_Type_name = map[int32]string{
+ 1: "TYPE_DOUBLE",
+ 2: "TYPE_FLOAT",
+ 3: "TYPE_INT64",
+ 4: "TYPE_UINT64",
+ 5: "TYPE_INT32",
+ 6: "TYPE_FIXED64",
+ 7: "TYPE_FIXED32",
+ 8: "TYPE_BOOL",
+ 9: "TYPE_STRING",
+ 10: "TYPE_GROUP",
+ 11: "TYPE_MESSAGE",
+ 12: "TYPE_BYTES",
+ 13: "TYPE_UINT32",
+ 14: "TYPE_ENUM",
+ 15: "TYPE_SFIXED32",
+ 16: "TYPE_SFIXED64",
+ 17: "TYPE_SINT32",
+ 18: "TYPE_SINT64",
+}
+
+var FieldDescriptorProto_Type_value = map[string]int32{
+ "TYPE_DOUBLE": 1,
+ "TYPE_FLOAT": 2,
+ "TYPE_INT64": 3,
+ "TYPE_UINT64": 4,
+ "TYPE_INT32": 5,
+ "TYPE_FIXED64": 6,
+ "TYPE_FIXED32": 7,
+ "TYPE_BOOL": 8,
+ "TYPE_STRING": 9,
+ "TYPE_GROUP": 10,
+ "TYPE_MESSAGE": 11,
+ "TYPE_BYTES": 12,
+ "TYPE_UINT32": 13,
+ "TYPE_ENUM": 14,
+ "TYPE_SFIXED32": 15,
+ "TYPE_SFIXED64": 16,
+ "TYPE_SINT32": 17,
+ "TYPE_SINT64": 18,
+}
+
+func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
+ p := new(FieldDescriptorProto_Type)
+ *p = x
+ return p
+}
+
+func (x FieldDescriptorProto_Type) String() string {
+ return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
+}
+
+func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
+ value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
+ if err != nil {
+ return err
+ }
+ *x = FieldDescriptorProto_Type(value)
+ return nil
+}
+
+func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{4, 0}
+}
+
+type FieldDescriptorProto_Label int32
+
+const (
+ // 0 is reserved for errors
+ FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
+ FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
+ FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
+)
+
+var FieldDescriptorProto_Label_name = map[int32]string{
+ 1: "LABEL_OPTIONAL",
+ 2: "LABEL_REQUIRED",
+ 3: "LABEL_REPEATED",
+}
+
+var FieldDescriptorProto_Label_value = map[string]int32{
+ "LABEL_OPTIONAL": 1,
+ "LABEL_REQUIRED": 2,
+ "LABEL_REPEATED": 3,
+}
+
+func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
+ p := new(FieldDescriptorProto_Label)
+ *p = x
+ return p
+}
+
+func (x FieldDescriptorProto_Label) String() string {
+ return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
+}
+
+func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
+ value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
+ if err != nil {
+ return err
+ }
+ *x = FieldDescriptorProto_Label(value)
+ return nil
+}
+
+func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{4, 1}
+}
+
+// Generated classes can be optimized for speed or code size.
+type FileOptions_OptimizeMode int32
+
+const (
+ FileOptions_SPEED FileOptions_OptimizeMode = 1
+ // etc.
+ FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2
+ FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
+)
+
+var FileOptions_OptimizeMode_name = map[int32]string{
+ 1: "SPEED",
+ 2: "CODE_SIZE",
+ 3: "LITE_RUNTIME",
+}
+
+var FileOptions_OptimizeMode_value = map[string]int32{
+ "SPEED": 1,
+ "CODE_SIZE": 2,
+ "LITE_RUNTIME": 3,
+}
+
+func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
+ p := new(FileOptions_OptimizeMode)
+ *p = x
+ return p
+}
+
+func (x FileOptions_OptimizeMode) String() string {
+ return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
+}
+
+func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
+ value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
+ if err != nil {
+ return err
+ }
+ *x = FileOptions_OptimizeMode(value)
+ return nil
+}
+
+func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{10, 0}
+}
+
+type FieldOptions_CType int32
+
+const (
+ // Default mode.
+ FieldOptions_STRING FieldOptions_CType = 0
+ FieldOptions_CORD FieldOptions_CType = 1
+ FieldOptions_STRING_PIECE FieldOptions_CType = 2
+)
+
+var FieldOptions_CType_name = map[int32]string{
+ 0: "STRING",
+ 1: "CORD",
+ 2: "STRING_PIECE",
+}
+
+var FieldOptions_CType_value = map[string]int32{
+ "STRING": 0,
+ "CORD": 1,
+ "STRING_PIECE": 2,
+}
+
+func (x FieldOptions_CType) Enum() *FieldOptions_CType {
+ p := new(FieldOptions_CType)
+ *p = x
+ return p
+}
+
+func (x FieldOptions_CType) String() string {
+ return proto.EnumName(FieldOptions_CType_name, int32(x))
+}
+
+func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
+ value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
+ if err != nil {
+ return err
+ }
+ *x = FieldOptions_CType(value)
+ return nil
+}
+
+func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{12, 0}
+}
+
+type FieldOptions_JSType int32
+
+const (
+ // Use the default type.
+ FieldOptions_JS_NORMAL FieldOptions_JSType = 0
+ // Use JavaScript strings.
+ FieldOptions_JS_STRING FieldOptions_JSType = 1
+ // Use JavaScript numbers.
+ FieldOptions_JS_NUMBER FieldOptions_JSType = 2
+)
+
+var FieldOptions_JSType_name = map[int32]string{
+ 0: "JS_NORMAL",
+ 1: "JS_STRING",
+ 2: "JS_NUMBER",
+}
+
+var FieldOptions_JSType_value = map[string]int32{
+ "JS_NORMAL": 0,
+ "JS_STRING": 1,
+ "JS_NUMBER": 2,
+}
+
+func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
+ p := new(FieldOptions_JSType)
+ *p = x
+ return p
+}
+
+func (x FieldOptions_JSType) String() string {
+ return proto.EnumName(FieldOptions_JSType_name, int32(x))
+}
+
+func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
+ value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
+ if err != nil {
+ return err
+ }
+ *x = FieldOptions_JSType(value)
+ return nil
+}
+
+func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{12, 1}
+}
+
+// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
+// or neither? HTTP based RPC implementation may choose GET verb for safe
+// methods, and PUT verb for idempotent methods instead of the default POST.
+type MethodOptions_IdempotencyLevel int32
+
+const (
+ MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0
+ MethodOptions_NO_SIDE_EFFECTS MethodOptions_IdempotencyLevel = 1
+ MethodOptions_IDEMPOTENT MethodOptions_IdempotencyLevel = 2
+)
+
+var MethodOptions_IdempotencyLevel_name = map[int32]string{
+ 0: "IDEMPOTENCY_UNKNOWN",
+ 1: "NO_SIDE_EFFECTS",
+ 2: "IDEMPOTENT",
+}
+
+var MethodOptions_IdempotencyLevel_value = map[string]int32{
+ "IDEMPOTENCY_UNKNOWN": 0,
+ "NO_SIDE_EFFECTS": 1,
+ "IDEMPOTENT": 2,
+}
+
+func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {
+ p := new(MethodOptions_IdempotencyLevel)
+ *p = x
+ return p
+}
+
+func (x MethodOptions_IdempotencyLevel) String() string {
+ return proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x))
+}
+
+func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {
+ value, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, "MethodOptions_IdempotencyLevel")
+ if err != nil {
+ return err
+ }
+ *x = MethodOptions_IdempotencyLevel(value)
+ return nil
+}
+
+func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{17, 0}
+}
+
+// The protocol compiler can output a FileDescriptorSet containing the .proto
+// files it parses.
+type FileDescriptorSet struct {
+ File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FileDescriptorSet) Reset() { *m = FileDescriptorSet{} }
+func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) }
+func (*FileDescriptorSet) ProtoMessage() {}
+func (*FileDescriptorSet) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{0}
+}
+
+func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FileDescriptorSet.Unmarshal(m, b)
+}
+func (m *FileDescriptorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FileDescriptorSet.Marshal(b, m, deterministic)
+}
+func (m *FileDescriptorSet) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FileDescriptorSet.Merge(m, src)
+}
+func (m *FileDescriptorSet) XXX_Size() int {
+ return xxx_messageInfo_FileDescriptorSet.Size(m)
+}
+func (m *FileDescriptorSet) XXX_DiscardUnknown() {
+ xxx_messageInfo_FileDescriptorSet.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FileDescriptorSet proto.InternalMessageInfo
+
+func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
+ if m != nil {
+ return m.File
+ }
+ return nil
+}
+
+// Describes a complete .proto file.
+type FileDescriptorProto struct {
+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
+ // Names of files imported by this file.
+ Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
+ // Indexes of the public imported files in the dependency list above.
+ PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
+ // Indexes of the weak imported files in the dependency list.
+ // For Google-internal migration only. Do not use.
+ WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
+ // All top-level definitions in this file.
+ MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
+ EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
+ Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
+ Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
+ Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
+ // This field contains optional information about the original source code.
+ // You may safely remove this entire field without harming runtime
+ // functionality of the descriptors -- the information is needed only by
+ // development tools.
+ SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
+ // The syntax of the proto file.
+ // The supported values are "proto2" and "proto3".
+ Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FileDescriptorProto) Reset() { *m = FileDescriptorProto{} }
+func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) }
+func (*FileDescriptorProto) ProtoMessage() {}
+func (*FileDescriptorProto) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{1}
+}
+
+func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FileDescriptorProto.Unmarshal(m, b)
+}
+func (m *FileDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FileDescriptorProto.Marshal(b, m, deterministic)
+}
+func (m *FileDescriptorProto) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FileDescriptorProto.Merge(m, src)
+}
+func (m *FileDescriptorProto) XXX_Size() int {
+ return xxx_messageInfo_FileDescriptorProto.Size(m)
+}
+func (m *FileDescriptorProto) XXX_DiscardUnknown() {
+ xxx_messageInfo_FileDescriptorProto.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FileDescriptorProto proto.InternalMessageInfo
+
+func (m *FileDescriptorProto) GetName() string {
+ if m != nil && m.Name != nil {
+ return *m.Name
+ }
+ return ""
+}
+
+func (m *FileDescriptorProto) GetPackage() string {
+ if m != nil && m.Package != nil {
+ return *m.Package
+ }
+ return ""
+}
+
+func (m *FileDescriptorProto) GetDependency() []string {
+ if m != nil {
+ return m.Dependency
+ }
+ return nil
+}
+
+func (m *FileDescriptorProto) GetPublicDependency() []int32 {
+ if m != nil {
+ return m.PublicDependency
+ }
+ return nil
+}
+
+func (m *FileDescriptorProto) GetWeakDependency() []int32 {
+ if m != nil {
+ return m.WeakDependency
+ }
+ return nil
+}
+
+func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
+ if m != nil {
+ return m.MessageType
+ }
+ return nil
+}
+
+func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
+ if m != nil {
+ return m.EnumType
+ }
+ return nil
+}
+
+func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
+ if m != nil {
+ return m.Service
+ }
+ return nil
+}
+
+func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
+ if m != nil {
+ return m.Extension
+ }
+ return nil
+}
+
+func (m *FileDescriptorProto) GetOptions() *FileOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
+func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
+ if m != nil {
+ return m.SourceCodeInfo
+ }
+ return nil
+}
+
+func (m *FileDescriptorProto) GetSyntax() string {
+ if m != nil && m.Syntax != nil {
+ return *m.Syntax
+ }
+ return ""
+}
+
+// Describes a message type.
+type DescriptorProto struct {
+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
+ Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
+ NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
+ EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
+ ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
+ OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
+ Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
+ ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
+ // Reserved field names, which may not be used by fields in the same message.
+ // A given name may only be reserved once.
+ ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DescriptorProto) Reset() { *m = DescriptorProto{} }
+func (m *DescriptorProto) String() string { return proto.CompactTextString(m) }
+func (*DescriptorProto) ProtoMessage() {}
+func (*DescriptorProto) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{2}
+}
+
+func (m *DescriptorProto) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DescriptorProto.Unmarshal(m, b)
+}
+func (m *DescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DescriptorProto.Marshal(b, m, deterministic)
+}
+func (m *DescriptorProto) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DescriptorProto.Merge(m, src)
+}
+func (m *DescriptorProto) XXX_Size() int {
+ return xxx_messageInfo_DescriptorProto.Size(m)
+}
+func (m *DescriptorProto) XXX_DiscardUnknown() {
+ xxx_messageInfo_DescriptorProto.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DescriptorProto proto.InternalMessageInfo
+
+func (m *DescriptorProto) GetName() string {
+ if m != nil && m.Name != nil {
+ return *m.Name
+ }
+ return ""
+}
+
+func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
+ if m != nil {
+ return m.Field
+ }
+ return nil
+}
+
+func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
+ if m != nil {
+ return m.Extension
+ }
+ return nil
+}
+
+func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
+ if m != nil {
+ return m.NestedType
+ }
+ return nil
+}
+
+func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
+ if m != nil {
+ return m.EnumType
+ }
+ return nil
+}
+
+func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
+ if m != nil {
+ return m.ExtensionRange
+ }
+ return nil
+}
+
+func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
+ if m != nil {
+ return m.OneofDecl
+ }
+ return nil
+}
+
+func (m *DescriptorProto) GetOptions() *MessageOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
+func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
+ if m != nil {
+ return m.ReservedRange
+ }
+ return nil
+}
+
+func (m *DescriptorProto) GetReservedName() []string {
+ if m != nil {
+ return m.ReservedName
+ }
+ return nil
+}
+
+type DescriptorProto_ExtensionRange struct {
+ Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
+ End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
+ Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DescriptorProto_ExtensionRange) Reset() { *m = DescriptorProto_ExtensionRange{} }
+func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
+func (*DescriptorProto_ExtensionRange) ProtoMessage() {}
+func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{2, 0}
+}
+
+func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DescriptorProto_ExtensionRange.Unmarshal(m, b)
+}
+func (m *DescriptorProto_ExtensionRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DescriptorProto_ExtensionRange.Marshal(b, m, deterministic)
+}
+func (m *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(m, src)
+}
+func (m *DescriptorProto_ExtensionRange) XXX_Size() int {
+ return xxx_messageInfo_DescriptorProto_ExtensionRange.Size(m)
+}
+func (m *DescriptorProto_ExtensionRange) XXX_DiscardUnknown() {
+ xxx_messageInfo_DescriptorProto_ExtensionRange.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DescriptorProto_ExtensionRange proto.InternalMessageInfo
+
+func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
+ if m != nil && m.Start != nil {
+ return *m.Start
+ }
+ return 0
+}
+
+func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
+ if m != nil && m.End != nil {
+ return *m.End
+ }
+ return 0
+}
+
+func (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
+// Range of reserved tag numbers. Reserved tag numbers may not be used by
+// fields or extension ranges in the same message. Reserved ranges may
+// not overlap.
+type DescriptorProto_ReservedRange struct {
+ Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
+ End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DescriptorProto_ReservedRange) Reset() { *m = DescriptorProto_ReservedRange{} }
+func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
+func (*DescriptorProto_ReservedRange) ProtoMessage() {}
+func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{2, 1}
+}
+
+func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DescriptorProto_ReservedRange.Unmarshal(m, b)
+}
+func (m *DescriptorProto_ReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DescriptorProto_ReservedRange.Marshal(b, m, deterministic)
+}
+func (m *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DescriptorProto_ReservedRange.Merge(m, src)
+}
+func (m *DescriptorProto_ReservedRange) XXX_Size() int {
+ return xxx_messageInfo_DescriptorProto_ReservedRange.Size(m)
+}
+func (m *DescriptorProto_ReservedRange) XXX_DiscardUnknown() {
+ xxx_messageInfo_DescriptorProto_ReservedRange.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DescriptorProto_ReservedRange proto.InternalMessageInfo
+
+func (m *DescriptorProto_ReservedRange) GetStart() int32 {
+ if m != nil && m.Start != nil {
+ return *m.Start
+ }
+ return 0
+}
+
+func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
+ if m != nil && m.End != nil {
+ return *m.End
+ }
+ return 0
+}
+
+type ExtensionRangeOptions struct {
+ // The parser stores options it doesn't recognize here. See above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ExtensionRangeOptions) Reset() { *m = ExtensionRangeOptions{} }
+func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) }
+func (*ExtensionRangeOptions) ProtoMessage() {}
+func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{3}
+}
+
+var extRange_ExtensionRangeOptions = []proto.ExtensionRange{
+ {Start: 1000, End: 536870911},
+}
+
+func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_ExtensionRangeOptions
+}
+
+func (m *ExtensionRangeOptions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ExtensionRangeOptions.Unmarshal(m, b)
+}
+func (m *ExtensionRangeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ExtensionRangeOptions.Marshal(b, m, deterministic)
+}
+func (m *ExtensionRangeOptions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ExtensionRangeOptions.Merge(m, src)
+}
+func (m *ExtensionRangeOptions) XXX_Size() int {
+ return xxx_messageInfo_ExtensionRangeOptions.Size(m)
+}
+func (m *ExtensionRangeOptions) XXX_DiscardUnknown() {
+ xxx_messageInfo_ExtensionRangeOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ExtensionRangeOptions proto.InternalMessageInfo
+
+func (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
+// Describes a field within a message.
+type FieldDescriptorProto struct {
+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
+ Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
+ // If type_name is set, this need not be set. If both this and type_name
+ // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
+ Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
+ // For message and enum types, this is the name of the type. If the name
+ // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
+ // rules are used to find the type (i.e. first the nested types within this
+ // message are searched, then within the parent, on up to the root
+ // namespace).
+ TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
+ // For extensions, this is the name of the type being extended. It is
+ // resolved in the same manner as type_name.
+ Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
+ // For numeric types, contains the original text representation of the value.
+ // For booleans, "true" or "false".
+ // For strings, contains the default text contents (not escaped in any way).
+ // For bytes, contains the C escaped value. All bytes >= 128 are escaped.
+ // TODO(kenton): Base-64 encode?
+ DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
+ // If set, gives the index of a oneof in the containing type's oneof_decl
+ // list. This field is a member of that oneof.
+ OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
+ // JSON name of this field. The value is set by protocol compiler. If the
+ // user has set a "json_name" option on this field, that option's value
+ // will be used. Otherwise, it's deduced from the field's name by converting
+ // it to camelCase.
+ JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
+ Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} }
+func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) }
+func (*FieldDescriptorProto) ProtoMessage() {}
+func (*FieldDescriptorProto) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{4}
+}
+
+func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FieldDescriptorProto.Unmarshal(m, b)
+}
+func (m *FieldDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FieldDescriptorProto.Marshal(b, m, deterministic)
+}
+func (m *FieldDescriptorProto) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FieldDescriptorProto.Merge(m, src)
+}
+func (m *FieldDescriptorProto) XXX_Size() int {
+ return xxx_messageInfo_FieldDescriptorProto.Size(m)
+}
+func (m *FieldDescriptorProto) XXX_DiscardUnknown() {
+ xxx_messageInfo_FieldDescriptorProto.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FieldDescriptorProto proto.InternalMessageInfo
+
+func (m *FieldDescriptorProto) GetName() string {
+ if m != nil && m.Name != nil {
+ return *m.Name
+ }
+ return ""
+}
+
+func (m *FieldDescriptorProto) GetNumber() int32 {
+ if m != nil && m.Number != nil {
+ return *m.Number
+ }
+ return 0
+}
+
+func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
+ if m != nil && m.Label != nil {
+ return *m.Label
+ }
+ return FieldDescriptorProto_LABEL_OPTIONAL
+}
+
+func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
+ if m != nil && m.Type != nil {
+ return *m.Type
+ }
+ return FieldDescriptorProto_TYPE_DOUBLE
+}
+
+func (m *FieldDescriptorProto) GetTypeName() string {
+ if m != nil && m.TypeName != nil {
+ return *m.TypeName
+ }
+ return ""
+}
+
+func (m *FieldDescriptorProto) GetExtendee() string {
+ if m != nil && m.Extendee != nil {
+ return *m.Extendee
+ }
+ return ""
+}
+
+func (m *FieldDescriptorProto) GetDefaultValue() string {
+ if m != nil && m.DefaultValue != nil {
+ return *m.DefaultValue
+ }
+ return ""
+}
+
+func (m *FieldDescriptorProto) GetOneofIndex() int32 {
+ if m != nil && m.OneofIndex != nil {
+ return *m.OneofIndex
+ }
+ return 0
+}
+
+func (m *FieldDescriptorProto) GetJsonName() string {
+ if m != nil && m.JsonName != nil {
+ return *m.JsonName
+ }
+ return ""
+}
+
+func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
+// Describes a oneof.
+type OneofDescriptorProto struct {
+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} }
+func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) }
+func (*OneofDescriptorProto) ProtoMessage() {}
+func (*OneofDescriptorProto) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{5}
+}
+
+func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OneofDescriptorProto.Unmarshal(m, b)
+}
+func (m *OneofDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OneofDescriptorProto.Marshal(b, m, deterministic)
+}
+func (m *OneofDescriptorProto) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OneofDescriptorProto.Merge(m, src)
+}
+func (m *OneofDescriptorProto) XXX_Size() int {
+ return xxx_messageInfo_OneofDescriptorProto.Size(m)
+}
+func (m *OneofDescriptorProto) XXX_DiscardUnknown() {
+ xxx_messageInfo_OneofDescriptorProto.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OneofDescriptorProto proto.InternalMessageInfo
+
+func (m *OneofDescriptorProto) GetName() string {
+ if m != nil && m.Name != nil {
+ return *m.Name
+ }
+ return ""
+}
+
+func (m *OneofDescriptorProto) GetOptions() *OneofOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
+// Describes an enum type.
+type EnumDescriptorProto struct {
+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
+ Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
+ // Range of reserved numeric values. Reserved numeric values may not be used
+ // by enum values in the same enum declaration. Reserved ranges may not
+ // overlap.
+ ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
+ // Reserved enum value names, which may not be reused. A given name may only
+ // be reserved once.
+ ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} }
+func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) }
+func (*EnumDescriptorProto) ProtoMessage() {}
+func (*EnumDescriptorProto) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{6}
+}
+
+func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EnumDescriptorProto.Unmarshal(m, b)
+}
+func (m *EnumDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EnumDescriptorProto.Marshal(b, m, deterministic)
+}
+func (m *EnumDescriptorProto) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EnumDescriptorProto.Merge(m, src)
+}
+func (m *EnumDescriptorProto) XXX_Size() int {
+ return xxx_messageInfo_EnumDescriptorProto.Size(m)
+}
+func (m *EnumDescriptorProto) XXX_DiscardUnknown() {
+ xxx_messageInfo_EnumDescriptorProto.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EnumDescriptorProto proto.InternalMessageInfo
+
+func (m *EnumDescriptorProto) GetName() string {
+ if m != nil && m.Name != nil {
+ return *m.Name
+ }
+ return ""
+}
+
+func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
+ if m != nil {
+ return m.Value
+ }
+ return nil
+}
+
+func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
+func (m *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange {
+ if m != nil {
+ return m.ReservedRange
+ }
+ return nil
+}
+
+func (m *EnumDescriptorProto) GetReservedName() []string {
+ if m != nil {
+ return m.ReservedName
+ }
+ return nil
+}
+
+// Range of reserved numeric values. Reserved values may not be used by
+// entries in the same enum. Reserved ranges may not overlap.
+//
+// Note that this is distinct from DescriptorProto.ReservedRange in that it
+// is inclusive such that it can appropriately represent the entire int32
+// domain.
+type EnumDescriptorProto_EnumReservedRange struct {
+ Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
+ End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *EnumDescriptorProto_EnumReservedRange) Reset() { *m = EnumDescriptorProto_EnumReservedRange{} }
+func (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) }
+func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {}
+func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{6, 0}
+}
+
+func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Unmarshal(m, b)
+}
+func (m *EnumDescriptorProto_EnumReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Marshal(b, m, deterministic)
+}
+func (m *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(m, src)
+}
+func (m *EnumDescriptorProto_EnumReservedRange) XXX_Size() int {
+ return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Size(m)
+}
+func (m *EnumDescriptorProto_EnumReservedRange) XXX_DiscardUnknown() {
+ xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EnumDescriptorProto_EnumReservedRange proto.InternalMessageInfo
+
+func (m *EnumDescriptorProto_EnumReservedRange) GetStart() int32 {
+ if m != nil && m.Start != nil {
+ return *m.Start
+ }
+ return 0
+}
+
+func (m *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 {
+ if m != nil && m.End != nil {
+ return *m.End
+ }
+ return 0
+}
+
+// Describes a value within an enum.
+type EnumValueDescriptorProto struct {
+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
+ Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *EnumValueDescriptorProto) Reset() { *m = EnumValueDescriptorProto{} }
+func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }
+func (*EnumValueDescriptorProto) ProtoMessage() {}
+func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{7}
+}
+
+func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EnumValueDescriptorProto.Unmarshal(m, b)
+}
+func (m *EnumValueDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EnumValueDescriptorProto.Marshal(b, m, deterministic)
+}
+func (m *EnumValueDescriptorProto) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EnumValueDescriptorProto.Merge(m, src)
+}
+func (m *EnumValueDescriptorProto) XXX_Size() int {
+ return xxx_messageInfo_EnumValueDescriptorProto.Size(m)
+}
+func (m *EnumValueDescriptorProto) XXX_DiscardUnknown() {
+ xxx_messageInfo_EnumValueDescriptorProto.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EnumValueDescriptorProto proto.InternalMessageInfo
+
+func (m *EnumValueDescriptorProto) GetName() string {
+ if m != nil && m.Name != nil {
+ return *m.Name
+ }
+ return ""
+}
+
+func (m *EnumValueDescriptorProto) GetNumber() int32 {
+ if m != nil && m.Number != nil {
+ return *m.Number
+ }
+ return 0
+}
+
+func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
+// Describes a service.
+type ServiceDescriptorProto struct {
+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
+ Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} }
+func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) }
+func (*ServiceDescriptorProto) ProtoMessage() {}
+func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{8}
+}
+
+func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ServiceDescriptorProto.Unmarshal(m, b)
+}
+func (m *ServiceDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ServiceDescriptorProto.Marshal(b, m, deterministic)
+}
+func (m *ServiceDescriptorProto) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ServiceDescriptorProto.Merge(m, src)
+}
+func (m *ServiceDescriptorProto) XXX_Size() int {
+ return xxx_messageInfo_ServiceDescriptorProto.Size(m)
+}
+func (m *ServiceDescriptorProto) XXX_DiscardUnknown() {
+ xxx_messageInfo_ServiceDescriptorProto.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ServiceDescriptorProto proto.InternalMessageInfo
+
+func (m *ServiceDescriptorProto) GetName() string {
+ if m != nil && m.Name != nil {
+ return *m.Name
+ }
+ return ""
+}
+
+func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
+ if m != nil {
+ return m.Method
+ }
+ return nil
+}
+
+func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
+// Describes a method of a service.
+type MethodDescriptorProto struct {
+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ // Input and output type names. These are resolved in the same way as
+ // FieldDescriptorProto.type_name, but must refer to a message type.
+ InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
+ OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
+ Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
+ // Identifies if client streams multiple client messages
+ ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
+ // Identifies if server streams multiple server messages
+ ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} }
+func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) }
+func (*MethodDescriptorProto) ProtoMessage() {}
+func (*MethodDescriptorProto) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{9}
+}
+
+func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MethodDescriptorProto.Unmarshal(m, b)
+}
+func (m *MethodDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MethodDescriptorProto.Marshal(b, m, deterministic)
+}
+func (m *MethodDescriptorProto) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MethodDescriptorProto.Merge(m, src)
+}
+func (m *MethodDescriptorProto) XXX_Size() int {
+ return xxx_messageInfo_MethodDescriptorProto.Size(m)
+}
+func (m *MethodDescriptorProto) XXX_DiscardUnknown() {
+ xxx_messageInfo_MethodDescriptorProto.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MethodDescriptorProto proto.InternalMessageInfo
+
+const Default_MethodDescriptorProto_ClientStreaming bool = false
+const Default_MethodDescriptorProto_ServerStreaming bool = false
+
+func (m *MethodDescriptorProto) GetName() string {
+ if m != nil && m.Name != nil {
+ return *m.Name
+ }
+ return ""
+}
+
+func (m *MethodDescriptorProto) GetInputType() string {
+ if m != nil && m.InputType != nil {
+ return *m.InputType
+ }
+ return ""
+}
+
+func (m *MethodDescriptorProto) GetOutputType() string {
+ if m != nil && m.OutputType != nil {
+ return *m.OutputType
+ }
+ return ""
+}
+
+func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
+func (m *MethodDescriptorProto) GetClientStreaming() bool {
+ if m != nil && m.ClientStreaming != nil {
+ return *m.ClientStreaming
+ }
+ return Default_MethodDescriptorProto_ClientStreaming
+}
+
+func (m *MethodDescriptorProto) GetServerStreaming() bool {
+ if m != nil && m.ServerStreaming != nil {
+ return *m.ServerStreaming
+ }
+ return Default_MethodDescriptorProto_ServerStreaming
+}
+
+type FileOptions struct {
+ // Sets the Java package where classes generated from this .proto will be
+ // placed. By default, the proto package is used, but this is often
+ // inappropriate because proto packages do not normally start with backwards
+ // domain names.
+ JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
+ // If set, all the classes from the .proto file are wrapped in a single
+ // outer class with the given name. This applies to both Proto1
+ // (equivalent to the old "--one_java_file" option) and Proto2 (where
+ // a .proto always translates to a single class, but you may want to
+ // explicitly choose the class name).
+ JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
+ // If set true, then the Java code generator will generate a separate .java
+ // file for each top-level message, enum, and service defined in the .proto
+ // file. Thus, these types will *not* be nested inside the outer class
+ // named by java_outer_classname. However, the outer class will still be
+ // generated to contain the file's getDescriptor() method as well as any
+ // top-level extensions defined in the file.
+ JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
+ // This option does nothing.
+ JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` // Deprecated: Do not use.
+ // If set true, then the Java2 code generator will generate code that
+ // throws an exception whenever an attempt is made to assign a non-UTF-8
+ // byte sequence to a string field.
+ // Message reflection will do the same.
+ // However, an extension field still accepts non-UTF-8 byte sequences.
+ // This option has no effect on when used with the lite runtime.
+ JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
+ OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
+ // Sets the Go package where structs generated from this .proto will be
+ // placed. If omitted, the Go package will be derived from the following:
+ // - The basename of the package import path, if provided.
+ // - Otherwise, the package statement in the .proto file, if present.
+ // - Otherwise, the basename of the .proto file, without extension.
+ GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
+ // Should generic services be generated in each language? "Generic" services
+ // are not specific to any particular RPC system. They are generated by the
+ // main code generators in each language (without additional plugins).
+ // Generic services were the only kind of service generation supported by
+ // early versions of google.protobuf.
+ //
+ // Generic services are now considered deprecated in favor of using plugins
+ // that generate code specific to your particular RPC system. Therefore,
+ // these default to false. Old code which depends on generic services should
+ // explicitly set them to true.
+ CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
+ JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
+ PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
+ PhpGenericServices *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"`
+ // Is this file deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for everything in the file, or it will be completely ignored; in the very
+ // least, this is a formalization for deprecating files.
+ Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
+ // Enables the use of arenas for the proto messages in this file. This applies
+ // only to generated classes for C++.
+ CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
+ // Sets the objective c class prefix which is prepended to all objective c
+ // generated classes from this .proto. There is no default.
+ ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
+ // Namespace for generated classes; defaults to the package.
+ CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
+ // By default Swift generators will take the proto package and CamelCase it
+ // replacing '.' with underscore and use that to prefix the types/symbols
+ // defined. When this options is provided, they will use this value instead
+ // to prefix the types/symbols defined.
+ SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"`
+ // Sets the php class prefix which is prepended to all php generated classes
+ // from this .proto. Default is empty.
+ PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"`
+ // Use this option to change the namespace of php generated classes. Default
+ // is empty. When this option is empty, the package name will be used for
+ // determining the namespace.
+ PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"`
+ // Use this option to change the namespace of php generated metadata classes.
+ // Default is empty. When this option is empty, the proto file name will be used
+ // for determining the namespace.
+ PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"`
+ // Use this option to change the package of ruby generated classes. Default
+ // is empty. When this option is not set, the package name will be used for
+ // determining the ruby package.
+ RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"`
+ // The parser stores options it doesn't recognize here.
+ // See the documentation for the "Options" section above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FileOptions) Reset() { *m = FileOptions{} }
+func (m *FileOptions) String() string { return proto.CompactTextString(m) }
+func (*FileOptions) ProtoMessage() {}
+func (*FileOptions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{10}
+}
+
+var extRange_FileOptions = []proto.ExtensionRange{
+ {Start: 1000, End: 536870911},
+}
+
+func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_FileOptions
+}
+
+func (m *FileOptions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FileOptions.Unmarshal(m, b)
+}
+func (m *FileOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FileOptions.Marshal(b, m, deterministic)
+}
+func (m *FileOptions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FileOptions.Merge(m, src)
+}
+func (m *FileOptions) XXX_Size() int {
+ return xxx_messageInfo_FileOptions.Size(m)
+}
+func (m *FileOptions) XXX_DiscardUnknown() {
+ xxx_messageInfo_FileOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FileOptions proto.InternalMessageInfo
+
+const Default_FileOptions_JavaMultipleFiles bool = false
+const Default_FileOptions_JavaStringCheckUtf8 bool = false
+const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
+const Default_FileOptions_CcGenericServices bool = false
+const Default_FileOptions_JavaGenericServices bool = false
+const Default_FileOptions_PyGenericServices bool = false
+const Default_FileOptions_PhpGenericServices bool = false
+const Default_FileOptions_Deprecated bool = false
+const Default_FileOptions_CcEnableArenas bool = false
+
+func (m *FileOptions) GetJavaPackage() string {
+ if m != nil && m.JavaPackage != nil {
+ return *m.JavaPackage
+ }
+ return ""
+}
+
+func (m *FileOptions) GetJavaOuterClassname() string {
+ if m != nil && m.JavaOuterClassname != nil {
+ return *m.JavaOuterClassname
+ }
+ return ""
+}
+
+func (m *FileOptions) GetJavaMultipleFiles() bool {
+ if m != nil && m.JavaMultipleFiles != nil {
+ return *m.JavaMultipleFiles
+ }
+ return Default_FileOptions_JavaMultipleFiles
+}
+
+// Deprecated: Do not use.
+func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
+ if m != nil && m.JavaGenerateEqualsAndHash != nil {
+ return *m.JavaGenerateEqualsAndHash
+ }
+ return false
+}
+
+func (m *FileOptions) GetJavaStringCheckUtf8() bool {
+ if m != nil && m.JavaStringCheckUtf8 != nil {
+ return *m.JavaStringCheckUtf8
+ }
+ return Default_FileOptions_JavaStringCheckUtf8
+}
+
+func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
+ if m != nil && m.OptimizeFor != nil {
+ return *m.OptimizeFor
+ }
+ return Default_FileOptions_OptimizeFor
+}
+
+func (m *FileOptions) GetGoPackage() string {
+ if m != nil && m.GoPackage != nil {
+ return *m.GoPackage
+ }
+ return ""
+}
+
+func (m *FileOptions) GetCcGenericServices() bool {
+ if m != nil && m.CcGenericServices != nil {
+ return *m.CcGenericServices
+ }
+ return Default_FileOptions_CcGenericServices
+}
+
+func (m *FileOptions) GetJavaGenericServices() bool {
+ if m != nil && m.JavaGenericServices != nil {
+ return *m.JavaGenericServices
+ }
+ return Default_FileOptions_JavaGenericServices
+}
+
+func (m *FileOptions) GetPyGenericServices() bool {
+ if m != nil && m.PyGenericServices != nil {
+ return *m.PyGenericServices
+ }
+ return Default_FileOptions_PyGenericServices
+}
+
+func (m *FileOptions) GetPhpGenericServices() bool {
+ if m != nil && m.PhpGenericServices != nil {
+ return *m.PhpGenericServices
+ }
+ return Default_FileOptions_PhpGenericServices
+}
+
+func (m *FileOptions) GetDeprecated() bool {
+ if m != nil && m.Deprecated != nil {
+ return *m.Deprecated
+ }
+ return Default_FileOptions_Deprecated
+}
+
+func (m *FileOptions) GetCcEnableArenas() bool {
+ if m != nil && m.CcEnableArenas != nil {
+ return *m.CcEnableArenas
+ }
+ return Default_FileOptions_CcEnableArenas
+}
+
+func (m *FileOptions) GetObjcClassPrefix() string {
+ if m != nil && m.ObjcClassPrefix != nil {
+ return *m.ObjcClassPrefix
+ }
+ return ""
+}
+
+func (m *FileOptions) GetCsharpNamespace() string {
+ if m != nil && m.CsharpNamespace != nil {
+ return *m.CsharpNamespace
+ }
+ return ""
+}
+
+func (m *FileOptions) GetSwiftPrefix() string {
+ if m != nil && m.SwiftPrefix != nil {
+ return *m.SwiftPrefix
+ }
+ return ""
+}
+
+func (m *FileOptions) GetPhpClassPrefix() string {
+ if m != nil && m.PhpClassPrefix != nil {
+ return *m.PhpClassPrefix
+ }
+ return ""
+}
+
+func (m *FileOptions) GetPhpNamespace() string {
+ if m != nil && m.PhpNamespace != nil {
+ return *m.PhpNamespace
+ }
+ return ""
+}
+
+func (m *FileOptions) GetPhpMetadataNamespace() string {
+ if m != nil && m.PhpMetadataNamespace != nil {
+ return *m.PhpMetadataNamespace
+ }
+ return ""
+}
+
+func (m *FileOptions) GetRubyPackage() string {
+ if m != nil && m.RubyPackage != nil {
+ return *m.RubyPackage
+ }
+ return ""
+}
+
+func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
+type MessageOptions struct {
+ // Set true to use the old proto1 MessageSet wire format for extensions.
+ // This is provided for backwards-compatibility with the MessageSet wire
+ // format. You should not use this for any other reason: It's less
+ // efficient, has fewer features, and is more complicated.
+ //
+ // The message must be defined exactly as follows:
+ // message Foo {
+ // option message_set_wire_format = true;
+ // extensions 4 to max;
+ // }
+ // Note that the message cannot have any defined fields; MessageSets only
+ // have extensions.
+ //
+ // All extensions of your type must be singular messages; e.g. they cannot
+ // be int32s, enums, or repeated messages.
+ //
+ // Because this is an option, the above two restrictions are not enforced by
+ // the protocol compiler.
+ MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
+ // Disables the generation of the standard "descriptor()" accessor, which can
+ // conflict with a field of the same name. This is meant to make migration
+ // from proto1 easier; new code should avoid fields named "descriptor".
+ NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
+ // Is this message deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the message, or it will be completely ignored; in the very least,
+ // this is a formalization for deprecating messages.
+ Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
+ // Whether the message is an automatically generated map entry type for the
+ // maps field.
+ //
+ // For maps fields:
+ // map<KeyType, ValueType> map_field = 1;
+ // The parsed descriptor looks like:
+ // message MapFieldEntry {
+ // option map_entry = true;
+ // optional KeyType key = 1;
+ // optional ValueType value = 2;
+ // }
+ // repeated MapFieldEntry map_field = 1;
+ //
+ // Implementations may choose not to generate the map_entry=true message, but
+ // use a native map in the target language to hold the keys and values.
+ // The reflection APIs in such implementions still need to work as
+ // if the field is a repeated message field.
+ //
+ // NOTE: Do not set the option in .proto files. Always use the maps syntax
+ // instead. The option should only be implicitly set by the proto compiler
+ // parser.
+ MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
+ // The parser stores options it doesn't recognize here. See above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MessageOptions) Reset() { *m = MessageOptions{} }
+func (m *MessageOptions) String() string { return proto.CompactTextString(m) }
+func (*MessageOptions) ProtoMessage() {}
+func (*MessageOptions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{11}
+}
+
+var extRange_MessageOptions = []proto.ExtensionRange{
+ {Start: 1000, End: 536870911},
+}
+
+func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_MessageOptions
+}
+
+func (m *MessageOptions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MessageOptions.Unmarshal(m, b)
+}
+func (m *MessageOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MessageOptions.Marshal(b, m, deterministic)
+}
+func (m *MessageOptions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MessageOptions.Merge(m, src)
+}
+func (m *MessageOptions) XXX_Size() int {
+ return xxx_messageInfo_MessageOptions.Size(m)
+}
+func (m *MessageOptions) XXX_DiscardUnknown() {
+ xxx_messageInfo_MessageOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MessageOptions proto.InternalMessageInfo
+
+const Default_MessageOptions_MessageSetWireFormat bool = false
+const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
+const Default_MessageOptions_Deprecated bool = false
+
+func (m *MessageOptions) GetMessageSetWireFormat() bool {
+ if m != nil && m.MessageSetWireFormat != nil {
+ return *m.MessageSetWireFormat
+ }
+ return Default_MessageOptions_MessageSetWireFormat
+}
+
+func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
+ if m != nil && m.NoStandardDescriptorAccessor != nil {
+ return *m.NoStandardDescriptorAccessor
+ }
+ return Default_MessageOptions_NoStandardDescriptorAccessor
+}
+
+func (m *MessageOptions) GetDeprecated() bool {
+ if m != nil && m.Deprecated != nil {
+ return *m.Deprecated
+ }
+ return Default_MessageOptions_Deprecated
+}
+
+func (m *MessageOptions) GetMapEntry() bool {
+ if m != nil && m.MapEntry != nil {
+ return *m.MapEntry
+ }
+ return false
+}
+
+func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
+type FieldOptions struct {
+ // The ctype option instructs the C++ code generator to use a different
+ // representation of the field than it normally would. See the specific
+ // options below. This option is not yet implemented in the open source
+ // release -- sorry, we'll try to include it in a future version!
+ Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
+ // The packed option can be enabled for repeated primitive fields to enable
+ // a more efficient representation on the wire. Rather than repeatedly
+ // writing the tag and type for each element, the entire array is encoded as
+ // a single length-delimited blob. In proto3, only explicit setting it to
+ // false will avoid using packed encoding.
+ Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
+ // The jstype option determines the JavaScript type used for values of the
+ // field. The option is permitted only for 64 bit integral and fixed types
+ // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
+ // is represented as JavaScript string, which avoids loss of precision that
+ // can happen when a large value is converted to a floating point JavaScript.
+ // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
+ // use the JavaScript "number" type. The behavior of the default option
+ // JS_NORMAL is implementation dependent.
+ //
+ // This option is an enum to permit additional types to be added, e.g.
+ // goog.math.Integer.
+ Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
+ // Should this field be parsed lazily? Lazy applies only to message-type
+ // fields. It means that when the outer message is initially parsed, the
+ // inner message's contents will not be parsed but instead stored in encoded
+ // form. The inner message will actually be parsed when it is first accessed.
+ //
+ // This is only a hint. Implementations are free to choose whether to use
+ // eager or lazy parsing regardless of the value of this option. However,
+ // setting this option true suggests that the protocol author believes that
+ // using lazy parsing on this field is worth the additional bookkeeping
+ // overhead typically needed to implement it.
+ //
+ // This option does not affect the public interface of any generated code;
+ // all method signatures remain the same. Furthermore, thread-safety of the
+ // interface is not affected by this option; const methods remain safe to
+ // call from multiple threads concurrently, while non-const methods continue
+ // to require exclusive access.
+ //
+ //
+ // Note that implementations may choose not to check required fields within
+ // a lazy sub-message. That is, calling IsInitialized() on the outer message
+ // may return true even if the inner message has missing required fields.
+ // This is necessary because otherwise the inner message would have to be
+ // parsed in order to perform the check, defeating the purpose of lazy
+ // parsing. An implementation which chooses not to check required fields
+ // must be consistent about it. That is, for any particular sub-message, the
+ // implementation must either *always* check its required fields, or *never*
+ // check its required fields, regardless of whether or not the message has
+ // been parsed.
+ Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
+ // Is this field deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for accessors, or it will be completely ignored; in the very least, this
+ // is a formalization for deprecating fields.
+ Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
+ // For Google-internal migration only. Do not use.
+ Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
+ // The parser stores options it doesn't recognize here. See above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FieldOptions) Reset() { *m = FieldOptions{} }
+func (m *FieldOptions) String() string { return proto.CompactTextString(m) }
+func (*FieldOptions) ProtoMessage() {}
+func (*FieldOptions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{12}
+}
+
+var extRange_FieldOptions = []proto.ExtensionRange{
+ {Start: 1000, End: 536870911},
+}
+
+func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_FieldOptions
+}
+
+func (m *FieldOptions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FieldOptions.Unmarshal(m, b)
+}
+func (m *FieldOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FieldOptions.Marshal(b, m, deterministic)
+}
+func (m *FieldOptions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FieldOptions.Merge(m, src)
+}
+func (m *FieldOptions) XXX_Size() int {
+ return xxx_messageInfo_FieldOptions.Size(m)
+}
+func (m *FieldOptions) XXX_DiscardUnknown() {
+ xxx_messageInfo_FieldOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FieldOptions proto.InternalMessageInfo
+
+const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
+const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
+const Default_FieldOptions_Lazy bool = false
+const Default_FieldOptions_Deprecated bool = false
+const Default_FieldOptions_Weak bool = false
+
+func (m *FieldOptions) GetCtype() FieldOptions_CType {
+ if m != nil && m.Ctype != nil {
+ return *m.Ctype
+ }
+ return Default_FieldOptions_Ctype
+}
+
+func (m *FieldOptions) GetPacked() bool {
+ if m != nil && m.Packed != nil {
+ return *m.Packed
+ }
+ return false
+}
+
+func (m *FieldOptions) GetJstype() FieldOptions_JSType {
+ if m != nil && m.Jstype != nil {
+ return *m.Jstype
+ }
+ return Default_FieldOptions_Jstype
+}
+
+func (m *FieldOptions) GetLazy() bool {
+ if m != nil && m.Lazy != nil {
+ return *m.Lazy
+ }
+ return Default_FieldOptions_Lazy
+}
+
+func (m *FieldOptions) GetDeprecated() bool {
+ if m != nil && m.Deprecated != nil {
+ return *m.Deprecated
+ }
+ return Default_FieldOptions_Deprecated
+}
+
+func (m *FieldOptions) GetWeak() bool {
+ if m != nil && m.Weak != nil {
+ return *m.Weak
+ }
+ return Default_FieldOptions_Weak
+}
+
+func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
+type OneofOptions struct {
+ // The parser stores options it doesn't recognize here. See above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OneofOptions) Reset() { *m = OneofOptions{} }
+func (m *OneofOptions) String() string { return proto.CompactTextString(m) }
+func (*OneofOptions) ProtoMessage() {}
+func (*OneofOptions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{13}
+}
+
+var extRange_OneofOptions = []proto.ExtensionRange{
+ {Start: 1000, End: 536870911},
+}
+
+func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_OneofOptions
+}
+
+func (m *OneofOptions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OneofOptions.Unmarshal(m, b)
+}
+func (m *OneofOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OneofOptions.Marshal(b, m, deterministic)
+}
+func (m *OneofOptions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OneofOptions.Merge(m, src)
+}
+func (m *OneofOptions) XXX_Size() int {
+ return xxx_messageInfo_OneofOptions.Size(m)
+}
+func (m *OneofOptions) XXX_DiscardUnknown() {
+ xxx_messageInfo_OneofOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OneofOptions proto.InternalMessageInfo
+
+func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
+type EnumOptions struct {
+ // Set this option to true to allow mapping different tag names to the same
+ // value.
+ AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
+ // Is this enum deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the enum, or it will be completely ignored; in the very least, this
+ // is a formalization for deprecating enums.
+ Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
+ // The parser stores options it doesn't recognize here. See above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *EnumOptions) Reset() { *m = EnumOptions{} }
+func (m *EnumOptions) String() string { return proto.CompactTextString(m) }
+func (*EnumOptions) ProtoMessage() {}
+func (*EnumOptions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{14}
+}
+
+var extRange_EnumOptions = []proto.ExtensionRange{
+ {Start: 1000, End: 536870911},
+}
+
+func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_EnumOptions
+}
+
+func (m *EnumOptions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EnumOptions.Unmarshal(m, b)
+}
+func (m *EnumOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EnumOptions.Marshal(b, m, deterministic)
+}
+func (m *EnumOptions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EnumOptions.Merge(m, src)
+}
+func (m *EnumOptions) XXX_Size() int {
+ return xxx_messageInfo_EnumOptions.Size(m)
+}
+func (m *EnumOptions) XXX_DiscardUnknown() {
+ xxx_messageInfo_EnumOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EnumOptions proto.InternalMessageInfo
+
+const Default_EnumOptions_Deprecated bool = false
+
+func (m *EnumOptions) GetAllowAlias() bool {
+ if m != nil && m.AllowAlias != nil {
+ return *m.AllowAlias
+ }
+ return false
+}
+
+func (m *EnumOptions) GetDeprecated() bool {
+ if m != nil && m.Deprecated != nil {
+ return *m.Deprecated
+ }
+ return Default_EnumOptions_Deprecated
+}
+
+func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
+type EnumValueOptions struct {
+ // Is this enum value deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the enum value, or it will be completely ignored; in the very least,
+ // this is a formalization for deprecating enum values.
+ Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
+ // The parser stores options it doesn't recognize here. See above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} }
+func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) }
+func (*EnumValueOptions) ProtoMessage() {}
+func (*EnumValueOptions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{15}
+}
+
+var extRange_EnumValueOptions = []proto.ExtensionRange{
+ {Start: 1000, End: 536870911},
+}
+
+func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_EnumValueOptions
+}
+
+func (m *EnumValueOptions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EnumValueOptions.Unmarshal(m, b)
+}
+func (m *EnumValueOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EnumValueOptions.Marshal(b, m, deterministic)
+}
+func (m *EnumValueOptions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EnumValueOptions.Merge(m, src)
+}
+func (m *EnumValueOptions) XXX_Size() int {
+ return xxx_messageInfo_EnumValueOptions.Size(m)
+}
+func (m *EnumValueOptions) XXX_DiscardUnknown() {
+ xxx_messageInfo_EnumValueOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EnumValueOptions proto.InternalMessageInfo
+
+const Default_EnumValueOptions_Deprecated bool = false
+
+func (m *EnumValueOptions) GetDeprecated() bool {
+ if m != nil && m.Deprecated != nil {
+ return *m.Deprecated
+ }
+ return Default_EnumValueOptions_Deprecated
+}
+
+func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
+type ServiceOptions struct {
+ // Is this service deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the service, or it will be completely ignored; in the very least,
+ // this is a formalization for deprecating services.
+ Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
+ // The parser stores options it doesn't recognize here. See above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ServiceOptions) Reset() { *m = ServiceOptions{} }
+func (m *ServiceOptions) String() string { return proto.CompactTextString(m) }
+func (*ServiceOptions) ProtoMessage() {}
+func (*ServiceOptions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{16}
+}
+
+var extRange_ServiceOptions = []proto.ExtensionRange{
+ {Start: 1000, End: 536870911},
+}
+
+func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_ServiceOptions
+}
+
+func (m *ServiceOptions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ServiceOptions.Unmarshal(m, b)
+}
+func (m *ServiceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ServiceOptions.Marshal(b, m, deterministic)
+}
+func (m *ServiceOptions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ServiceOptions.Merge(m, src)
+}
+func (m *ServiceOptions) XXX_Size() int {
+ return xxx_messageInfo_ServiceOptions.Size(m)
+}
+func (m *ServiceOptions) XXX_DiscardUnknown() {
+ xxx_messageInfo_ServiceOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ServiceOptions proto.InternalMessageInfo
+
+const Default_ServiceOptions_Deprecated bool = false
+
+func (m *ServiceOptions) GetDeprecated() bool {
+ if m != nil && m.Deprecated != nil {
+ return *m.Deprecated
+ }
+ return Default_ServiceOptions_Deprecated
+}
+
+func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
+type MethodOptions struct {
+ // Is this method deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the method, or it will be completely ignored; in the very least,
+ // this is a formalization for deprecating methods.
+ Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
+ IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"`
+ // The parser stores options it doesn't recognize here. See above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MethodOptions) Reset() { *m = MethodOptions{} }
+func (m *MethodOptions) String() string { return proto.CompactTextString(m) }
+func (*MethodOptions) ProtoMessage() {}
+func (*MethodOptions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{17}
+}
+
+var extRange_MethodOptions = []proto.ExtensionRange{
+ {Start: 1000, End: 536870911},
+}
+
+func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_MethodOptions
+}
+
+func (m *MethodOptions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MethodOptions.Unmarshal(m, b)
+}
+func (m *MethodOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MethodOptions.Marshal(b, m, deterministic)
+}
+func (m *MethodOptions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MethodOptions.Merge(m, src)
+}
+func (m *MethodOptions) XXX_Size() int {
+ return xxx_messageInfo_MethodOptions.Size(m)
+}
+func (m *MethodOptions) XXX_DiscardUnknown() {
+ xxx_messageInfo_MethodOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MethodOptions proto.InternalMessageInfo
+
+const Default_MethodOptions_Deprecated bool = false
+const Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN
+
+func (m *MethodOptions) GetDeprecated() bool {
+ if m != nil && m.Deprecated != nil {
+ return *m.Deprecated
+ }
+ return Default_MethodOptions_Deprecated
+}
+
+func (m *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel {
+ if m != nil && m.IdempotencyLevel != nil {
+ return *m.IdempotencyLevel
+ }
+ return Default_MethodOptions_IdempotencyLevel
+}
+
+func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
+// A message representing a option the parser does not recognize. This only
+// appears in options protos created by the compiler::Parser class.
+// DescriptorPool resolves these when building Descriptor objects. Therefore,
+// options protos in descriptor objects (e.g. returned by Descriptor::options(),
+// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
+// in them.
+type UninterpretedOption struct {
+ Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
+ // The value of the uninterpreted option, in whatever type the tokenizer
+ // identified it as during parsing. Exactly one of these should be set.
+ IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
+ PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
+ NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
+ DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
+ StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
+ AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} }
+func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) }
+func (*UninterpretedOption) ProtoMessage() {}
+func (*UninterpretedOption) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{18}
+}
+
+func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_UninterpretedOption.Unmarshal(m, b)
+}
+func (m *UninterpretedOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_UninterpretedOption.Marshal(b, m, deterministic)
+}
+func (m *UninterpretedOption) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_UninterpretedOption.Merge(m, src)
+}
+func (m *UninterpretedOption) XXX_Size() int {
+ return xxx_messageInfo_UninterpretedOption.Size(m)
+}
+func (m *UninterpretedOption) XXX_DiscardUnknown() {
+ xxx_messageInfo_UninterpretedOption.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UninterpretedOption proto.InternalMessageInfo
+
+func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
+ if m != nil {
+ return m.Name
+ }
+ return nil
+}
+
+func (m *UninterpretedOption) GetIdentifierValue() string {
+ if m != nil && m.IdentifierValue != nil {
+ return *m.IdentifierValue
+ }
+ return ""
+}
+
+func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
+ if m != nil && m.PositiveIntValue != nil {
+ return *m.PositiveIntValue
+ }
+ return 0
+}
+
+func (m *UninterpretedOption) GetNegativeIntValue() int64 {
+ if m != nil && m.NegativeIntValue != nil {
+ return *m.NegativeIntValue
+ }
+ return 0
+}
+
+func (m *UninterpretedOption) GetDoubleValue() float64 {
+ if m != nil && m.DoubleValue != nil {
+ return *m.DoubleValue
+ }
+ return 0
+}
+
+func (m *UninterpretedOption) GetStringValue() []byte {
+ if m != nil {
+ return m.StringValue
+ }
+ return nil
+}
+
+func (m *UninterpretedOption) GetAggregateValue() string {
+ if m != nil && m.AggregateValue != nil {
+ return *m.AggregateValue
+ }
+ return ""
+}
+
+// The name of the uninterpreted option. Each string represents a segment in
+// a dot-separated name. is_extension is true iff a segment represents an
+// extension (denoted with parentheses in options specs in .proto files).
+// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
+// "foo.(bar.baz).qux".
+type UninterpretedOption_NamePart struct {
+ NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
+ IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *UninterpretedOption_NamePart) Reset() { *m = UninterpretedOption_NamePart{} }
+func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
+func (*UninterpretedOption_NamePart) ProtoMessage() {}
+func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{18, 0}
+}
+
+func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_UninterpretedOption_NamePart.Unmarshal(m, b)
+}
+func (m *UninterpretedOption_NamePart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_UninterpretedOption_NamePart.Marshal(b, m, deterministic)
+}
+func (m *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_UninterpretedOption_NamePart.Merge(m, src)
+}
+func (m *UninterpretedOption_NamePart) XXX_Size() int {
+ return xxx_messageInfo_UninterpretedOption_NamePart.Size(m)
+}
+func (m *UninterpretedOption_NamePart) XXX_DiscardUnknown() {
+ xxx_messageInfo_UninterpretedOption_NamePart.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UninterpretedOption_NamePart proto.InternalMessageInfo
+
+func (m *UninterpretedOption_NamePart) GetNamePart() string {
+ if m != nil && m.NamePart != nil {
+ return *m.NamePart
+ }
+ return ""
+}
+
+func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
+ if m != nil && m.IsExtension != nil {
+ return *m.IsExtension
+ }
+ return false
+}
+
+// Encapsulates information about the original source file from which a
+// FileDescriptorProto was generated.
+type SourceCodeInfo struct {
+ // A Location identifies a piece of source code in a .proto file which
+ // corresponds to a particular definition. This information is intended
+ // to be useful to IDEs, code indexers, documentation generators, and similar
+ // tools.
+ //
+ // For example, say we have a file like:
+ // message Foo {
+ // optional string foo = 1;
+ // }
+ // Let's look at just the field definition:
+ // optional string foo = 1;
+ // ^ ^^ ^^ ^ ^^^
+ // a bc de f ghi
+ // We have the following locations:
+ // span path represents
+ // [a,i) [ 4, 0, 2, 0 ] The whole field definition.
+ // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).
+ // [c,d) [ 4, 0, 2, 0, 5 ] The type (string).
+ // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).
+ // [g,h) [ 4, 0, 2, 0, 3 ] The number (1).
+ //
+ // Notes:
+ // - A location may refer to a repeated field itself (i.e. not to any
+ // particular index within it). This is used whenever a set of elements are
+ // logically enclosed in a single code segment. For example, an entire
+ // extend block (possibly containing multiple extension definitions) will
+ // have an outer location whose path refers to the "extensions" repeated
+ // field without an index.
+ // - Multiple locations may have the same path. This happens when a single
+ // logical declaration is spread out across multiple places. The most
+ // obvious example is the "extend" block again -- there may be multiple
+ // extend blocks in the same scope, each of which will have the same path.
+ // - A location's span is not always a subset of its parent's span. For
+ // example, the "extendee" of an extension declaration appears at the
+ // beginning of the "extend" block and is shared by all extensions within
+ // the block.
+ // - Just because a location's span is a subset of some other location's span
+ // does not mean that it is a descendent. For example, a "group" defines
+ // both a type and a field in a single declaration. Thus, the locations
+ // corresponding to the type and field and their components will overlap.
+ // - Code which tries to interpret locations should probably be designed to
+ // ignore those that it doesn't understand, as more types of locations could
+ // be recorded in the future.
+ Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} }
+func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) }
+func (*SourceCodeInfo) ProtoMessage() {}
+func (*SourceCodeInfo) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{19}
+}
+
+func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_SourceCodeInfo.Unmarshal(m, b)
+}
+func (m *SourceCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_SourceCodeInfo.Marshal(b, m, deterministic)
+}
+func (m *SourceCodeInfo) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_SourceCodeInfo.Merge(m, src)
+}
+func (m *SourceCodeInfo) XXX_Size() int {
+ return xxx_messageInfo_SourceCodeInfo.Size(m)
+}
+func (m *SourceCodeInfo) XXX_DiscardUnknown() {
+ xxx_messageInfo_SourceCodeInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SourceCodeInfo proto.InternalMessageInfo
+
+func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
+ if m != nil {
+ return m.Location
+ }
+ return nil
+}
+
+type SourceCodeInfo_Location struct {
+ // Identifies which part of the FileDescriptorProto was defined at this
+ // location.
+ //
+ // Each element is a field number or an index. They form a path from
+ // the root FileDescriptorProto to the place where the definition. For
+ // example, this path:
+ // [ 4, 3, 2, 7, 1 ]
+ // refers to:
+ // file.message_type(3) // 4, 3
+ // .field(7) // 2, 7
+ // .name() // 1
+ // This is because FileDescriptorProto.message_type has field number 4:
+ // repeated DescriptorProto message_type = 4;
+ // and DescriptorProto.field has field number 2:
+ // repeated FieldDescriptorProto field = 2;
+ // and FieldDescriptorProto.name has field number 1:
+ // optional string name = 1;
+ //
+ // Thus, the above path gives the location of a field name. If we removed
+ // the last element:
+ // [ 4, 3, 2, 7 ]
+ // this path refers to the whole field declaration (from the beginning
+ // of the label to the terminating semicolon).
+ Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
+ // Always has exactly three or four elements: start line, start column,
+ // end line (optional, otherwise assumed same as start line), end column.
+ // These are packed into a single field for efficiency. Note that line
+ // and column numbers are zero-based -- typically you will want to add
+ // 1 to each before displaying to a user.
+ Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
+ // If this SourceCodeInfo represents a complete declaration, these are any
+ // comments appearing before and after the declaration which appear to be
+ // attached to the declaration.
+ //
+ // A series of line comments appearing on consecutive lines, with no other
+ // tokens appearing on those lines, will be treated as a single comment.
+ //
+ // leading_detached_comments will keep paragraphs of comments that appear
+ // before (but not connected to) the current element. Each paragraph,
+ // separated by empty lines, will be one comment element in the repeated
+ // field.
+ //
+ // Only the comment content is provided; comment markers (e.g. //) are
+ // stripped out. For block comments, leading whitespace and an asterisk
+ // will be stripped from the beginning of each line other than the first.
+ // Newlines are included in the output.
+ //
+ // Examples:
+ //
+ // optional int32 foo = 1; // Comment attached to foo.
+ // // Comment attached to bar.
+ // optional int32 bar = 2;
+ //
+ // optional string baz = 3;
+ // // Comment attached to baz.
+ // // Another line attached to baz.
+ //
+ // // Comment attached to qux.
+ // //
+ // // Another line attached to qux.
+ // optional double qux = 4;
+ //
+ // // Detached comment for corge. This is not leading or trailing comments
+ // // to qux or corge because there are blank lines separating it from
+ // // both.
+ //
+ // // Detached comment for corge paragraph 2.
+ //
+ // optional string corge = 5;
+ // /* Block comment attached
+ // * to corge. Leading asterisks
+ // * will be removed. */
+ // /* Block comment attached to
+ // * grault. */
+ // optional int32 grault = 6;
+ //
+ // // ignored detached comments.
+ LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
+ TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
+ LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *SourceCodeInfo_Location) Reset() { *m = SourceCodeInfo_Location{} }
+func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }
+func (*SourceCodeInfo_Location) ProtoMessage() {}
+func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{19, 0}
+}
+
+func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_SourceCodeInfo_Location.Unmarshal(m, b)
+}
+func (m *SourceCodeInfo_Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_SourceCodeInfo_Location.Marshal(b, m, deterministic)
+}
+func (m *SourceCodeInfo_Location) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_SourceCodeInfo_Location.Merge(m, src)
+}
+func (m *SourceCodeInfo_Location) XXX_Size() int {
+ return xxx_messageInfo_SourceCodeInfo_Location.Size(m)
+}
+func (m *SourceCodeInfo_Location) XXX_DiscardUnknown() {
+ xxx_messageInfo_SourceCodeInfo_Location.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SourceCodeInfo_Location proto.InternalMessageInfo
+
+func (m *SourceCodeInfo_Location) GetPath() []int32 {
+ if m != nil {
+ return m.Path
+ }
+ return nil
+}
+
+func (m *SourceCodeInfo_Location) GetSpan() []int32 {
+ if m != nil {
+ return m.Span
+ }
+ return nil
+}
+
+func (m *SourceCodeInfo_Location) GetLeadingComments() string {
+ if m != nil && m.LeadingComments != nil {
+ return *m.LeadingComments
+ }
+ return ""
+}
+
+func (m *SourceCodeInfo_Location) GetTrailingComments() string {
+ if m != nil && m.TrailingComments != nil {
+ return *m.TrailingComments
+ }
+ return ""
+}
+
+func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
+ if m != nil {
+ return m.LeadingDetachedComments
+ }
+ return nil
+}
+
+// Describes the relationship between generated code and its original source
+// file. A GeneratedCodeInfo message is associated with only one generated
+// source file, but may contain references to different source .proto files.
+type GeneratedCodeInfo struct {
+ // An Annotation connects some span of text in generated code to an element
+ // of its generating .proto file.
+ Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} }
+func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) }
+func (*GeneratedCodeInfo) ProtoMessage() {}
+func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{20}
+}
+
+func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_GeneratedCodeInfo.Unmarshal(m, b)
+}
+func (m *GeneratedCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_GeneratedCodeInfo.Marshal(b, m, deterministic)
+}
+func (m *GeneratedCodeInfo) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_GeneratedCodeInfo.Merge(m, src)
+}
+func (m *GeneratedCodeInfo) XXX_Size() int {
+ return xxx_messageInfo_GeneratedCodeInfo.Size(m)
+}
+func (m *GeneratedCodeInfo) XXX_DiscardUnknown() {
+ xxx_messageInfo_GeneratedCodeInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GeneratedCodeInfo proto.InternalMessageInfo
+
+func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
+ if m != nil {
+ return m.Annotation
+ }
+ return nil
+}
+
+type GeneratedCodeInfo_Annotation struct {
+ // Identifies the element in the original source .proto file. This field
+ // is formatted the same as SourceCodeInfo.Location.path.
+ Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
+ // Identifies the filesystem path to the original source .proto.
+ SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
+ // Identifies the starting offset in bytes in the generated code
+ // that relates to the identified object.
+ Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
+ // Identifies the ending offset in bytes in the generated code that
+ // relates to the identified offset. The end offset should be one past
+ // the last relevant byte (so the length of the text = end - begin).
+ End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *GeneratedCodeInfo_Annotation) Reset() { *m = GeneratedCodeInfo_Annotation{} }
+func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
+func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
+func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e5baabe45344a177, []int{20, 0}
+}
+
+func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_GeneratedCodeInfo_Annotation.Unmarshal(m, b)
+}
+func (m *GeneratedCodeInfo_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_GeneratedCodeInfo_Annotation.Marshal(b, m, deterministic)
+}
+func (m *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(m, src)
+}
+func (m *GeneratedCodeInfo_Annotation) XXX_Size() int {
+ return xxx_messageInfo_GeneratedCodeInfo_Annotation.Size(m)
+}
+func (m *GeneratedCodeInfo_Annotation) XXX_DiscardUnknown() {
+ xxx_messageInfo_GeneratedCodeInfo_Annotation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GeneratedCodeInfo_Annotation proto.InternalMessageInfo
+
+func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
+ if m != nil {
+ return m.Path
+ }
+ return nil
+}
+
+func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {
+ if m != nil && m.SourceFile != nil {
+ return *m.SourceFile
+ }
+ return ""
+}
+
+func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {
+ if m != nil && m.Begin != nil {
+ return *m.Begin
+ }
+ return 0
+}
+
+func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
+ if m != nil && m.End != nil {
+ return *m.End
+ }
+ return 0
+}
+
+func init() {
+ proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
+ proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
+ proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
+ proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
+ proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
+ proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)
+ proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
+ proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
+ proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
+ proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
+ proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
+ proto.RegisterType((*ExtensionRangeOptions)(nil), "google.protobuf.ExtensionRangeOptions")
+ proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
+ proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
+ proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
+ proto.RegisterType((*EnumDescriptorProto_EnumReservedRange)(nil), "google.protobuf.EnumDescriptorProto.EnumReservedRange")
+ proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
+ proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
+ proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
+ proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
+ proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
+ proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
+ proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions")
+ proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
+ proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
+ proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
+ proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
+ proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
+ proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
+ proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
+ proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
+ proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
+ proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
+}
+
+func init() { proto.RegisterFile("google/protobuf/descriptor.proto", fileDescriptor_e5baabe45344a177) }
+
+var fileDescriptor_e5baabe45344a177 = []byte{
+ // 2589 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x8e, 0xdb, 0xc6,
+ 0x15, 0x0e, 0xf5, 0xb7, 0xd2, 0x91, 0x56, 0x3b, 0x3b, 0xbb, 0xb1, 0xe9, 0xcd, 0x8f, 0xd7, 0xca,
+ 0x8f, 0xd7, 0x4e, 0xac, 0x0d, 0x1c, 0xdb, 0x71, 0xd6, 0x45, 0x5a, 0xad, 0x44, 0x6f, 0xe4, 0xee,
+ 0x4a, 0x2a, 0xa5, 0x6d, 0x7e, 0x80, 0x82, 0x98, 0x25, 0x47, 0x12, 0x6d, 0x8a, 0x64, 0x48, 0xca,
+ 0xf6, 0x06, 0xbd, 0x30, 0xd0, 0xab, 0x5e, 0x15, 0xe8, 0x55, 0x51, 0x14, 0xbd, 0xe8, 0x4d, 0x80,
+ 0x3e, 0x40, 0x81, 0xde, 0xf5, 0x09, 0x0a, 0xe4, 0x0d, 0x8a, 0xb6, 0x40, 0xfb, 0x08, 0xbd, 0x2c,
+ 0x66, 0x86, 0xa4, 0x48, 0x49, 0x1b, 0x6f, 0x02, 0xc4, 0xb9, 0x92, 0xe6, 0x3b, 0xdf, 0x39, 0x73,
+ 0xe6, 0xcc, 0x99, 0x99, 0x33, 0x43, 0xd8, 0x1e, 0x39, 0xce, 0xc8, 0xa2, 0xbb, 0xae, 0xe7, 0x04,
+ 0xce, 0xc9, 0x74, 0xb8, 0x6b, 0x50, 0x5f, 0xf7, 0x4c, 0x37, 0x70, 0xbc, 0x3a, 0xc7, 0xf0, 0x9a,
+ 0x60, 0xd4, 0x23, 0x46, 0xed, 0x08, 0xd6, 0xef, 0x9b, 0x16, 0x6d, 0xc5, 0xc4, 0x3e, 0x0d, 0xf0,
+ 0x5d, 0xc8, 0x0d, 0x4d, 0x8b, 0xca, 0xd2, 0x76, 0x76, 0xa7, 0x7c, 0xf3, 0xcd, 0xfa, 0x9c, 0x52,
+ 0x3d, 0xad, 0xd1, 0x63, 0xb0, 0xca, 0x35, 0x6a, 0xff, 0xce, 0xc1, 0xc6, 0x12, 0x29, 0xc6, 0x90,
+ 0xb3, 0xc9, 0x84, 0x59, 0x94, 0x76, 0x4a, 0x2a, 0xff, 0x8f, 0x65, 0x58, 0x71, 0x89, 0xfe, 0x88,
+ 0x8c, 0xa8, 0x9c, 0xe1, 0x70, 0xd4, 0xc4, 0xaf, 0x03, 0x18, 0xd4, 0xa5, 0xb6, 0x41, 0x6d, 0xfd,
+ 0x54, 0xce, 0x6e, 0x67, 0x77, 0x4a, 0x6a, 0x02, 0xc1, 0xef, 0xc0, 0xba, 0x3b, 0x3d, 0xb1, 0x4c,
+ 0x5d, 0x4b, 0xd0, 0x60, 0x3b, 0xbb, 0x93, 0x57, 0x91, 0x10, 0xb4, 0x66, 0xe4, 0xab, 0xb0, 0xf6,
+ 0x84, 0x92, 0x47, 0x49, 0x6a, 0x99, 0x53, 0xab, 0x0c, 0x4e, 0x10, 0x9b, 0x50, 0x99, 0x50, 0xdf,
+ 0x27, 0x23, 0xaa, 0x05, 0xa7, 0x2e, 0x95, 0x73, 0x7c, 0xf4, 0xdb, 0x0b, 0xa3, 0x9f, 0x1f, 0x79,
+ 0x39, 0xd4, 0x1a, 0x9c, 0xba, 0x14, 0x37, 0xa0, 0x44, 0xed, 0xe9, 0x44, 0x58, 0xc8, 0x9f, 0x11,
+ 0x3f, 0xc5, 0x9e, 0x4e, 0xe6, 0xad, 0x14, 0x99, 0x5a, 0x68, 0x62, 0xc5, 0xa7, 0xde, 0x63, 0x53,
+ 0xa7, 0x72, 0x81, 0x1b, 0xb8, 0xba, 0x60, 0xa0, 0x2f, 0xe4, 0xf3, 0x36, 0x22, 0x3d, 0xdc, 0x84,
+ 0x12, 0x7d, 0x1a, 0x50, 0xdb, 0x37, 0x1d, 0x5b, 0x5e, 0xe1, 0x46, 0xde, 0x5a, 0x32, 0x8b, 0xd4,
+ 0x32, 0xe6, 0x4d, 0xcc, 0xf4, 0xf0, 0x1d, 0x58, 0x71, 0xdc, 0xc0, 0x74, 0x6c, 0x5f, 0x2e, 0x6e,
+ 0x4b, 0x3b, 0xe5, 0x9b, 0xaf, 0x2e, 0x4d, 0x84, 0xae, 0xe0, 0xa8, 0x11, 0x19, 0xb7, 0x01, 0xf9,
+ 0xce, 0xd4, 0xd3, 0xa9, 0xa6, 0x3b, 0x06, 0xd5, 0x4c, 0x7b, 0xe8, 0xc8, 0x25, 0x6e, 0xe0, 0xf2,
+ 0xe2, 0x40, 0x38, 0xb1, 0xe9, 0x18, 0xb4, 0x6d, 0x0f, 0x1d, 0xb5, 0xea, 0xa7, 0xda, 0xf8, 0x02,
+ 0x14, 0xfc, 0x53, 0x3b, 0x20, 0x4f, 0xe5, 0x0a, 0xcf, 0x90, 0xb0, 0x55, 0xfb, 0x6b, 0x01, 0xd6,
+ 0xce, 0x93, 0x62, 0xf7, 0x20, 0x3f, 0x64, 0xa3, 0x94, 0x33, 0xdf, 0x26, 0x06, 0x42, 0x27, 0x1d,
+ 0xc4, 0xc2, 0x77, 0x0c, 0x62, 0x03, 0xca, 0x36, 0xf5, 0x03, 0x6a, 0x88, 0x8c, 0xc8, 0x9e, 0x33,
+ 0xa7, 0x40, 0x28, 0x2d, 0xa6, 0x54, 0xee, 0x3b, 0xa5, 0xd4, 0xa7, 0xb0, 0x16, 0xbb, 0xa4, 0x79,
+ 0xc4, 0x1e, 0x45, 0xb9, 0xb9, 0xfb, 0x3c, 0x4f, 0xea, 0x4a, 0xa4, 0xa7, 0x32, 0x35, 0xb5, 0x4a,
+ 0x53, 0x6d, 0xdc, 0x02, 0x70, 0x6c, 0xea, 0x0c, 0x35, 0x83, 0xea, 0x96, 0x5c, 0x3c, 0x23, 0x4a,
+ 0x5d, 0x46, 0x59, 0x88, 0x92, 0x23, 0x50, 0xdd, 0xc2, 0x1f, 0xce, 0x52, 0x6d, 0xe5, 0x8c, 0x4c,
+ 0x39, 0x12, 0x8b, 0x6c, 0x21, 0xdb, 0x8e, 0xa1, 0xea, 0x51, 0x96, 0xf7, 0xd4, 0x08, 0x47, 0x56,
+ 0xe2, 0x4e, 0xd4, 0x9f, 0x3b, 0x32, 0x35, 0x54, 0x13, 0x03, 0x5b, 0xf5, 0x92, 0x4d, 0xfc, 0x06,
+ 0xc4, 0x80, 0xc6, 0xd3, 0x0a, 0xf8, 0x2e, 0x54, 0x89, 0xc0, 0x0e, 0x99, 0xd0, 0xad, 0x2f, 0xa1,
+ 0x9a, 0x0e, 0x0f, 0xde, 0x84, 0xbc, 0x1f, 0x10, 0x2f, 0xe0, 0x59, 0x98, 0x57, 0x45, 0x03, 0x23,
+ 0xc8, 0x52, 0xdb, 0xe0, 0xbb, 0x5c, 0x5e, 0x65, 0x7f, 0xf1, 0x4f, 0x66, 0x03, 0xce, 0xf2, 0x01,
+ 0xbf, 0xbd, 0x38, 0xa3, 0x29, 0xcb, 0xf3, 0xe3, 0xde, 0xfa, 0x00, 0x56, 0x53, 0x03, 0x38, 0x6f,
+ 0xd7, 0xb5, 0x5f, 0xc2, 0xcb, 0x4b, 0x4d, 0xe3, 0x4f, 0x61, 0x73, 0x6a, 0x9b, 0x76, 0x40, 0x3d,
+ 0xd7, 0xa3, 0x2c, 0x63, 0x45, 0x57, 0xf2, 0x7f, 0x56, 0xce, 0xc8, 0xb9, 0xe3, 0x24, 0x5b, 0x58,
+ 0x51, 0x37, 0xa6, 0x8b, 0xe0, 0xf5, 0x52, 0xf1, 0xbf, 0x2b, 0xe8, 0xd9, 0xb3, 0x67, 0xcf, 0x32,
+ 0xb5, 0xdf, 0x15, 0x60, 0x73, 0xd9, 0x9a, 0x59, 0xba, 0x7c, 0x2f, 0x40, 0xc1, 0x9e, 0x4e, 0x4e,
+ 0xa8, 0xc7, 0x83, 0x94, 0x57, 0xc3, 0x16, 0x6e, 0x40, 0xde, 0x22, 0x27, 0xd4, 0x92, 0x73, 0xdb,
+ 0xd2, 0x4e, 0xf5, 0xe6, 0x3b, 0xe7, 0x5a, 0x95, 0xf5, 0x43, 0xa6, 0xa2, 0x0a, 0x4d, 0xfc, 0x11,
+ 0xe4, 0xc2, 0x2d, 0x9a, 0x59, 0xb8, 0x7e, 0x3e, 0x0b, 0x6c, 0x2d, 0xa9, 0x5c, 0x0f, 0xbf, 0x02,
+ 0x25, 0xf6, 0x2b, 0x72, 0xa3, 0xc0, 0x7d, 0x2e, 0x32, 0x80, 0xe5, 0x05, 0xde, 0x82, 0x22, 0x5f,
+ 0x26, 0x06, 0x8d, 0x8e, 0xb6, 0xb8, 0xcd, 0x12, 0xcb, 0xa0, 0x43, 0x32, 0xb5, 0x02, 0xed, 0x31,
+ 0xb1, 0xa6, 0x94, 0x27, 0x7c, 0x49, 0xad, 0x84, 0xe0, 0xcf, 0x19, 0x86, 0x2f, 0x43, 0x59, 0xac,
+ 0x2a, 0xd3, 0x36, 0xe8, 0x53, 0xbe, 0x7b, 0xe6, 0x55, 0xb1, 0xd0, 0xda, 0x0c, 0x61, 0xdd, 0x3f,
+ 0xf4, 0x1d, 0x3b, 0x4a, 0x4d, 0xde, 0x05, 0x03, 0x78, 0xf7, 0x1f, 0xcc, 0x6f, 0xdc, 0xaf, 0x2d,
+ 0x1f, 0xde, 0x7c, 0x4e, 0xd5, 0xfe, 0x92, 0x81, 0x1c, 0xdf, 0x2f, 0xd6, 0xa0, 0x3c, 0xf8, 0xac,
+ 0xa7, 0x68, 0xad, 0xee, 0xf1, 0xfe, 0xa1, 0x82, 0x24, 0x5c, 0x05, 0xe0, 0xc0, 0xfd, 0xc3, 0x6e,
+ 0x63, 0x80, 0x32, 0x71, 0xbb, 0xdd, 0x19, 0xdc, 0xb9, 0x85, 0xb2, 0xb1, 0xc2, 0xb1, 0x00, 0x72,
+ 0x49, 0xc2, 0xfb, 0x37, 0x51, 0x1e, 0x23, 0xa8, 0x08, 0x03, 0xed, 0x4f, 0x95, 0xd6, 0x9d, 0x5b,
+ 0xa8, 0x90, 0x46, 0xde, 0xbf, 0x89, 0x56, 0xf0, 0x2a, 0x94, 0x38, 0xb2, 0xdf, 0xed, 0x1e, 0xa2,
+ 0x62, 0x6c, 0xb3, 0x3f, 0x50, 0xdb, 0x9d, 0x03, 0x54, 0x8a, 0x6d, 0x1e, 0xa8, 0xdd, 0xe3, 0x1e,
+ 0x82, 0xd8, 0xc2, 0x91, 0xd2, 0xef, 0x37, 0x0e, 0x14, 0x54, 0x8e, 0x19, 0xfb, 0x9f, 0x0d, 0x94,
+ 0x3e, 0xaa, 0xa4, 0xdc, 0x7a, 0xff, 0x26, 0x5a, 0x8d, 0xbb, 0x50, 0x3a, 0xc7, 0x47, 0xa8, 0x8a,
+ 0xd7, 0x61, 0x55, 0x74, 0x11, 0x39, 0xb1, 0x36, 0x07, 0xdd, 0xb9, 0x85, 0xd0, 0xcc, 0x11, 0x61,
+ 0x65, 0x3d, 0x05, 0xdc, 0xb9, 0x85, 0x70, 0xad, 0x09, 0x79, 0x9e, 0x5d, 0x18, 0x43, 0xf5, 0xb0,
+ 0xb1, 0xaf, 0x1c, 0x6a, 0xdd, 0xde, 0xa0, 0xdd, 0xed, 0x34, 0x0e, 0x91, 0x34, 0xc3, 0x54, 0xe5,
+ 0x67, 0xc7, 0x6d, 0x55, 0x69, 0xa1, 0x4c, 0x12, 0xeb, 0x29, 0x8d, 0x81, 0xd2, 0x42, 0xd9, 0x9a,
+ 0x0e, 0x9b, 0xcb, 0xf6, 0xc9, 0xa5, 0x2b, 0x23, 0x31, 0xc5, 0x99, 0x33, 0xa6, 0x98, 0xdb, 0x5a,
+ 0x98, 0xe2, 0x7f, 0x65, 0x60, 0x63, 0xc9, 0x59, 0xb1, 0xb4, 0x93, 0x1f, 0x43, 0x5e, 0xa4, 0xa8,
+ 0x38, 0x3d, 0xaf, 0x2d, 0x3d, 0x74, 0x78, 0xc2, 0x2e, 0x9c, 0xa0, 0x5c, 0x2f, 0x59, 0x41, 0x64,
+ 0xcf, 0xa8, 0x20, 0x98, 0x89, 0x85, 0x3d, 0xfd, 0x17, 0x0b, 0x7b, 0xba, 0x38, 0xf6, 0xee, 0x9c,
+ 0xe7, 0xd8, 0xe3, 0xd8, 0xb7, 0xdb, 0xdb, 0xf3, 0x4b, 0xf6, 0xf6, 0x7b, 0xb0, 0xbe, 0x60, 0xe8,
+ 0xdc, 0x7b, 0xec, 0xaf, 0x24, 0x90, 0xcf, 0x0a, 0xce, 0x73, 0x76, 0xba, 0x4c, 0x6a, 0xa7, 0xbb,
+ 0x37, 0x1f, 0xc1, 0x2b, 0x67, 0x4f, 0xc2, 0xc2, 0x5c, 0x7f, 0x25, 0xc1, 0x85, 0xe5, 0x95, 0xe2,
+ 0x52, 0x1f, 0x3e, 0x82, 0xc2, 0x84, 0x06, 0x63, 0x27, 0xaa, 0x96, 0xde, 0x5e, 0x72, 0x06, 0x33,
+ 0xf1, 0xfc, 0x64, 0x87, 0x5a, 0xc9, 0x43, 0x3c, 0x7b, 0x56, 0xb9, 0x27, 0xbc, 0x59, 0xf0, 0xf4,
+ 0xd7, 0x19, 0x78, 0x79, 0xa9, 0xf1, 0xa5, 0x8e, 0xbe, 0x06, 0x60, 0xda, 0xee, 0x34, 0x10, 0x15,
+ 0x91, 0xd8, 0x60, 0x4b, 0x1c, 0xe1, 0x9b, 0x17, 0xdb, 0x3c, 0xa7, 0x41, 0x2c, 0xcf, 0x72, 0x39,
+ 0x08, 0x88, 0x13, 0xee, 0xce, 0x1c, 0xcd, 0x71, 0x47, 0x5f, 0x3f, 0x63, 0xa4, 0x0b, 0x89, 0xf9,
+ 0x1e, 0x20, 0xdd, 0x32, 0xa9, 0x1d, 0x68, 0x7e, 0xe0, 0x51, 0x32, 0x31, 0xed, 0x11, 0x3f, 0x41,
+ 0x8a, 0x7b, 0xf9, 0x21, 0xb1, 0x7c, 0xaa, 0xae, 0x09, 0x71, 0x3f, 0x92, 0x32, 0x0d, 0x9e, 0x40,
+ 0x5e, 0x42, 0xa3, 0x90, 0xd2, 0x10, 0xe2, 0x58, 0xa3, 0xf6, 0xdb, 0x12, 0x94, 0x13, 0x75, 0x35,
+ 0xbe, 0x02, 0x95, 0x87, 0xe4, 0x31, 0xd1, 0xa2, 0xbb, 0x92, 0x88, 0x44, 0x99, 0x61, 0xbd, 0xf0,
+ 0xbe, 0xf4, 0x1e, 0x6c, 0x72, 0x8a, 0x33, 0x0d, 0xa8, 0xa7, 0xe9, 0x16, 0xf1, 0x7d, 0x1e, 0xb4,
+ 0x22, 0xa7, 0x62, 0x26, 0xeb, 0x32, 0x51, 0x33, 0x92, 0xe0, 0xdb, 0xb0, 0xc1, 0x35, 0x26, 0x53,
+ 0x2b, 0x30, 0x5d, 0x8b, 0x6a, 0xec, 0xf6, 0xe6, 0xf3, 0x93, 0x24, 0xf6, 0x6c, 0x9d, 0x31, 0x8e,
+ 0x42, 0x02, 0xf3, 0xc8, 0xc7, 0x2d, 0x78, 0x8d, 0xab, 0x8d, 0xa8, 0x4d, 0x3d, 0x12, 0x50, 0x8d,
+ 0x7e, 0x31, 0x25, 0x96, 0xaf, 0x11, 0xdb, 0xd0, 0xc6, 0xc4, 0x1f, 0xcb, 0x9b, 0xcc, 0xc0, 0x7e,
+ 0x46, 0x96, 0xd4, 0x4b, 0x8c, 0x78, 0x10, 0xf2, 0x14, 0x4e, 0x6b, 0xd8, 0xc6, 0xc7, 0xc4, 0x1f,
+ 0xe3, 0x3d, 0xb8, 0xc0, 0xad, 0xf8, 0x81, 0x67, 0xda, 0x23, 0x4d, 0x1f, 0x53, 0xfd, 0x91, 0x36,
+ 0x0d, 0x86, 0x77, 0xe5, 0x57, 0x92, 0xfd, 0x73, 0x0f, 0xfb, 0x9c, 0xd3, 0x64, 0x94, 0xe3, 0x60,
+ 0x78, 0x17, 0xf7, 0xa1, 0xc2, 0x26, 0x63, 0x62, 0x7e, 0x49, 0xb5, 0xa1, 0xe3, 0xf1, 0xa3, 0xb1,
+ 0xba, 0x64, 0x6b, 0x4a, 0x44, 0xb0, 0xde, 0x0d, 0x15, 0x8e, 0x1c, 0x83, 0xee, 0xe5, 0xfb, 0x3d,
+ 0x45, 0x69, 0xa9, 0xe5, 0xc8, 0xca, 0x7d, 0xc7, 0x63, 0x09, 0x35, 0x72, 0xe2, 0x00, 0x97, 0x45,
+ 0x42, 0x8d, 0x9c, 0x28, 0xbc, 0xb7, 0x61, 0x43, 0xd7, 0xc5, 0x98, 0x4d, 0x5d, 0x0b, 0xef, 0x58,
+ 0xbe, 0x8c, 0x52, 0xc1, 0xd2, 0xf5, 0x03, 0x41, 0x08, 0x73, 0xdc, 0xc7, 0x1f, 0xc2, 0xcb, 0xb3,
+ 0x60, 0x25, 0x15, 0xd7, 0x17, 0x46, 0x39, 0xaf, 0x7a, 0x1b, 0x36, 0xdc, 0xd3, 0x45, 0x45, 0x9c,
+ 0xea, 0xd1, 0x3d, 0x9d, 0x57, 0xfb, 0x00, 0x36, 0xdd, 0xb1, 0xbb, 0xa8, 0x77, 0x3d, 0xa9, 0x87,
+ 0xdd, 0xb1, 0x3b, 0xaf, 0xf8, 0x16, 0xbf, 0x70, 0x7b, 0x54, 0x27, 0x01, 0x35, 0xe4, 0x8b, 0x49,
+ 0x7a, 0x42, 0x80, 0x77, 0x01, 0xe9, 0xba, 0x46, 0x6d, 0x72, 0x62, 0x51, 0x8d, 0x78, 0xd4, 0x26,
+ 0xbe, 0x7c, 0x39, 0x49, 0xae, 0xea, 0xba, 0xc2, 0xa5, 0x0d, 0x2e, 0xc4, 0xd7, 0x61, 0xdd, 0x39,
+ 0x79, 0xa8, 0x8b, 0x94, 0xd4, 0x5c, 0x8f, 0x0e, 0xcd, 0xa7, 0xf2, 0x9b, 0x3c, 0xbe, 0x6b, 0x4c,
+ 0xc0, 0x13, 0xb2, 0xc7, 0x61, 0x7c, 0x0d, 0x90, 0xee, 0x8f, 0x89, 0xe7, 0xf2, 0x3d, 0xd9, 0x77,
+ 0x89, 0x4e, 0xe5, 0xb7, 0x04, 0x55, 0xe0, 0x9d, 0x08, 0x66, 0x4b, 0xc2, 0x7f, 0x62, 0x0e, 0x83,
+ 0xc8, 0xe2, 0x55, 0xb1, 0x24, 0x38, 0x16, 0x5a, 0xdb, 0x01, 0xc4, 0x42, 0x91, 0xea, 0x78, 0x87,
+ 0xd3, 0xaa, 0xee, 0xd8, 0x4d, 0xf6, 0xfb, 0x06, 0xac, 0x32, 0xe6, 0xac, 0xd3, 0x6b, 0xa2, 0x20,
+ 0x73, 0xc7, 0x89, 0x1e, 0x6f, 0xc1, 0x05, 0x46, 0x9a, 0xd0, 0x80, 0x18, 0x24, 0x20, 0x09, 0xf6,
+ 0xbb, 0x9c, 0xcd, 0xe2, 0x7e, 0x14, 0x0a, 0x53, 0x7e, 0x7a, 0xd3, 0x93, 0xd3, 0x38, 0xb3, 0x6e,
+ 0x08, 0x3f, 0x19, 0x16, 0xe5, 0xd6, 0xf7, 0x56, 0x74, 0xd7, 0xf6, 0xa0, 0x92, 0x4c, 0x7c, 0x5c,
+ 0x02, 0x91, 0xfa, 0x48, 0x62, 0x55, 0x50, 0xb3, 0xdb, 0x62, 0xf5, 0xcb, 0xe7, 0x0a, 0xca, 0xb0,
+ 0x3a, 0xea, 0xb0, 0x3d, 0x50, 0x34, 0xf5, 0xb8, 0x33, 0x68, 0x1f, 0x29, 0x28, 0x9b, 0x28, 0xd8,
+ 0x1f, 0xe4, 0x8a, 0x6f, 0xa3, 0xab, 0xb5, 0xaf, 0x33, 0x50, 0x4d, 0xdf, 0xc0, 0xf0, 0x8f, 0xe0,
+ 0x62, 0xf4, 0x5c, 0xe2, 0xd3, 0x40, 0x7b, 0x62, 0x7a, 0x7c, 0x45, 0x4e, 0x88, 0x38, 0x1d, 0xe3,
+ 0x9c, 0xd8, 0x0c, 0x59, 0x7d, 0x1a, 0x7c, 0x62, 0x7a, 0x6c, 0xbd, 0x4d, 0x48, 0x80, 0x0f, 0xe1,
+ 0xb2, 0xed, 0x68, 0x7e, 0x40, 0x6c, 0x83, 0x78, 0x86, 0x36, 0x7b, 0xa8, 0xd2, 0x88, 0xae, 0x53,
+ 0xdf, 0x77, 0xc4, 0x49, 0x18, 0x5b, 0x79, 0xd5, 0x76, 0xfa, 0x21, 0x79, 0x76, 0x44, 0x34, 0x42,
+ 0xea, 0x5c, 0xfe, 0x66, 0xcf, 0xca, 0xdf, 0x57, 0xa0, 0x34, 0x21, 0xae, 0x46, 0xed, 0xc0, 0x3b,
+ 0xe5, 0x75, 0x77, 0x51, 0x2d, 0x4e, 0x88, 0xab, 0xb0, 0xf6, 0x0b, 0xb9, 0xfe, 0x3c, 0xc8, 0x15,
+ 0x8b, 0xa8, 0xf4, 0x20, 0x57, 0x2c, 0x21, 0xa8, 0xfd, 0x33, 0x0b, 0x95, 0x64, 0x1d, 0xce, 0xae,
+ 0x35, 0x3a, 0x3f, 0xb2, 0x24, 0xbe, 0xa9, 0xbd, 0xf1, 0x8d, 0x55, 0x7b, 0xbd, 0xc9, 0xce, 0xb2,
+ 0xbd, 0x82, 0xa8, 0x8e, 0x55, 0xa1, 0xc9, 0xea, 0x08, 0x96, 0x6c, 0x54, 0x54, 0x23, 0x45, 0x35,
+ 0x6c, 0xe1, 0x03, 0x28, 0x3c, 0xf4, 0xb9, 0xed, 0x02, 0xb7, 0xfd, 0xe6, 0x37, 0xdb, 0x7e, 0xd0,
+ 0xe7, 0xc6, 0x4b, 0x0f, 0xfa, 0x5a, 0xa7, 0xab, 0x1e, 0x35, 0x0e, 0xd5, 0x50, 0x1d, 0x5f, 0x82,
+ 0x9c, 0x45, 0xbe, 0x3c, 0x4d, 0x9f, 0x7a, 0x1c, 0x3a, 0xef, 0x24, 0x5c, 0x82, 0xdc, 0x13, 0x4a,
+ 0x1e, 0xa5, 0xcf, 0x1a, 0x0e, 0x7d, 0x8f, 0x8b, 0x61, 0x17, 0xf2, 0x3c, 0x5e, 0x18, 0x20, 0x8c,
+ 0x18, 0x7a, 0x09, 0x17, 0x21, 0xd7, 0xec, 0xaa, 0x6c, 0x41, 0x20, 0xa8, 0x08, 0x54, 0xeb, 0xb5,
+ 0x95, 0xa6, 0x82, 0x32, 0xb5, 0xdb, 0x50, 0x10, 0x41, 0x60, 0x8b, 0x25, 0x0e, 0x03, 0x7a, 0x29,
+ 0x6c, 0x86, 0x36, 0xa4, 0x48, 0x7a, 0x7c, 0xb4, 0xaf, 0xa8, 0x28, 0x93, 0x9e, 0xea, 0x1c, 0xca,
+ 0xd7, 0x7c, 0xa8, 0x24, 0x0b, 0xf1, 0x17, 0x73, 0xc9, 0xfe, 0x9b, 0x04, 0xe5, 0x44, 0x61, 0xcd,
+ 0x2a, 0x22, 0x62, 0x59, 0xce, 0x13, 0x8d, 0x58, 0x26, 0xf1, 0xc3, 0xd4, 0x00, 0x0e, 0x35, 0x18,
+ 0x72, 0xde, 0xa9, 0x7b, 0x41, 0x4b, 0x24, 0x8f, 0x0a, 0xb5, 0x3f, 0x4a, 0x80, 0xe6, 0x2b, 0xdb,
+ 0x39, 0x37, 0xa5, 0x1f, 0xd2, 0xcd, 0xda, 0x1f, 0x24, 0xa8, 0xa6, 0xcb, 0xd9, 0x39, 0xf7, 0xae,
+ 0xfc, 0xa0, 0xee, 0xfd, 0x23, 0x03, 0xab, 0xa9, 0x22, 0xf6, 0xbc, 0xde, 0x7d, 0x01, 0xeb, 0xa6,
+ 0x41, 0x27, 0xae, 0x13, 0x50, 0x5b, 0x3f, 0xd5, 0x2c, 0xfa, 0x98, 0x5a, 0x72, 0x8d, 0x6f, 0x1a,
+ 0xbb, 0xdf, 0x5c, 0x26, 0xd7, 0xdb, 0x33, 0xbd, 0x43, 0xa6, 0xb6, 0xb7, 0xd1, 0x6e, 0x29, 0x47,
+ 0xbd, 0xee, 0x40, 0xe9, 0x34, 0x3f, 0xd3, 0x8e, 0x3b, 0x3f, 0xed, 0x74, 0x3f, 0xe9, 0xa8, 0xc8,
+ 0x9c, 0xa3, 0x7d, 0x8f, 0xcb, 0xbe, 0x07, 0x68, 0xde, 0x29, 0x7c, 0x11, 0x96, 0xb9, 0x85, 0x5e,
+ 0xc2, 0x1b, 0xb0, 0xd6, 0xe9, 0x6a, 0xfd, 0x76, 0x4b, 0xd1, 0x94, 0xfb, 0xf7, 0x95, 0xe6, 0xa0,
+ 0x2f, 0x1e, 0x3e, 0x62, 0xf6, 0x20, 0xb5, 0xc0, 0x6b, 0xbf, 0xcf, 0xc2, 0xc6, 0x12, 0x4f, 0x70,
+ 0x23, 0xbc, 0xb2, 0x88, 0x5b, 0xd4, 0x8d, 0xf3, 0x78, 0x5f, 0x67, 0x35, 0x43, 0x8f, 0x78, 0x41,
+ 0x78, 0xc3, 0xb9, 0x06, 0x2c, 0x4a, 0x76, 0x60, 0x0e, 0x4d, 0xea, 0x85, 0xef, 0x44, 0xe2, 0x1e,
+ 0xb3, 0x36, 0xc3, 0xc5, 0x53, 0xd1, 0xbb, 0x80, 0x5d, 0xc7, 0x37, 0x03, 0xf3, 0x31, 0xd5, 0x4c,
+ 0x3b, 0x7a, 0x54, 0x62, 0xf7, 0x9a, 0x9c, 0x8a, 0x22, 0x49, 0xdb, 0x0e, 0x62, 0xb6, 0x4d, 0x47,
+ 0x64, 0x8e, 0xcd, 0x36, 0xf3, 0xac, 0x8a, 0x22, 0x49, 0xcc, 0xbe, 0x02, 0x15, 0xc3, 0x99, 0xb2,
+ 0x62, 0x4f, 0xf0, 0xd8, 0xd9, 0x21, 0xa9, 0x65, 0x81, 0xc5, 0x94, 0xb0, 0x8c, 0x9f, 0xbd, 0x66,
+ 0x55, 0xd4, 0xb2, 0xc0, 0x04, 0xe5, 0x2a, 0xac, 0x91, 0xd1, 0xc8, 0x63, 0xc6, 0x23, 0x43, 0xe2,
+ 0x62, 0x52, 0x8d, 0x61, 0x4e, 0xdc, 0x7a, 0x00, 0xc5, 0x28, 0x0e, 0xec, 0xa8, 0x66, 0x91, 0xd0,
+ 0x5c, 0x71, 0xdb, 0xce, 0xec, 0x94, 0xd4, 0xa2, 0x1d, 0x09, 0xaf, 0x40, 0xc5, 0xf4, 0xb5, 0xd9,
+ 0xe3, 0x7c, 0x66, 0x3b, 0xb3, 0x53, 0x54, 0xcb, 0xa6, 0x1f, 0x3f, 0x6c, 0xd6, 0xbe, 0xca, 0x40,
+ 0x35, 0xfd, 0x71, 0x01, 0xb7, 0xa0, 0x68, 0x39, 0x3a, 0xe1, 0xa9, 0x25, 0xbe, 0x6c, 0xed, 0x3c,
+ 0xe7, 0x7b, 0x44, 0xfd, 0x30, 0xe4, 0xab, 0xb1, 0xe6, 0xd6, 0xdf, 0x25, 0x28, 0x46, 0x30, 0xbe,
+ 0x00, 0x39, 0x97, 0x04, 0x63, 0x6e, 0x2e, 0xbf, 0x9f, 0x41, 0x92, 0xca, 0xdb, 0x0c, 0xf7, 0x5d,
+ 0x62, 0xf3, 0x14, 0x08, 0x71, 0xd6, 0x66, 0xf3, 0x6a, 0x51, 0x62, 0xf0, 0x5b, 0x8f, 0x33, 0x99,
+ 0x50, 0x3b, 0xf0, 0xa3, 0x79, 0x0d, 0xf1, 0x66, 0x08, 0xe3, 0x77, 0x60, 0x3d, 0xf0, 0x88, 0x69,
+ 0xa5, 0xb8, 0x39, 0xce, 0x45, 0x91, 0x20, 0x26, 0xef, 0xc1, 0xa5, 0xc8, 0xae, 0x41, 0x03, 0xa2,
+ 0x8f, 0xa9, 0x31, 0x53, 0x2a, 0xf0, 0xd7, 0x8d, 0x8b, 0x21, 0xa1, 0x15, 0xca, 0x23, 0xdd, 0xda,
+ 0xd7, 0x12, 0xac, 0x47, 0xf7, 0x34, 0x23, 0x0e, 0xd6, 0x11, 0x00, 0xb1, 0x6d, 0x27, 0x48, 0x86,
+ 0x6b, 0x31, 0x95, 0x17, 0xf4, 0xea, 0x8d, 0x58, 0x49, 0x4d, 0x18, 0xd8, 0x9a, 0x00, 0xcc, 0x24,
+ 0x67, 0x86, 0xed, 0x32, 0x94, 0xc3, 0x2f, 0x47, 0xfc, 0xf3, 0xa3, 0xb8, 0xd9, 0x83, 0x80, 0xd8,
+ 0x85, 0x0e, 0x6f, 0x42, 0xfe, 0x84, 0x8e, 0x4c, 0x3b, 0x7c, 0x0f, 0x16, 0x8d, 0xe8, 0xfd, 0x25,
+ 0x17, 0xbf, 0xbf, 0xec, 0xff, 0x46, 0x82, 0x0d, 0xdd, 0x99, 0xcc, 0xfb, 0xbb, 0x8f, 0xe6, 0x9e,
+ 0x17, 0xfc, 0x8f, 0xa5, 0xcf, 0x3f, 0x1a, 0x99, 0xc1, 0x78, 0x7a, 0x52, 0xd7, 0x9d, 0xc9, 0xee,
+ 0xc8, 0xb1, 0x88, 0x3d, 0x9a, 0x7d, 0x3f, 0xe5, 0x7f, 0xf4, 0x1b, 0x23, 0x6a, 0xdf, 0x18, 0x39,
+ 0x89, 0xaf, 0xa9, 0xf7, 0x66, 0x7f, 0xff, 0x27, 0x49, 0x7f, 0xca, 0x64, 0x0f, 0x7a, 0xfb, 0x7f,
+ 0xce, 0x6c, 0x1d, 0x88, 0xee, 0x7a, 0x51, 0x78, 0x54, 0x3a, 0xb4, 0xa8, 0xce, 0x86, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x3e, 0xe8, 0xef, 0xc4, 0x9b, 0x1d, 0x00, 0x00,
+}
diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto
new file mode 100644
index 0000000..ed08fcb
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto
@@ -0,0 +1,883 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Author: kenton@google.com (Kenton Varda)
+// Based on original Protocol Buffers design by
+// Sanjay Ghemawat, Jeff Dean, and others.
+//
+// The messages in this file describe the definitions found in .proto files.
+// A valid .proto file can be translated directly to a FileDescriptorProto
+// without any other information (e.g. without reading its imports).
+
+
+syntax = "proto2";
+
+package google.protobuf;
+option go_package = "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor";
+option java_package = "com.google.protobuf";
+option java_outer_classname = "DescriptorProtos";
+option csharp_namespace = "Google.Protobuf.Reflection";
+option objc_class_prefix = "GPB";
+option cc_enable_arenas = true;
+
+// descriptor.proto must be optimized for speed because reflection-based
+// algorithms don't work during bootstrapping.
+option optimize_for = SPEED;
+
+// The protocol compiler can output a FileDescriptorSet containing the .proto
+// files it parses.
+message FileDescriptorSet {
+ repeated FileDescriptorProto file = 1;
+}
+
+// Describes a complete .proto file.
+message FileDescriptorProto {
+ optional string name = 1; // file name, relative to root of source tree
+ optional string package = 2; // e.g. "foo", "foo.bar", etc.
+
+ // Names of files imported by this file.
+ repeated string dependency = 3;
+ // Indexes of the public imported files in the dependency list above.
+ repeated int32 public_dependency = 10;
+ // Indexes of the weak imported files in the dependency list.
+ // For Google-internal migration only. Do not use.
+ repeated int32 weak_dependency = 11;
+
+ // All top-level definitions in this file.
+ repeated DescriptorProto message_type = 4;
+ repeated EnumDescriptorProto enum_type = 5;
+ repeated ServiceDescriptorProto service = 6;
+ repeated FieldDescriptorProto extension = 7;
+
+ optional FileOptions options = 8;
+
+ // This field contains optional information about the original source code.
+ // You may safely remove this entire field without harming runtime
+ // functionality of the descriptors -- the information is needed only by
+ // development tools.
+ optional SourceCodeInfo source_code_info = 9;
+
+ // The syntax of the proto file.
+ // The supported values are "proto2" and "proto3".
+ optional string syntax = 12;
+}
+
+// Describes a message type.
+message DescriptorProto {
+ optional string name = 1;
+
+ repeated FieldDescriptorProto field = 2;
+ repeated FieldDescriptorProto extension = 6;
+
+ repeated DescriptorProto nested_type = 3;
+ repeated EnumDescriptorProto enum_type = 4;
+
+ message ExtensionRange {
+ optional int32 start = 1;
+ optional int32 end = 2;
+
+ optional ExtensionRangeOptions options = 3;
+ }
+ repeated ExtensionRange extension_range = 5;
+
+ repeated OneofDescriptorProto oneof_decl = 8;
+
+ optional MessageOptions options = 7;
+
+ // Range of reserved tag numbers. Reserved tag numbers may not be used by
+ // fields or extension ranges in the same message. Reserved ranges may
+ // not overlap.
+ message ReservedRange {
+ optional int32 start = 1; // Inclusive.
+ optional int32 end = 2; // Exclusive.
+ }
+ repeated ReservedRange reserved_range = 9;
+ // Reserved field names, which may not be used by fields in the same message.
+ // A given name may only be reserved once.
+ repeated string reserved_name = 10;
+}
+
+message ExtensionRangeOptions {
+ // The parser stores options it doesn't recognize here. See above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message. See above.
+ extensions 1000 to max;
+}
+
+// Describes a field within a message.
+message FieldDescriptorProto {
+ enum Type {
+ // 0 is reserved for errors.
+ // Order is weird for historical reasons.
+ TYPE_DOUBLE = 1;
+ TYPE_FLOAT = 2;
+ // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
+ // negative values are likely.
+ TYPE_INT64 = 3;
+ TYPE_UINT64 = 4;
+ // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
+ // negative values are likely.
+ TYPE_INT32 = 5;
+ TYPE_FIXED64 = 6;
+ TYPE_FIXED32 = 7;
+ TYPE_BOOL = 8;
+ TYPE_STRING = 9;
+ // Tag-delimited aggregate.
+ // Group type is deprecated and not supported in proto3. However, Proto3
+ // implementations should still be able to parse the group wire format and
+ // treat group fields as unknown fields.
+ TYPE_GROUP = 10;
+ TYPE_MESSAGE = 11; // Length-delimited aggregate.
+
+ // New in version 2.
+ TYPE_BYTES = 12;
+ TYPE_UINT32 = 13;
+ TYPE_ENUM = 14;
+ TYPE_SFIXED32 = 15;
+ TYPE_SFIXED64 = 16;
+ TYPE_SINT32 = 17; // Uses ZigZag encoding.
+ TYPE_SINT64 = 18; // Uses ZigZag encoding.
+ };
+
+ enum Label {
+ // 0 is reserved for errors
+ LABEL_OPTIONAL = 1;
+ LABEL_REQUIRED = 2;
+ LABEL_REPEATED = 3;
+ };
+
+ optional string name = 1;
+ optional int32 number = 3;
+ optional Label label = 4;
+
+ // If type_name is set, this need not be set. If both this and type_name
+ // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
+ optional Type type = 5;
+
+ // For message and enum types, this is the name of the type. If the name
+ // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
+ // rules are used to find the type (i.e. first the nested types within this
+ // message are searched, then within the parent, on up to the root
+ // namespace).
+ optional string type_name = 6;
+
+ // For extensions, this is the name of the type being extended. It is
+ // resolved in the same manner as type_name.
+ optional string extendee = 2;
+
+ // For numeric types, contains the original text representation of the value.
+ // For booleans, "true" or "false".
+ // For strings, contains the default text contents (not escaped in any way).
+ // For bytes, contains the C escaped value. All bytes >= 128 are escaped.
+ // TODO(kenton): Base-64 encode?
+ optional string default_value = 7;
+
+ // If set, gives the index of a oneof in the containing type's oneof_decl
+ // list. This field is a member of that oneof.
+ optional int32 oneof_index = 9;
+
+ // JSON name of this field. The value is set by protocol compiler. If the
+ // user has set a "json_name" option on this field, that option's value
+ // will be used. Otherwise, it's deduced from the field's name by converting
+ // it to camelCase.
+ optional string json_name = 10;
+
+ optional FieldOptions options = 8;
+}
+
+// Describes a oneof.
+message OneofDescriptorProto {
+ optional string name = 1;
+ optional OneofOptions options = 2;
+}
+
+// Describes an enum type.
+message EnumDescriptorProto {
+ optional string name = 1;
+
+ repeated EnumValueDescriptorProto value = 2;
+
+ optional EnumOptions options = 3;
+
+ // Range of reserved numeric values. Reserved values may not be used by
+ // entries in the same enum. Reserved ranges may not overlap.
+ //
+ // Note that this is distinct from DescriptorProto.ReservedRange in that it
+ // is inclusive such that it can appropriately represent the entire int32
+ // domain.
+ message EnumReservedRange {
+ optional int32 start = 1; // Inclusive.
+ optional int32 end = 2; // Inclusive.
+ }
+
+ // Range of reserved numeric values. Reserved numeric values may not be used
+ // by enum values in the same enum declaration. Reserved ranges may not
+ // overlap.
+ repeated EnumReservedRange reserved_range = 4;
+
+ // Reserved enum value names, which may not be reused. A given name may only
+ // be reserved once.
+ repeated string reserved_name = 5;
+}
+
+// Describes a value within an enum.
+message EnumValueDescriptorProto {
+ optional string name = 1;
+ optional int32 number = 2;
+
+ optional EnumValueOptions options = 3;
+}
+
+// Describes a service.
+message ServiceDescriptorProto {
+ optional string name = 1;
+ repeated MethodDescriptorProto method = 2;
+
+ optional ServiceOptions options = 3;
+}
+
+// Describes a method of a service.
+message MethodDescriptorProto {
+ optional string name = 1;
+
+ // Input and output type names. These are resolved in the same way as
+ // FieldDescriptorProto.type_name, but must refer to a message type.
+ optional string input_type = 2;
+ optional string output_type = 3;
+
+ optional MethodOptions options = 4;
+
+ // Identifies if client streams multiple client messages
+ optional bool client_streaming = 5 [default=false];
+ // Identifies if server streams multiple server messages
+ optional bool server_streaming = 6 [default=false];
+}
+
+
+// ===================================================================
+// Options
+
+// Each of the definitions above may have "options" attached. These are
+// just annotations which may cause code to be generated slightly differently
+// or may contain hints for code that manipulates protocol messages.
+//
+// Clients may define custom options as extensions of the *Options messages.
+// These extensions may not yet be known at parsing time, so the parser cannot
+// store the values in them. Instead it stores them in a field in the *Options
+// message called uninterpreted_option. This field must have the same name
+// across all *Options messages. We then use this field to populate the
+// extensions when we build a descriptor, at which point all protos have been
+// parsed and so all extensions are known.
+//
+// Extension numbers for custom options may be chosen as follows:
+// * For options which will only be used within a single application or
+// organization, or for experimental options, use field numbers 50000
+// through 99999. It is up to you to ensure that you do not use the
+// same number for multiple options.
+// * For options which will be published and used publicly by multiple
+// independent entities, e-mail protobuf-global-extension-registry@google.com
+// to reserve extension numbers. Simply provide your project name (e.g.
+// Objective-C plugin) and your project website (if available) -- there's no
+// need to explain how you intend to use them. Usually you only need one
+// extension number. You can declare multiple options with only one extension
+// number by putting them in a sub-message. See the Custom Options section of
+// the docs for examples:
+// https://developers.google.com/protocol-buffers/docs/proto#options
+// If this turns out to be popular, a web service will be set up
+// to automatically assign option numbers.
+
+
+message FileOptions {
+
+ // Sets the Java package where classes generated from this .proto will be
+ // placed. By default, the proto package is used, but this is often
+ // inappropriate because proto packages do not normally start with backwards
+ // domain names.
+ optional string java_package = 1;
+
+
+ // If set, all the classes from the .proto file are wrapped in a single
+ // outer class with the given name. This applies to both Proto1
+ // (equivalent to the old "--one_java_file" option) and Proto2 (where
+ // a .proto always translates to a single class, but you may want to
+ // explicitly choose the class name).
+ optional string java_outer_classname = 8;
+
+ // If set true, then the Java code generator will generate a separate .java
+ // file for each top-level message, enum, and service defined in the .proto
+ // file. Thus, these types will *not* be nested inside the outer class
+ // named by java_outer_classname. However, the outer class will still be
+ // generated to contain the file's getDescriptor() method as well as any
+ // top-level extensions defined in the file.
+ optional bool java_multiple_files = 10 [default=false];
+
+ // This option does nothing.
+ optional bool java_generate_equals_and_hash = 20 [deprecated=true];
+
+ // If set true, then the Java2 code generator will generate code that
+ // throws an exception whenever an attempt is made to assign a non-UTF-8
+ // byte sequence to a string field.
+ // Message reflection will do the same.
+ // However, an extension field still accepts non-UTF-8 byte sequences.
+ // This option has no effect on when used with the lite runtime.
+ optional bool java_string_check_utf8 = 27 [default=false];
+
+
+ // Generated classes can be optimized for speed or code size.
+ enum OptimizeMode {
+ SPEED = 1; // Generate complete code for parsing, serialization,
+ // etc.
+ CODE_SIZE = 2; // Use ReflectionOps to implement these methods.
+ LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime.
+ }
+ optional OptimizeMode optimize_for = 9 [default=SPEED];
+
+ // Sets the Go package where structs generated from this .proto will be
+ // placed. If omitted, the Go package will be derived from the following:
+ // - The basename of the package import path, if provided.
+ // - Otherwise, the package statement in the .proto file, if present.
+ // - Otherwise, the basename of the .proto file, without extension.
+ optional string go_package = 11;
+
+
+
+ // Should generic services be generated in each language? "Generic" services
+ // are not specific to any particular RPC system. They are generated by the
+ // main code generators in each language (without additional plugins).
+ // Generic services were the only kind of service generation supported by
+ // early versions of google.protobuf.
+ //
+ // Generic services are now considered deprecated in favor of using plugins
+ // that generate code specific to your particular RPC system. Therefore,
+ // these default to false. Old code which depends on generic services should
+ // explicitly set them to true.
+ optional bool cc_generic_services = 16 [default=false];
+ optional bool java_generic_services = 17 [default=false];
+ optional bool py_generic_services = 18 [default=false];
+ optional bool php_generic_services = 42 [default=false];
+
+ // Is this file deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for everything in the file, or it will be completely ignored; in the very
+ // least, this is a formalization for deprecating files.
+ optional bool deprecated = 23 [default=false];
+
+ // Enables the use of arenas for the proto messages in this file. This applies
+ // only to generated classes for C++.
+ optional bool cc_enable_arenas = 31 [default=false];
+
+
+ // Sets the objective c class prefix which is prepended to all objective c
+ // generated classes from this .proto. There is no default.
+ optional string objc_class_prefix = 36;
+
+ // Namespace for generated classes; defaults to the package.
+ optional string csharp_namespace = 37;
+
+ // By default Swift generators will take the proto package and CamelCase it
+ // replacing '.' with underscore and use that to prefix the types/symbols
+ // defined. When this options is provided, they will use this value instead
+ // to prefix the types/symbols defined.
+ optional string swift_prefix = 39;
+
+ // Sets the php class prefix which is prepended to all php generated classes
+ // from this .proto. Default is empty.
+ optional string php_class_prefix = 40;
+
+ // Use this option to change the namespace of php generated classes. Default
+ // is empty. When this option is empty, the package name will be used for
+ // determining the namespace.
+ optional string php_namespace = 41;
+
+
+ // Use this option to change the namespace of php generated metadata classes.
+ // Default is empty. When this option is empty, the proto file name will be used
+ // for determining the namespace.
+ optional string php_metadata_namespace = 44;
+
+ // Use this option to change the package of ruby generated classes. Default
+ // is empty. When this option is not set, the package name will be used for
+ // determining the ruby package.
+ optional string ruby_package = 45;
+
+ // The parser stores options it doesn't recognize here.
+ // See the documentation for the "Options" section above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message.
+ // See the documentation for the "Options" section above.
+ extensions 1000 to max;
+
+ reserved 38;
+}
+
+message MessageOptions {
+ // Set true to use the old proto1 MessageSet wire format for extensions.
+ // This is provided for backwards-compatibility with the MessageSet wire
+ // format. You should not use this for any other reason: It's less
+ // efficient, has fewer features, and is more complicated.
+ //
+ // The message must be defined exactly as follows:
+ // message Foo {
+ // option message_set_wire_format = true;
+ // extensions 4 to max;
+ // }
+ // Note that the message cannot have any defined fields; MessageSets only
+ // have extensions.
+ //
+ // All extensions of your type must be singular messages; e.g. they cannot
+ // be int32s, enums, or repeated messages.
+ //
+ // Because this is an option, the above two restrictions are not enforced by
+ // the protocol compiler.
+ optional bool message_set_wire_format = 1 [default=false];
+
+ // Disables the generation of the standard "descriptor()" accessor, which can
+ // conflict with a field of the same name. This is meant to make migration
+ // from proto1 easier; new code should avoid fields named "descriptor".
+ optional bool no_standard_descriptor_accessor = 2 [default=false];
+
+ // Is this message deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the message, or it will be completely ignored; in the very least,
+ // this is a formalization for deprecating messages.
+ optional bool deprecated = 3 [default=false];
+
+ // Whether the message is an automatically generated map entry type for the
+ // maps field.
+ //
+ // For maps fields:
+ // map<KeyType, ValueType> map_field = 1;
+ // The parsed descriptor looks like:
+ // message MapFieldEntry {
+ // option map_entry = true;
+ // optional KeyType key = 1;
+ // optional ValueType value = 2;
+ // }
+ // repeated MapFieldEntry map_field = 1;
+ //
+ // Implementations may choose not to generate the map_entry=true message, but
+ // use a native map in the target language to hold the keys and values.
+ // The reflection APIs in such implementions still need to work as
+ // if the field is a repeated message field.
+ //
+ // NOTE: Do not set the option in .proto files. Always use the maps syntax
+ // instead. The option should only be implicitly set by the proto compiler
+ // parser.
+ optional bool map_entry = 7;
+
+ reserved 8; // javalite_serializable
+ reserved 9; // javanano_as_lite
+
+ // The parser stores options it doesn't recognize here. See above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message. See above.
+ extensions 1000 to max;
+}
+
+message FieldOptions {
+ // The ctype option instructs the C++ code generator to use a different
+ // representation of the field than it normally would. See the specific
+ // options below. This option is not yet implemented in the open source
+ // release -- sorry, we'll try to include it in a future version!
+ optional CType ctype = 1 [default = STRING];
+ enum CType {
+ // Default mode.
+ STRING = 0;
+
+ CORD = 1;
+
+ STRING_PIECE = 2;
+ }
+ // The packed option can be enabled for repeated primitive fields to enable
+ // a more efficient representation on the wire. Rather than repeatedly
+ // writing the tag and type for each element, the entire array is encoded as
+ // a single length-delimited blob. In proto3, only explicit setting it to
+ // false will avoid using packed encoding.
+ optional bool packed = 2;
+
+ // The jstype option determines the JavaScript type used for values of the
+ // field. The option is permitted only for 64 bit integral and fixed types
+ // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
+ // is represented as JavaScript string, which avoids loss of precision that
+ // can happen when a large value is converted to a floating point JavaScript.
+ // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
+ // use the JavaScript "number" type. The behavior of the default option
+ // JS_NORMAL is implementation dependent.
+ //
+ // This option is an enum to permit additional types to be added, e.g.
+ // goog.math.Integer.
+ optional JSType jstype = 6 [default = JS_NORMAL];
+ enum JSType {
+ // Use the default type.
+ JS_NORMAL = 0;
+
+ // Use JavaScript strings.
+ JS_STRING = 1;
+
+ // Use JavaScript numbers.
+ JS_NUMBER = 2;
+ }
+
+ // Should this field be parsed lazily? Lazy applies only to message-type
+ // fields. It means that when the outer message is initially parsed, the
+ // inner message's contents will not be parsed but instead stored in encoded
+ // form. The inner message will actually be parsed when it is first accessed.
+ //
+ // This is only a hint. Implementations are free to choose whether to use
+ // eager or lazy parsing regardless of the value of this option. However,
+ // setting this option true suggests that the protocol author believes that
+ // using lazy parsing on this field is worth the additional bookkeeping
+ // overhead typically needed to implement it.
+ //
+ // This option does not affect the public interface of any generated code;
+ // all method signatures remain the same. Furthermore, thread-safety of the
+ // interface is not affected by this option; const methods remain safe to
+ // call from multiple threads concurrently, while non-const methods continue
+ // to require exclusive access.
+ //
+ //
+ // Note that implementations may choose not to check required fields within
+ // a lazy sub-message. That is, calling IsInitialized() on the outer message
+ // may return true even if the inner message has missing required fields.
+ // This is necessary because otherwise the inner message would have to be
+ // parsed in order to perform the check, defeating the purpose of lazy
+ // parsing. An implementation which chooses not to check required fields
+ // must be consistent about it. That is, for any particular sub-message, the
+ // implementation must either *always* check its required fields, or *never*
+ // check its required fields, regardless of whether or not the message has
+ // been parsed.
+ optional bool lazy = 5 [default=false];
+
+ // Is this field deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for accessors, or it will be completely ignored; in the very least, this
+ // is a formalization for deprecating fields.
+ optional bool deprecated = 3 [default=false];
+
+ // For Google-internal migration only. Do not use.
+ optional bool weak = 10 [default=false];
+
+
+ // The parser stores options it doesn't recognize here. See above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message. See above.
+ extensions 1000 to max;
+
+ reserved 4; // removed jtype
+}
+
+message OneofOptions {
+ // The parser stores options it doesn't recognize here. See above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message. See above.
+ extensions 1000 to max;
+}
+
+message EnumOptions {
+
+ // Set this option to true to allow mapping different tag names to the same
+ // value.
+ optional bool allow_alias = 2;
+
+ // Is this enum deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the enum, or it will be completely ignored; in the very least, this
+ // is a formalization for deprecating enums.
+ optional bool deprecated = 3 [default=false];
+
+ reserved 5; // javanano_as_lite
+
+ // The parser stores options it doesn't recognize here. See above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message. See above.
+ extensions 1000 to max;
+}
+
+message EnumValueOptions {
+ // Is this enum value deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the enum value, or it will be completely ignored; in the very least,
+ // this is a formalization for deprecating enum values.
+ optional bool deprecated = 1 [default=false];
+
+ // The parser stores options it doesn't recognize here. See above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message. See above.
+ extensions 1000 to max;
+}
+
+message ServiceOptions {
+
+ // Note: Field numbers 1 through 32 are reserved for Google's internal RPC
+ // framework. We apologize for hoarding these numbers to ourselves, but
+ // we were already using them long before we decided to release Protocol
+ // Buffers.
+
+ // Is this service deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the service, or it will be completely ignored; in the very least,
+ // this is a formalization for deprecating services.
+ optional bool deprecated = 33 [default=false];
+
+ // The parser stores options it doesn't recognize here. See above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message. See above.
+ extensions 1000 to max;
+}
+
+message MethodOptions {
+
+ // Note: Field numbers 1 through 32 are reserved for Google's internal RPC
+ // framework. We apologize for hoarding these numbers to ourselves, but
+ // we were already using them long before we decided to release Protocol
+ // Buffers.
+
+ // Is this method deprecated?
+ // Depending on the target platform, this can emit Deprecated annotations
+ // for the method, or it will be completely ignored; in the very least,
+ // this is a formalization for deprecating methods.
+ optional bool deprecated = 33 [default=false];
+
+ // Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
+ // or neither? HTTP based RPC implementation may choose GET verb for safe
+ // methods, and PUT verb for idempotent methods instead of the default POST.
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0;
+ NO_SIDE_EFFECTS = 1; // implies idempotent
+ IDEMPOTENT = 2; // idempotent, but may have side effects
+ }
+ optional IdempotencyLevel idempotency_level =
+ 34 [default=IDEMPOTENCY_UNKNOWN];
+
+ // The parser stores options it doesn't recognize here. See above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message. See above.
+ extensions 1000 to max;
+}
+
+
+// A message representing a option the parser does not recognize. This only
+// appears in options protos created by the compiler::Parser class.
+// DescriptorPool resolves these when building Descriptor objects. Therefore,
+// options protos in descriptor objects (e.g. returned by Descriptor::options(),
+// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
+// in them.
+message UninterpretedOption {
+ // The name of the uninterpreted option. Each string represents a segment in
+ // a dot-separated name. is_extension is true iff a segment represents an
+ // extension (denoted with parentheses in options specs in .proto files).
+ // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
+ // "foo.(bar.baz).qux".
+ message NamePart {
+ required string name_part = 1;
+ required bool is_extension = 2;
+ }
+ repeated NamePart name = 2;
+
+ // The value of the uninterpreted option, in whatever type the tokenizer
+ // identified it as during parsing. Exactly one of these should be set.
+ optional string identifier_value = 3;
+ optional uint64 positive_int_value = 4;
+ optional int64 negative_int_value = 5;
+ optional double double_value = 6;
+ optional bytes string_value = 7;
+ optional string aggregate_value = 8;
+}
+
+// ===================================================================
+// Optional source code info
+
+// Encapsulates information about the original source file from which a
+// FileDescriptorProto was generated.
+message SourceCodeInfo {
+ // A Location identifies a piece of source code in a .proto file which
+ // corresponds to a particular definition. This information is intended
+ // to be useful to IDEs, code indexers, documentation generators, and similar
+ // tools.
+ //
+ // For example, say we have a file like:
+ // message Foo {
+ // optional string foo = 1;
+ // }
+ // Let's look at just the field definition:
+ // optional string foo = 1;
+ // ^ ^^ ^^ ^ ^^^
+ // a bc de f ghi
+ // We have the following locations:
+ // span path represents
+ // [a,i) [ 4, 0, 2, 0 ] The whole field definition.
+ // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).
+ // [c,d) [ 4, 0, 2, 0, 5 ] The type (string).
+ // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).
+ // [g,h) [ 4, 0, 2, 0, 3 ] The number (1).
+ //
+ // Notes:
+ // - A location may refer to a repeated field itself (i.e. not to any
+ // particular index within it). This is used whenever a set of elements are
+ // logically enclosed in a single code segment. For example, an entire
+ // extend block (possibly containing multiple extension definitions) will
+ // have an outer location whose path refers to the "extensions" repeated
+ // field without an index.
+ // - Multiple locations may have the same path. This happens when a single
+ // logical declaration is spread out across multiple places. The most
+ // obvious example is the "extend" block again -- there may be multiple
+ // extend blocks in the same scope, each of which will have the same path.
+ // - A location's span is not always a subset of its parent's span. For
+ // example, the "extendee" of an extension declaration appears at the
+ // beginning of the "extend" block and is shared by all extensions within
+ // the block.
+ // - Just because a location's span is a subset of some other location's span
+ // does not mean that it is a descendent. For example, a "group" defines
+ // both a type and a field in a single declaration. Thus, the locations
+ // corresponding to the type and field and their components will overlap.
+ // - Code which tries to interpret locations should probably be designed to
+ // ignore those that it doesn't understand, as more types of locations could
+ // be recorded in the future.
+ repeated Location location = 1;
+ message Location {
+ // Identifies which part of the FileDescriptorProto was defined at this
+ // location.
+ //
+ // Each element is a field number or an index. They form a path from
+ // the root FileDescriptorProto to the place where the definition. For
+ // example, this path:
+ // [ 4, 3, 2, 7, 1 ]
+ // refers to:
+ // file.message_type(3) // 4, 3
+ // .field(7) // 2, 7
+ // .name() // 1
+ // This is because FileDescriptorProto.message_type has field number 4:
+ // repeated DescriptorProto message_type = 4;
+ // and DescriptorProto.field has field number 2:
+ // repeated FieldDescriptorProto field = 2;
+ // and FieldDescriptorProto.name has field number 1:
+ // optional string name = 1;
+ //
+ // Thus, the above path gives the location of a field name. If we removed
+ // the last element:
+ // [ 4, 3, 2, 7 ]
+ // this path refers to the whole field declaration (from the beginning
+ // of the label to the terminating semicolon).
+ repeated int32 path = 1 [packed=true];
+
+ // Always has exactly three or four elements: start line, start column,
+ // end line (optional, otherwise assumed same as start line), end column.
+ // These are packed into a single field for efficiency. Note that line
+ // and column numbers are zero-based -- typically you will want to add
+ // 1 to each before displaying to a user.
+ repeated int32 span = 2 [packed=true];
+
+ // If this SourceCodeInfo represents a complete declaration, these are any
+ // comments appearing before and after the declaration which appear to be
+ // attached to the declaration.
+ //
+ // A series of line comments appearing on consecutive lines, with no other
+ // tokens appearing on those lines, will be treated as a single comment.
+ //
+ // leading_detached_comments will keep paragraphs of comments that appear
+ // before (but not connected to) the current element. Each paragraph,
+ // separated by empty lines, will be one comment element in the repeated
+ // field.
+ //
+ // Only the comment content is provided; comment markers (e.g. //) are
+ // stripped out. For block comments, leading whitespace and an asterisk
+ // will be stripped from the beginning of each line other than the first.
+ // Newlines are included in the output.
+ //
+ // Examples:
+ //
+ // optional int32 foo = 1; // Comment attached to foo.
+ // // Comment attached to bar.
+ // optional int32 bar = 2;
+ //
+ // optional string baz = 3;
+ // // Comment attached to baz.
+ // // Another line attached to baz.
+ //
+ // // Comment attached to qux.
+ // //
+ // // Another line attached to qux.
+ // optional double qux = 4;
+ //
+ // // Detached comment for corge. This is not leading or trailing comments
+ // // to qux or corge because there are blank lines separating it from
+ // // both.
+ //
+ // // Detached comment for corge paragraph 2.
+ //
+ // optional string corge = 5;
+ // /* Block comment attached
+ // * to corge. Leading asterisks
+ // * will be removed. */
+ // /* Block comment attached to
+ // * grault. */
+ // optional int32 grault = 6;
+ //
+ // // ignored detached comments.
+ optional string leading_comments = 3;
+ optional string trailing_comments = 4;
+ repeated string leading_detached_comments = 6;
+ }
+}
+
+// Describes the relationship between generated code and its original source
+// file. A GeneratedCodeInfo message is associated with only one generated
+// source file, but may contain references to different source .proto files.
+message GeneratedCodeInfo {
+ // An Annotation connects some span of text in generated code to an element
+ // of its generating .proto file.
+ repeated Annotation annotation = 1;
+ message Annotation {
+ // Identifies the element in the original source .proto file. This field
+ // is formatted the same as SourceCodeInfo.Location.path.
+ repeated int32 path = 1 [packed=true];
+
+ // Identifies the filesystem path to the original source .proto.
+ optional string source_file = 2;
+
+ // Identifies the starting offset in bytes in the generated code
+ // that relates to the identified object.
+ optional int32 begin = 3;
+
+ // Identifies the ending offset in bytes in the generated code that
+ // relates to the identified offset. The end offset should be one past
+ // the last relevant byte (so the length of the text = end - begin).
+ optional int32 end = 4;
+ }
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/any.go b/vendor/github.com/golang/protobuf/ptypes/any.go
new file mode 100644
index 0000000..70276e8
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/any.go
@@ -0,0 +1,141 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2016 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package ptypes
+
+// This file implements functions to marshal proto.Message to/from
+// google.protobuf.Any message.
+
+import (
+ "fmt"
+ "reflect"
+ "strings"
+
+ "github.com/golang/protobuf/proto"
+ "github.com/golang/protobuf/ptypes/any"
+)
+
+const googleApis = "type.googleapis.com/"
+
+// AnyMessageName returns the name of the message contained in a google.protobuf.Any message.
+//
+// Note that regular type assertions should be done using the Is
+// function. AnyMessageName is provided for less common use cases like filtering a
+// sequence of Any messages based on a set of allowed message type names.
+func AnyMessageName(any *any.Any) (string, error) {
+ if any == nil {
+ return "", fmt.Errorf("message is nil")
+ }
+ slash := strings.LastIndex(any.TypeUrl, "/")
+ if slash < 0 {
+ return "", fmt.Errorf("message type url %q is invalid", any.TypeUrl)
+ }
+ return any.TypeUrl[slash+1:], nil
+}
+
+// MarshalAny takes the protocol buffer and encodes it into google.protobuf.Any.
+func MarshalAny(pb proto.Message) (*any.Any, error) {
+ value, err := proto.Marshal(pb)
+ if err != nil {
+ return nil, err
+ }
+ return &any.Any{TypeUrl: googleApis + proto.MessageName(pb), Value: value}, nil
+}
+
+// DynamicAny is a value that can be passed to UnmarshalAny to automatically
+// allocate a proto.Message for the type specified in a google.protobuf.Any
+// message. The allocated message is stored in the embedded proto.Message.
+//
+// Example:
+//
+// var x ptypes.DynamicAny
+// if err := ptypes.UnmarshalAny(a, &x); err != nil { ... }
+// fmt.Printf("unmarshaled message: %v", x.Message)
+type DynamicAny struct {
+ proto.Message
+}
+
+// Empty returns a new proto.Message of the type specified in a
+// google.protobuf.Any message. It returns an error if corresponding message
+// type isn't linked in.
+func Empty(any *any.Any) (proto.Message, error) {
+ aname, err := AnyMessageName(any)
+ if err != nil {
+ return nil, err
+ }
+
+ t := proto.MessageType(aname)
+ if t == nil {
+ return nil, fmt.Errorf("any: message type %q isn't linked in", aname)
+ }
+ return reflect.New(t.Elem()).Interface().(proto.Message), nil
+}
+
+// UnmarshalAny parses the protocol buffer representation in a google.protobuf.Any
+// message and places the decoded result in pb. It returns an error if type of
+// contents of Any message does not match type of pb message.
+//
+// pb can be a proto.Message, or a *DynamicAny.
+func UnmarshalAny(any *any.Any, pb proto.Message) error {
+ if d, ok := pb.(*DynamicAny); ok {
+ if d.Message == nil {
+ var err error
+ d.Message, err = Empty(any)
+ if err != nil {
+ return err
+ }
+ }
+ return UnmarshalAny(any, d.Message)
+ }
+
+ aname, err := AnyMessageName(any)
+ if err != nil {
+ return err
+ }
+
+ mname := proto.MessageName(pb)
+ if aname != mname {
+ return fmt.Errorf("mismatched message type: got %q want %q", aname, mname)
+ }
+ return proto.Unmarshal(any.Value, pb)
+}
+
+// Is returns true if any value contains a given message type.
+func Is(any *any.Any, pb proto.Message) bool {
+ // The following is equivalent to AnyMessageName(any) == proto.MessageName(pb),
+ // but it avoids scanning TypeUrl for the slash.
+ if any == nil {
+ return false
+ }
+ name := proto.MessageName(pb)
+ prefix := len(any.TypeUrl) - len(name)
+ return prefix >= 1 && any.TypeUrl[prefix-1] == '/' && any.TypeUrl[prefix:] == name
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go b/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go
new file mode 100644
index 0000000..78ee523
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go
@@ -0,0 +1,200 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/protobuf/any.proto
+
+package any
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// `Any` contains an arbitrary serialized protocol buffer message along with a
+// URL that describes the type of the serialized message.
+//
+// Protobuf library provides support to pack/unpack Any values in the form
+// of utility functions or additional generated methods of the Any type.
+//
+// Example 1: Pack and unpack a message in C++.
+//
+// Foo foo = ...;
+// Any any;
+// any.PackFrom(foo);
+// ...
+// if (any.UnpackTo(&foo)) {
+// ...
+// }
+//
+// Example 2: Pack and unpack a message in Java.
+//
+// Foo foo = ...;
+// Any any = Any.pack(foo);
+// ...
+// if (any.is(Foo.class)) {
+// foo = any.unpack(Foo.class);
+// }
+//
+// Example 3: Pack and unpack a message in Python.
+//
+// foo = Foo(...)
+// any = Any()
+// any.Pack(foo)
+// ...
+// if any.Is(Foo.DESCRIPTOR):
+// any.Unpack(foo)
+// ...
+//
+// Example 4: Pack and unpack a message in Go
+//
+// foo := &pb.Foo{...}
+// any, err := ptypes.MarshalAny(foo)
+// ...
+// foo := &pb.Foo{}
+// if err := ptypes.UnmarshalAny(any, foo); err != nil {
+// ...
+// }
+//
+// The pack methods provided by protobuf library will by default use
+// 'type.googleapis.com/full.type.name' as the type URL and the unpack
+// methods only use the fully qualified type name after the last '/'
+// in the type URL, for example "foo.bar.com/x/y.z" will yield type
+// name "y.z".
+//
+//
+// JSON
+// ====
+// The JSON representation of an `Any` value uses the regular
+// representation of the deserialized, embedded message, with an
+// additional field `@type` which contains the type URL. Example:
+//
+// package google.profile;
+// message Person {
+// string first_name = 1;
+// string last_name = 2;
+// }
+//
+// {
+// "@type": "type.googleapis.com/google.profile.Person",
+// "firstName": <string>,
+// "lastName": <string>
+// }
+//
+// If the embedded message type is well-known and has a custom JSON
+// representation, that representation will be embedded adding a field
+// `value` which holds the custom JSON in addition to the `@type`
+// field. Example (for message [google.protobuf.Duration][]):
+//
+// {
+// "@type": "type.googleapis.com/google.protobuf.Duration",
+// "value": "1.212s"
+// }
+//
+type Any struct {
+ // A URL/resource name that uniquely identifies the type of the serialized
+ // protocol buffer message. The last segment of the URL's path must represent
+ // the fully qualified name of the type (as in
+ // `path/google.protobuf.Duration`). The name should be in a canonical form
+ // (e.g., leading "." is not accepted).
+ //
+ // In practice, teams usually precompile into the binary all types that they
+ // expect it to use in the context of Any. However, for URLs which use the
+ // scheme `http`, `https`, or no scheme, one can optionally set up a type
+ // server that maps type URLs to message definitions as follows:
+ //
+ // * If no scheme is provided, `https` is assumed.
+ // * An HTTP GET on the URL must yield a [google.protobuf.Type][]
+ // value in binary format, or produce an error.
+ // * Applications are allowed to cache lookup results based on the
+ // URL, or have them precompiled into a binary to avoid any
+ // lookup. Therefore, binary compatibility needs to be preserved
+ // on changes to types. (Use versioned type names to manage
+ // breaking changes.)
+ //
+ // Note: this functionality is not currently available in the official
+ // protobuf release, and it is not used for type URLs beginning with
+ // type.googleapis.com.
+ //
+ // Schemes other than `http`, `https` (or the empty scheme) might be
+ // used with implementation specific semantics.
+ //
+ TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
+ // Must be a valid serialized protocol buffer of the above specified type.
+ Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Any) Reset() { *m = Any{} }
+func (m *Any) String() string { return proto.CompactTextString(m) }
+func (*Any) ProtoMessage() {}
+func (*Any) Descriptor() ([]byte, []int) {
+ return fileDescriptor_b53526c13ae22eb4, []int{0}
+}
+
+func (*Any) XXX_WellKnownType() string { return "Any" }
+
+func (m *Any) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Any.Unmarshal(m, b)
+}
+func (m *Any) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Any.Marshal(b, m, deterministic)
+}
+func (m *Any) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Any.Merge(m, src)
+}
+func (m *Any) XXX_Size() int {
+ return xxx_messageInfo_Any.Size(m)
+}
+func (m *Any) XXX_DiscardUnknown() {
+ xxx_messageInfo_Any.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Any proto.InternalMessageInfo
+
+func (m *Any) GetTypeUrl() string {
+ if m != nil {
+ return m.TypeUrl
+ }
+ return ""
+}
+
+func (m *Any) GetValue() []byte {
+ if m != nil {
+ return m.Value
+ }
+ return nil
+}
+
+func init() {
+ proto.RegisterType((*Any)(nil), "google.protobuf.Any")
+}
+
+func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_b53526c13ae22eb4) }
+
+var fileDescriptor_b53526c13ae22eb4 = []byte{
+ // 185 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f,
+ 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4,
+ 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a,
+ 0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46,
+ 0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7,
+ 0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xca, 0xe7, 0x12, 0x4e, 0xce,
+ 0xcf, 0xd5, 0x43, 0x33, 0xce, 0x89, 0xc3, 0x31, 0xaf, 0x32, 0x00, 0xc4, 0x09, 0x60, 0x8c, 0x52,
+ 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc,
+ 0x4b, 0x47, 0xb8, 0xa8, 0x00, 0x64, 0x7a, 0x31, 0xc8, 0x61, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c,
+ 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x8c, 0x0a, 0x80, 0x2a, 0xd1, 0x0b, 0x4f, 0xcd, 0xc9, 0xf1, 0xce,
+ 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0x29, 0x4d, 0x62, 0x03, 0xeb, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff,
+ 0xff, 0x13, 0xf8, 0xe8, 0x42, 0xdd, 0x00, 0x00, 0x00,
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/any/any.proto b/vendor/github.com/golang/protobuf/ptypes/any/any.proto
new file mode 100644
index 0000000..4932942
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/any/any.proto
@@ -0,0 +1,154 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+syntax = "proto3";
+
+package google.protobuf;
+
+option csharp_namespace = "Google.Protobuf.WellKnownTypes";
+option go_package = "github.com/golang/protobuf/ptypes/any";
+option java_package = "com.google.protobuf";
+option java_outer_classname = "AnyProto";
+option java_multiple_files = true;
+option objc_class_prefix = "GPB";
+
+// `Any` contains an arbitrary serialized protocol buffer message along with a
+// URL that describes the type of the serialized message.
+//
+// Protobuf library provides support to pack/unpack Any values in the form
+// of utility functions or additional generated methods of the Any type.
+//
+// Example 1: Pack and unpack a message in C++.
+//
+// Foo foo = ...;
+// Any any;
+// any.PackFrom(foo);
+// ...
+// if (any.UnpackTo(&foo)) {
+// ...
+// }
+//
+// Example 2: Pack and unpack a message in Java.
+//
+// Foo foo = ...;
+// Any any = Any.pack(foo);
+// ...
+// if (any.is(Foo.class)) {
+// foo = any.unpack(Foo.class);
+// }
+//
+// Example 3: Pack and unpack a message in Python.
+//
+// foo = Foo(...)
+// any = Any()
+// any.Pack(foo)
+// ...
+// if any.Is(Foo.DESCRIPTOR):
+// any.Unpack(foo)
+// ...
+//
+// Example 4: Pack and unpack a message in Go
+//
+// foo := &pb.Foo{...}
+// any, err := ptypes.MarshalAny(foo)
+// ...
+// foo := &pb.Foo{}
+// if err := ptypes.UnmarshalAny(any, foo); err != nil {
+// ...
+// }
+//
+// The pack methods provided by protobuf library will by default use
+// 'type.googleapis.com/full.type.name' as the type URL and the unpack
+// methods only use the fully qualified type name after the last '/'
+// in the type URL, for example "foo.bar.com/x/y.z" will yield type
+// name "y.z".
+//
+//
+// JSON
+// ====
+// The JSON representation of an `Any` value uses the regular
+// representation of the deserialized, embedded message, with an
+// additional field `@type` which contains the type URL. Example:
+//
+// package google.profile;
+// message Person {
+// string first_name = 1;
+// string last_name = 2;
+// }
+//
+// {
+// "@type": "type.googleapis.com/google.profile.Person",
+// "firstName": <string>,
+// "lastName": <string>
+// }
+//
+// If the embedded message type is well-known and has a custom JSON
+// representation, that representation will be embedded adding a field
+// `value` which holds the custom JSON in addition to the `@type`
+// field. Example (for message [google.protobuf.Duration][]):
+//
+// {
+// "@type": "type.googleapis.com/google.protobuf.Duration",
+// "value": "1.212s"
+// }
+//
+message Any {
+ // A URL/resource name that uniquely identifies the type of the serialized
+ // protocol buffer message. The last segment of the URL's path must represent
+ // the fully qualified name of the type (as in
+ // `path/google.protobuf.Duration`). The name should be in a canonical form
+ // (e.g., leading "." is not accepted).
+ //
+ // In practice, teams usually precompile into the binary all types that they
+ // expect it to use in the context of Any. However, for URLs which use the
+ // scheme `http`, `https`, or no scheme, one can optionally set up a type
+ // server that maps type URLs to message definitions as follows:
+ //
+ // * If no scheme is provided, `https` is assumed.
+ // * An HTTP GET on the URL must yield a [google.protobuf.Type][]
+ // value in binary format, or produce an error.
+ // * Applications are allowed to cache lookup results based on the
+ // URL, or have them precompiled into a binary to avoid any
+ // lookup. Therefore, binary compatibility needs to be preserved
+ // on changes to types. (Use versioned type names to manage
+ // breaking changes.)
+ //
+ // Note: this functionality is not currently available in the official
+ // protobuf release, and it is not used for type URLs beginning with
+ // type.googleapis.com.
+ //
+ // Schemes other than `http`, `https` (or the empty scheme) might be
+ // used with implementation specific semantics.
+ //
+ string type_url = 1;
+
+ // Must be a valid serialized protocol buffer of the above specified type.
+ bytes value = 2;
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/doc.go b/vendor/github.com/golang/protobuf/ptypes/doc.go
new file mode 100644
index 0000000..c0d595d
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/doc.go
@@ -0,0 +1,35 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2016 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Package ptypes contains code for interacting with well-known types.
+*/
+package ptypes
diff --git a/vendor/github.com/golang/protobuf/ptypes/duration.go b/vendor/github.com/golang/protobuf/ptypes/duration.go
new file mode 100644
index 0000000..26d1ca2
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/duration.go
@@ -0,0 +1,102 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2016 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package ptypes
+
+// This file implements conversions between google.protobuf.Duration
+// and time.Duration.
+
+import (
+ "errors"
+ "fmt"
+ "time"
+
+ durpb "github.com/golang/protobuf/ptypes/duration"
+)
+
+const (
+ // Range of a durpb.Duration in seconds, as specified in
+ // google/protobuf/duration.proto. This is about 10,000 years in seconds.
+ maxSeconds = int64(10000 * 365.25 * 24 * 60 * 60)
+ minSeconds = -maxSeconds
+)
+
+// validateDuration determines whether the durpb.Duration is valid according to the
+// definition in google/protobuf/duration.proto. A valid durpb.Duration
+// may still be too large to fit into a time.Duration (the range of durpb.Duration
+// is about 10,000 years, and the range of time.Duration is about 290).
+func validateDuration(d *durpb.Duration) error {
+ if d == nil {
+ return errors.New("duration: nil Duration")
+ }
+ if d.Seconds < minSeconds || d.Seconds > maxSeconds {
+ return fmt.Errorf("duration: %v: seconds out of range", d)
+ }
+ if d.Nanos <= -1e9 || d.Nanos >= 1e9 {
+ return fmt.Errorf("duration: %v: nanos out of range", d)
+ }
+ // Seconds and Nanos must have the same sign, unless d.Nanos is zero.
+ if (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) {
+ return fmt.Errorf("duration: %v: seconds and nanos have different signs", d)
+ }
+ return nil
+}
+
+// Duration converts a durpb.Duration to a time.Duration. Duration
+// returns an error if the durpb.Duration is invalid or is too large to be
+// represented in a time.Duration.
+func Duration(p *durpb.Duration) (time.Duration, error) {
+ if err := validateDuration(p); err != nil {
+ return 0, err
+ }
+ d := time.Duration(p.Seconds) * time.Second
+ if int64(d/time.Second) != p.Seconds {
+ return 0, fmt.Errorf("duration: %v is out of range for time.Duration", p)
+ }
+ if p.Nanos != 0 {
+ d += time.Duration(p.Nanos) * time.Nanosecond
+ if (d < 0) != (p.Nanos < 0) {
+ return 0, fmt.Errorf("duration: %v is out of range for time.Duration", p)
+ }
+ }
+ return d, nil
+}
+
+// DurationProto converts a time.Duration to a durpb.Duration.
+func DurationProto(d time.Duration) *durpb.Duration {
+ nanos := d.Nanoseconds()
+ secs := nanos / 1e9
+ nanos -= secs * 1e9
+ return &durpb.Duration{
+ Seconds: secs,
+ Nanos: int32(nanos),
+ }
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go b/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go
new file mode 100644
index 0000000..0d681ee
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go
@@ -0,0 +1,161 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/protobuf/duration.proto
+
+package duration
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// A Duration represents a signed, fixed-length span of time represented
+// as a count of seconds and fractions of seconds at nanosecond
+// resolution. It is independent of any calendar and concepts like "day"
+// or "month". It is related to Timestamp in that the difference between
+// two Timestamp values is a Duration and it can be added or subtracted
+// from a Timestamp. Range is approximately +-10,000 years.
+//
+// # Examples
+//
+// Example 1: Compute Duration from two Timestamps in pseudo code.
+//
+// Timestamp start = ...;
+// Timestamp end = ...;
+// Duration duration = ...;
+//
+// duration.seconds = end.seconds - start.seconds;
+// duration.nanos = end.nanos - start.nanos;
+//
+// if (duration.seconds < 0 && duration.nanos > 0) {
+// duration.seconds += 1;
+// duration.nanos -= 1000000000;
+// } else if (durations.seconds > 0 && duration.nanos < 0) {
+// duration.seconds -= 1;
+// duration.nanos += 1000000000;
+// }
+//
+// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+//
+// Timestamp start = ...;
+// Duration duration = ...;
+// Timestamp end = ...;
+//
+// end.seconds = start.seconds + duration.seconds;
+// end.nanos = start.nanos + duration.nanos;
+//
+// if (end.nanos < 0) {
+// end.seconds -= 1;
+// end.nanos += 1000000000;
+// } else if (end.nanos >= 1000000000) {
+// end.seconds += 1;
+// end.nanos -= 1000000000;
+// }
+//
+// Example 3: Compute Duration from datetime.timedelta in Python.
+//
+// td = datetime.timedelta(days=3, minutes=10)
+// duration = Duration()
+// duration.FromTimedelta(td)
+//
+// # JSON Mapping
+//
+// In JSON format, the Duration type is encoded as a string rather than an
+// object, where the string ends in the suffix "s" (indicating seconds) and
+// is preceded by the number of seconds, with nanoseconds expressed as
+// fractional seconds. For example, 3 seconds with 0 nanoseconds should be
+// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
+// be expressed in JSON format as "3.000000001s", and 3 seconds and 1
+// microsecond should be expressed in JSON format as "3.000001s".
+//
+//
+type Duration struct {
+ // Signed seconds of the span of time. Must be from -315,576,000,000
+ // to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
+ // Signed fractions of a second at nanosecond resolution of the span
+ // of time. Durations less than one second are represented with a 0
+ // `seconds` field and a positive or negative `nanos` field. For durations
+ // of one second or more, a non-zero value for the `nanos` field must be
+ // of the same sign as the `seconds` field. Must be from -999,999,999
+ // to +999,999,999 inclusive.
+ Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Duration) Reset() { *m = Duration{} }
+func (m *Duration) String() string { return proto.CompactTextString(m) }
+func (*Duration) ProtoMessage() {}
+func (*Duration) Descriptor() ([]byte, []int) {
+ return fileDescriptor_23597b2ebd7ac6c5, []int{0}
+}
+
+func (*Duration) XXX_WellKnownType() string { return "Duration" }
+
+func (m *Duration) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Duration.Unmarshal(m, b)
+}
+func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Duration.Marshal(b, m, deterministic)
+}
+func (m *Duration) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Duration.Merge(m, src)
+}
+func (m *Duration) XXX_Size() int {
+ return xxx_messageInfo_Duration.Size(m)
+}
+func (m *Duration) XXX_DiscardUnknown() {
+ xxx_messageInfo_Duration.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Duration proto.InternalMessageInfo
+
+func (m *Duration) GetSeconds() int64 {
+ if m != nil {
+ return m.Seconds
+ }
+ return 0
+}
+
+func (m *Duration) GetNanos() int32 {
+ if m != nil {
+ return m.Nanos
+ }
+ return 0
+}
+
+func init() {
+ proto.RegisterType((*Duration)(nil), "google.protobuf.Duration")
+}
+
+func init() { proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor_23597b2ebd7ac6c5) }
+
+var fileDescriptor_23597b2ebd7ac6c5 = []byte{
+ // 190 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,
+ 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a,
+ 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56,
+ 0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5,
+ 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e,
+ 0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0xc3, 0x25, 0x9c, 0x9c,
+ 0x9f, 0xab, 0x87, 0x66, 0xa4, 0x13, 0x2f, 0xcc, 0xc0, 0x00, 0x90, 0x48, 0x00, 0x63, 0x94, 0x56,
+ 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x7a, 0x7e, 0x4e, 0x62, 0x5e,
+ 0x3a, 0xc2, 0x7d, 0x05, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x70, 0x67, 0xfe, 0x60, 0x64, 0x5c, 0xc4,
+ 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0x62, 0x6e, 0x00, 0x54, 0xa9, 0x5e, 0x78,
+ 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x4b, 0x12, 0x1b, 0xd8, 0x0c, 0x63,
+ 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x84, 0x30, 0xff, 0xf3, 0x00, 0x00, 0x00,
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto b/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto
new file mode 100644
index 0000000..975fce4
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto
@@ -0,0 +1,117 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+syntax = "proto3";
+
+package google.protobuf;
+
+option csharp_namespace = "Google.Protobuf.WellKnownTypes";
+option cc_enable_arenas = true;
+option go_package = "github.com/golang/protobuf/ptypes/duration";
+option java_package = "com.google.protobuf";
+option java_outer_classname = "DurationProto";
+option java_multiple_files = true;
+option objc_class_prefix = "GPB";
+
+// A Duration represents a signed, fixed-length span of time represented
+// as a count of seconds and fractions of seconds at nanosecond
+// resolution. It is independent of any calendar and concepts like "day"
+// or "month". It is related to Timestamp in that the difference between
+// two Timestamp values is a Duration and it can be added or subtracted
+// from a Timestamp. Range is approximately +-10,000 years.
+//
+// # Examples
+//
+// Example 1: Compute Duration from two Timestamps in pseudo code.
+//
+// Timestamp start = ...;
+// Timestamp end = ...;
+// Duration duration = ...;
+//
+// duration.seconds = end.seconds - start.seconds;
+// duration.nanos = end.nanos - start.nanos;
+//
+// if (duration.seconds < 0 && duration.nanos > 0) {
+// duration.seconds += 1;
+// duration.nanos -= 1000000000;
+// } else if (durations.seconds > 0 && duration.nanos < 0) {
+// duration.seconds -= 1;
+// duration.nanos += 1000000000;
+// }
+//
+// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+//
+// Timestamp start = ...;
+// Duration duration = ...;
+// Timestamp end = ...;
+//
+// end.seconds = start.seconds + duration.seconds;
+// end.nanos = start.nanos + duration.nanos;
+//
+// if (end.nanos < 0) {
+// end.seconds -= 1;
+// end.nanos += 1000000000;
+// } else if (end.nanos >= 1000000000) {
+// end.seconds += 1;
+// end.nanos -= 1000000000;
+// }
+//
+// Example 3: Compute Duration from datetime.timedelta in Python.
+//
+// td = datetime.timedelta(days=3, minutes=10)
+// duration = Duration()
+// duration.FromTimedelta(td)
+//
+// # JSON Mapping
+//
+// In JSON format, the Duration type is encoded as a string rather than an
+// object, where the string ends in the suffix "s" (indicating seconds) and
+// is preceded by the number of seconds, with nanoseconds expressed as
+// fractional seconds. For example, 3 seconds with 0 nanoseconds should be
+// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
+// be expressed in JSON format as "3.000000001s", and 3 seconds and 1
+// microsecond should be expressed in JSON format as "3.000001s".
+//
+//
+message Duration {
+
+ // Signed seconds of the span of time. Must be from -315,576,000,000
+ // to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ int64 seconds = 1;
+
+ // Signed fractions of a second at nanosecond resolution of the span
+ // of time. Durations less than one second are represented with a 0
+ // `seconds` field and a positive or negative `nanos` field. For durations
+ // of one second or more, a non-zero value for the `nanos` field must be
+ // of the same sign as the `seconds` field. Must be from -999,999,999
+ // to +999,999,999 inclusive.
+ int32 nanos = 2;
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/empty/empty.pb.go b/vendor/github.com/golang/protobuf/ptypes/empty/empty.pb.go
new file mode 100644
index 0000000..b4eb03e
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/empty/empty.pb.go
@@ -0,0 +1,83 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/protobuf/empty.proto
+
+package empty
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// A generic empty message that you can re-use to avoid defining duplicated
+// empty messages in your APIs. A typical example is to use it as the request
+// or the response type of an API method. For instance:
+//
+// service Foo {
+// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+// }
+//
+// The JSON representation for `Empty` is empty JSON object `{}`.
+type Empty struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Empty) Reset() { *m = Empty{} }
+func (m *Empty) String() string { return proto.CompactTextString(m) }
+func (*Empty) ProtoMessage() {}
+func (*Empty) Descriptor() ([]byte, []int) {
+ return fileDescriptor_900544acb223d5b8, []int{0}
+}
+
+func (*Empty) XXX_WellKnownType() string { return "Empty" }
+
+func (m *Empty) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Empty.Unmarshal(m, b)
+}
+func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Empty.Marshal(b, m, deterministic)
+}
+func (m *Empty) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Empty.Merge(m, src)
+}
+func (m *Empty) XXX_Size() int {
+ return xxx_messageInfo_Empty.Size(m)
+}
+func (m *Empty) XXX_DiscardUnknown() {
+ xxx_messageInfo_Empty.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Empty proto.InternalMessageInfo
+
+func init() {
+ proto.RegisterType((*Empty)(nil), "google.protobuf.Empty")
+}
+
+func init() { proto.RegisterFile("google/protobuf/empty.proto", fileDescriptor_900544acb223d5b8) }
+
+var fileDescriptor_900544acb223d5b8 = []byte{
+ // 148 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f,
+ 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcd, 0x2d, 0x28,
+ 0xa9, 0xd4, 0x03, 0x73, 0x85, 0xf8, 0x21, 0x92, 0x7a, 0x30, 0x49, 0x25, 0x76, 0x2e, 0x56, 0x57,
+ 0x90, 0xbc, 0x53, 0x19, 0x97, 0x70, 0x72, 0x7e, 0xae, 0x1e, 0x9a, 0xbc, 0x13, 0x17, 0x58, 0x36,
+ 0x00, 0xc4, 0x0d, 0x60, 0x8c, 0x52, 0x4f, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf,
+ 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0x47, 0x58, 0x53, 0x50, 0x52, 0x59, 0x90, 0x5a, 0x0c,
+ 0xb1, 0xed, 0x07, 0x23, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55, 0x4c, 0x72, 0xee, 0x10,
+ 0x13, 0x03, 0xa0, 0xea, 0xf4, 0xc2, 0x53, 0x73, 0x72, 0xbc, 0xf3, 0xf2, 0xcb, 0xf3, 0x42, 0x40,
+ 0xea, 0x93, 0xd8, 0xc0, 0x06, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x64, 0xd4, 0xb3, 0xa6,
+ 0xb7, 0x00, 0x00, 0x00,
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/empty/empty.proto b/vendor/github.com/golang/protobuf/ptypes/empty/empty.proto
new file mode 100644
index 0000000..03cacd2
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/empty/empty.proto
@@ -0,0 +1,52 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+syntax = "proto3";
+
+package google.protobuf;
+
+option csharp_namespace = "Google.Protobuf.WellKnownTypes";
+option go_package = "github.com/golang/protobuf/ptypes/empty";
+option java_package = "com.google.protobuf";
+option java_outer_classname = "EmptyProto";
+option java_multiple_files = true;
+option objc_class_prefix = "GPB";
+option cc_enable_arenas = true;
+
+// A generic empty message that you can re-use to avoid defining duplicated
+// empty messages in your APIs. A typical example is to use it as the request
+// or the response type of an API method. For instance:
+//
+// service Foo {
+// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+// }
+//
+// The JSON representation for `Empty` is empty JSON object `{}`.
+message Empty {}
diff --git a/vendor/github.com/golang/protobuf/ptypes/timestamp.go b/vendor/github.com/golang/protobuf/ptypes/timestamp.go
new file mode 100644
index 0000000..8da0df0
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/timestamp.go
@@ -0,0 +1,132 @@
+// Go support for Protocol Buffers - Google's data interchange format
+//
+// Copyright 2016 The Go Authors. All rights reserved.
+// https://github.com/golang/protobuf
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package ptypes
+
+// This file implements operations on google.protobuf.Timestamp.
+
+import (
+ "errors"
+ "fmt"
+ "time"
+
+ tspb "github.com/golang/protobuf/ptypes/timestamp"
+)
+
+const (
+ // Seconds field of the earliest valid Timestamp.
+ // This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix().
+ minValidSeconds = -62135596800
+ // Seconds field just after the latest valid Timestamp.
+ // This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix().
+ maxValidSeconds = 253402300800
+)
+
+// validateTimestamp determines whether a Timestamp is valid.
+// A valid timestamp represents a time in the range
+// [0001-01-01, 10000-01-01) and has a Nanos field
+// in the range [0, 1e9).
+//
+// If the Timestamp is valid, validateTimestamp returns nil.
+// Otherwise, it returns an error that describes
+// the problem.
+//
+// Every valid Timestamp can be represented by a time.Time, but the converse is not true.
+func validateTimestamp(ts *tspb.Timestamp) error {
+ if ts == nil {
+ return errors.New("timestamp: nil Timestamp")
+ }
+ if ts.Seconds < minValidSeconds {
+ return fmt.Errorf("timestamp: %v before 0001-01-01", ts)
+ }
+ if ts.Seconds >= maxValidSeconds {
+ return fmt.Errorf("timestamp: %v after 10000-01-01", ts)
+ }
+ if ts.Nanos < 0 || ts.Nanos >= 1e9 {
+ return fmt.Errorf("timestamp: %v: nanos not in range [0, 1e9)", ts)
+ }
+ return nil
+}
+
+// Timestamp converts a google.protobuf.Timestamp proto to a time.Time.
+// It returns an error if the argument is invalid.
+//
+// Unlike most Go functions, if Timestamp returns an error, the first return value
+// is not the zero time.Time. Instead, it is the value obtained from the
+// time.Unix function when passed the contents of the Timestamp, in the UTC
+// locale. This may or may not be a meaningful time; many invalid Timestamps
+// do map to valid time.Times.
+//
+// A nil Timestamp returns an error. The first return value in that case is
+// undefined.
+func Timestamp(ts *tspb.Timestamp) (time.Time, error) {
+ // Don't return the zero value on error, because corresponds to a valid
+ // timestamp. Instead return whatever time.Unix gives us.
+ var t time.Time
+ if ts == nil {
+ t = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp
+ } else {
+ t = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC()
+ }
+ return t, validateTimestamp(ts)
+}
+
+// TimestampNow returns a google.protobuf.Timestamp for the current time.
+func TimestampNow() *tspb.Timestamp {
+ ts, err := TimestampProto(time.Now())
+ if err != nil {
+ panic("ptypes: time.Now() out of Timestamp range")
+ }
+ return ts
+}
+
+// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto.
+// It returns an error if the resulting Timestamp is invalid.
+func TimestampProto(t time.Time) (*tspb.Timestamp, error) {
+ ts := &tspb.Timestamp{
+ Seconds: t.Unix(),
+ Nanos: int32(t.Nanosecond()),
+ }
+ if err := validateTimestamp(ts); err != nil {
+ return nil, err
+ }
+ return ts, nil
+}
+
+// TimestampString returns the RFC 3339 string for valid Timestamps. For invalid
+// Timestamps, it returns an error message in parentheses.
+func TimestampString(ts *tspb.Timestamp) string {
+ t, err := Timestamp(ts)
+ if err != nil {
+ return fmt.Sprintf("(%v)", err)
+ }
+ return t.Format(time.RFC3339Nano)
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go
new file mode 100644
index 0000000..31cd846
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go
@@ -0,0 +1,179 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/protobuf/timestamp.proto
+
+package timestamp
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// A Timestamp represents a point in time independent of any time zone
+// or calendar, represented as seconds and fractions of seconds at
+// nanosecond resolution in UTC Epoch time. It is encoded using the
+// Proleptic Gregorian Calendar which extends the Gregorian calendar
+// backwards to year one. It is encoded assuming all minutes are 60
+// seconds long, i.e. leap seconds are "smeared" so that no leap second
+// table is needed for interpretation. Range is from
+// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
+// By restricting to that range, we ensure that we can convert to
+// and from RFC 3339 date strings.
+// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
+//
+// # Examples
+//
+// Example 1: Compute Timestamp from POSIX `time()`.
+//
+// Timestamp timestamp;
+// timestamp.set_seconds(time(NULL));
+// timestamp.set_nanos(0);
+//
+// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+//
+// struct timeval tv;
+// gettimeofday(&tv, NULL);
+//
+// Timestamp timestamp;
+// timestamp.set_seconds(tv.tv_sec);
+// timestamp.set_nanos(tv.tv_usec * 1000);
+//
+// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+//
+// FILETIME ft;
+// GetSystemTimeAsFileTime(&ft);
+// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+//
+// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
+// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
+// Timestamp timestamp;
+// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
+// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+//
+// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+//
+// long millis = System.currentTimeMillis();
+//
+// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
+// .setNanos((int) ((millis % 1000) * 1000000)).build();
+//
+//
+// Example 5: Compute Timestamp from current time in Python.
+//
+// timestamp = Timestamp()
+// timestamp.GetCurrentTime()
+//
+// # JSON Mapping
+//
+// In JSON format, the Timestamp type is encoded as a string in the
+// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
+// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
+// where {year} is always expressed using four digits while {month}, {day},
+// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
+// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
+// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
+// is required. A proto3 JSON serializer should always use UTC (as indicated by
+// "Z") when printing the Timestamp type and a proto3 JSON parser should be
+// able to accept both UTC and other timezones (as indicated by an offset).
+//
+// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
+// 01:30 UTC on January 15, 2017.
+//
+// In JavaScript, one can convert a Date object to this format using the
+// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]
+// method. In Python, a standard `datetime.datetime` object can be converted
+// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)
+// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one
+// can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
+// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--
+// ) to obtain a formatter capable of generating timestamps in this format.
+//
+//
+type Timestamp struct {
+ // Represents seconds of UTC time since Unix epoch
+ // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ // 9999-12-31T23:59:59Z inclusive.
+ Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
+ // Non-negative fractions of a second at nanosecond resolution. Negative
+ // second values with fractions must still have non-negative nanos values
+ // that count forward in time. Must be from 0 to 999,999,999
+ // inclusive.
+ Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Timestamp) Reset() { *m = Timestamp{} }
+func (m *Timestamp) String() string { return proto.CompactTextString(m) }
+func (*Timestamp) ProtoMessage() {}
+func (*Timestamp) Descriptor() ([]byte, []int) {
+ return fileDescriptor_292007bbfe81227e, []int{0}
+}
+
+func (*Timestamp) XXX_WellKnownType() string { return "Timestamp" }
+
+func (m *Timestamp) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Timestamp.Unmarshal(m, b)
+}
+func (m *Timestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Timestamp.Marshal(b, m, deterministic)
+}
+func (m *Timestamp) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Timestamp.Merge(m, src)
+}
+func (m *Timestamp) XXX_Size() int {
+ return xxx_messageInfo_Timestamp.Size(m)
+}
+func (m *Timestamp) XXX_DiscardUnknown() {
+ xxx_messageInfo_Timestamp.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Timestamp proto.InternalMessageInfo
+
+func (m *Timestamp) GetSeconds() int64 {
+ if m != nil {
+ return m.Seconds
+ }
+ return 0
+}
+
+func (m *Timestamp) GetNanos() int32 {
+ if m != nil {
+ return m.Nanos
+ }
+ return 0
+}
+
+func init() {
+ proto.RegisterType((*Timestamp)(nil), "google.protobuf.Timestamp")
+}
+
+func init() { proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor_292007bbfe81227e) }
+
+var fileDescriptor_292007bbfe81227e = []byte{
+ // 191 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f,
+ 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d,
+ 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28,
+ 0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5,
+ 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89,
+ 0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x1d, 0x97, 0x70,
+ 0x72, 0x7e, 0xae, 0x1e, 0x9a, 0x99, 0x4e, 0x7c, 0x70, 0x13, 0x03, 0x40, 0x42, 0x01, 0x8c, 0x51,
+ 0xda, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0x39, 0x89,
+ 0x79, 0xe9, 0x08, 0x27, 0x16, 0x94, 0x54, 0x16, 0xa4, 0x16, 0x23, 0x5c, 0xfa, 0x83, 0x91, 0x71,
+ 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xc9, 0x01, 0x50, 0xb5, 0x7a,
+ 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x3d, 0x49, 0x6c, 0x60, 0x43,
+ 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x77, 0x4a, 0x07, 0xf7, 0x00, 0x00, 0x00,
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
new file mode 100644
index 0000000..eafb3fa
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
@@ -0,0 +1,135 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+syntax = "proto3";
+
+package google.protobuf;
+
+option csharp_namespace = "Google.Protobuf.WellKnownTypes";
+option cc_enable_arenas = true;
+option go_package = "github.com/golang/protobuf/ptypes/timestamp";
+option java_package = "com.google.protobuf";
+option java_outer_classname = "TimestampProto";
+option java_multiple_files = true;
+option objc_class_prefix = "GPB";
+
+// A Timestamp represents a point in time independent of any time zone
+// or calendar, represented as seconds and fractions of seconds at
+// nanosecond resolution in UTC Epoch time. It is encoded using the
+// Proleptic Gregorian Calendar which extends the Gregorian calendar
+// backwards to year one. It is encoded assuming all minutes are 60
+// seconds long, i.e. leap seconds are "smeared" so that no leap second
+// table is needed for interpretation. Range is from
+// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
+// By restricting to that range, we ensure that we can convert to
+// and from RFC 3339 date strings.
+// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
+//
+// # Examples
+//
+// Example 1: Compute Timestamp from POSIX `time()`.
+//
+// Timestamp timestamp;
+// timestamp.set_seconds(time(NULL));
+// timestamp.set_nanos(0);
+//
+// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+//
+// struct timeval tv;
+// gettimeofday(&tv, NULL);
+//
+// Timestamp timestamp;
+// timestamp.set_seconds(tv.tv_sec);
+// timestamp.set_nanos(tv.tv_usec * 1000);
+//
+// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+//
+// FILETIME ft;
+// GetSystemTimeAsFileTime(&ft);
+// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+//
+// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
+// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
+// Timestamp timestamp;
+// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
+// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+//
+// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+//
+// long millis = System.currentTimeMillis();
+//
+// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
+// .setNanos((int) ((millis % 1000) * 1000000)).build();
+//
+//
+// Example 5: Compute Timestamp from current time in Python.
+//
+// timestamp = Timestamp()
+// timestamp.GetCurrentTime()
+//
+// # JSON Mapping
+//
+// In JSON format, the Timestamp type is encoded as a string in the
+// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
+// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
+// where {year} is always expressed using four digits while {month}, {day},
+// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
+// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
+// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
+// is required. A proto3 JSON serializer should always use UTC (as indicated by
+// "Z") when printing the Timestamp type and a proto3 JSON parser should be
+// able to accept both UTC and other timezones (as indicated by an offset).
+//
+// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
+// 01:30 UTC on January 15, 2017.
+//
+// In JavaScript, one can convert a Date object to this format using the
+// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]
+// method. In Python, a standard `datetime.datetime` object can be converted
+// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)
+// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one
+// can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
+// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--
+// ) to obtain a formatter capable of generating timestamps in this format.
+//
+//
+message Timestamp {
+
+ // Represents seconds of UTC time since Unix epoch
+ // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ // 9999-12-31T23:59:59Z inclusive.
+ int64 seconds = 1;
+
+ // Non-negative fractions of a second at nanosecond resolution. Negative
+ // second values with fractions must still have non-negative nanos values
+ // that count forward in time. Must be from 0 to 999,999,999
+ // inclusive.
+ int32 nanos = 2;
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/common/common.pb.go b/vendor/github.com/opencord/voltha-protos/go/common/common.pb.go
new file mode 100644
index 0000000..c50262b
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/common/common.pb.go
@@ -0,0 +1,685 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/common.proto
+
+package common
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type TestModeKeys int32
+
+const (
+ TestModeKeys_api_test TestModeKeys = 0
+)
+
+var TestModeKeys_name = map[int32]string{
+ 0: "api_test",
+}
+
+var TestModeKeys_value = map[string]int32{
+ "api_test": 0,
+}
+
+func (x TestModeKeys) String() string {
+ return proto.EnumName(TestModeKeys_name, int32(x))
+}
+
+func (TestModeKeys) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{0}
+}
+
+// Logging verbosity level
+type LogLevel_LogLevel int32
+
+const (
+ LogLevel_DEBUG LogLevel_LogLevel = 0
+ LogLevel_INFO LogLevel_LogLevel = 1
+ LogLevel_WARNING LogLevel_LogLevel = 2
+ LogLevel_ERROR LogLevel_LogLevel = 3
+ LogLevel_CRITICAL LogLevel_LogLevel = 4
+ LogLevel_FATAL LogLevel_LogLevel = 5
+)
+
+var LogLevel_LogLevel_name = map[int32]string{
+ 0: "DEBUG",
+ 1: "INFO",
+ 2: "WARNING",
+ 3: "ERROR",
+ 4: "CRITICAL",
+ 5: "FATAL",
+}
+
+var LogLevel_LogLevel_value = map[string]int32{
+ "DEBUG": 0,
+ "INFO": 1,
+ "WARNING": 2,
+ "ERROR": 3,
+ "CRITICAL": 4,
+ "FATAL": 5,
+}
+
+func (x LogLevel_LogLevel) String() string {
+ return proto.EnumName(LogLevel_LogLevel_name, int32(x))
+}
+
+func (LogLevel_LogLevel) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{2, 0}
+}
+
+// Administrative State
+type AdminState_AdminState int32
+
+const (
+ // The administrative state of the device is unknown
+ AdminState_UNKNOWN AdminState_AdminState = 0
+ // The device is pre-provisioned into Voltha, but not contacted by it
+ AdminState_PREPROVISIONED AdminState_AdminState = 1
+ // The device is enabled for activation and operation
+ AdminState_ENABLED AdminState_AdminState = 2
+ // The device is disabled and shall not perform its intended forwarding
+ // functions other than being available for re-activation.
+ AdminState_DISABLED AdminState_AdminState = 3
+ // The device is in the state of image download
+ AdminState_DOWNLOADING_IMAGE AdminState_AdminState = 4
+ // The device is marked to be deleted
+ AdminState_DELETED AdminState_AdminState = 5
+)
+
+var AdminState_AdminState_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "PREPROVISIONED",
+ 2: "ENABLED",
+ 3: "DISABLED",
+ 4: "DOWNLOADING_IMAGE",
+ 5: "DELETED",
+}
+
+var AdminState_AdminState_value = map[string]int32{
+ "UNKNOWN": 0,
+ "PREPROVISIONED": 1,
+ "ENABLED": 2,
+ "DISABLED": 3,
+ "DOWNLOADING_IMAGE": 4,
+ "DELETED": 5,
+}
+
+func (x AdminState_AdminState) String() string {
+ return proto.EnumName(AdminState_AdminState_name, int32(x))
+}
+
+func (AdminState_AdminState) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{6, 0}
+}
+
+// Operational Status
+type OperStatus_OperStatus int32
+
+const (
+ // The status of the device is unknown at this point
+ OperStatus_UNKNOWN OperStatus_OperStatus = 0
+ // The device has been discovered, but not yet activated
+ OperStatus_DISCOVERED OperStatus_OperStatus = 1
+ // The device is being activated (booted, rebooted, upgraded, etc.)
+ OperStatus_ACTIVATING OperStatus_OperStatus = 2
+ // Service impacting tests are being conducted
+ OperStatus_TESTING OperStatus_OperStatus = 3
+ // The device is up and active
+ OperStatus_ACTIVE OperStatus_OperStatus = 4
+ // The device has failed and cannot fulfill its intended role
+ OperStatus_FAILED OperStatus_OperStatus = 5
+)
+
+var OperStatus_OperStatus_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "DISCOVERED",
+ 2: "ACTIVATING",
+ 3: "TESTING",
+ 4: "ACTIVE",
+ 5: "FAILED",
+}
+
+var OperStatus_OperStatus_value = map[string]int32{
+ "UNKNOWN": 0,
+ "DISCOVERED": 1,
+ "ACTIVATING": 2,
+ "TESTING": 3,
+ "ACTIVE": 4,
+ "FAILED": 5,
+}
+
+func (x OperStatus_OperStatus) String() string {
+ return proto.EnumName(OperStatus_OperStatus_name, int32(x))
+}
+
+func (OperStatus_OperStatus) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{7, 0}
+}
+
+// Connectivity Status
+type ConnectStatus_ConnectStatus int32
+
+const (
+ // The device connectivity status is unknown
+ ConnectStatus_UNKNOWN ConnectStatus_ConnectStatus = 0
+ // The device cannot be reached by Voltha
+ ConnectStatus_UNREACHABLE ConnectStatus_ConnectStatus = 1
+ // There is live communication between device and Voltha
+ ConnectStatus_REACHABLE ConnectStatus_ConnectStatus = 2
+)
+
+var ConnectStatus_ConnectStatus_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "UNREACHABLE",
+ 2: "REACHABLE",
+}
+
+var ConnectStatus_ConnectStatus_value = map[string]int32{
+ "UNKNOWN": 0,
+ "UNREACHABLE": 1,
+ "REACHABLE": 2,
+}
+
+func (x ConnectStatus_ConnectStatus) String() string {
+ return proto.EnumName(ConnectStatus_ConnectStatus_name, int32(x))
+}
+
+func (ConnectStatus_ConnectStatus) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{8, 0}
+}
+
+type OperationResp_OperationReturnCode int32
+
+const (
+ OperationResp_OPERATION_SUCCESS OperationResp_OperationReturnCode = 0
+ OperationResp_OPERATION_FAILURE OperationResp_OperationReturnCode = 1
+ OperationResp_OPERATION_UNSUPPORTED OperationResp_OperationReturnCode = 2
+)
+
+var OperationResp_OperationReturnCode_name = map[int32]string{
+ 0: "OPERATION_SUCCESS",
+ 1: "OPERATION_FAILURE",
+ 2: "OPERATION_UNSUPPORTED",
+}
+
+var OperationResp_OperationReturnCode_value = map[string]int32{
+ "OPERATION_SUCCESS": 0,
+ "OPERATION_FAILURE": 1,
+ "OPERATION_UNSUPPORTED": 2,
+}
+
+func (x OperationResp_OperationReturnCode) String() string {
+ return proto.EnumName(OperationResp_OperationReturnCode_name, int32(x))
+}
+
+func (OperationResp_OperationReturnCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{9, 0}
+}
+
+// Convey a resource identifier
+type ID struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ID) Reset() { *m = ID{} }
+func (m *ID) String() string { return proto.CompactTextString(m) }
+func (*ID) ProtoMessage() {}
+func (*ID) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{0}
+}
+
+func (m *ID) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ID.Unmarshal(m, b)
+}
+func (m *ID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ID.Marshal(b, m, deterministic)
+}
+func (m *ID) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ID.Merge(m, src)
+}
+func (m *ID) XXX_Size() int {
+ return xxx_messageInfo_ID.Size(m)
+}
+func (m *ID) XXX_DiscardUnknown() {
+ xxx_messageInfo_ID.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ID proto.InternalMessageInfo
+
+func (m *ID) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+// Represents a list of IDs
+type IDs struct {
+ Items []*ID `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *IDs) Reset() { *m = IDs{} }
+func (m *IDs) String() string { return proto.CompactTextString(m) }
+func (*IDs) ProtoMessage() {}
+func (*IDs) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{1}
+}
+
+func (m *IDs) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_IDs.Unmarshal(m, b)
+}
+func (m *IDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_IDs.Marshal(b, m, deterministic)
+}
+func (m *IDs) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_IDs.Merge(m, src)
+}
+func (m *IDs) XXX_Size() int {
+ return xxx_messageInfo_IDs.Size(m)
+}
+func (m *IDs) XXX_DiscardUnknown() {
+ xxx_messageInfo_IDs.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_IDs proto.InternalMessageInfo
+
+func (m *IDs) GetItems() []*ID {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type LogLevel struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *LogLevel) Reset() { *m = LogLevel{} }
+func (m *LogLevel) String() string { return proto.CompactTextString(m) }
+func (*LogLevel) ProtoMessage() {}
+func (*LogLevel) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{2}
+}
+
+func (m *LogLevel) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_LogLevel.Unmarshal(m, b)
+}
+func (m *LogLevel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_LogLevel.Marshal(b, m, deterministic)
+}
+func (m *LogLevel) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_LogLevel.Merge(m, src)
+}
+func (m *LogLevel) XXX_Size() int {
+ return xxx_messageInfo_LogLevel.Size(m)
+}
+func (m *LogLevel) XXX_DiscardUnknown() {
+ xxx_messageInfo_LogLevel.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LogLevel proto.InternalMessageInfo
+
+type Logging struct {
+ Level LogLevel_LogLevel `protobuf:"varint,1,opt,name=level,proto3,enum=common.LogLevel_LogLevel" json:"level,omitempty"`
+ PackageName string `protobuf:"bytes,2,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
+ ComponentName string `protobuf:"bytes,3,opt,name=component_name,json=componentName,proto3" json:"component_name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Logging) Reset() { *m = Logging{} }
+func (m *Logging) String() string { return proto.CompactTextString(m) }
+func (*Logging) ProtoMessage() {}
+func (*Logging) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{3}
+}
+
+func (m *Logging) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Logging.Unmarshal(m, b)
+}
+func (m *Logging) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Logging.Marshal(b, m, deterministic)
+}
+func (m *Logging) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Logging.Merge(m, src)
+}
+func (m *Logging) XXX_Size() int {
+ return xxx_messageInfo_Logging.Size(m)
+}
+func (m *Logging) XXX_DiscardUnknown() {
+ xxx_messageInfo_Logging.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Logging proto.InternalMessageInfo
+
+func (m *Logging) GetLevel() LogLevel_LogLevel {
+ if m != nil {
+ return m.Level
+ }
+ return LogLevel_DEBUG
+}
+
+func (m *Logging) GetPackageName() string {
+ if m != nil {
+ return m.PackageName
+ }
+ return ""
+}
+
+func (m *Logging) GetComponentName() string {
+ if m != nil {
+ return m.ComponentName
+ }
+ return ""
+}
+
+// For GetLogLevels(), select component to query
+type LoggingComponent struct {
+ ComponentName string `protobuf:"bytes,1,opt,name=component_name,json=componentName,proto3" json:"component_name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *LoggingComponent) Reset() { *m = LoggingComponent{} }
+func (m *LoggingComponent) String() string { return proto.CompactTextString(m) }
+func (*LoggingComponent) ProtoMessage() {}
+func (*LoggingComponent) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{4}
+}
+
+func (m *LoggingComponent) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_LoggingComponent.Unmarshal(m, b)
+}
+func (m *LoggingComponent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_LoggingComponent.Marshal(b, m, deterministic)
+}
+func (m *LoggingComponent) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_LoggingComponent.Merge(m, src)
+}
+func (m *LoggingComponent) XXX_Size() int {
+ return xxx_messageInfo_LoggingComponent.Size(m)
+}
+func (m *LoggingComponent) XXX_DiscardUnknown() {
+ xxx_messageInfo_LoggingComponent.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LoggingComponent proto.InternalMessageInfo
+
+func (m *LoggingComponent) GetComponentName() string {
+ if m != nil {
+ return m.ComponentName
+ }
+ return ""
+}
+
+// For returning multiple log levels
+type Loggings struct {
+ Items []*Logging `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Loggings) Reset() { *m = Loggings{} }
+func (m *Loggings) String() string { return proto.CompactTextString(m) }
+func (*Loggings) ProtoMessage() {}
+func (*Loggings) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{5}
+}
+
+func (m *Loggings) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Loggings.Unmarshal(m, b)
+}
+func (m *Loggings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Loggings.Marshal(b, m, deterministic)
+}
+func (m *Loggings) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Loggings.Merge(m, src)
+}
+func (m *Loggings) XXX_Size() int {
+ return xxx_messageInfo_Loggings.Size(m)
+}
+func (m *Loggings) XXX_DiscardUnknown() {
+ xxx_messageInfo_Loggings.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Loggings proto.InternalMessageInfo
+
+func (m *Loggings) GetItems() []*Logging {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type AdminState struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AdminState) Reset() { *m = AdminState{} }
+func (m *AdminState) String() string { return proto.CompactTextString(m) }
+func (*AdminState) ProtoMessage() {}
+func (*AdminState) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{6}
+}
+
+func (m *AdminState) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AdminState.Unmarshal(m, b)
+}
+func (m *AdminState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AdminState.Marshal(b, m, deterministic)
+}
+func (m *AdminState) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AdminState.Merge(m, src)
+}
+func (m *AdminState) XXX_Size() int {
+ return xxx_messageInfo_AdminState.Size(m)
+}
+func (m *AdminState) XXX_DiscardUnknown() {
+ xxx_messageInfo_AdminState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AdminState proto.InternalMessageInfo
+
+type OperStatus struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OperStatus) Reset() { *m = OperStatus{} }
+func (m *OperStatus) String() string { return proto.CompactTextString(m) }
+func (*OperStatus) ProtoMessage() {}
+func (*OperStatus) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{7}
+}
+
+func (m *OperStatus) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OperStatus.Unmarshal(m, b)
+}
+func (m *OperStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OperStatus.Marshal(b, m, deterministic)
+}
+func (m *OperStatus) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OperStatus.Merge(m, src)
+}
+func (m *OperStatus) XXX_Size() int {
+ return xxx_messageInfo_OperStatus.Size(m)
+}
+func (m *OperStatus) XXX_DiscardUnknown() {
+ xxx_messageInfo_OperStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperStatus proto.InternalMessageInfo
+
+type ConnectStatus struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ConnectStatus) Reset() { *m = ConnectStatus{} }
+func (m *ConnectStatus) String() string { return proto.CompactTextString(m) }
+func (*ConnectStatus) ProtoMessage() {}
+func (*ConnectStatus) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{8}
+}
+
+func (m *ConnectStatus) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ConnectStatus.Unmarshal(m, b)
+}
+func (m *ConnectStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ConnectStatus.Marshal(b, m, deterministic)
+}
+func (m *ConnectStatus) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ConnectStatus.Merge(m, src)
+}
+func (m *ConnectStatus) XXX_Size() int {
+ return xxx_messageInfo_ConnectStatus.Size(m)
+}
+func (m *ConnectStatus) XXX_DiscardUnknown() {
+ xxx_messageInfo_ConnectStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ConnectStatus proto.InternalMessageInfo
+
+type OperationResp struct {
+ // Return code
+ Code OperationResp_OperationReturnCode `protobuf:"varint,1,opt,name=code,proto3,enum=common.OperationResp_OperationReturnCode" json:"code,omitempty"`
+ // Additional Info
+ AdditionalInfo string `protobuf:"bytes,2,opt,name=additional_info,json=additionalInfo,proto3" json:"additional_info,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OperationResp) Reset() { *m = OperationResp{} }
+func (m *OperationResp) String() string { return proto.CompactTextString(m) }
+func (*OperationResp) ProtoMessage() {}
+func (*OperationResp) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{9}
+}
+
+func (m *OperationResp) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OperationResp.Unmarshal(m, b)
+}
+func (m *OperationResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OperationResp.Marshal(b, m, deterministic)
+}
+func (m *OperationResp) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OperationResp.Merge(m, src)
+}
+func (m *OperationResp) XXX_Size() int {
+ return xxx_messageInfo_OperationResp.Size(m)
+}
+func (m *OperationResp) XXX_DiscardUnknown() {
+ xxx_messageInfo_OperationResp.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperationResp proto.InternalMessageInfo
+
+func (m *OperationResp) GetCode() OperationResp_OperationReturnCode {
+ if m != nil {
+ return m.Code
+ }
+ return OperationResp_OPERATION_SUCCESS
+}
+
+func (m *OperationResp) GetAdditionalInfo() string {
+ if m != nil {
+ return m.AdditionalInfo
+ }
+ return ""
+}
+
+func init() {
+ proto.RegisterEnum("common.TestModeKeys", TestModeKeys_name, TestModeKeys_value)
+ proto.RegisterEnum("common.LogLevel_LogLevel", LogLevel_LogLevel_name, LogLevel_LogLevel_value)
+ proto.RegisterEnum("common.AdminState_AdminState", AdminState_AdminState_name, AdminState_AdminState_value)
+ proto.RegisterEnum("common.OperStatus_OperStatus", OperStatus_OperStatus_name, OperStatus_OperStatus_value)
+ proto.RegisterEnum("common.ConnectStatus_ConnectStatus", ConnectStatus_ConnectStatus_name, ConnectStatus_ConnectStatus_value)
+ proto.RegisterEnum("common.OperationResp_OperationReturnCode", OperationResp_OperationReturnCode_name, OperationResp_OperationReturnCode_value)
+ proto.RegisterType((*ID)(nil), "common.ID")
+ proto.RegisterType((*IDs)(nil), "common.IDs")
+ proto.RegisterType((*LogLevel)(nil), "common.LogLevel")
+ proto.RegisterType((*Logging)(nil), "common.Logging")
+ proto.RegisterType((*LoggingComponent)(nil), "common.LoggingComponent")
+ proto.RegisterType((*Loggings)(nil), "common.Loggings")
+ proto.RegisterType((*AdminState)(nil), "common.AdminState")
+ proto.RegisterType((*OperStatus)(nil), "common.OperStatus")
+ proto.RegisterType((*ConnectStatus)(nil), "common.ConnectStatus")
+ proto.RegisterType((*OperationResp)(nil), "common.OperationResp")
+}
+
+func init() { proto.RegisterFile("voltha_protos/common.proto", fileDescriptor_c2e3fd231961e826) }
+
+var fileDescriptor_c2e3fd231961e826 = []byte{
+ // 661 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0x4d, 0x4f, 0xdb, 0x4a,
+ 0x14, 0x8d, 0xf3, 0x05, 0xdc, 0x90, 0xe0, 0x37, 0xef, 0x21, 0x01, 0x7a, 0x95, 0x52, 0x4b, 0x08,
+ 0xda, 0x0a, 0xa2, 0xd2, 0x55, 0xab, 0x76, 0x61, 0xec, 0x21, 0x1d, 0x61, 0xc6, 0xd1, 0xd8, 0x01,
+ 0xa9, 0x0b, 0x22, 0x13, 0x0f, 0xc6, 0x6a, 0x32, 0x63, 0xc5, 0x06, 0x89, 0x65, 0xa5, 0xfe, 0xbd,
+ 0xfe, 0x85, 0xfe, 0x86, 0xae, 0xba, 0xae, 0xc6, 0x76, 0x48, 0x52, 0xb1, 0xf3, 0x39, 0x73, 0xae,
+ 0xcf, 0xbd, 0xe7, 0x8e, 0x06, 0xf6, 0x1e, 0xe4, 0x24, 0xbb, 0x0b, 0x46, 0xc9, 0x4c, 0x66, 0x32,
+ 0xed, 0x8d, 0xe5, 0x74, 0x2a, 0xc5, 0x71, 0x8e, 0x50, 0xb3, 0x40, 0x7b, 0xdd, 0x55, 0xcd, 0x63,
+ 0x20, 0xa2, 0x91, 0x4c, 0xb2, 0x58, 0x8a, 0xb4, 0x50, 0x1a, 0xff, 0x41, 0x95, 0xd8, 0xa8, 0x03,
+ 0xd5, 0x38, 0xdc, 0xd1, 0xba, 0xda, 0xe1, 0x06, 0xab, 0xc6, 0xa1, 0x71, 0x00, 0x35, 0x62, 0xa7,
+ 0xa8, 0x0b, 0x8d, 0x38, 0xe3, 0xd3, 0x74, 0x47, 0xeb, 0xd6, 0x0e, 0x5b, 0x27, 0x70, 0x5c, 0x9a,
+ 0x10, 0x9b, 0x15, 0x07, 0xc6, 0x18, 0xd6, 0x1d, 0x19, 0x39, 0xfc, 0x81, 0x4f, 0x8c, 0xc1, 0xe2,
+ 0x1b, 0x6d, 0x40, 0xc3, 0xc6, 0xa7, 0xc3, 0xbe, 0x5e, 0x41, 0xeb, 0x50, 0x27, 0xf4, 0xcc, 0xd5,
+ 0x35, 0xd4, 0x82, 0xb5, 0x2b, 0x93, 0x51, 0x42, 0xfb, 0x7a, 0x55, 0x29, 0x30, 0x63, 0x2e, 0xd3,
+ 0x6b, 0x68, 0x13, 0xd6, 0x2d, 0x46, 0x7c, 0x62, 0x99, 0x8e, 0x5e, 0x57, 0x07, 0x67, 0xa6, 0x6f,
+ 0x3a, 0x7a, 0xe3, 0x43, 0xe3, 0xd7, 0xef, 0x1f, 0x2f, 0x2a, 0xc6, 0x77, 0x0d, 0xd6, 0x1c, 0x19,
+ 0x45, 0xb1, 0x88, 0x50, 0x0f, 0x1a, 0x13, 0xe5, 0x90, 0x37, 0xdb, 0x39, 0xd9, 0x9d, 0xb7, 0x34,
+ 0x77, 0x7e, 0xfa, 0x60, 0x85, 0x0e, 0xbd, 0x84, 0xcd, 0x24, 0x18, 0x7f, 0x0d, 0x22, 0x3e, 0x12,
+ 0xc1, 0x94, 0xef, 0x54, 0xf3, 0x21, 0x5b, 0x25, 0x47, 0x83, 0x29, 0x47, 0xfb, 0xd0, 0x19, 0xcb,
+ 0x69, 0x22, 0x05, 0x17, 0x59, 0x21, 0xaa, 0xe5, 0xa2, 0xf6, 0x13, 0xab, 0x64, 0xc6, 0x7b, 0xd0,
+ 0xcb, 0x2e, 0xac, 0x39, 0xff, 0x4c, 0xa9, 0xf6, 0x5c, 0xe9, 0xdb, 0x3c, 0x1a, 0x55, 0x9a, 0xa2,
+ 0xfd, 0xd5, 0x50, 0xb7, 0x96, 0x26, 0x50, 0x82, 0x79, 0xb2, 0xdf, 0x34, 0x00, 0x33, 0x9c, 0xc6,
+ 0xc2, 0xcb, 0x82, 0x8c, 0x1b, 0x93, 0x65, 0xa4, 0x92, 0x1c, 0xd2, 0x73, 0xea, 0x5e, 0x51, 0xbd,
+ 0x82, 0x10, 0x74, 0x06, 0x0c, 0x0f, 0x98, 0x7b, 0x49, 0x3c, 0xe2, 0x52, 0x6c, 0x17, 0x51, 0x63,
+ 0x6a, 0x9e, 0x3a, 0xd8, 0xd6, 0xab, 0x2a, 0x5f, 0x9b, 0x78, 0x05, 0xaa, 0xa1, 0x6d, 0xf8, 0xc7,
+ 0x76, 0xaf, 0xa8, 0xe3, 0x9a, 0x36, 0xa1, 0xfd, 0x11, 0xb9, 0x30, 0xfb, 0x58, 0xaf, 0xab, 0x0a,
+ 0x1b, 0x3b, 0xd8, 0xc7, 0xf6, 0x22, 0xf8, 0x14, 0xc0, 0x4d, 0xf8, 0x4c, 0x79, 0xde, 0xa7, 0xc6,
+ 0xf5, 0x32, 0x5a, 0x6d, 0xa1, 0x03, 0x60, 0x13, 0xcf, 0x72, 0x2f, 0x31, 0xcb, 0xed, 0x3b, 0x00,
+ 0xa6, 0xe5, 0x93, 0x4b, 0xd3, 0x2f, 0x96, 0xdd, 0x82, 0x35, 0x1f, 0x7b, 0x39, 0xa8, 0x21, 0x80,
+ 0x66, 0x7e, 0xa8, 0x5c, 0x01, 0x9a, 0x67, 0x26, 0x71, 0x96, 0x4d, 0x7d, 0x68, 0x5b, 0x52, 0x08,
+ 0x3e, 0xce, 0x4a, 0xdf, 0x8f, 0x7f, 0x11, 0xab, 0xd6, 0x5b, 0xd0, 0x1a, 0x52, 0x86, 0x4d, 0xeb,
+ 0xb3, 0x1a, 0x50, 0xd7, 0x50, 0x1b, 0x36, 0x16, 0xb0, 0x3a, 0xff, 0xeb, 0x4f, 0x0d, 0xda, 0xaa,
+ 0xfb, 0x40, 0x5d, 0x7e, 0xc6, 0xd3, 0x04, 0x7d, 0x82, 0xfa, 0x58, 0x86, 0xbc, 0xbc, 0x48, 0xaf,
+ 0xe6, 0x6b, 0x58, 0x11, 0x2d, 0xa3, 0xec, 0x7e, 0x26, 0x2c, 0x19, 0x72, 0x96, 0x97, 0xa1, 0x03,
+ 0xd8, 0x0a, 0xc2, 0x30, 0x56, 0x67, 0xc1, 0x64, 0x14, 0x8b, 0x5b, 0x59, 0x5e, 0xad, 0xce, 0x82,
+ 0x26, 0xe2, 0x56, 0x1a, 0xd7, 0xf0, 0xef, 0x33, 0x7f, 0x51, 0x6b, 0x70, 0x07, 0x98, 0x99, 0x3e,
+ 0x71, 0xe9, 0xc8, 0x1b, 0x5a, 0x16, 0xf6, 0x3c, 0xbd, 0xb2, 0x4a, 0xab, 0x68, 0x86, 0x4c, 0x0d,
+ 0xb5, 0x0b, 0xdb, 0x0b, 0x7a, 0x48, 0xbd, 0xe1, 0x60, 0xe0, 0x32, 0xb5, 0xab, 0xf9, 0x80, 0xaf,
+ 0xff, 0x87, 0x4d, 0x9f, 0xa7, 0xd9, 0x85, 0x0c, 0xf9, 0x39, 0x7f, 0x4c, 0xd5, 0xd2, 0x83, 0x24,
+ 0x1e, 0x65, 0x3c, 0xcd, 0xf4, 0xca, 0xe9, 0xd1, 0x97, 0x37, 0x51, 0x9c, 0xdd, 0xdd, 0xdf, 0xa8,
+ 0x31, 0x7b, 0x32, 0xe1, 0x62, 0x2c, 0x67, 0x61, 0xaf, 0x78, 0x1e, 0x8e, 0xca, 0xe7, 0x21, 0x92,
+ 0xe5, 0x2b, 0x72, 0xd3, 0xcc, 0x99, 0x77, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa8, 0xd4, 0xbf,
+ 0xf3, 0x64, 0x04, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/common/meta.pb.go b/vendor/github.com/opencord/voltha-protos/go/common/meta.pb.go
new file mode 100644
index 0000000..181f3dd
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/common/meta.pb.go
@@ -0,0 +1,141 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/meta.proto
+
+package common
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type Access int32
+
+const (
+ // read-write, stored attribute
+ Access_CONFIG Access = 0
+ // read-only field, stored with the model, covered by its hash
+ Access_READ_ONLY Access = 1
+ // A read-only attribute that is not stored in the model, not covered
+ // by its hash, its value is filled real-time upon each request.
+ Access_REAL_TIME Access = 2
+)
+
+var Access_name = map[int32]string{
+ 0: "CONFIG",
+ 1: "READ_ONLY",
+ 2: "REAL_TIME",
+}
+
+var Access_value = map[string]int32{
+ "CONFIG": 0,
+ "READ_ONLY": 1,
+ "REAL_TIME": 2,
+}
+
+func (x Access) String() string {
+ return proto.EnumName(Access_name, int32(x))
+}
+
+func (Access) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_96b320e8a67781f3, []int{0}
+}
+
+type ChildNode struct {
+ Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ChildNode) Reset() { *m = ChildNode{} }
+func (m *ChildNode) String() string { return proto.CompactTextString(m) }
+func (*ChildNode) ProtoMessage() {}
+func (*ChildNode) Descriptor() ([]byte, []int) {
+ return fileDescriptor_96b320e8a67781f3, []int{0}
+}
+
+func (m *ChildNode) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ChildNode.Unmarshal(m, b)
+}
+func (m *ChildNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ChildNode.Marshal(b, m, deterministic)
+}
+func (m *ChildNode) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ChildNode.Merge(m, src)
+}
+func (m *ChildNode) XXX_Size() int {
+ return xxx_messageInfo_ChildNode.Size(m)
+}
+func (m *ChildNode) XXX_DiscardUnknown() {
+ xxx_messageInfo_ChildNode.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ChildNode proto.InternalMessageInfo
+
+func (m *ChildNode) GetKey() string {
+ if m != nil {
+ return m.Key
+ }
+ return ""
+}
+
+var E_ChildNode = &proto.ExtensionDesc{
+ ExtendedType: (*descriptor.FieldOptions)(nil),
+ ExtensionType: (*ChildNode)(nil),
+ Field: 7761772,
+ Name: "voltha.child_node",
+ Tag: "bytes,7761772,opt,name=child_node",
+ Filename: "voltha_protos/meta.proto",
+}
+
+var E_Access = &proto.ExtensionDesc{
+ ExtendedType: (*descriptor.FieldOptions)(nil),
+ ExtensionType: (*Access)(nil),
+ Field: 7761773,
+ Name: "voltha.access",
+ Tag: "varint,7761773,opt,name=access,enum=voltha.Access",
+ Filename: "voltha_protos/meta.proto",
+}
+
+func init() {
+ proto.RegisterEnum("voltha.Access", Access_name, Access_value)
+ proto.RegisterType((*ChildNode)(nil), "voltha.ChildNode")
+ proto.RegisterExtension(E_ChildNode)
+ proto.RegisterExtension(E_Access)
+}
+
+func init() { proto.RegisterFile("voltha_protos/meta.proto", fileDescriptor_96b320e8a67781f3) }
+
+var fileDescriptor_96b320e8a67781f3 = []byte{
+ // 271 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x90, 0x41, 0x4b, 0x84, 0x40,
+ 0x18, 0x86, 0xb3, 0x05, 0xc1, 0x2f, 0x5a, 0xcc, 0x93, 0x04, 0x0b, 0xd2, 0x69, 0x29, 0x76, 0x06,
+ 0xec, 0xb6, 0xb7, 0x6d, 0xdb, 0xad, 0x85, 0x4d, 0x41, 0xba, 0xd4, 0x45, 0x74, 0x9c, 0x74, 0x48,
+ 0xfd, 0xc4, 0x99, 0x0d, 0xfa, 0xa9, 0x5d, 0xfa, 0x05, 0xf5, 0x1f, 0x42, 0x47, 0xbb, 0xee, 0xed,
+ 0x9d, 0x77, 0xde, 0x79, 0x78, 0x18, 0x70, 0x3f, 0xb0, 0x54, 0x45, 0x12, 0x37, 0x2d, 0x2a, 0x94,
+ 0xb4, 0xe2, 0x2a, 0x21, 0x7d, 0x76, 0x4c, 0x7d, 0x73, 0xe9, 0xe5, 0x88, 0x79, 0xc9, 0x69, 0xdf,
+ 0xa6, 0x87, 0x37, 0x9a, 0x71, 0xc9, 0x5a, 0xd1, 0x28, 0x6c, 0xf5, 0xf2, 0x6a, 0x06, 0xd6, 0xba,
+ 0x10, 0x65, 0x16, 0x60, 0xc6, 0x1d, 0x1b, 0x26, 0xef, 0xfc, 0xd3, 0x35, 0x3c, 0x63, 0x6e, 0x45,
+ 0x5d, 0xbc, 0xf6, 0xc1, 0x5c, 0x31, 0xc6, 0xa5, 0x74, 0x00, 0xcc, 0x75, 0x18, 0x6c, 0x77, 0x0f,
+ 0xf6, 0x89, 0x73, 0x0e, 0x56, 0xb4, 0x59, 0xdd, 0xc7, 0x61, 0xb0, 0x7f, 0xb1, 0x8d, 0xe1, 0xb8,
+ 0x8f, 0x9f, 0x77, 0x4f, 0x1b, 0xfb, 0x74, 0x19, 0x01, 0xb0, 0x0e, 0x19, 0xd7, 0x1d, 0x73, 0x46,
+ 0xb4, 0x03, 0x19, 0x1d, 0xc8, 0x56, 0xf0, 0x32, 0x0b, 0x1b, 0x25, 0xb0, 0x96, 0xee, 0xcf, 0xf7,
+ 0xd7, 0xc4, 0x33, 0xe6, 0x67, 0xfe, 0x05, 0xd1, 0xce, 0xe4, 0x5f, 0x27, 0xb2, 0xd8, 0x18, 0x97,
+ 0x8f, 0x60, 0x26, 0xda, 0xe3, 0x08, 0xef, 0x57, 0xf3, 0xa6, 0xfe, 0x74, 0xe4, 0x69, 0xff, 0x68,
+ 0x78, 0x7f, 0xb7, 0x78, 0xbd, 0xc9, 0x85, 0x2a, 0x0e, 0x29, 0x61, 0x58, 0x51, 0x6c, 0x78, 0xcd,
+ 0xb0, 0xcd, 0xa8, 0x1e, 0x2f, 0x86, 0xaf, 0xcc, 0x91, 0x32, 0xac, 0x2a, 0xac, 0x53, 0xb3, 0x6f,
+ 0x6e, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x90, 0x94, 0xed, 0x6c, 0x01, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/common/yang_options.pb.go b/vendor/github.com/opencord/voltha-protos/go/common/yang_options.pb.go
new file mode 100644
index 0000000..c9f4d8e
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/common/yang_options.pb.go
@@ -0,0 +1,237 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/yang_options.proto
+
+package common
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type MessageParserOption int32
+
+const (
+ // Move any enclosing child enum/message definition to the same level
+ // as the parent (this message) in the yang generated file
+ MessageParserOption_MOVE_TO_PARENT_LEVEL MessageParserOption = 0
+ // Create both a grouping and a container for this message. The container
+ // name will be the message name. The grouping name will be the message
+ // name prefixed with "grouping_"
+ MessageParserOption_CREATE_BOTH_GROUPING_AND_CONTAINER MessageParserOption = 1
+)
+
+var MessageParserOption_name = map[int32]string{
+ 0: "MOVE_TO_PARENT_LEVEL",
+ 1: "CREATE_BOTH_GROUPING_AND_CONTAINER",
+}
+
+var MessageParserOption_value = map[string]int32{
+ "MOVE_TO_PARENT_LEVEL": 0,
+ "CREATE_BOTH_GROUPING_AND_CONTAINER": 1,
+}
+
+func (x MessageParserOption) String() string {
+ return proto.EnumName(MessageParserOption_name, int32(x))
+}
+
+func (MessageParserOption) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e6be2fba65eb89fb, []int{0}
+}
+
+type InlineNode struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *InlineNode) Reset() { *m = InlineNode{} }
+func (m *InlineNode) String() string { return proto.CompactTextString(m) }
+func (*InlineNode) ProtoMessage() {}
+func (*InlineNode) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e6be2fba65eb89fb, []int{0}
+}
+
+func (m *InlineNode) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_InlineNode.Unmarshal(m, b)
+}
+func (m *InlineNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_InlineNode.Marshal(b, m, deterministic)
+}
+func (m *InlineNode) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_InlineNode.Merge(m, src)
+}
+func (m *InlineNode) XXX_Size() int {
+ return xxx_messageInfo_InlineNode.Size(m)
+}
+func (m *InlineNode) XXX_DiscardUnknown() {
+ xxx_messageInfo_InlineNode.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_InlineNode proto.InternalMessageInfo
+
+func (m *InlineNode) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *InlineNode) GetType() string {
+ if m != nil {
+ return m.Type
+ }
+ return ""
+}
+
+type RpcReturnDef struct {
+ // The gRPC methods return message types. NETCONF expects an actual
+ // attribute as defined in the YANG schema. The xnl_tag will be used
+ // as the top most tag when translating a gRPC response into an xml
+ // response
+ XmlTag string `protobuf:"bytes,1,opt,name=xml_tag,json=xmlTag,proto3" json:"xml_tag,omitempty"`
+ // When the gRPC response is a list of items, we need to differentiate
+ // between a YANG schema attribute whose name is "items" and when "items"
+ // is used only to indicate a list of items is being returned. The default
+ // behavior assumes a list is returned when "items" is present in
+ // the response. This option will therefore be used when the attribute
+ // name in the YANG schema is 'items'
+ ListItemsName string `protobuf:"bytes,2,opt,name=list_items_name,json=listItemsName,proto3" json:"list_items_name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *RpcReturnDef) Reset() { *m = RpcReturnDef{} }
+func (m *RpcReturnDef) String() string { return proto.CompactTextString(m) }
+func (*RpcReturnDef) ProtoMessage() {}
+func (*RpcReturnDef) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e6be2fba65eb89fb, []int{1}
+}
+
+func (m *RpcReturnDef) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_RpcReturnDef.Unmarshal(m, b)
+}
+func (m *RpcReturnDef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_RpcReturnDef.Marshal(b, m, deterministic)
+}
+func (m *RpcReturnDef) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcReturnDef.Merge(m, src)
+}
+func (m *RpcReturnDef) XXX_Size() int {
+ return xxx_messageInfo_RpcReturnDef.Size(m)
+}
+func (m *RpcReturnDef) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcReturnDef.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcReturnDef proto.InternalMessageInfo
+
+func (m *RpcReturnDef) GetXmlTag() string {
+ if m != nil {
+ return m.XmlTag
+ }
+ return ""
+}
+
+func (m *RpcReturnDef) GetListItemsName() string {
+ if m != nil {
+ return m.ListItemsName
+ }
+ return ""
+}
+
+var E_YangChildRule = &proto.ExtensionDesc{
+ ExtendedType: (*descriptor.MessageOptions)(nil),
+ ExtensionType: (*MessageParserOption)(nil),
+ Field: 7761774,
+ Name: "common.yang_child_rule",
+ Tag: "varint,7761774,opt,name=yang_child_rule,enum=common.MessageParserOption",
+ Filename: "voltha_protos/yang_options.proto",
+}
+
+var E_YangMessageRule = &proto.ExtensionDesc{
+ ExtendedType: (*descriptor.MessageOptions)(nil),
+ ExtensionType: (*MessageParserOption)(nil),
+ Field: 7761775,
+ Name: "common.yang_message_rule",
+ Tag: "varint,7761775,opt,name=yang_message_rule,enum=common.MessageParserOption",
+ Filename: "voltha_protos/yang_options.proto",
+}
+
+var E_YangInlineNode = &proto.ExtensionDesc{
+ ExtendedType: (*descriptor.FieldOptions)(nil),
+ ExtensionType: (*InlineNode)(nil),
+ Field: 7761776,
+ Name: "common.yang_inline_node",
+ Tag: "bytes,7761776,opt,name=yang_inline_node",
+ Filename: "voltha_protos/yang_options.proto",
+}
+
+var E_YangXmlTag = &proto.ExtensionDesc{
+ ExtendedType: (*descriptor.MethodOptions)(nil),
+ ExtensionType: (*RpcReturnDef)(nil),
+ Field: 7761777,
+ Name: "common.yang_xml_tag",
+ Tag: "bytes,7761777,opt,name=yang_xml_tag",
+ Filename: "voltha_protos/yang_options.proto",
+}
+
+func init() {
+ proto.RegisterEnum("common.MessageParserOption", MessageParserOption_name, MessageParserOption_value)
+ proto.RegisterType((*InlineNode)(nil), "common.InlineNode")
+ proto.RegisterType((*RpcReturnDef)(nil), "common.RpcReturnDef")
+ proto.RegisterExtension(E_YangChildRule)
+ proto.RegisterExtension(E_YangMessageRule)
+ proto.RegisterExtension(E_YangInlineNode)
+ proto.RegisterExtension(E_YangXmlTag)
+}
+
+func init() { proto.RegisterFile("voltha_protos/yang_options.proto", fileDescriptor_e6be2fba65eb89fb) }
+
+var fileDescriptor_e6be2fba65eb89fb = []byte{
+ // 452 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x4d, 0x6f, 0xd3, 0x30,
+ 0x18, 0xc7, 0x69, 0x41, 0x45, 0x98, 0xad, 0x2b, 0x66, 0x12, 0x15, 0x08, 0xa8, 0x7a, 0x98, 0x26,
+ 0xd0, 0x12, 0x34, 0x6e, 0xbd, 0x75, 0x5d, 0x18, 0x95, 0xb6, 0xa4, 0xb2, 0xc2, 0x78, 0x39, 0x60,
+ 0xa5, 0xc9, 0x33, 0xc7, 0xc2, 0xb1, 0xa3, 0xd8, 0x41, 0xdb, 0x47, 0xe5, 0xc2, 0x47, 0xe0, 0xe5,
+ 0x1b, 0xa0, 0xd8, 0x09, 0x43, 0x62, 0x87, 0xde, 0xda, 0x7f, 0x9e, 0xfc, 0x7e, 0x79, 0x5e, 0xd0,
+ 0xe4, 0xab, 0x12, 0x26, 0x4f, 0x68, 0x59, 0x29, 0xa3, 0xb4, 0x7f, 0x95, 0x48, 0x46, 0x55, 0x69,
+ 0xb8, 0x92, 0xda, 0xb3, 0x19, 0x1e, 0xa4, 0xaa, 0x28, 0x94, 0x7c, 0x3c, 0x61, 0x4a, 0x31, 0x01,
+ 0xbe, 0x4d, 0xd7, 0xf5, 0x85, 0x9f, 0x81, 0x4e, 0x2b, 0x5e, 0x1a, 0x55, 0xb9, 0xca, 0xe9, 0x2b,
+ 0x84, 0x96, 0x52, 0x70, 0x09, 0xa1, 0xca, 0x00, 0x0f, 0x51, 0x9f, 0x67, 0xe3, 0xde, 0xa4, 0xb7,
+ 0x7f, 0x8f, 0xf4, 0x79, 0x86, 0x31, 0xba, 0x63, 0xae, 0x4a, 0x18, 0xf7, 0x6d, 0x62, 0x7f, 0x4f,
+ 0x23, 0xb4, 0x45, 0xca, 0x94, 0x80, 0xa9, 0x2b, 0x79, 0x0c, 0x17, 0xf8, 0x11, 0xba, 0x7b, 0x59,
+ 0x08, 0x6a, 0x12, 0xd6, 0xbe, 0x38, 0xb8, 0x2c, 0x44, 0x9c, 0x30, 0xbc, 0x87, 0x76, 0x04, 0xd7,
+ 0x86, 0x72, 0x03, 0x85, 0xa6, 0x32, 0x29, 0x3a, 0xce, 0x76, 0x13, 0x2f, 0x9b, 0x34, 0x4c, 0x0a,
+ 0x78, 0xf1, 0x1e, 0x3d, 0x3c, 0x03, 0xad, 0x13, 0x06, 0xab, 0xa4, 0xd2, 0x50, 0x45, 0xb6, 0x15,
+ 0x3c, 0x46, 0xbb, 0x67, 0xd1, 0x79, 0x40, 0xe3, 0x88, 0xae, 0xe6, 0x24, 0x08, 0x63, 0x7a, 0x1a,
+ 0x9c, 0x07, 0xa7, 0xa3, 0x5b, 0x78, 0x0f, 0x4d, 0x17, 0x24, 0x98, 0xc7, 0x01, 0x3d, 0x8a, 0xe2,
+ 0xb7, 0xf4, 0x84, 0x44, 0xef, 0x56, 0xcb, 0xf0, 0x84, 0xce, 0xc3, 0x63, 0xba, 0x88, 0xc2, 0x78,
+ 0xbe, 0x0c, 0x03, 0x32, 0xea, 0xcd, 0x18, 0xda, 0xb1, 0xb3, 0x49, 0x73, 0x2e, 0x32, 0x5a, 0xd5,
+ 0x02, 0xf0, 0x73, 0xcf, 0x4d, 0xc4, 0xeb, 0x26, 0xe2, 0xb5, 0x6a, 0x27, 0xd5, 0xe3, 0x1f, 0xdf,
+ 0xbf, 0xdd, 0x9e, 0xf4, 0xf6, 0x87, 0x87, 0x4f, 0x3c, 0x37, 0x43, 0xef, 0x86, 0x6f, 0x23, 0xdb,
+ 0x0d, 0x77, 0xd1, 0x60, 0x49, 0x2d, 0x60, 0xf6, 0x05, 0x3d, 0xb0, 0xa2, 0xc2, 0x95, 0x6e, 0xa8,
+ 0xfa, 0xb9, 0x91, 0xca, 0xb6, 0xd0, 0x3e, 0xb0, 0xb2, 0xcf, 0x68, 0x64, 0x65, 0xdc, 0xae, 0x8d,
+ 0xca, 0x66, 0x6f, 0x4f, 0xff, 0x73, 0xbd, 0xe1, 0x20, 0xb2, 0xce, 0xf4, 0xcb, 0x99, 0xee, 0x1f,
+ 0xe2, 0xce, 0x74, 0xbd, 0x73, 0x32, 0x6c, 0x68, 0xd7, 0xff, 0x67, 0x1f, 0xd1, 0x96, 0xe5, 0xb7,
+ 0x4b, 0xc5, 0xcf, 0x6e, 0xe8, 0xc3, 0xe4, 0xea, 0x2f, 0xfc, 0x77, 0x07, 0xdf, 0xed, 0xe0, 0xff,
+ 0x9e, 0x07, 0x41, 0x0d, 0xec, 0x83, 0xbd, 0x88, 0xa3, 0x83, 0x4f, 0x2f, 0x19, 0x37, 0x79, 0xbd,
+ 0x6e, 0x2a, 0x7d, 0x55, 0x82, 0x4c, 0x55, 0x95, 0xf9, 0xee, 0x9c, 0x0f, 0xda, 0x73, 0x66, 0xca,
+ 0x77, 0x9c, 0xf5, 0xc0, 0x26, 0xaf, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x45, 0xe4, 0xb5, 0xec,
+ 0xf0, 0x02, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/omci/omci_alarm_db.pb.go b/vendor/github.com/opencord/voltha-protos/go/omci/omci_alarm_db.pb.go
new file mode 100644
index 0000000..63b0437
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/omci/omci_alarm_db.pb.go
@@ -0,0 +1,516 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/omci_alarm_db.proto
+
+package omci
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ _ "github.com/opencord/voltha-protos/go/common"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type AlarmOpenOmciEventType_OpenOmciEventType int32
+
+const (
+ AlarmOpenOmciEventType_state_change AlarmOpenOmciEventType_OpenOmciEventType = 0
+)
+
+var AlarmOpenOmciEventType_OpenOmciEventType_name = map[int32]string{
+ 0: "state_change",
+}
+
+var AlarmOpenOmciEventType_OpenOmciEventType_value = map[string]int32{
+ "state_change": 0,
+}
+
+func (x AlarmOpenOmciEventType_OpenOmciEventType) String() string {
+ return proto.EnumName(AlarmOpenOmciEventType_OpenOmciEventType_name, int32(x))
+}
+
+func (AlarmOpenOmciEventType_OpenOmciEventType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_8d41f1e38aadb08d, []int{6, 0}
+}
+
+type AlarmAttributeData struct {
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmAttributeData) Reset() { *m = AlarmAttributeData{} }
+func (m *AlarmAttributeData) String() string { return proto.CompactTextString(m) }
+func (*AlarmAttributeData) ProtoMessage() {}
+func (*AlarmAttributeData) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8d41f1e38aadb08d, []int{0}
+}
+
+func (m *AlarmAttributeData) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmAttributeData.Unmarshal(m, b)
+}
+func (m *AlarmAttributeData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmAttributeData.Marshal(b, m, deterministic)
+}
+func (m *AlarmAttributeData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmAttributeData.Merge(m, src)
+}
+func (m *AlarmAttributeData) XXX_Size() int {
+ return xxx_messageInfo_AlarmAttributeData.Size(m)
+}
+func (m *AlarmAttributeData) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmAttributeData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmAttributeData proto.InternalMessageInfo
+
+func (m *AlarmAttributeData) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *AlarmAttributeData) GetValue() string {
+ if m != nil {
+ return m.Value
+ }
+ return ""
+}
+
+type AlarmInstanceData struct {
+ InstanceId uint32 `protobuf:"varint,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
+ Created string `protobuf:"bytes,2,opt,name=created,proto3" json:"created,omitempty"`
+ Modified string `protobuf:"bytes,3,opt,name=modified,proto3" json:"modified,omitempty"`
+ Attributes []*AlarmAttributeData `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmInstanceData) Reset() { *m = AlarmInstanceData{} }
+func (m *AlarmInstanceData) String() string { return proto.CompactTextString(m) }
+func (*AlarmInstanceData) ProtoMessage() {}
+func (*AlarmInstanceData) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8d41f1e38aadb08d, []int{1}
+}
+
+func (m *AlarmInstanceData) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmInstanceData.Unmarshal(m, b)
+}
+func (m *AlarmInstanceData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmInstanceData.Marshal(b, m, deterministic)
+}
+func (m *AlarmInstanceData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmInstanceData.Merge(m, src)
+}
+func (m *AlarmInstanceData) XXX_Size() int {
+ return xxx_messageInfo_AlarmInstanceData.Size(m)
+}
+func (m *AlarmInstanceData) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmInstanceData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmInstanceData proto.InternalMessageInfo
+
+func (m *AlarmInstanceData) GetInstanceId() uint32 {
+ if m != nil {
+ return m.InstanceId
+ }
+ return 0
+}
+
+func (m *AlarmInstanceData) GetCreated() string {
+ if m != nil {
+ return m.Created
+ }
+ return ""
+}
+
+func (m *AlarmInstanceData) GetModified() string {
+ if m != nil {
+ return m.Modified
+ }
+ return ""
+}
+
+func (m *AlarmInstanceData) GetAttributes() []*AlarmAttributeData {
+ if m != nil {
+ return m.Attributes
+ }
+ return nil
+}
+
+type AlarmClassData struct {
+ ClassId uint32 `protobuf:"varint,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"`
+ Instances []*AlarmInstanceData `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmClassData) Reset() { *m = AlarmClassData{} }
+func (m *AlarmClassData) String() string { return proto.CompactTextString(m) }
+func (*AlarmClassData) ProtoMessage() {}
+func (*AlarmClassData) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8d41f1e38aadb08d, []int{2}
+}
+
+func (m *AlarmClassData) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmClassData.Unmarshal(m, b)
+}
+func (m *AlarmClassData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmClassData.Marshal(b, m, deterministic)
+}
+func (m *AlarmClassData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmClassData.Merge(m, src)
+}
+func (m *AlarmClassData) XXX_Size() int {
+ return xxx_messageInfo_AlarmClassData.Size(m)
+}
+func (m *AlarmClassData) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmClassData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmClassData proto.InternalMessageInfo
+
+func (m *AlarmClassData) GetClassId() uint32 {
+ if m != nil {
+ return m.ClassId
+ }
+ return 0
+}
+
+func (m *AlarmClassData) GetInstances() []*AlarmInstanceData {
+ if m != nil {
+ return m.Instances
+ }
+ return nil
+}
+
+type AlarmManagedEntity struct {
+ ClassId uint32 `protobuf:"varint,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"`
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmManagedEntity) Reset() { *m = AlarmManagedEntity{} }
+func (m *AlarmManagedEntity) String() string { return proto.CompactTextString(m) }
+func (*AlarmManagedEntity) ProtoMessage() {}
+func (*AlarmManagedEntity) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8d41f1e38aadb08d, []int{3}
+}
+
+func (m *AlarmManagedEntity) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmManagedEntity.Unmarshal(m, b)
+}
+func (m *AlarmManagedEntity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmManagedEntity.Marshal(b, m, deterministic)
+}
+func (m *AlarmManagedEntity) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmManagedEntity.Merge(m, src)
+}
+func (m *AlarmManagedEntity) XXX_Size() int {
+ return xxx_messageInfo_AlarmManagedEntity.Size(m)
+}
+func (m *AlarmManagedEntity) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmManagedEntity.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmManagedEntity proto.InternalMessageInfo
+
+func (m *AlarmManagedEntity) GetClassId() uint32 {
+ if m != nil {
+ return m.ClassId
+ }
+ return 0
+}
+
+func (m *AlarmManagedEntity) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+type AlarmMessageType struct {
+ MessageType uint32 `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3" json:"message_type,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmMessageType) Reset() { *m = AlarmMessageType{} }
+func (m *AlarmMessageType) String() string { return proto.CompactTextString(m) }
+func (*AlarmMessageType) ProtoMessage() {}
+func (*AlarmMessageType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8d41f1e38aadb08d, []int{4}
+}
+
+func (m *AlarmMessageType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmMessageType.Unmarshal(m, b)
+}
+func (m *AlarmMessageType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmMessageType.Marshal(b, m, deterministic)
+}
+func (m *AlarmMessageType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmMessageType.Merge(m, src)
+}
+func (m *AlarmMessageType) XXX_Size() int {
+ return xxx_messageInfo_AlarmMessageType.Size(m)
+}
+func (m *AlarmMessageType) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmMessageType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmMessageType proto.InternalMessageInfo
+
+func (m *AlarmMessageType) GetMessageType() uint32 {
+ if m != nil {
+ return m.MessageType
+ }
+ return 0
+}
+
+type AlarmDeviceData struct {
+ DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ Created string `protobuf:"bytes,2,opt,name=created,proto3" json:"created,omitempty"`
+ LastAlarmSequence uint32 `protobuf:"varint,3,opt,name=last_alarm_sequence,json=lastAlarmSequence,proto3" json:"last_alarm_sequence,omitempty"`
+ LastSyncTime string `protobuf:"bytes,4,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"`
+ Version uint32 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"`
+ Classes []*AlarmClassData `protobuf:"bytes,6,rep,name=classes,proto3" json:"classes,omitempty"`
+ ManagedEntities []*AlarmManagedEntity `protobuf:"bytes,7,rep,name=managed_entities,json=managedEntities,proto3" json:"managed_entities,omitempty"`
+ MessageTypes []*AlarmMessageType `protobuf:"bytes,8,rep,name=message_types,json=messageTypes,proto3" json:"message_types,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmDeviceData) Reset() { *m = AlarmDeviceData{} }
+func (m *AlarmDeviceData) String() string { return proto.CompactTextString(m) }
+func (*AlarmDeviceData) ProtoMessage() {}
+func (*AlarmDeviceData) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8d41f1e38aadb08d, []int{5}
+}
+
+func (m *AlarmDeviceData) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmDeviceData.Unmarshal(m, b)
+}
+func (m *AlarmDeviceData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmDeviceData.Marshal(b, m, deterministic)
+}
+func (m *AlarmDeviceData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmDeviceData.Merge(m, src)
+}
+func (m *AlarmDeviceData) XXX_Size() int {
+ return xxx_messageInfo_AlarmDeviceData.Size(m)
+}
+func (m *AlarmDeviceData) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmDeviceData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmDeviceData proto.InternalMessageInfo
+
+func (m *AlarmDeviceData) GetDeviceId() string {
+ if m != nil {
+ return m.DeviceId
+ }
+ return ""
+}
+
+func (m *AlarmDeviceData) GetCreated() string {
+ if m != nil {
+ return m.Created
+ }
+ return ""
+}
+
+func (m *AlarmDeviceData) GetLastAlarmSequence() uint32 {
+ if m != nil {
+ return m.LastAlarmSequence
+ }
+ return 0
+}
+
+func (m *AlarmDeviceData) GetLastSyncTime() string {
+ if m != nil {
+ return m.LastSyncTime
+ }
+ return ""
+}
+
+func (m *AlarmDeviceData) GetVersion() uint32 {
+ if m != nil {
+ return m.Version
+ }
+ return 0
+}
+
+func (m *AlarmDeviceData) GetClasses() []*AlarmClassData {
+ if m != nil {
+ return m.Classes
+ }
+ return nil
+}
+
+func (m *AlarmDeviceData) GetManagedEntities() []*AlarmManagedEntity {
+ if m != nil {
+ return m.ManagedEntities
+ }
+ return nil
+}
+
+func (m *AlarmDeviceData) GetMessageTypes() []*AlarmMessageType {
+ if m != nil {
+ return m.MessageTypes
+ }
+ return nil
+}
+
+type AlarmOpenOmciEventType struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmOpenOmciEventType) Reset() { *m = AlarmOpenOmciEventType{} }
+func (m *AlarmOpenOmciEventType) String() string { return proto.CompactTextString(m) }
+func (*AlarmOpenOmciEventType) ProtoMessage() {}
+func (*AlarmOpenOmciEventType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8d41f1e38aadb08d, []int{6}
+}
+
+func (m *AlarmOpenOmciEventType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmOpenOmciEventType.Unmarshal(m, b)
+}
+func (m *AlarmOpenOmciEventType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmOpenOmciEventType.Marshal(b, m, deterministic)
+}
+func (m *AlarmOpenOmciEventType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmOpenOmciEventType.Merge(m, src)
+}
+func (m *AlarmOpenOmciEventType) XXX_Size() int {
+ return xxx_messageInfo_AlarmOpenOmciEventType.Size(m)
+}
+func (m *AlarmOpenOmciEventType) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmOpenOmciEventType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmOpenOmciEventType proto.InternalMessageInfo
+
+type AlarmOpenOmciEvent struct {
+ Type AlarmOpenOmciEventType_OpenOmciEventType `protobuf:"varint,1,opt,name=type,proto3,enum=omci.AlarmOpenOmciEventType_OpenOmciEventType" json:"type,omitempty"`
+ Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmOpenOmciEvent) Reset() { *m = AlarmOpenOmciEvent{} }
+func (m *AlarmOpenOmciEvent) String() string { return proto.CompactTextString(m) }
+func (*AlarmOpenOmciEvent) ProtoMessage() {}
+func (*AlarmOpenOmciEvent) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8d41f1e38aadb08d, []int{7}
+}
+
+func (m *AlarmOpenOmciEvent) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmOpenOmciEvent.Unmarshal(m, b)
+}
+func (m *AlarmOpenOmciEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmOpenOmciEvent.Marshal(b, m, deterministic)
+}
+func (m *AlarmOpenOmciEvent) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmOpenOmciEvent.Merge(m, src)
+}
+func (m *AlarmOpenOmciEvent) XXX_Size() int {
+ return xxx_messageInfo_AlarmOpenOmciEvent.Size(m)
+}
+func (m *AlarmOpenOmciEvent) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmOpenOmciEvent.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmOpenOmciEvent proto.InternalMessageInfo
+
+func (m *AlarmOpenOmciEvent) GetType() AlarmOpenOmciEventType_OpenOmciEventType {
+ if m != nil {
+ return m.Type
+ }
+ return AlarmOpenOmciEventType_state_change
+}
+
+func (m *AlarmOpenOmciEvent) GetData() string {
+ if m != nil {
+ return m.Data
+ }
+ return ""
+}
+
+func init() {
+ proto.RegisterEnum("omci.AlarmOpenOmciEventType_OpenOmciEventType", AlarmOpenOmciEventType_OpenOmciEventType_name, AlarmOpenOmciEventType_OpenOmciEventType_value)
+ proto.RegisterType((*AlarmAttributeData)(nil), "omci.AlarmAttributeData")
+ proto.RegisterType((*AlarmInstanceData)(nil), "omci.AlarmInstanceData")
+ proto.RegisterType((*AlarmClassData)(nil), "omci.AlarmClassData")
+ proto.RegisterType((*AlarmManagedEntity)(nil), "omci.AlarmManagedEntity")
+ proto.RegisterType((*AlarmMessageType)(nil), "omci.AlarmMessageType")
+ proto.RegisterType((*AlarmDeviceData)(nil), "omci.AlarmDeviceData")
+ proto.RegisterType((*AlarmOpenOmciEventType)(nil), "omci.AlarmOpenOmciEventType")
+ proto.RegisterType((*AlarmOpenOmciEvent)(nil), "omci.AlarmOpenOmciEvent")
+}
+
+func init() { proto.RegisterFile("voltha_protos/omci_alarm_db.proto", fileDescriptor_8d41f1e38aadb08d) }
+
+var fileDescriptor_8d41f1e38aadb08d = []byte{
+ // 594 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xc1, 0x6a, 0xdb, 0x4c,
+ 0x10, 0xfe, 0x9d, 0x28, 0x89, 0x33, 0xb6, 0x13, 0x67, 0xff, 0x90, 0x6e, 0x03, 0x81, 0x54, 0xb4,
+ 0x25, 0xa5, 0x54, 0x86, 0xf4, 0xd8, 0x42, 0x88, 0x12, 0x1f, 0x7c, 0x28, 0xa1, 0x4a, 0x4e, 0xbd,
+ 0x88, 0xb5, 0x34, 0xb5, 0x17, 0xb4, 0x2b, 0x57, 0xbb, 0x36, 0xf8, 0xd0, 0x4b, 0x9f, 0xaa, 0x2f,
+ 0x91, 0x97, 0xe8, 0xa9, 0x4f, 0x90, 0x73, 0xd1, 0x48, 0xb2, 0x65, 0x04, 0xa5, 0xb7, 0xfd, 0xbe,
+ 0x99, 0xf9, 0x66, 0x76, 0xbe, 0x65, 0xe1, 0xc5, 0x22, 0x4d, 0xec, 0x54, 0x84, 0xb3, 0x2c, 0xb5,
+ 0xa9, 0x19, 0xa4, 0x2a, 0x92, 0xa1, 0x48, 0x44, 0xa6, 0xc2, 0x78, 0xec, 0x11, 0xc9, 0x9c, 0x9c,
+ 0x3c, 0xe5, 0x9b, 0x89, 0x0a, 0xad, 0x28, 0xe2, 0xee, 0x10, 0xd8, 0x75, 0x5e, 0x71, 0x6d, 0x6d,
+ 0x26, 0xc7, 0x73, 0x8b, 0xb7, 0xc2, 0x0a, 0xf6, 0x1c, 0x1c, 0x2d, 0x14, 0xf2, 0xd6, 0x79, 0xeb,
+ 0x62, 0xdf, 0xdf, 0xf9, 0xfd, 0xf4, 0x78, 0xd6, 0x0a, 0x88, 0x62, 0xc7, 0xb0, 0xb3, 0x10, 0xc9,
+ 0x1c, 0xf9, 0x56, 0x1e, 0x0b, 0x0a, 0xe0, 0xfe, 0x6c, 0xc1, 0x11, 0xe9, 0x8c, 0xb4, 0xb1, 0x42,
+ 0x47, 0x85, 0xcc, 0x6b, 0xe8, 0xc8, 0x12, 0x87, 0x32, 0x26, 0xb5, 0x5e, 0xa5, 0x06, 0x55, 0x64,
+ 0x14, 0x33, 0x0e, 0x7b, 0x51, 0x86, 0xc2, 0x62, 0x5c, 0xaa, 0x56, 0x90, 0x9d, 0x42, 0x5b, 0xa5,
+ 0xb1, 0xfc, 0x2a, 0x31, 0xe6, 0xdb, 0x14, 0x5a, 0x61, 0x36, 0x04, 0x10, 0xd5, 0xd4, 0x86, 0x3b,
+ 0xe7, 0xdb, 0x17, 0x9d, 0x4b, 0xee, 0xe5, 0xf7, 0xf5, 0x9a, 0x57, 0xf2, 0x3b, 0xbf, 0x9e, 0x1e,
+ 0xcf, 0x76, 0x8b, 0x7b, 0x05, 0xb5, 0x42, 0xf7, 0x3b, 0x1c, 0x50, 0xfa, 0x4d, 0x22, 0x8c, 0xa1,
+ 0xb1, 0xcf, 0xa1, 0x1d, 0xe5, 0xa0, 0x31, 0xf3, 0x1e, 0xd1, 0xa3, 0x98, 0x8d, 0x60, 0xbf, 0x1a,
+ 0xdf, 0xf0, 0x2d, 0xea, 0xfc, 0xac, 0xd6, 0xb9, 0xbe, 0x04, 0x9f, 0xe5, 0x8d, 0x7b, 0x1b, 0x9b,
+ 0x08, 0xd6, 0xd5, 0xee, 0xe7, 0xd2, 0x80, 0x4f, 0x42, 0x8b, 0x09, 0xc6, 0x43, 0x6d, 0xa5, 0x5d,
+ 0xfe, 0xc3, 0x08, 0x95, 0x45, 0x5b, 0x0d, 0x8b, 0xdc, 0x8f, 0xd0, 0x2f, 0x24, 0xd1, 0x18, 0x31,
+ 0xc1, 0x87, 0xe5, 0x0c, 0xd9, 0x05, 0x74, 0x55, 0x01, 0x43, 0xbb, 0x9c, 0xe1, 0xa6, 0x68, 0x47,
+ 0xad, 0x33, 0xdd, 0x1f, 0xdb, 0x70, 0x48, 0xe5, 0xb7, 0xb8, 0x90, 0xa5, 0x91, 0x2e, 0xec, 0xc7,
+ 0x84, 0xaa, 0x79, 0x56, 0x1d, 0xdb, 0x05, 0xff, 0x57, 0x13, 0x3d, 0xf8, 0x3f, 0x11, 0xc6, 0x96,
+ 0x4f, 0xd3, 0xe0, 0xb7, 0x39, 0xea, 0x08, 0xc9, 0xcf, 0x5e, 0x70, 0x94, 0x87, 0xa8, 0xdf, 0x7d,
+ 0x19, 0x60, 0x2f, 0xe1, 0x80, 0xf2, 0xcd, 0x52, 0x47, 0xa1, 0x95, 0x0a, 0xb9, 0x43, 0x82, 0xdd,
+ 0x9c, 0xbd, 0x5f, 0xea, 0xe8, 0x41, 0x2a, 0xcc, 0xfb, 0x2d, 0x30, 0x33, 0x32, 0xd5, 0x7c, 0x87,
+ 0x94, 0x2a, 0xc8, 0xae, 0xa0, 0xd8, 0x12, 0x1a, 0xbe, 0x4b, 0xde, 0x1c, 0xd7, 0xbc, 0x59, 0xd9,
+ 0xec, 0x1f, 0xe6, 0xc6, 0xc0, 0x7a, 0xd1, 0x41, 0x55, 0xc5, 0x6e, 0xa0, 0xaf, 0x0a, 0x3b, 0x42,
+ 0xcc, 0xfd, 0x90, 0x68, 0xf8, 0x5e, 0xe3, 0x7d, 0x6d, 0x38, 0x16, 0x1c, 0xaa, 0x1a, 0x94, 0x68,
+ 0xd8, 0x07, 0xe8, 0xd5, 0x37, 0x6e, 0x78, 0x9b, 0x14, 0x4e, 0xea, 0x0a, 0xeb, 0xb5, 0x07, 0xdd,
+ 0x9a, 0x07, 0xc6, 0xbd, 0x82, 0x13, 0xca, 0xb8, 0x9b, 0xa1, 0xbe, 0x53, 0x91, 0x1c, 0x2e, 0x50,
+ 0x5b, 0xb2, 0xe7, 0x15, 0x1c, 0x35, 0x48, 0xd6, 0x87, 0xae, 0xb1, 0xc2, 0x62, 0x18, 0x4d, 0x85,
+ 0x9e, 0x60, 0xff, 0x3f, 0x37, 0x29, 0x9f, 0xd5, 0x46, 0x2e, 0xf3, 0xc1, 0x59, 0xb9, 0x7f, 0x70,
+ 0xe9, 0xd5, 0x46, 0x69, 0x68, 0x7a, 0x0d, 0x26, 0xa0, 0x5a, 0xc6, 0xc0, 0x89, 0x85, 0x15, 0xa5,
+ 0xc9, 0x74, 0xf6, 0xdf, 0x7e, 0x79, 0x33, 0x91, 0x76, 0x3a, 0x1f, 0x7b, 0x51, 0xaa, 0x06, 0xe9,
+ 0x0c, 0x75, 0x94, 0x66, 0xf1, 0xa0, 0xf8, 0x75, 0xde, 0x95, 0xbf, 0xce, 0x24, 0xa5, 0x1f, 0x6a,
+ 0xbc, 0x4b, 0xf8, 0xfd, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xab, 0xe4, 0x42, 0xe2, 0xbe, 0x04,
+ 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/omci/omci_mib_db.pb.go b/vendor/github.com/opencord/voltha-protos/go/omci/omci_mib_db.pb.go
new file mode 100644
index 0000000..f173e7f
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/omci/omci_mib_db.pb.go
@@ -0,0 +1,515 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/omci_mib_db.proto
+
+package omci
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ _ "github.com/opencord/voltha-protos/go/common"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type OpenOmciEventType_OpenOmciEventType int32
+
+const (
+ OpenOmciEventType_state_change OpenOmciEventType_OpenOmciEventType = 0
+)
+
+var OpenOmciEventType_OpenOmciEventType_name = map[int32]string{
+ 0: "state_change",
+}
+
+var OpenOmciEventType_OpenOmciEventType_value = map[string]int32{
+ "state_change": 0,
+}
+
+func (x OpenOmciEventType_OpenOmciEventType) String() string {
+ return proto.EnumName(OpenOmciEventType_OpenOmciEventType_name, int32(x))
+}
+
+func (OpenOmciEventType_OpenOmciEventType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_4fa402a2df36dcc1, []int{6, 0}
+}
+
+type MibAttributeData struct {
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MibAttributeData) Reset() { *m = MibAttributeData{} }
+func (m *MibAttributeData) String() string { return proto.CompactTextString(m) }
+func (*MibAttributeData) ProtoMessage() {}
+func (*MibAttributeData) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4fa402a2df36dcc1, []int{0}
+}
+
+func (m *MibAttributeData) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MibAttributeData.Unmarshal(m, b)
+}
+func (m *MibAttributeData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MibAttributeData.Marshal(b, m, deterministic)
+}
+func (m *MibAttributeData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MibAttributeData.Merge(m, src)
+}
+func (m *MibAttributeData) XXX_Size() int {
+ return xxx_messageInfo_MibAttributeData.Size(m)
+}
+func (m *MibAttributeData) XXX_DiscardUnknown() {
+ xxx_messageInfo_MibAttributeData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MibAttributeData proto.InternalMessageInfo
+
+func (m *MibAttributeData) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *MibAttributeData) GetValue() string {
+ if m != nil {
+ return m.Value
+ }
+ return ""
+}
+
+type MibInstanceData struct {
+ InstanceId uint32 `protobuf:"varint,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
+ Created string `protobuf:"bytes,2,opt,name=created,proto3" json:"created,omitempty"`
+ Modified string `protobuf:"bytes,3,opt,name=modified,proto3" json:"modified,omitempty"`
+ Attributes []*MibAttributeData `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MibInstanceData) Reset() { *m = MibInstanceData{} }
+func (m *MibInstanceData) String() string { return proto.CompactTextString(m) }
+func (*MibInstanceData) ProtoMessage() {}
+func (*MibInstanceData) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4fa402a2df36dcc1, []int{1}
+}
+
+func (m *MibInstanceData) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MibInstanceData.Unmarshal(m, b)
+}
+func (m *MibInstanceData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MibInstanceData.Marshal(b, m, deterministic)
+}
+func (m *MibInstanceData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MibInstanceData.Merge(m, src)
+}
+func (m *MibInstanceData) XXX_Size() int {
+ return xxx_messageInfo_MibInstanceData.Size(m)
+}
+func (m *MibInstanceData) XXX_DiscardUnknown() {
+ xxx_messageInfo_MibInstanceData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MibInstanceData proto.InternalMessageInfo
+
+func (m *MibInstanceData) GetInstanceId() uint32 {
+ if m != nil {
+ return m.InstanceId
+ }
+ return 0
+}
+
+func (m *MibInstanceData) GetCreated() string {
+ if m != nil {
+ return m.Created
+ }
+ return ""
+}
+
+func (m *MibInstanceData) GetModified() string {
+ if m != nil {
+ return m.Modified
+ }
+ return ""
+}
+
+func (m *MibInstanceData) GetAttributes() []*MibAttributeData {
+ if m != nil {
+ return m.Attributes
+ }
+ return nil
+}
+
+type MibClassData struct {
+ ClassId uint32 `protobuf:"varint,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"`
+ Instances []*MibInstanceData `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MibClassData) Reset() { *m = MibClassData{} }
+func (m *MibClassData) String() string { return proto.CompactTextString(m) }
+func (*MibClassData) ProtoMessage() {}
+func (*MibClassData) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4fa402a2df36dcc1, []int{2}
+}
+
+func (m *MibClassData) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MibClassData.Unmarshal(m, b)
+}
+func (m *MibClassData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MibClassData.Marshal(b, m, deterministic)
+}
+func (m *MibClassData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MibClassData.Merge(m, src)
+}
+func (m *MibClassData) XXX_Size() int {
+ return xxx_messageInfo_MibClassData.Size(m)
+}
+func (m *MibClassData) XXX_DiscardUnknown() {
+ xxx_messageInfo_MibClassData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MibClassData proto.InternalMessageInfo
+
+func (m *MibClassData) GetClassId() uint32 {
+ if m != nil {
+ return m.ClassId
+ }
+ return 0
+}
+
+func (m *MibClassData) GetInstances() []*MibInstanceData {
+ if m != nil {
+ return m.Instances
+ }
+ return nil
+}
+
+type ManagedEntity struct {
+ ClassId uint32 `protobuf:"varint,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"`
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ManagedEntity) Reset() { *m = ManagedEntity{} }
+func (m *ManagedEntity) String() string { return proto.CompactTextString(m) }
+func (*ManagedEntity) ProtoMessage() {}
+func (*ManagedEntity) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4fa402a2df36dcc1, []int{3}
+}
+
+func (m *ManagedEntity) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ManagedEntity.Unmarshal(m, b)
+}
+func (m *ManagedEntity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ManagedEntity.Marshal(b, m, deterministic)
+}
+func (m *ManagedEntity) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ManagedEntity.Merge(m, src)
+}
+func (m *ManagedEntity) XXX_Size() int {
+ return xxx_messageInfo_ManagedEntity.Size(m)
+}
+func (m *ManagedEntity) XXX_DiscardUnknown() {
+ xxx_messageInfo_ManagedEntity.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ManagedEntity proto.InternalMessageInfo
+
+func (m *ManagedEntity) GetClassId() uint32 {
+ if m != nil {
+ return m.ClassId
+ }
+ return 0
+}
+
+func (m *ManagedEntity) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+type MessageType struct {
+ MessageType uint32 `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3" json:"message_type,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MessageType) Reset() { *m = MessageType{} }
+func (m *MessageType) String() string { return proto.CompactTextString(m) }
+func (*MessageType) ProtoMessage() {}
+func (*MessageType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4fa402a2df36dcc1, []int{4}
+}
+
+func (m *MessageType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MessageType.Unmarshal(m, b)
+}
+func (m *MessageType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MessageType.Marshal(b, m, deterministic)
+}
+func (m *MessageType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MessageType.Merge(m, src)
+}
+func (m *MessageType) XXX_Size() int {
+ return xxx_messageInfo_MessageType.Size(m)
+}
+func (m *MessageType) XXX_DiscardUnknown() {
+ xxx_messageInfo_MessageType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MessageType proto.InternalMessageInfo
+
+func (m *MessageType) GetMessageType() uint32 {
+ if m != nil {
+ return m.MessageType
+ }
+ return 0
+}
+
+type MibDeviceData struct {
+ DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ Created string `protobuf:"bytes,2,opt,name=created,proto3" json:"created,omitempty"`
+ LastSyncTime string `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"`
+ MibDataSync uint32 `protobuf:"varint,4,opt,name=mib_data_sync,json=mibDataSync,proto3" json:"mib_data_sync,omitempty"`
+ Version uint32 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"`
+ Classes []*MibClassData `protobuf:"bytes,6,rep,name=classes,proto3" json:"classes,omitempty"`
+ ManagedEntities []*ManagedEntity `protobuf:"bytes,7,rep,name=managed_entities,json=managedEntities,proto3" json:"managed_entities,omitempty"`
+ MessageTypes []*MessageType `protobuf:"bytes,8,rep,name=message_types,json=messageTypes,proto3" json:"message_types,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MibDeviceData) Reset() { *m = MibDeviceData{} }
+func (m *MibDeviceData) String() string { return proto.CompactTextString(m) }
+func (*MibDeviceData) ProtoMessage() {}
+func (*MibDeviceData) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4fa402a2df36dcc1, []int{5}
+}
+
+func (m *MibDeviceData) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MibDeviceData.Unmarshal(m, b)
+}
+func (m *MibDeviceData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MibDeviceData.Marshal(b, m, deterministic)
+}
+func (m *MibDeviceData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MibDeviceData.Merge(m, src)
+}
+func (m *MibDeviceData) XXX_Size() int {
+ return xxx_messageInfo_MibDeviceData.Size(m)
+}
+func (m *MibDeviceData) XXX_DiscardUnknown() {
+ xxx_messageInfo_MibDeviceData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MibDeviceData proto.InternalMessageInfo
+
+func (m *MibDeviceData) GetDeviceId() string {
+ if m != nil {
+ return m.DeviceId
+ }
+ return ""
+}
+
+func (m *MibDeviceData) GetCreated() string {
+ if m != nil {
+ return m.Created
+ }
+ return ""
+}
+
+func (m *MibDeviceData) GetLastSyncTime() string {
+ if m != nil {
+ return m.LastSyncTime
+ }
+ return ""
+}
+
+func (m *MibDeviceData) GetMibDataSync() uint32 {
+ if m != nil {
+ return m.MibDataSync
+ }
+ return 0
+}
+
+func (m *MibDeviceData) GetVersion() uint32 {
+ if m != nil {
+ return m.Version
+ }
+ return 0
+}
+
+func (m *MibDeviceData) GetClasses() []*MibClassData {
+ if m != nil {
+ return m.Classes
+ }
+ return nil
+}
+
+func (m *MibDeviceData) GetManagedEntities() []*ManagedEntity {
+ if m != nil {
+ return m.ManagedEntities
+ }
+ return nil
+}
+
+func (m *MibDeviceData) GetMessageTypes() []*MessageType {
+ if m != nil {
+ return m.MessageTypes
+ }
+ return nil
+}
+
+type OpenOmciEventType struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OpenOmciEventType) Reset() { *m = OpenOmciEventType{} }
+func (m *OpenOmciEventType) String() string { return proto.CompactTextString(m) }
+func (*OpenOmciEventType) ProtoMessage() {}
+func (*OpenOmciEventType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4fa402a2df36dcc1, []int{6}
+}
+
+func (m *OpenOmciEventType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OpenOmciEventType.Unmarshal(m, b)
+}
+func (m *OpenOmciEventType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OpenOmciEventType.Marshal(b, m, deterministic)
+}
+func (m *OpenOmciEventType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OpenOmciEventType.Merge(m, src)
+}
+func (m *OpenOmciEventType) XXX_Size() int {
+ return xxx_messageInfo_OpenOmciEventType.Size(m)
+}
+func (m *OpenOmciEventType) XXX_DiscardUnknown() {
+ xxx_messageInfo_OpenOmciEventType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OpenOmciEventType proto.InternalMessageInfo
+
+type OpenOmciEvent struct {
+ Type OpenOmciEventType_OpenOmciEventType `protobuf:"varint,1,opt,name=type,proto3,enum=omci.OpenOmciEventType_OpenOmciEventType" json:"type,omitempty"`
+ Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OpenOmciEvent) Reset() { *m = OpenOmciEvent{} }
+func (m *OpenOmciEvent) String() string { return proto.CompactTextString(m) }
+func (*OpenOmciEvent) ProtoMessage() {}
+func (*OpenOmciEvent) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4fa402a2df36dcc1, []int{7}
+}
+
+func (m *OpenOmciEvent) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OpenOmciEvent.Unmarshal(m, b)
+}
+func (m *OpenOmciEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OpenOmciEvent.Marshal(b, m, deterministic)
+}
+func (m *OpenOmciEvent) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OpenOmciEvent.Merge(m, src)
+}
+func (m *OpenOmciEvent) XXX_Size() int {
+ return xxx_messageInfo_OpenOmciEvent.Size(m)
+}
+func (m *OpenOmciEvent) XXX_DiscardUnknown() {
+ xxx_messageInfo_OpenOmciEvent.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OpenOmciEvent proto.InternalMessageInfo
+
+func (m *OpenOmciEvent) GetType() OpenOmciEventType_OpenOmciEventType {
+ if m != nil {
+ return m.Type
+ }
+ return OpenOmciEventType_state_change
+}
+
+func (m *OpenOmciEvent) GetData() string {
+ if m != nil {
+ return m.Data
+ }
+ return ""
+}
+
+func init() {
+ proto.RegisterEnum("omci.OpenOmciEventType_OpenOmciEventType", OpenOmciEventType_OpenOmciEventType_name, OpenOmciEventType_OpenOmciEventType_value)
+ proto.RegisterType((*MibAttributeData)(nil), "omci.MibAttributeData")
+ proto.RegisterType((*MibInstanceData)(nil), "omci.MibInstanceData")
+ proto.RegisterType((*MibClassData)(nil), "omci.MibClassData")
+ proto.RegisterType((*ManagedEntity)(nil), "omci.ManagedEntity")
+ proto.RegisterType((*MessageType)(nil), "omci.MessageType")
+ proto.RegisterType((*MibDeviceData)(nil), "omci.MibDeviceData")
+ proto.RegisterType((*OpenOmciEventType)(nil), "omci.OpenOmciEventType")
+ proto.RegisterType((*OpenOmciEvent)(nil), "omci.OpenOmciEvent")
+}
+
+func init() { proto.RegisterFile("voltha_protos/omci_mib_db.proto", fileDescriptor_4fa402a2df36dcc1) }
+
+var fileDescriptor_4fa402a2df36dcc1 = []byte{
+ // 582 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xdb, 0x6a, 0xdb, 0x40,
+ 0x10, 0xad, 0x1d, 0x25, 0x71, 0x46, 0x56, 0xe2, 0x6c, 0x2f, 0x6c, 0x03, 0xa1, 0x41, 0xb4, 0x25,
+ 0xa1, 0xd4, 0x81, 0x14, 0x5a, 0x28, 0xa4, 0x50, 0x3b, 0xa1, 0x18, 0x2a, 0x02, 0x6a, 0x9e, 0xfa,
+ 0x22, 0x56, 0xd2, 0xd4, 0x5e, 0xf0, 0xae, 0x8c, 0x77, 0x6d, 0xd0, 0x7f, 0xf5, 0x37, 0xf2, 0x13,
+ 0x7d, 0xca, 0x17, 0xe4, 0xb9, 0xec, 0xea, 0x62, 0xb9, 0x2e, 0xa5, 0x6f, 0x3a, 0x73, 0x39, 0x33,
+ 0x73, 0x8e, 0x58, 0x78, 0xb1, 0xcc, 0xa6, 0x7a, 0xc2, 0xa2, 0xd9, 0x3c, 0xd3, 0x99, 0x3a, 0xcf,
+ 0x44, 0xc2, 0x23, 0xc1, 0xe3, 0x28, 0x8d, 0xfb, 0x36, 0x44, 0x1c, 0x13, 0x3a, 0xa2, 0xeb, 0x65,
+ 0x02, 0x35, 0x2b, 0xf2, 0xfe, 0x10, 0x7a, 0x01, 0x8f, 0x3f, 0x6b, 0x3d, 0xe7, 0xf1, 0x42, 0xe3,
+ 0x15, 0xd3, 0x8c, 0x3c, 0x07, 0x47, 0x32, 0x81, 0xb4, 0x75, 0xd2, 0x3a, 0xdd, 0x1b, 0x6c, 0xdf,
+ 0x3f, 0xdc, 0x1d, 0xb7, 0x42, 0x1b, 0x22, 0x4f, 0x60, 0x7b, 0xc9, 0xa6, 0x0b, 0xa4, 0x6d, 0x93,
+ 0x0b, 0x0b, 0xe0, 0xff, 0x6c, 0xc1, 0x41, 0xc0, 0xe3, 0x91, 0x54, 0x9a, 0xc9, 0xa4, 0x20, 0x79,
+ 0x0d, 0x2e, 0x2f, 0x71, 0xc4, 0x53, 0xcb, 0xe5, 0x55, 0x5c, 0x50, 0x65, 0x46, 0x29, 0xa1, 0xb0,
+ 0x9b, 0xcc, 0x91, 0x69, 0x4c, 0x4b, 0xce, 0x0a, 0x92, 0x23, 0xe8, 0x88, 0x2c, 0xe5, 0x3f, 0x38,
+ 0xa6, 0x74, 0xcb, 0xa6, 0x6a, 0x4c, 0x86, 0x00, 0xac, 0xda, 0x59, 0x51, 0xe7, 0x64, 0xeb, 0xd4,
+ 0xbd, 0x78, 0xd6, 0x37, 0xb7, 0xf6, 0xff, 0x3c, 0x67, 0xe0, 0xfe, 0x7a, 0xb8, 0x3b, 0xde, 0x29,
+ 0x6e, 0x0a, 0x1b, 0x6d, 0x7e, 0x0e, 0xdd, 0x80, 0xc7, 0xc3, 0x29, 0x53, 0xca, 0xae, 0x7c, 0x02,
+ 0x9d, 0xc4, 0x80, 0x8d, 0x7d, 0x77, 0x6d, 0x78, 0x94, 0x92, 0x2f, 0xb0, 0x57, 0xad, 0xae, 0x68,
+ 0xdb, 0x4e, 0x7d, 0x5a, 0x4f, 0x6d, 0x9e, 0x3f, 0x20, 0x66, 0xa8, 0xb7, 0xa6, 0x41, 0xb8, 0xea,
+ 0xf5, 0xbf, 0x82, 0x17, 0x30, 0xc9, 0xc6, 0x98, 0x5e, 0x4b, 0xcd, 0x75, 0xfe, 0x1f, 0xb3, 0x2b,
+ 0x57, 0xda, 0x1b, 0xae, 0xf8, 0x1f, 0xc0, 0x0d, 0x50, 0x29, 0x36, 0xc6, 0xdb, 0x7c, 0x86, 0xe4,
+ 0x14, 0xba, 0xa2, 0x80, 0x91, 0xce, 0x67, 0xb8, 0xce, 0xe7, 0x8a, 0x55, 0xa5, 0x7f, 0xdf, 0x06,
+ 0x2f, 0xe0, 0xf1, 0x15, 0x2e, 0x79, 0x69, 0x9b, 0x0f, 0x7b, 0xa9, 0x45, 0xd5, 0x22, 0xf5, 0xa8,
+ 0x4e, 0x11, 0xff, 0xa7, 0x65, 0x2f, 0x61, 0x7f, 0xca, 0x94, 0x8e, 0x54, 0x2e, 0x93, 0x48, 0x73,
+ 0x81, 0xa5, 0x71, 0x5d, 0x13, 0xfd, 0x96, 0xcb, 0xe4, 0x96, 0x0b, 0x24, 0x3e, 0x78, 0xf6, 0x1f,
+ 0x65, 0x9a, 0xd9, 0x4a, 0xea, 0x98, 0x05, 0x43, 0x57, 0xf0, 0xd8, 0xec, 0x60, 0xea, 0xcc, 0x8c,
+ 0x25, 0xce, 0x15, 0xcf, 0x24, 0xdd, 0xb6, 0xd9, 0x0a, 0x92, 0x4b, 0x28, 0x24, 0x41, 0x45, 0x77,
+ 0xac, 0x03, 0xa4, 0x76, 0xa0, 0xb6, 0x72, 0x70, 0x60, 0xe4, 0x87, 0x95, 0xa6, 0x61, 0xd5, 0x43,
+ 0x3e, 0x41, 0x4f, 0x14, 0xca, 0x47, 0x68, 0xa4, 0xe7, 0xa8, 0xe8, 0xae, 0xe5, 0x79, 0x5c, 0xf2,
+ 0x34, 0x7d, 0x09, 0x0f, 0x44, 0x03, 0x72, 0x54, 0xe4, 0x3d, 0x78, 0x4d, 0x71, 0x15, 0xed, 0xd8,
+ 0xe6, 0xc3, 0xb2, 0x79, 0x25, 0x6e, 0xd8, 0x6d, 0x28, 0xad, 0xfc, 0x8f, 0x70, 0x78, 0x33, 0x43,
+ 0x79, 0x23, 0x12, 0x7e, 0xbd, 0x44, 0xa9, 0xad, 0xfe, 0xaf, 0xfe, 0x12, 0x24, 0x3d, 0xe8, 0x2a,
+ 0xcd, 0x34, 0x46, 0xc9, 0x84, 0xc9, 0x31, 0xf6, 0x1e, 0xf9, 0x31, 0x78, 0x6b, 0x65, 0xe4, 0x12,
+ 0x9c, 0xda, 0xd9, 0xfd, 0x8b, 0xb3, 0x62, 0xf6, 0x06, 0xd3, 0x66, 0x24, 0xb4, 0x6d, 0x84, 0x80,
+ 0x63, 0xc4, 0x2f, 0xdd, 0xb3, 0xdf, 0x83, 0x37, 0xdf, 0xcf, 0xc6, 0x5c, 0x4f, 0x16, 0x71, 0x3f,
+ 0xc9, 0xc4, 0x79, 0x36, 0x43, 0x99, 0x64, 0xf3, 0xf4, 0xbc, 0x78, 0x38, 0xde, 0x96, 0x0f, 0xc7,
+ 0x38, 0xb3, 0x4f, 0x4c, 0xbc, 0x63, 0xf1, 0xbb, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc6, 0xd7,
+ 0x40, 0x10, 0x7f, 0x04, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/openflow_13/openflow_13.pb.go b/vendor/github.com/opencord/voltha-protos/go/openflow_13/openflow_13.pb.go
new file mode 100644
index 0000000..f56baef
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/openflow_13/openflow_13.pb.go
@@ -0,0 +1,9840 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/openflow_13.proto
+
+package openflow_13
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ common "github.com/opencord/voltha-protos/go/common"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// InlineNode from public import voltha_protos/yang_options.proto
+type InlineNode = common.InlineNode
+
+// RpcReturnDef from public import voltha_protos/yang_options.proto
+type RpcReturnDef = common.RpcReturnDef
+
+// MessageParserOption from public import voltha_protos/yang_options.proto
+type MessageParserOption = common.MessageParserOption
+
+var MessageParserOption_name = common.MessageParserOption_name
+var MessageParserOption_value = common.MessageParserOption_value
+
+const MessageParserOption_MOVE_TO_PARENT_LEVEL = MessageParserOption(common.MessageParserOption_MOVE_TO_PARENT_LEVEL)
+const MessageParserOption_CREATE_BOTH_GROUPING_AND_CONTAINER = MessageParserOption(common.MessageParserOption_CREATE_BOTH_GROUPING_AND_CONTAINER)
+
+var E_YangChildRule = common.E_YangChildRule
+
+var E_YangMessageRule = common.E_YangMessageRule
+
+var E_YangInlineNode = common.E_YangInlineNode
+
+var E_YangXmlTag = common.E_YangXmlTag
+
+// Port numbering. Ports are numbered starting from 1.
+type OfpPortNo int32
+
+const (
+ OfpPortNo_OFPP_INVALID OfpPortNo = 0
+ // Maximum number of physical and logical switch ports.
+ OfpPortNo_OFPP_MAX OfpPortNo = 2147483392
+ // Reserved OpenFlow Port (fake output "ports").
+ OfpPortNo_OFPP_IN_PORT OfpPortNo = 2147483640
+ OfpPortNo_OFPP_TABLE OfpPortNo = 2147483641
+ OfpPortNo_OFPP_NORMAL OfpPortNo = 2147483642
+ OfpPortNo_OFPP_FLOOD OfpPortNo = 2147483643
+ OfpPortNo_OFPP_ALL OfpPortNo = 2147483644
+ OfpPortNo_OFPP_CONTROLLER OfpPortNo = 2147483645
+ OfpPortNo_OFPP_LOCAL OfpPortNo = 2147483646
+ OfpPortNo_OFPP_ANY OfpPortNo = 2147483647
+)
+
+var OfpPortNo_name = map[int32]string{
+ 0: "OFPP_INVALID",
+ 2147483392: "OFPP_MAX",
+ 2147483640: "OFPP_IN_PORT",
+ 2147483641: "OFPP_TABLE",
+ 2147483642: "OFPP_NORMAL",
+ 2147483643: "OFPP_FLOOD",
+ 2147483644: "OFPP_ALL",
+ 2147483645: "OFPP_CONTROLLER",
+ 2147483646: "OFPP_LOCAL",
+ 2147483647: "OFPP_ANY",
+}
+
+var OfpPortNo_value = map[string]int32{
+ "OFPP_INVALID": 0,
+ "OFPP_MAX": 2147483392,
+ "OFPP_IN_PORT": 2147483640,
+ "OFPP_TABLE": 2147483641,
+ "OFPP_NORMAL": 2147483642,
+ "OFPP_FLOOD": 2147483643,
+ "OFPP_ALL": 2147483644,
+ "OFPP_CONTROLLER": 2147483645,
+ "OFPP_LOCAL": 2147483646,
+ "OFPP_ANY": 2147483647,
+}
+
+func (x OfpPortNo) String() string {
+ return proto.EnumName(OfpPortNo_name, int32(x))
+}
+
+func (OfpPortNo) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{0}
+}
+
+type OfpType int32
+
+const (
+ // Immutable messages.
+ OfpType_OFPT_HELLO OfpType = 0
+ OfpType_OFPT_ERROR OfpType = 1
+ OfpType_OFPT_ECHO_REQUEST OfpType = 2
+ OfpType_OFPT_ECHO_REPLY OfpType = 3
+ OfpType_OFPT_EXPERIMENTER OfpType = 4
+ // Switch configuration messages.
+ OfpType_OFPT_FEATURES_REQUEST OfpType = 5
+ OfpType_OFPT_FEATURES_REPLY OfpType = 6
+ OfpType_OFPT_GET_CONFIG_REQUEST OfpType = 7
+ OfpType_OFPT_GET_CONFIG_REPLY OfpType = 8
+ OfpType_OFPT_SET_CONFIG OfpType = 9
+ // Asynchronous messages.
+ OfpType_OFPT_PACKET_IN OfpType = 10
+ OfpType_OFPT_FLOW_REMOVED OfpType = 11
+ OfpType_OFPT_PORT_STATUS OfpType = 12
+ // Controller command messages.
+ OfpType_OFPT_PACKET_OUT OfpType = 13
+ OfpType_OFPT_FLOW_MOD OfpType = 14
+ OfpType_OFPT_GROUP_MOD OfpType = 15
+ OfpType_OFPT_PORT_MOD OfpType = 16
+ OfpType_OFPT_TABLE_MOD OfpType = 17
+ // Multipart messages.
+ OfpType_OFPT_MULTIPART_REQUEST OfpType = 18
+ OfpType_OFPT_MULTIPART_REPLY OfpType = 19
+ // Barrier messages.
+ OfpType_OFPT_BARRIER_REQUEST OfpType = 20
+ OfpType_OFPT_BARRIER_REPLY OfpType = 21
+ // Queue Configuration messages.
+ OfpType_OFPT_QUEUE_GET_CONFIG_REQUEST OfpType = 22
+ OfpType_OFPT_QUEUE_GET_CONFIG_REPLY OfpType = 23
+ // Controller role change request messages.
+ OfpType_OFPT_ROLE_REQUEST OfpType = 24
+ OfpType_OFPT_ROLE_REPLY OfpType = 25
+ // Asynchronous message configuration.
+ OfpType_OFPT_GET_ASYNC_REQUEST OfpType = 26
+ OfpType_OFPT_GET_ASYNC_REPLY OfpType = 27
+ OfpType_OFPT_SET_ASYNC OfpType = 28
+ // Meters and rate limiters configuration messages.
+ OfpType_OFPT_METER_MOD OfpType = 29
+)
+
+var OfpType_name = map[int32]string{
+ 0: "OFPT_HELLO",
+ 1: "OFPT_ERROR",
+ 2: "OFPT_ECHO_REQUEST",
+ 3: "OFPT_ECHO_REPLY",
+ 4: "OFPT_EXPERIMENTER",
+ 5: "OFPT_FEATURES_REQUEST",
+ 6: "OFPT_FEATURES_REPLY",
+ 7: "OFPT_GET_CONFIG_REQUEST",
+ 8: "OFPT_GET_CONFIG_REPLY",
+ 9: "OFPT_SET_CONFIG",
+ 10: "OFPT_PACKET_IN",
+ 11: "OFPT_FLOW_REMOVED",
+ 12: "OFPT_PORT_STATUS",
+ 13: "OFPT_PACKET_OUT",
+ 14: "OFPT_FLOW_MOD",
+ 15: "OFPT_GROUP_MOD",
+ 16: "OFPT_PORT_MOD",
+ 17: "OFPT_TABLE_MOD",
+ 18: "OFPT_MULTIPART_REQUEST",
+ 19: "OFPT_MULTIPART_REPLY",
+ 20: "OFPT_BARRIER_REQUEST",
+ 21: "OFPT_BARRIER_REPLY",
+ 22: "OFPT_QUEUE_GET_CONFIG_REQUEST",
+ 23: "OFPT_QUEUE_GET_CONFIG_REPLY",
+ 24: "OFPT_ROLE_REQUEST",
+ 25: "OFPT_ROLE_REPLY",
+ 26: "OFPT_GET_ASYNC_REQUEST",
+ 27: "OFPT_GET_ASYNC_REPLY",
+ 28: "OFPT_SET_ASYNC",
+ 29: "OFPT_METER_MOD",
+}
+
+var OfpType_value = map[string]int32{
+ "OFPT_HELLO": 0,
+ "OFPT_ERROR": 1,
+ "OFPT_ECHO_REQUEST": 2,
+ "OFPT_ECHO_REPLY": 3,
+ "OFPT_EXPERIMENTER": 4,
+ "OFPT_FEATURES_REQUEST": 5,
+ "OFPT_FEATURES_REPLY": 6,
+ "OFPT_GET_CONFIG_REQUEST": 7,
+ "OFPT_GET_CONFIG_REPLY": 8,
+ "OFPT_SET_CONFIG": 9,
+ "OFPT_PACKET_IN": 10,
+ "OFPT_FLOW_REMOVED": 11,
+ "OFPT_PORT_STATUS": 12,
+ "OFPT_PACKET_OUT": 13,
+ "OFPT_FLOW_MOD": 14,
+ "OFPT_GROUP_MOD": 15,
+ "OFPT_PORT_MOD": 16,
+ "OFPT_TABLE_MOD": 17,
+ "OFPT_MULTIPART_REQUEST": 18,
+ "OFPT_MULTIPART_REPLY": 19,
+ "OFPT_BARRIER_REQUEST": 20,
+ "OFPT_BARRIER_REPLY": 21,
+ "OFPT_QUEUE_GET_CONFIG_REQUEST": 22,
+ "OFPT_QUEUE_GET_CONFIG_REPLY": 23,
+ "OFPT_ROLE_REQUEST": 24,
+ "OFPT_ROLE_REPLY": 25,
+ "OFPT_GET_ASYNC_REQUEST": 26,
+ "OFPT_GET_ASYNC_REPLY": 27,
+ "OFPT_SET_ASYNC": 28,
+ "OFPT_METER_MOD": 29,
+}
+
+func (x OfpType) String() string {
+ return proto.EnumName(OfpType_name, int32(x))
+}
+
+func (OfpType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{1}
+}
+
+// Hello elements types.
+type OfpHelloElemType int32
+
+const (
+ OfpHelloElemType_OFPHET_INVALID OfpHelloElemType = 0
+ OfpHelloElemType_OFPHET_VERSIONBITMAP OfpHelloElemType = 1
+)
+
+var OfpHelloElemType_name = map[int32]string{
+ 0: "OFPHET_INVALID",
+ 1: "OFPHET_VERSIONBITMAP",
+}
+
+var OfpHelloElemType_value = map[string]int32{
+ "OFPHET_INVALID": 0,
+ "OFPHET_VERSIONBITMAP": 1,
+}
+
+func (x OfpHelloElemType) String() string {
+ return proto.EnumName(OfpHelloElemType_name, int32(x))
+}
+
+func (OfpHelloElemType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{2}
+}
+
+type OfpConfigFlags int32
+
+const (
+ // Handling of IP fragments.
+ OfpConfigFlags_OFPC_FRAG_NORMAL OfpConfigFlags = 0
+ OfpConfigFlags_OFPC_FRAG_DROP OfpConfigFlags = 1
+ OfpConfigFlags_OFPC_FRAG_REASM OfpConfigFlags = 2
+ OfpConfigFlags_OFPC_FRAG_MASK OfpConfigFlags = 3
+)
+
+var OfpConfigFlags_name = map[int32]string{
+ 0: "OFPC_FRAG_NORMAL",
+ 1: "OFPC_FRAG_DROP",
+ 2: "OFPC_FRAG_REASM",
+ 3: "OFPC_FRAG_MASK",
+}
+
+var OfpConfigFlags_value = map[string]int32{
+ "OFPC_FRAG_NORMAL": 0,
+ "OFPC_FRAG_DROP": 1,
+ "OFPC_FRAG_REASM": 2,
+ "OFPC_FRAG_MASK": 3,
+}
+
+func (x OfpConfigFlags) String() string {
+ return proto.EnumName(OfpConfigFlags_name, int32(x))
+}
+
+func (OfpConfigFlags) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{3}
+}
+
+// Flags to configure the table. Reserved for future use.
+type OfpTableConfig int32
+
+const (
+ OfpTableConfig_OFPTC_INVALID OfpTableConfig = 0
+ OfpTableConfig_OFPTC_DEPRECATED_MASK OfpTableConfig = 3
+)
+
+var OfpTableConfig_name = map[int32]string{
+ 0: "OFPTC_INVALID",
+ 3: "OFPTC_DEPRECATED_MASK",
+}
+
+var OfpTableConfig_value = map[string]int32{
+ "OFPTC_INVALID": 0,
+ "OFPTC_DEPRECATED_MASK": 3,
+}
+
+func (x OfpTableConfig) String() string {
+ return proto.EnumName(OfpTableConfig_name, int32(x))
+}
+
+func (OfpTableConfig) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{4}
+}
+
+// Table numbering. Tables can use any number up to OFPT_MAX.
+type OfpTable int32
+
+const (
+ OfpTable_OFPTT_INVALID OfpTable = 0
+ // Last usable table number.
+ OfpTable_OFPTT_MAX OfpTable = 254
+ // Fake tables.
+ OfpTable_OFPTT_ALL OfpTable = 255
+)
+
+var OfpTable_name = map[int32]string{
+ 0: "OFPTT_INVALID",
+ 254: "OFPTT_MAX",
+ 255: "OFPTT_ALL",
+}
+
+var OfpTable_value = map[string]int32{
+ "OFPTT_INVALID": 0,
+ "OFPTT_MAX": 254,
+ "OFPTT_ALL": 255,
+}
+
+func (x OfpTable) String() string {
+ return proto.EnumName(OfpTable_name, int32(x))
+}
+
+func (OfpTable) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{5}
+}
+
+// Capabilities supported by the datapath.
+type OfpCapabilities int32
+
+const (
+ OfpCapabilities_OFPC_INVALID OfpCapabilities = 0
+ OfpCapabilities_OFPC_FLOW_STATS OfpCapabilities = 1
+ OfpCapabilities_OFPC_TABLE_STATS OfpCapabilities = 2
+ OfpCapabilities_OFPC_PORT_STATS OfpCapabilities = 4
+ OfpCapabilities_OFPC_GROUP_STATS OfpCapabilities = 8
+ OfpCapabilities_OFPC_IP_REASM OfpCapabilities = 32
+ OfpCapabilities_OFPC_QUEUE_STATS OfpCapabilities = 64
+ OfpCapabilities_OFPC_PORT_BLOCKED OfpCapabilities = 256
+)
+
+var OfpCapabilities_name = map[int32]string{
+ 0: "OFPC_INVALID",
+ 1: "OFPC_FLOW_STATS",
+ 2: "OFPC_TABLE_STATS",
+ 4: "OFPC_PORT_STATS",
+ 8: "OFPC_GROUP_STATS",
+ 32: "OFPC_IP_REASM",
+ 64: "OFPC_QUEUE_STATS",
+ 256: "OFPC_PORT_BLOCKED",
+}
+
+var OfpCapabilities_value = map[string]int32{
+ "OFPC_INVALID": 0,
+ "OFPC_FLOW_STATS": 1,
+ "OFPC_TABLE_STATS": 2,
+ "OFPC_PORT_STATS": 4,
+ "OFPC_GROUP_STATS": 8,
+ "OFPC_IP_REASM": 32,
+ "OFPC_QUEUE_STATS": 64,
+ "OFPC_PORT_BLOCKED": 256,
+}
+
+func (x OfpCapabilities) String() string {
+ return proto.EnumName(OfpCapabilities_name, int32(x))
+}
+
+func (OfpCapabilities) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{6}
+}
+
+// Flags to indicate behavior of the physical port. These flags are
+// used in ofp_port to describe the current configuration. They are
+// used in the ofp_port_mod message to configure the port's behavior.
+type OfpPortConfig int32
+
+const (
+ OfpPortConfig_OFPPC_INVALID OfpPortConfig = 0
+ OfpPortConfig_OFPPC_PORT_DOWN OfpPortConfig = 1
+ OfpPortConfig_OFPPC_NO_RECV OfpPortConfig = 4
+ OfpPortConfig_OFPPC_NO_FWD OfpPortConfig = 32
+ OfpPortConfig_OFPPC_NO_PACKET_IN OfpPortConfig = 64
+)
+
+var OfpPortConfig_name = map[int32]string{
+ 0: "OFPPC_INVALID",
+ 1: "OFPPC_PORT_DOWN",
+ 4: "OFPPC_NO_RECV",
+ 32: "OFPPC_NO_FWD",
+ 64: "OFPPC_NO_PACKET_IN",
+}
+
+var OfpPortConfig_value = map[string]int32{
+ "OFPPC_INVALID": 0,
+ "OFPPC_PORT_DOWN": 1,
+ "OFPPC_NO_RECV": 4,
+ "OFPPC_NO_FWD": 32,
+ "OFPPC_NO_PACKET_IN": 64,
+}
+
+func (x OfpPortConfig) String() string {
+ return proto.EnumName(OfpPortConfig_name, int32(x))
+}
+
+func (OfpPortConfig) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{7}
+}
+
+// Current state of the physical port. These are not configurable from
+// the controller.
+type OfpPortState int32
+
+const (
+ OfpPortState_OFPPS_INVALID OfpPortState = 0
+ OfpPortState_OFPPS_LINK_DOWN OfpPortState = 1
+ OfpPortState_OFPPS_BLOCKED OfpPortState = 2
+ OfpPortState_OFPPS_LIVE OfpPortState = 4
+)
+
+var OfpPortState_name = map[int32]string{
+ 0: "OFPPS_INVALID",
+ 1: "OFPPS_LINK_DOWN",
+ 2: "OFPPS_BLOCKED",
+ 4: "OFPPS_LIVE",
+}
+
+var OfpPortState_value = map[string]int32{
+ "OFPPS_INVALID": 0,
+ "OFPPS_LINK_DOWN": 1,
+ "OFPPS_BLOCKED": 2,
+ "OFPPS_LIVE": 4,
+}
+
+func (x OfpPortState) String() string {
+ return proto.EnumName(OfpPortState_name, int32(x))
+}
+
+func (OfpPortState) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{8}
+}
+
+// Features of ports available in a datapath.
+type OfpPortFeatures int32
+
+const (
+ OfpPortFeatures_OFPPF_INVALID OfpPortFeatures = 0
+ OfpPortFeatures_OFPPF_10MB_HD OfpPortFeatures = 1
+ OfpPortFeatures_OFPPF_10MB_FD OfpPortFeatures = 2
+ OfpPortFeatures_OFPPF_100MB_HD OfpPortFeatures = 4
+ OfpPortFeatures_OFPPF_100MB_FD OfpPortFeatures = 8
+ OfpPortFeatures_OFPPF_1GB_HD OfpPortFeatures = 16
+ OfpPortFeatures_OFPPF_1GB_FD OfpPortFeatures = 32
+ OfpPortFeatures_OFPPF_10GB_FD OfpPortFeatures = 64
+ OfpPortFeatures_OFPPF_40GB_FD OfpPortFeatures = 128
+ OfpPortFeatures_OFPPF_100GB_FD OfpPortFeatures = 256
+ OfpPortFeatures_OFPPF_1TB_FD OfpPortFeatures = 512
+ OfpPortFeatures_OFPPF_OTHER OfpPortFeatures = 1024
+ OfpPortFeatures_OFPPF_COPPER OfpPortFeatures = 2048
+ OfpPortFeatures_OFPPF_FIBER OfpPortFeatures = 4096
+ OfpPortFeatures_OFPPF_AUTONEG OfpPortFeatures = 8192
+ OfpPortFeatures_OFPPF_PAUSE OfpPortFeatures = 16384
+ OfpPortFeatures_OFPPF_PAUSE_ASYM OfpPortFeatures = 32768
+)
+
+var OfpPortFeatures_name = map[int32]string{
+ 0: "OFPPF_INVALID",
+ 1: "OFPPF_10MB_HD",
+ 2: "OFPPF_10MB_FD",
+ 4: "OFPPF_100MB_HD",
+ 8: "OFPPF_100MB_FD",
+ 16: "OFPPF_1GB_HD",
+ 32: "OFPPF_1GB_FD",
+ 64: "OFPPF_10GB_FD",
+ 128: "OFPPF_40GB_FD",
+ 256: "OFPPF_100GB_FD",
+ 512: "OFPPF_1TB_FD",
+ 1024: "OFPPF_OTHER",
+ 2048: "OFPPF_COPPER",
+ 4096: "OFPPF_FIBER",
+ 8192: "OFPPF_AUTONEG",
+ 16384: "OFPPF_PAUSE",
+ 32768: "OFPPF_PAUSE_ASYM",
+}
+
+var OfpPortFeatures_value = map[string]int32{
+ "OFPPF_INVALID": 0,
+ "OFPPF_10MB_HD": 1,
+ "OFPPF_10MB_FD": 2,
+ "OFPPF_100MB_HD": 4,
+ "OFPPF_100MB_FD": 8,
+ "OFPPF_1GB_HD": 16,
+ "OFPPF_1GB_FD": 32,
+ "OFPPF_10GB_FD": 64,
+ "OFPPF_40GB_FD": 128,
+ "OFPPF_100GB_FD": 256,
+ "OFPPF_1TB_FD": 512,
+ "OFPPF_OTHER": 1024,
+ "OFPPF_COPPER": 2048,
+ "OFPPF_FIBER": 4096,
+ "OFPPF_AUTONEG": 8192,
+ "OFPPF_PAUSE": 16384,
+ "OFPPF_PAUSE_ASYM": 32768,
+}
+
+func (x OfpPortFeatures) String() string {
+ return proto.EnumName(OfpPortFeatures_name, int32(x))
+}
+
+func (OfpPortFeatures) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{9}
+}
+
+// What changed about the physical port
+type OfpPortReason int32
+
+const (
+ OfpPortReason_OFPPR_ADD OfpPortReason = 0
+ OfpPortReason_OFPPR_DELETE OfpPortReason = 1
+ OfpPortReason_OFPPR_MODIFY OfpPortReason = 2
+)
+
+var OfpPortReason_name = map[int32]string{
+ 0: "OFPPR_ADD",
+ 1: "OFPPR_DELETE",
+ 2: "OFPPR_MODIFY",
+}
+
+var OfpPortReason_value = map[string]int32{
+ "OFPPR_ADD": 0,
+ "OFPPR_DELETE": 1,
+ "OFPPR_MODIFY": 2,
+}
+
+func (x OfpPortReason) String() string {
+ return proto.EnumName(OfpPortReason_name, int32(x))
+}
+
+func (OfpPortReason) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{10}
+}
+
+// The match type indicates the match structure (set of fields that compose the
+// match) in use. The match type is placed in the type field at the beginning
+// of all match structures. The "OpenFlow Extensible Match" type corresponds
+// to OXM TLV format described below and must be supported by all OpenFlow
+// switches. Extensions that define other match types may be published on the
+// ONF wiki. Support for extensions is optional.
+type OfpMatchType int32
+
+const (
+ OfpMatchType_OFPMT_STANDARD OfpMatchType = 0
+ OfpMatchType_OFPMT_OXM OfpMatchType = 1
+)
+
+var OfpMatchType_name = map[int32]string{
+ 0: "OFPMT_STANDARD",
+ 1: "OFPMT_OXM",
+}
+
+var OfpMatchType_value = map[string]int32{
+ "OFPMT_STANDARD": 0,
+ "OFPMT_OXM": 1,
+}
+
+func (x OfpMatchType) String() string {
+ return proto.EnumName(OfpMatchType_name, int32(x))
+}
+
+func (OfpMatchType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{11}
+}
+
+// OXM Class IDs.
+// The high order bit differentiate reserved classes from member classes.
+// Classes 0x0000 to 0x7FFF are member classes, allocated by ONF.
+// Classes 0x8000 to 0xFFFE are reserved classes, reserved for standardisation.
+type OfpOxmClass int32
+
+const (
+ OfpOxmClass_OFPXMC_NXM_0 OfpOxmClass = 0
+ OfpOxmClass_OFPXMC_NXM_1 OfpOxmClass = 1
+ OfpOxmClass_OFPXMC_OPENFLOW_BASIC OfpOxmClass = 32768
+ OfpOxmClass_OFPXMC_EXPERIMENTER OfpOxmClass = 65535
+)
+
+var OfpOxmClass_name = map[int32]string{
+ 0: "OFPXMC_NXM_0",
+ 1: "OFPXMC_NXM_1",
+ 32768: "OFPXMC_OPENFLOW_BASIC",
+ 65535: "OFPXMC_EXPERIMENTER",
+}
+
+var OfpOxmClass_value = map[string]int32{
+ "OFPXMC_NXM_0": 0,
+ "OFPXMC_NXM_1": 1,
+ "OFPXMC_OPENFLOW_BASIC": 32768,
+ "OFPXMC_EXPERIMENTER": 65535,
+}
+
+func (x OfpOxmClass) String() string {
+ return proto.EnumName(OfpOxmClass_name, int32(x))
+}
+
+func (OfpOxmClass) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{12}
+}
+
+// OXM Flow field types for OpenFlow basic class.
+type OxmOfbFieldTypes int32
+
+const (
+ OxmOfbFieldTypes_OFPXMT_OFB_IN_PORT OxmOfbFieldTypes = 0
+ OxmOfbFieldTypes_OFPXMT_OFB_IN_PHY_PORT OxmOfbFieldTypes = 1
+ OxmOfbFieldTypes_OFPXMT_OFB_METADATA OxmOfbFieldTypes = 2
+ OxmOfbFieldTypes_OFPXMT_OFB_ETH_DST OxmOfbFieldTypes = 3
+ OxmOfbFieldTypes_OFPXMT_OFB_ETH_SRC OxmOfbFieldTypes = 4
+ OxmOfbFieldTypes_OFPXMT_OFB_ETH_TYPE OxmOfbFieldTypes = 5
+ OxmOfbFieldTypes_OFPXMT_OFB_VLAN_VID OxmOfbFieldTypes = 6
+ OxmOfbFieldTypes_OFPXMT_OFB_VLAN_PCP OxmOfbFieldTypes = 7
+ OxmOfbFieldTypes_OFPXMT_OFB_IP_DSCP OxmOfbFieldTypes = 8
+ OxmOfbFieldTypes_OFPXMT_OFB_IP_ECN OxmOfbFieldTypes = 9
+ OxmOfbFieldTypes_OFPXMT_OFB_IP_PROTO OxmOfbFieldTypes = 10
+ OxmOfbFieldTypes_OFPXMT_OFB_IPV4_SRC OxmOfbFieldTypes = 11
+ OxmOfbFieldTypes_OFPXMT_OFB_IPV4_DST OxmOfbFieldTypes = 12
+ OxmOfbFieldTypes_OFPXMT_OFB_TCP_SRC OxmOfbFieldTypes = 13
+ OxmOfbFieldTypes_OFPXMT_OFB_TCP_DST OxmOfbFieldTypes = 14
+ OxmOfbFieldTypes_OFPXMT_OFB_UDP_SRC OxmOfbFieldTypes = 15
+ OxmOfbFieldTypes_OFPXMT_OFB_UDP_DST OxmOfbFieldTypes = 16
+ OxmOfbFieldTypes_OFPXMT_OFB_SCTP_SRC OxmOfbFieldTypes = 17
+ OxmOfbFieldTypes_OFPXMT_OFB_SCTP_DST OxmOfbFieldTypes = 18
+ OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_TYPE OxmOfbFieldTypes = 19
+ OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_CODE OxmOfbFieldTypes = 20
+ OxmOfbFieldTypes_OFPXMT_OFB_ARP_OP OxmOfbFieldTypes = 21
+ OxmOfbFieldTypes_OFPXMT_OFB_ARP_SPA OxmOfbFieldTypes = 22
+ OxmOfbFieldTypes_OFPXMT_OFB_ARP_TPA OxmOfbFieldTypes = 23
+ OxmOfbFieldTypes_OFPXMT_OFB_ARP_SHA OxmOfbFieldTypes = 24
+ OxmOfbFieldTypes_OFPXMT_OFB_ARP_THA OxmOfbFieldTypes = 25
+ OxmOfbFieldTypes_OFPXMT_OFB_IPV6_SRC OxmOfbFieldTypes = 26
+ OxmOfbFieldTypes_OFPXMT_OFB_IPV6_DST OxmOfbFieldTypes = 27
+ OxmOfbFieldTypes_OFPXMT_OFB_IPV6_FLABEL OxmOfbFieldTypes = 28
+ OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_TYPE OxmOfbFieldTypes = 29
+ OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_CODE OxmOfbFieldTypes = 30
+ OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TARGET OxmOfbFieldTypes = 31
+ OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_SLL OxmOfbFieldTypes = 32
+ OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TLL OxmOfbFieldTypes = 33
+ OxmOfbFieldTypes_OFPXMT_OFB_MPLS_LABEL OxmOfbFieldTypes = 34
+ OxmOfbFieldTypes_OFPXMT_OFB_MPLS_TC OxmOfbFieldTypes = 35
+ OxmOfbFieldTypes_OFPXMT_OFB_MPLS_BOS OxmOfbFieldTypes = 36
+ OxmOfbFieldTypes_OFPXMT_OFB_PBB_ISID OxmOfbFieldTypes = 37
+ OxmOfbFieldTypes_OFPXMT_OFB_TUNNEL_ID OxmOfbFieldTypes = 38
+ OxmOfbFieldTypes_OFPXMT_OFB_IPV6_EXTHDR OxmOfbFieldTypes = 39
+)
+
+var OxmOfbFieldTypes_name = map[int32]string{
+ 0: "OFPXMT_OFB_IN_PORT",
+ 1: "OFPXMT_OFB_IN_PHY_PORT",
+ 2: "OFPXMT_OFB_METADATA",
+ 3: "OFPXMT_OFB_ETH_DST",
+ 4: "OFPXMT_OFB_ETH_SRC",
+ 5: "OFPXMT_OFB_ETH_TYPE",
+ 6: "OFPXMT_OFB_VLAN_VID",
+ 7: "OFPXMT_OFB_VLAN_PCP",
+ 8: "OFPXMT_OFB_IP_DSCP",
+ 9: "OFPXMT_OFB_IP_ECN",
+ 10: "OFPXMT_OFB_IP_PROTO",
+ 11: "OFPXMT_OFB_IPV4_SRC",
+ 12: "OFPXMT_OFB_IPV4_DST",
+ 13: "OFPXMT_OFB_TCP_SRC",
+ 14: "OFPXMT_OFB_TCP_DST",
+ 15: "OFPXMT_OFB_UDP_SRC",
+ 16: "OFPXMT_OFB_UDP_DST",
+ 17: "OFPXMT_OFB_SCTP_SRC",
+ 18: "OFPXMT_OFB_SCTP_DST",
+ 19: "OFPXMT_OFB_ICMPV4_TYPE",
+ 20: "OFPXMT_OFB_ICMPV4_CODE",
+ 21: "OFPXMT_OFB_ARP_OP",
+ 22: "OFPXMT_OFB_ARP_SPA",
+ 23: "OFPXMT_OFB_ARP_TPA",
+ 24: "OFPXMT_OFB_ARP_SHA",
+ 25: "OFPXMT_OFB_ARP_THA",
+ 26: "OFPXMT_OFB_IPV6_SRC",
+ 27: "OFPXMT_OFB_IPV6_DST",
+ 28: "OFPXMT_OFB_IPV6_FLABEL",
+ 29: "OFPXMT_OFB_ICMPV6_TYPE",
+ 30: "OFPXMT_OFB_ICMPV6_CODE",
+ 31: "OFPXMT_OFB_IPV6_ND_TARGET",
+ 32: "OFPXMT_OFB_IPV6_ND_SLL",
+ 33: "OFPXMT_OFB_IPV6_ND_TLL",
+ 34: "OFPXMT_OFB_MPLS_LABEL",
+ 35: "OFPXMT_OFB_MPLS_TC",
+ 36: "OFPXMT_OFB_MPLS_BOS",
+ 37: "OFPXMT_OFB_PBB_ISID",
+ 38: "OFPXMT_OFB_TUNNEL_ID",
+ 39: "OFPXMT_OFB_IPV6_EXTHDR",
+}
+
+var OxmOfbFieldTypes_value = map[string]int32{
+ "OFPXMT_OFB_IN_PORT": 0,
+ "OFPXMT_OFB_IN_PHY_PORT": 1,
+ "OFPXMT_OFB_METADATA": 2,
+ "OFPXMT_OFB_ETH_DST": 3,
+ "OFPXMT_OFB_ETH_SRC": 4,
+ "OFPXMT_OFB_ETH_TYPE": 5,
+ "OFPXMT_OFB_VLAN_VID": 6,
+ "OFPXMT_OFB_VLAN_PCP": 7,
+ "OFPXMT_OFB_IP_DSCP": 8,
+ "OFPXMT_OFB_IP_ECN": 9,
+ "OFPXMT_OFB_IP_PROTO": 10,
+ "OFPXMT_OFB_IPV4_SRC": 11,
+ "OFPXMT_OFB_IPV4_DST": 12,
+ "OFPXMT_OFB_TCP_SRC": 13,
+ "OFPXMT_OFB_TCP_DST": 14,
+ "OFPXMT_OFB_UDP_SRC": 15,
+ "OFPXMT_OFB_UDP_DST": 16,
+ "OFPXMT_OFB_SCTP_SRC": 17,
+ "OFPXMT_OFB_SCTP_DST": 18,
+ "OFPXMT_OFB_ICMPV4_TYPE": 19,
+ "OFPXMT_OFB_ICMPV4_CODE": 20,
+ "OFPXMT_OFB_ARP_OP": 21,
+ "OFPXMT_OFB_ARP_SPA": 22,
+ "OFPXMT_OFB_ARP_TPA": 23,
+ "OFPXMT_OFB_ARP_SHA": 24,
+ "OFPXMT_OFB_ARP_THA": 25,
+ "OFPXMT_OFB_IPV6_SRC": 26,
+ "OFPXMT_OFB_IPV6_DST": 27,
+ "OFPXMT_OFB_IPV6_FLABEL": 28,
+ "OFPXMT_OFB_ICMPV6_TYPE": 29,
+ "OFPXMT_OFB_ICMPV6_CODE": 30,
+ "OFPXMT_OFB_IPV6_ND_TARGET": 31,
+ "OFPXMT_OFB_IPV6_ND_SLL": 32,
+ "OFPXMT_OFB_IPV6_ND_TLL": 33,
+ "OFPXMT_OFB_MPLS_LABEL": 34,
+ "OFPXMT_OFB_MPLS_TC": 35,
+ "OFPXMT_OFB_MPLS_BOS": 36,
+ "OFPXMT_OFB_PBB_ISID": 37,
+ "OFPXMT_OFB_TUNNEL_ID": 38,
+ "OFPXMT_OFB_IPV6_EXTHDR": 39,
+}
+
+func (x OxmOfbFieldTypes) String() string {
+ return proto.EnumName(OxmOfbFieldTypes_name, int32(x))
+}
+
+func (OxmOfbFieldTypes) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{13}
+}
+
+// The VLAN id is 12-bits, so we can use the entire 16 bits to indicate
+// special conditions.
+type OfpVlanId int32
+
+const (
+ OfpVlanId_OFPVID_NONE OfpVlanId = 0
+ OfpVlanId_OFPVID_PRESENT OfpVlanId = 4096
+)
+
+var OfpVlanId_name = map[int32]string{
+ 0: "OFPVID_NONE",
+ 4096: "OFPVID_PRESENT",
+}
+
+var OfpVlanId_value = map[string]int32{
+ "OFPVID_NONE": 0,
+ "OFPVID_PRESENT": 4096,
+}
+
+func (x OfpVlanId) String() string {
+ return proto.EnumName(OfpVlanId_name, int32(x))
+}
+
+func (OfpVlanId) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{14}
+}
+
+// Bit definitions for IPv6 Extension Header pseudo-field.
+type OfpIpv6ExthdrFlags int32
+
+const (
+ OfpIpv6ExthdrFlags_OFPIEH_INVALID OfpIpv6ExthdrFlags = 0
+ OfpIpv6ExthdrFlags_OFPIEH_NONEXT OfpIpv6ExthdrFlags = 1
+ OfpIpv6ExthdrFlags_OFPIEH_ESP OfpIpv6ExthdrFlags = 2
+ OfpIpv6ExthdrFlags_OFPIEH_AUTH OfpIpv6ExthdrFlags = 4
+ OfpIpv6ExthdrFlags_OFPIEH_DEST OfpIpv6ExthdrFlags = 8
+ OfpIpv6ExthdrFlags_OFPIEH_FRAG OfpIpv6ExthdrFlags = 16
+ OfpIpv6ExthdrFlags_OFPIEH_ROUTER OfpIpv6ExthdrFlags = 32
+ OfpIpv6ExthdrFlags_OFPIEH_HOP OfpIpv6ExthdrFlags = 64
+ OfpIpv6ExthdrFlags_OFPIEH_UNREP OfpIpv6ExthdrFlags = 128
+ OfpIpv6ExthdrFlags_OFPIEH_UNSEQ OfpIpv6ExthdrFlags = 256
+)
+
+var OfpIpv6ExthdrFlags_name = map[int32]string{
+ 0: "OFPIEH_INVALID",
+ 1: "OFPIEH_NONEXT",
+ 2: "OFPIEH_ESP",
+ 4: "OFPIEH_AUTH",
+ 8: "OFPIEH_DEST",
+ 16: "OFPIEH_FRAG",
+ 32: "OFPIEH_ROUTER",
+ 64: "OFPIEH_HOP",
+ 128: "OFPIEH_UNREP",
+ 256: "OFPIEH_UNSEQ",
+}
+
+var OfpIpv6ExthdrFlags_value = map[string]int32{
+ "OFPIEH_INVALID": 0,
+ "OFPIEH_NONEXT": 1,
+ "OFPIEH_ESP": 2,
+ "OFPIEH_AUTH": 4,
+ "OFPIEH_DEST": 8,
+ "OFPIEH_FRAG": 16,
+ "OFPIEH_ROUTER": 32,
+ "OFPIEH_HOP": 64,
+ "OFPIEH_UNREP": 128,
+ "OFPIEH_UNSEQ": 256,
+}
+
+func (x OfpIpv6ExthdrFlags) String() string {
+ return proto.EnumName(OfpIpv6ExthdrFlags_name, int32(x))
+}
+
+func (OfpIpv6ExthdrFlags) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{15}
+}
+
+type OfpActionType int32
+
+const (
+ OfpActionType_OFPAT_OUTPUT OfpActionType = 0
+ OfpActionType_OFPAT_COPY_TTL_OUT OfpActionType = 11
+ OfpActionType_OFPAT_COPY_TTL_IN OfpActionType = 12
+ OfpActionType_OFPAT_SET_MPLS_TTL OfpActionType = 15
+ OfpActionType_OFPAT_DEC_MPLS_TTL OfpActionType = 16
+ OfpActionType_OFPAT_PUSH_VLAN OfpActionType = 17
+ OfpActionType_OFPAT_POP_VLAN OfpActionType = 18
+ OfpActionType_OFPAT_PUSH_MPLS OfpActionType = 19
+ OfpActionType_OFPAT_POP_MPLS OfpActionType = 20
+ OfpActionType_OFPAT_SET_QUEUE OfpActionType = 21
+ OfpActionType_OFPAT_GROUP OfpActionType = 22
+ OfpActionType_OFPAT_SET_NW_TTL OfpActionType = 23
+ OfpActionType_OFPAT_DEC_NW_TTL OfpActionType = 24
+ OfpActionType_OFPAT_SET_FIELD OfpActionType = 25
+ OfpActionType_OFPAT_PUSH_PBB OfpActionType = 26
+ OfpActionType_OFPAT_POP_PBB OfpActionType = 27
+ OfpActionType_OFPAT_EXPERIMENTER OfpActionType = 65535
+)
+
+var OfpActionType_name = map[int32]string{
+ 0: "OFPAT_OUTPUT",
+ 11: "OFPAT_COPY_TTL_OUT",
+ 12: "OFPAT_COPY_TTL_IN",
+ 15: "OFPAT_SET_MPLS_TTL",
+ 16: "OFPAT_DEC_MPLS_TTL",
+ 17: "OFPAT_PUSH_VLAN",
+ 18: "OFPAT_POP_VLAN",
+ 19: "OFPAT_PUSH_MPLS",
+ 20: "OFPAT_POP_MPLS",
+ 21: "OFPAT_SET_QUEUE",
+ 22: "OFPAT_GROUP",
+ 23: "OFPAT_SET_NW_TTL",
+ 24: "OFPAT_DEC_NW_TTL",
+ 25: "OFPAT_SET_FIELD",
+ 26: "OFPAT_PUSH_PBB",
+ 27: "OFPAT_POP_PBB",
+ 65535: "OFPAT_EXPERIMENTER",
+}
+
+var OfpActionType_value = map[string]int32{
+ "OFPAT_OUTPUT": 0,
+ "OFPAT_COPY_TTL_OUT": 11,
+ "OFPAT_COPY_TTL_IN": 12,
+ "OFPAT_SET_MPLS_TTL": 15,
+ "OFPAT_DEC_MPLS_TTL": 16,
+ "OFPAT_PUSH_VLAN": 17,
+ "OFPAT_POP_VLAN": 18,
+ "OFPAT_PUSH_MPLS": 19,
+ "OFPAT_POP_MPLS": 20,
+ "OFPAT_SET_QUEUE": 21,
+ "OFPAT_GROUP": 22,
+ "OFPAT_SET_NW_TTL": 23,
+ "OFPAT_DEC_NW_TTL": 24,
+ "OFPAT_SET_FIELD": 25,
+ "OFPAT_PUSH_PBB": 26,
+ "OFPAT_POP_PBB": 27,
+ "OFPAT_EXPERIMENTER": 65535,
+}
+
+func (x OfpActionType) String() string {
+ return proto.EnumName(OfpActionType_name, int32(x))
+}
+
+func (OfpActionType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{16}
+}
+
+type OfpControllerMaxLen int32
+
+const (
+ OfpControllerMaxLen_OFPCML_INVALID OfpControllerMaxLen = 0
+ OfpControllerMaxLen_OFPCML_MAX OfpControllerMaxLen = 65509
+ OfpControllerMaxLen_OFPCML_NO_BUFFER OfpControllerMaxLen = 65535
+)
+
+var OfpControllerMaxLen_name = map[int32]string{
+ 0: "OFPCML_INVALID",
+ 65509: "OFPCML_MAX",
+ 65535: "OFPCML_NO_BUFFER",
+}
+
+var OfpControllerMaxLen_value = map[string]int32{
+ "OFPCML_INVALID": 0,
+ "OFPCML_MAX": 65509,
+ "OFPCML_NO_BUFFER": 65535,
+}
+
+func (x OfpControllerMaxLen) String() string {
+ return proto.EnumName(OfpControllerMaxLen_name, int32(x))
+}
+
+func (OfpControllerMaxLen) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{17}
+}
+
+type OfpInstructionType int32
+
+const (
+ OfpInstructionType_OFPIT_INVALID OfpInstructionType = 0
+ OfpInstructionType_OFPIT_GOTO_TABLE OfpInstructionType = 1
+ OfpInstructionType_OFPIT_WRITE_METADATA OfpInstructionType = 2
+ OfpInstructionType_OFPIT_WRITE_ACTIONS OfpInstructionType = 3
+ OfpInstructionType_OFPIT_APPLY_ACTIONS OfpInstructionType = 4
+ OfpInstructionType_OFPIT_CLEAR_ACTIONS OfpInstructionType = 5
+ OfpInstructionType_OFPIT_METER OfpInstructionType = 6
+ OfpInstructionType_OFPIT_EXPERIMENTER OfpInstructionType = 65535
+)
+
+var OfpInstructionType_name = map[int32]string{
+ 0: "OFPIT_INVALID",
+ 1: "OFPIT_GOTO_TABLE",
+ 2: "OFPIT_WRITE_METADATA",
+ 3: "OFPIT_WRITE_ACTIONS",
+ 4: "OFPIT_APPLY_ACTIONS",
+ 5: "OFPIT_CLEAR_ACTIONS",
+ 6: "OFPIT_METER",
+ 65535: "OFPIT_EXPERIMENTER",
+}
+
+var OfpInstructionType_value = map[string]int32{
+ "OFPIT_INVALID": 0,
+ "OFPIT_GOTO_TABLE": 1,
+ "OFPIT_WRITE_METADATA": 2,
+ "OFPIT_WRITE_ACTIONS": 3,
+ "OFPIT_APPLY_ACTIONS": 4,
+ "OFPIT_CLEAR_ACTIONS": 5,
+ "OFPIT_METER": 6,
+ "OFPIT_EXPERIMENTER": 65535,
+}
+
+func (x OfpInstructionType) String() string {
+ return proto.EnumName(OfpInstructionType_name, int32(x))
+}
+
+func (OfpInstructionType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{18}
+}
+
+type OfpFlowModCommand int32
+
+const (
+ OfpFlowModCommand_OFPFC_ADD OfpFlowModCommand = 0
+ OfpFlowModCommand_OFPFC_MODIFY OfpFlowModCommand = 1
+ OfpFlowModCommand_OFPFC_MODIFY_STRICT OfpFlowModCommand = 2
+ OfpFlowModCommand_OFPFC_DELETE OfpFlowModCommand = 3
+ OfpFlowModCommand_OFPFC_DELETE_STRICT OfpFlowModCommand = 4
+)
+
+var OfpFlowModCommand_name = map[int32]string{
+ 0: "OFPFC_ADD",
+ 1: "OFPFC_MODIFY",
+ 2: "OFPFC_MODIFY_STRICT",
+ 3: "OFPFC_DELETE",
+ 4: "OFPFC_DELETE_STRICT",
+}
+
+var OfpFlowModCommand_value = map[string]int32{
+ "OFPFC_ADD": 0,
+ "OFPFC_MODIFY": 1,
+ "OFPFC_MODIFY_STRICT": 2,
+ "OFPFC_DELETE": 3,
+ "OFPFC_DELETE_STRICT": 4,
+}
+
+func (x OfpFlowModCommand) String() string {
+ return proto.EnumName(OfpFlowModCommand_name, int32(x))
+}
+
+func (OfpFlowModCommand) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{19}
+}
+
+type OfpFlowModFlags int32
+
+const (
+ OfpFlowModFlags_OFPFF_INVALID OfpFlowModFlags = 0
+ OfpFlowModFlags_OFPFF_SEND_FLOW_REM OfpFlowModFlags = 1
+ OfpFlowModFlags_OFPFF_CHECK_OVERLAP OfpFlowModFlags = 2
+ OfpFlowModFlags_OFPFF_RESET_COUNTS OfpFlowModFlags = 4
+ OfpFlowModFlags_OFPFF_NO_PKT_COUNTS OfpFlowModFlags = 8
+ OfpFlowModFlags_OFPFF_NO_BYT_COUNTS OfpFlowModFlags = 16
+)
+
+var OfpFlowModFlags_name = map[int32]string{
+ 0: "OFPFF_INVALID",
+ 1: "OFPFF_SEND_FLOW_REM",
+ 2: "OFPFF_CHECK_OVERLAP",
+ 4: "OFPFF_RESET_COUNTS",
+ 8: "OFPFF_NO_PKT_COUNTS",
+ 16: "OFPFF_NO_BYT_COUNTS",
+}
+
+var OfpFlowModFlags_value = map[string]int32{
+ "OFPFF_INVALID": 0,
+ "OFPFF_SEND_FLOW_REM": 1,
+ "OFPFF_CHECK_OVERLAP": 2,
+ "OFPFF_RESET_COUNTS": 4,
+ "OFPFF_NO_PKT_COUNTS": 8,
+ "OFPFF_NO_BYT_COUNTS": 16,
+}
+
+func (x OfpFlowModFlags) String() string {
+ return proto.EnumName(OfpFlowModFlags_name, int32(x))
+}
+
+func (OfpFlowModFlags) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{20}
+}
+
+// Group numbering. Groups can use any number up to OFPG_MAX.
+type OfpGroup int32
+
+const (
+ OfpGroup_OFPG_INVALID OfpGroup = 0
+ // Last usable group number.
+ OfpGroup_OFPG_MAX OfpGroup = 2147483392
+ // Fake groups.
+ OfpGroup_OFPG_ALL OfpGroup = 2147483644
+ OfpGroup_OFPG_ANY OfpGroup = 2147483647
+)
+
+var OfpGroup_name = map[int32]string{
+ 0: "OFPG_INVALID",
+ 2147483392: "OFPG_MAX",
+ 2147483644: "OFPG_ALL",
+ 2147483647: "OFPG_ANY",
+}
+
+var OfpGroup_value = map[string]int32{
+ "OFPG_INVALID": 0,
+ "OFPG_MAX": 2147483392,
+ "OFPG_ALL": 2147483644,
+ "OFPG_ANY": 2147483647,
+}
+
+func (x OfpGroup) String() string {
+ return proto.EnumName(OfpGroup_name, int32(x))
+}
+
+func (OfpGroup) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{21}
+}
+
+// Group commands
+type OfpGroupModCommand int32
+
+const (
+ OfpGroupModCommand_OFPGC_ADD OfpGroupModCommand = 0
+ OfpGroupModCommand_OFPGC_MODIFY OfpGroupModCommand = 1
+ OfpGroupModCommand_OFPGC_DELETE OfpGroupModCommand = 2
+)
+
+var OfpGroupModCommand_name = map[int32]string{
+ 0: "OFPGC_ADD",
+ 1: "OFPGC_MODIFY",
+ 2: "OFPGC_DELETE",
+}
+
+var OfpGroupModCommand_value = map[string]int32{
+ "OFPGC_ADD": 0,
+ "OFPGC_MODIFY": 1,
+ "OFPGC_DELETE": 2,
+}
+
+func (x OfpGroupModCommand) String() string {
+ return proto.EnumName(OfpGroupModCommand_name, int32(x))
+}
+
+func (OfpGroupModCommand) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{22}
+}
+
+// Group types. Values in the range [128; 255] are reserved for experimental
+// use.
+type OfpGroupType int32
+
+const (
+ OfpGroupType_OFPGT_ALL OfpGroupType = 0
+ OfpGroupType_OFPGT_SELECT OfpGroupType = 1
+ OfpGroupType_OFPGT_INDIRECT OfpGroupType = 2
+ OfpGroupType_OFPGT_FF OfpGroupType = 3
+)
+
+var OfpGroupType_name = map[int32]string{
+ 0: "OFPGT_ALL",
+ 1: "OFPGT_SELECT",
+ 2: "OFPGT_INDIRECT",
+ 3: "OFPGT_FF",
+}
+
+var OfpGroupType_value = map[string]int32{
+ "OFPGT_ALL": 0,
+ "OFPGT_SELECT": 1,
+ "OFPGT_INDIRECT": 2,
+ "OFPGT_FF": 3,
+}
+
+func (x OfpGroupType) String() string {
+ return proto.EnumName(OfpGroupType_name, int32(x))
+}
+
+func (OfpGroupType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{23}
+}
+
+// Why is this packet being sent to the controller?
+type OfpPacketInReason int32
+
+const (
+ OfpPacketInReason_OFPR_NO_MATCH OfpPacketInReason = 0
+ OfpPacketInReason_OFPR_ACTION OfpPacketInReason = 1
+ OfpPacketInReason_OFPR_INVALID_TTL OfpPacketInReason = 2
+)
+
+var OfpPacketInReason_name = map[int32]string{
+ 0: "OFPR_NO_MATCH",
+ 1: "OFPR_ACTION",
+ 2: "OFPR_INVALID_TTL",
+}
+
+var OfpPacketInReason_value = map[string]int32{
+ "OFPR_NO_MATCH": 0,
+ "OFPR_ACTION": 1,
+ "OFPR_INVALID_TTL": 2,
+}
+
+func (x OfpPacketInReason) String() string {
+ return proto.EnumName(OfpPacketInReason_name, int32(x))
+}
+
+func (OfpPacketInReason) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{24}
+}
+
+// Why was this flow removed?
+type OfpFlowRemovedReason int32
+
+const (
+ OfpFlowRemovedReason_OFPRR_IDLE_TIMEOUT OfpFlowRemovedReason = 0
+ OfpFlowRemovedReason_OFPRR_HARD_TIMEOUT OfpFlowRemovedReason = 1
+ OfpFlowRemovedReason_OFPRR_DELETE OfpFlowRemovedReason = 2
+ OfpFlowRemovedReason_OFPRR_GROUP_DELETE OfpFlowRemovedReason = 3
+ OfpFlowRemovedReason_OFPRR_METER_DELETE OfpFlowRemovedReason = 4
+)
+
+var OfpFlowRemovedReason_name = map[int32]string{
+ 0: "OFPRR_IDLE_TIMEOUT",
+ 1: "OFPRR_HARD_TIMEOUT",
+ 2: "OFPRR_DELETE",
+ 3: "OFPRR_GROUP_DELETE",
+ 4: "OFPRR_METER_DELETE",
+}
+
+var OfpFlowRemovedReason_value = map[string]int32{
+ "OFPRR_IDLE_TIMEOUT": 0,
+ "OFPRR_HARD_TIMEOUT": 1,
+ "OFPRR_DELETE": 2,
+ "OFPRR_GROUP_DELETE": 3,
+ "OFPRR_METER_DELETE": 4,
+}
+
+func (x OfpFlowRemovedReason) String() string {
+ return proto.EnumName(OfpFlowRemovedReason_name, int32(x))
+}
+
+func (OfpFlowRemovedReason) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{25}
+}
+
+// Meter numbering. Flow meters can use any number up to OFPM_MAX.
+type OfpMeter int32
+
+const (
+ OfpMeter_OFPM_ZERO OfpMeter = 0
+ // Last usable meter.
+ OfpMeter_OFPM_MAX OfpMeter = 2147418112
+ // Virtual meters.
+ OfpMeter_OFPM_SLOWPATH OfpMeter = 2147483645
+ OfpMeter_OFPM_CONTROLLER OfpMeter = 2147483646
+ OfpMeter_OFPM_ALL OfpMeter = 2147483647
+)
+
+var OfpMeter_name = map[int32]string{
+ 0: "OFPM_ZERO",
+ 2147418112: "OFPM_MAX",
+ 2147483645: "OFPM_SLOWPATH",
+ 2147483646: "OFPM_CONTROLLER",
+ 2147483647: "OFPM_ALL",
+}
+
+var OfpMeter_value = map[string]int32{
+ "OFPM_ZERO": 0,
+ "OFPM_MAX": 2147418112,
+ "OFPM_SLOWPATH": 2147483645,
+ "OFPM_CONTROLLER": 2147483646,
+ "OFPM_ALL": 2147483647,
+}
+
+func (x OfpMeter) String() string {
+ return proto.EnumName(OfpMeter_name, int32(x))
+}
+
+func (OfpMeter) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{26}
+}
+
+// Meter band types
+type OfpMeterBandType int32
+
+const (
+ OfpMeterBandType_OFPMBT_INVALID OfpMeterBandType = 0
+ OfpMeterBandType_OFPMBT_DROP OfpMeterBandType = 1
+ OfpMeterBandType_OFPMBT_DSCP_REMARK OfpMeterBandType = 2
+ OfpMeterBandType_OFPMBT_EXPERIMENTER OfpMeterBandType = 65535
+)
+
+var OfpMeterBandType_name = map[int32]string{
+ 0: "OFPMBT_INVALID",
+ 1: "OFPMBT_DROP",
+ 2: "OFPMBT_DSCP_REMARK",
+ 65535: "OFPMBT_EXPERIMENTER",
+}
+
+var OfpMeterBandType_value = map[string]int32{
+ "OFPMBT_INVALID": 0,
+ "OFPMBT_DROP": 1,
+ "OFPMBT_DSCP_REMARK": 2,
+ "OFPMBT_EXPERIMENTER": 65535,
+}
+
+func (x OfpMeterBandType) String() string {
+ return proto.EnumName(OfpMeterBandType_name, int32(x))
+}
+
+func (OfpMeterBandType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{27}
+}
+
+// Meter commands
+type OfpMeterModCommand int32
+
+const (
+ OfpMeterModCommand_OFPMC_ADD OfpMeterModCommand = 0
+ OfpMeterModCommand_OFPMC_MODIFY OfpMeterModCommand = 1
+ OfpMeterModCommand_OFPMC_DELETE OfpMeterModCommand = 2
+)
+
+var OfpMeterModCommand_name = map[int32]string{
+ 0: "OFPMC_ADD",
+ 1: "OFPMC_MODIFY",
+ 2: "OFPMC_DELETE",
+}
+
+var OfpMeterModCommand_value = map[string]int32{
+ "OFPMC_ADD": 0,
+ "OFPMC_MODIFY": 1,
+ "OFPMC_DELETE": 2,
+}
+
+func (x OfpMeterModCommand) String() string {
+ return proto.EnumName(OfpMeterModCommand_name, int32(x))
+}
+
+func (OfpMeterModCommand) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{28}
+}
+
+// Meter configuration flags
+type OfpMeterFlags int32
+
+const (
+ OfpMeterFlags_OFPMF_INVALID OfpMeterFlags = 0
+ OfpMeterFlags_OFPMF_KBPS OfpMeterFlags = 1
+ OfpMeterFlags_OFPMF_PKTPS OfpMeterFlags = 2
+ OfpMeterFlags_OFPMF_BURST OfpMeterFlags = 4
+ OfpMeterFlags_OFPMF_STATS OfpMeterFlags = 8
+)
+
+var OfpMeterFlags_name = map[int32]string{
+ 0: "OFPMF_INVALID",
+ 1: "OFPMF_KBPS",
+ 2: "OFPMF_PKTPS",
+ 4: "OFPMF_BURST",
+ 8: "OFPMF_STATS",
+}
+
+var OfpMeterFlags_value = map[string]int32{
+ "OFPMF_INVALID": 0,
+ "OFPMF_KBPS": 1,
+ "OFPMF_PKTPS": 2,
+ "OFPMF_BURST": 4,
+ "OFPMF_STATS": 8,
+}
+
+func (x OfpMeterFlags) String() string {
+ return proto.EnumName(OfpMeterFlags_name, int32(x))
+}
+
+func (OfpMeterFlags) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{29}
+}
+
+// Values for 'type' in ofp_error_message. These values are immutable: they
+// will not change in future versions of the protocol (although new values may
+// be added).
+type OfpErrorType int32
+
+const (
+ OfpErrorType_OFPET_HELLO_FAILED OfpErrorType = 0
+ OfpErrorType_OFPET_BAD_REQUEST OfpErrorType = 1
+ OfpErrorType_OFPET_BAD_ACTION OfpErrorType = 2
+ OfpErrorType_OFPET_BAD_INSTRUCTION OfpErrorType = 3
+ OfpErrorType_OFPET_BAD_MATCH OfpErrorType = 4
+ OfpErrorType_OFPET_FLOW_MOD_FAILED OfpErrorType = 5
+ OfpErrorType_OFPET_GROUP_MOD_FAILED OfpErrorType = 6
+ OfpErrorType_OFPET_PORT_MOD_FAILED OfpErrorType = 7
+ OfpErrorType_OFPET_TABLE_MOD_FAILED OfpErrorType = 8
+ OfpErrorType_OFPET_QUEUE_OP_FAILED OfpErrorType = 9
+ OfpErrorType_OFPET_SWITCH_CONFIG_FAILED OfpErrorType = 10
+ OfpErrorType_OFPET_ROLE_REQUEST_FAILED OfpErrorType = 11
+ OfpErrorType_OFPET_METER_MOD_FAILED OfpErrorType = 12
+ OfpErrorType_OFPET_TABLE_FEATURES_FAILED OfpErrorType = 13
+ OfpErrorType_OFPET_EXPERIMENTER OfpErrorType = 65535
+)
+
+var OfpErrorType_name = map[int32]string{
+ 0: "OFPET_HELLO_FAILED",
+ 1: "OFPET_BAD_REQUEST",
+ 2: "OFPET_BAD_ACTION",
+ 3: "OFPET_BAD_INSTRUCTION",
+ 4: "OFPET_BAD_MATCH",
+ 5: "OFPET_FLOW_MOD_FAILED",
+ 6: "OFPET_GROUP_MOD_FAILED",
+ 7: "OFPET_PORT_MOD_FAILED",
+ 8: "OFPET_TABLE_MOD_FAILED",
+ 9: "OFPET_QUEUE_OP_FAILED",
+ 10: "OFPET_SWITCH_CONFIG_FAILED",
+ 11: "OFPET_ROLE_REQUEST_FAILED",
+ 12: "OFPET_METER_MOD_FAILED",
+ 13: "OFPET_TABLE_FEATURES_FAILED",
+ 65535: "OFPET_EXPERIMENTER",
+}
+
+var OfpErrorType_value = map[string]int32{
+ "OFPET_HELLO_FAILED": 0,
+ "OFPET_BAD_REQUEST": 1,
+ "OFPET_BAD_ACTION": 2,
+ "OFPET_BAD_INSTRUCTION": 3,
+ "OFPET_BAD_MATCH": 4,
+ "OFPET_FLOW_MOD_FAILED": 5,
+ "OFPET_GROUP_MOD_FAILED": 6,
+ "OFPET_PORT_MOD_FAILED": 7,
+ "OFPET_TABLE_MOD_FAILED": 8,
+ "OFPET_QUEUE_OP_FAILED": 9,
+ "OFPET_SWITCH_CONFIG_FAILED": 10,
+ "OFPET_ROLE_REQUEST_FAILED": 11,
+ "OFPET_METER_MOD_FAILED": 12,
+ "OFPET_TABLE_FEATURES_FAILED": 13,
+ "OFPET_EXPERIMENTER": 65535,
+}
+
+func (x OfpErrorType) String() string {
+ return proto.EnumName(OfpErrorType_name, int32(x))
+}
+
+func (OfpErrorType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{30}
+}
+
+// ofp_error_msg 'code' values for OFPET_HELLO_FAILED. 'data' contains an
+// ASCII text string that may give failure details.
+type OfpHelloFailedCode int32
+
+const (
+ OfpHelloFailedCode_OFPHFC_INCOMPATIBLE OfpHelloFailedCode = 0
+ OfpHelloFailedCode_OFPHFC_EPERM OfpHelloFailedCode = 1
+)
+
+var OfpHelloFailedCode_name = map[int32]string{
+ 0: "OFPHFC_INCOMPATIBLE",
+ 1: "OFPHFC_EPERM",
+}
+
+var OfpHelloFailedCode_value = map[string]int32{
+ "OFPHFC_INCOMPATIBLE": 0,
+ "OFPHFC_EPERM": 1,
+}
+
+func (x OfpHelloFailedCode) String() string {
+ return proto.EnumName(OfpHelloFailedCode_name, int32(x))
+}
+
+func (OfpHelloFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{31}
+}
+
+// ofp_error_msg 'code' values for OFPET_BAD_REQUEST. 'data' contains at least
+// the first 64 bytes of the failed request.
+type OfpBadRequestCode int32
+
+const (
+ OfpBadRequestCode_OFPBRC_BAD_VERSION OfpBadRequestCode = 0
+ OfpBadRequestCode_OFPBRC_BAD_TYPE OfpBadRequestCode = 1
+ OfpBadRequestCode_OFPBRC_BAD_MULTIPART OfpBadRequestCode = 2
+ OfpBadRequestCode_OFPBRC_BAD_EXPERIMENTER OfpBadRequestCode = 3
+ OfpBadRequestCode_OFPBRC_BAD_EXP_TYPE OfpBadRequestCode = 4
+ OfpBadRequestCode_OFPBRC_EPERM OfpBadRequestCode = 5
+ OfpBadRequestCode_OFPBRC_BAD_LEN OfpBadRequestCode = 6
+ OfpBadRequestCode_OFPBRC_BUFFER_EMPTY OfpBadRequestCode = 7
+ OfpBadRequestCode_OFPBRC_BUFFER_UNKNOWN OfpBadRequestCode = 8
+ OfpBadRequestCode_OFPBRC_BAD_TABLE_ID OfpBadRequestCode = 9
+ OfpBadRequestCode_OFPBRC_IS_SLAVE OfpBadRequestCode = 10
+ OfpBadRequestCode_OFPBRC_BAD_PORT OfpBadRequestCode = 11
+ OfpBadRequestCode_OFPBRC_BAD_PACKET OfpBadRequestCode = 12
+ OfpBadRequestCode_OFPBRC_MULTIPART_BUFFER_OVERFLOW OfpBadRequestCode = 13
+)
+
+var OfpBadRequestCode_name = map[int32]string{
+ 0: "OFPBRC_BAD_VERSION",
+ 1: "OFPBRC_BAD_TYPE",
+ 2: "OFPBRC_BAD_MULTIPART",
+ 3: "OFPBRC_BAD_EXPERIMENTER",
+ 4: "OFPBRC_BAD_EXP_TYPE",
+ 5: "OFPBRC_EPERM",
+ 6: "OFPBRC_BAD_LEN",
+ 7: "OFPBRC_BUFFER_EMPTY",
+ 8: "OFPBRC_BUFFER_UNKNOWN",
+ 9: "OFPBRC_BAD_TABLE_ID",
+ 10: "OFPBRC_IS_SLAVE",
+ 11: "OFPBRC_BAD_PORT",
+ 12: "OFPBRC_BAD_PACKET",
+ 13: "OFPBRC_MULTIPART_BUFFER_OVERFLOW",
+}
+
+var OfpBadRequestCode_value = map[string]int32{
+ "OFPBRC_BAD_VERSION": 0,
+ "OFPBRC_BAD_TYPE": 1,
+ "OFPBRC_BAD_MULTIPART": 2,
+ "OFPBRC_BAD_EXPERIMENTER": 3,
+ "OFPBRC_BAD_EXP_TYPE": 4,
+ "OFPBRC_EPERM": 5,
+ "OFPBRC_BAD_LEN": 6,
+ "OFPBRC_BUFFER_EMPTY": 7,
+ "OFPBRC_BUFFER_UNKNOWN": 8,
+ "OFPBRC_BAD_TABLE_ID": 9,
+ "OFPBRC_IS_SLAVE": 10,
+ "OFPBRC_BAD_PORT": 11,
+ "OFPBRC_BAD_PACKET": 12,
+ "OFPBRC_MULTIPART_BUFFER_OVERFLOW": 13,
+}
+
+func (x OfpBadRequestCode) String() string {
+ return proto.EnumName(OfpBadRequestCode_name, int32(x))
+}
+
+func (OfpBadRequestCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{32}
+}
+
+// ofp_error_msg 'code' values for OFPET_BAD_ACTION. 'data' contains at least
+// the first 64 bytes of the failed request.
+type OfpBadActionCode int32
+
+const (
+ OfpBadActionCode_OFPBAC_BAD_TYPE OfpBadActionCode = 0
+ OfpBadActionCode_OFPBAC_BAD_LEN OfpBadActionCode = 1
+ OfpBadActionCode_OFPBAC_BAD_EXPERIMENTER OfpBadActionCode = 2
+ OfpBadActionCode_OFPBAC_BAD_EXP_TYPE OfpBadActionCode = 3
+ OfpBadActionCode_OFPBAC_BAD_OUT_PORT OfpBadActionCode = 4
+ OfpBadActionCode_OFPBAC_BAD_ARGUMENT OfpBadActionCode = 5
+ OfpBadActionCode_OFPBAC_EPERM OfpBadActionCode = 6
+ OfpBadActionCode_OFPBAC_TOO_MANY OfpBadActionCode = 7
+ OfpBadActionCode_OFPBAC_BAD_QUEUE OfpBadActionCode = 8
+ OfpBadActionCode_OFPBAC_BAD_OUT_GROUP OfpBadActionCode = 9
+ OfpBadActionCode_OFPBAC_MATCH_INCONSISTENT OfpBadActionCode = 10
+ OfpBadActionCode_OFPBAC_UNSUPPORTED_ORDER OfpBadActionCode = 11
+ OfpBadActionCode_OFPBAC_BAD_TAG OfpBadActionCode = 12
+ OfpBadActionCode_OFPBAC_BAD_SET_TYPE OfpBadActionCode = 13
+ OfpBadActionCode_OFPBAC_BAD_SET_LEN OfpBadActionCode = 14
+ OfpBadActionCode_OFPBAC_BAD_SET_ARGUMENT OfpBadActionCode = 15
+)
+
+var OfpBadActionCode_name = map[int32]string{
+ 0: "OFPBAC_BAD_TYPE",
+ 1: "OFPBAC_BAD_LEN",
+ 2: "OFPBAC_BAD_EXPERIMENTER",
+ 3: "OFPBAC_BAD_EXP_TYPE",
+ 4: "OFPBAC_BAD_OUT_PORT",
+ 5: "OFPBAC_BAD_ARGUMENT",
+ 6: "OFPBAC_EPERM",
+ 7: "OFPBAC_TOO_MANY",
+ 8: "OFPBAC_BAD_QUEUE",
+ 9: "OFPBAC_BAD_OUT_GROUP",
+ 10: "OFPBAC_MATCH_INCONSISTENT",
+ 11: "OFPBAC_UNSUPPORTED_ORDER",
+ 12: "OFPBAC_BAD_TAG",
+ 13: "OFPBAC_BAD_SET_TYPE",
+ 14: "OFPBAC_BAD_SET_LEN",
+ 15: "OFPBAC_BAD_SET_ARGUMENT",
+}
+
+var OfpBadActionCode_value = map[string]int32{
+ "OFPBAC_BAD_TYPE": 0,
+ "OFPBAC_BAD_LEN": 1,
+ "OFPBAC_BAD_EXPERIMENTER": 2,
+ "OFPBAC_BAD_EXP_TYPE": 3,
+ "OFPBAC_BAD_OUT_PORT": 4,
+ "OFPBAC_BAD_ARGUMENT": 5,
+ "OFPBAC_EPERM": 6,
+ "OFPBAC_TOO_MANY": 7,
+ "OFPBAC_BAD_QUEUE": 8,
+ "OFPBAC_BAD_OUT_GROUP": 9,
+ "OFPBAC_MATCH_INCONSISTENT": 10,
+ "OFPBAC_UNSUPPORTED_ORDER": 11,
+ "OFPBAC_BAD_TAG": 12,
+ "OFPBAC_BAD_SET_TYPE": 13,
+ "OFPBAC_BAD_SET_LEN": 14,
+ "OFPBAC_BAD_SET_ARGUMENT": 15,
+}
+
+func (x OfpBadActionCode) String() string {
+ return proto.EnumName(OfpBadActionCode_name, int32(x))
+}
+
+func (OfpBadActionCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{33}
+}
+
+// ofp_error_msg 'code' values for OFPET_BAD_INSTRUCTION. 'data' contains at
+// least the first 64 bytes of the failed request.
+type OfpBadInstructionCode int32
+
+const (
+ OfpBadInstructionCode_OFPBIC_UNKNOWN_INST OfpBadInstructionCode = 0
+ OfpBadInstructionCode_OFPBIC_UNSUP_INST OfpBadInstructionCode = 1
+ OfpBadInstructionCode_OFPBIC_BAD_TABLE_ID OfpBadInstructionCode = 2
+ OfpBadInstructionCode_OFPBIC_UNSUP_METADATA OfpBadInstructionCode = 3
+ OfpBadInstructionCode_OFPBIC_UNSUP_METADATA_MASK OfpBadInstructionCode = 4
+ OfpBadInstructionCode_OFPBIC_BAD_EXPERIMENTER OfpBadInstructionCode = 5
+ OfpBadInstructionCode_OFPBIC_BAD_EXP_TYPE OfpBadInstructionCode = 6
+ OfpBadInstructionCode_OFPBIC_BAD_LEN OfpBadInstructionCode = 7
+ OfpBadInstructionCode_OFPBIC_EPERM OfpBadInstructionCode = 8
+)
+
+var OfpBadInstructionCode_name = map[int32]string{
+ 0: "OFPBIC_UNKNOWN_INST",
+ 1: "OFPBIC_UNSUP_INST",
+ 2: "OFPBIC_BAD_TABLE_ID",
+ 3: "OFPBIC_UNSUP_METADATA",
+ 4: "OFPBIC_UNSUP_METADATA_MASK",
+ 5: "OFPBIC_BAD_EXPERIMENTER",
+ 6: "OFPBIC_BAD_EXP_TYPE",
+ 7: "OFPBIC_BAD_LEN",
+ 8: "OFPBIC_EPERM",
+}
+
+var OfpBadInstructionCode_value = map[string]int32{
+ "OFPBIC_UNKNOWN_INST": 0,
+ "OFPBIC_UNSUP_INST": 1,
+ "OFPBIC_BAD_TABLE_ID": 2,
+ "OFPBIC_UNSUP_METADATA": 3,
+ "OFPBIC_UNSUP_METADATA_MASK": 4,
+ "OFPBIC_BAD_EXPERIMENTER": 5,
+ "OFPBIC_BAD_EXP_TYPE": 6,
+ "OFPBIC_BAD_LEN": 7,
+ "OFPBIC_EPERM": 8,
+}
+
+func (x OfpBadInstructionCode) String() string {
+ return proto.EnumName(OfpBadInstructionCode_name, int32(x))
+}
+
+func (OfpBadInstructionCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{34}
+}
+
+// ofp_error_msg 'code' values for OFPET_BAD_MATCH. 'data' contains at least
+// the first 64 bytes of the failed request.
+type OfpBadMatchCode int32
+
+const (
+ OfpBadMatchCode_OFPBMC_BAD_TYPE OfpBadMatchCode = 0
+ OfpBadMatchCode_OFPBMC_BAD_LEN OfpBadMatchCode = 1
+ OfpBadMatchCode_OFPBMC_BAD_TAG OfpBadMatchCode = 2
+ OfpBadMatchCode_OFPBMC_BAD_DL_ADDR_MASK OfpBadMatchCode = 3
+ OfpBadMatchCode_OFPBMC_BAD_NW_ADDR_MASK OfpBadMatchCode = 4
+ OfpBadMatchCode_OFPBMC_BAD_WILDCARDS OfpBadMatchCode = 5
+ OfpBadMatchCode_OFPBMC_BAD_FIELD OfpBadMatchCode = 6
+ OfpBadMatchCode_OFPBMC_BAD_VALUE OfpBadMatchCode = 7
+ OfpBadMatchCode_OFPBMC_BAD_MASK OfpBadMatchCode = 8
+ OfpBadMatchCode_OFPBMC_BAD_PREREQ OfpBadMatchCode = 9
+ OfpBadMatchCode_OFPBMC_DUP_FIELD OfpBadMatchCode = 10
+ OfpBadMatchCode_OFPBMC_EPERM OfpBadMatchCode = 11
+)
+
+var OfpBadMatchCode_name = map[int32]string{
+ 0: "OFPBMC_BAD_TYPE",
+ 1: "OFPBMC_BAD_LEN",
+ 2: "OFPBMC_BAD_TAG",
+ 3: "OFPBMC_BAD_DL_ADDR_MASK",
+ 4: "OFPBMC_BAD_NW_ADDR_MASK",
+ 5: "OFPBMC_BAD_WILDCARDS",
+ 6: "OFPBMC_BAD_FIELD",
+ 7: "OFPBMC_BAD_VALUE",
+ 8: "OFPBMC_BAD_MASK",
+ 9: "OFPBMC_BAD_PREREQ",
+ 10: "OFPBMC_DUP_FIELD",
+ 11: "OFPBMC_EPERM",
+}
+
+var OfpBadMatchCode_value = map[string]int32{
+ "OFPBMC_BAD_TYPE": 0,
+ "OFPBMC_BAD_LEN": 1,
+ "OFPBMC_BAD_TAG": 2,
+ "OFPBMC_BAD_DL_ADDR_MASK": 3,
+ "OFPBMC_BAD_NW_ADDR_MASK": 4,
+ "OFPBMC_BAD_WILDCARDS": 5,
+ "OFPBMC_BAD_FIELD": 6,
+ "OFPBMC_BAD_VALUE": 7,
+ "OFPBMC_BAD_MASK": 8,
+ "OFPBMC_BAD_PREREQ": 9,
+ "OFPBMC_DUP_FIELD": 10,
+ "OFPBMC_EPERM": 11,
+}
+
+func (x OfpBadMatchCode) String() string {
+ return proto.EnumName(OfpBadMatchCode_name, int32(x))
+}
+
+func (OfpBadMatchCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{35}
+}
+
+// ofp_error_msg 'code' values for OFPET_FLOW_MOD_FAILED. 'data' contains
+// at least the first 64 bytes of the failed request.
+type OfpFlowModFailedCode int32
+
+const (
+ OfpFlowModFailedCode_OFPFMFC_UNKNOWN OfpFlowModFailedCode = 0
+ OfpFlowModFailedCode_OFPFMFC_TABLE_FULL OfpFlowModFailedCode = 1
+ OfpFlowModFailedCode_OFPFMFC_BAD_TABLE_ID OfpFlowModFailedCode = 2
+ OfpFlowModFailedCode_OFPFMFC_OVERLAP OfpFlowModFailedCode = 3
+ OfpFlowModFailedCode_OFPFMFC_EPERM OfpFlowModFailedCode = 4
+ OfpFlowModFailedCode_OFPFMFC_BAD_TIMEOUT OfpFlowModFailedCode = 5
+ OfpFlowModFailedCode_OFPFMFC_BAD_COMMAND OfpFlowModFailedCode = 6
+ OfpFlowModFailedCode_OFPFMFC_BAD_FLAGS OfpFlowModFailedCode = 7
+)
+
+var OfpFlowModFailedCode_name = map[int32]string{
+ 0: "OFPFMFC_UNKNOWN",
+ 1: "OFPFMFC_TABLE_FULL",
+ 2: "OFPFMFC_BAD_TABLE_ID",
+ 3: "OFPFMFC_OVERLAP",
+ 4: "OFPFMFC_EPERM",
+ 5: "OFPFMFC_BAD_TIMEOUT",
+ 6: "OFPFMFC_BAD_COMMAND",
+ 7: "OFPFMFC_BAD_FLAGS",
+}
+
+var OfpFlowModFailedCode_value = map[string]int32{
+ "OFPFMFC_UNKNOWN": 0,
+ "OFPFMFC_TABLE_FULL": 1,
+ "OFPFMFC_BAD_TABLE_ID": 2,
+ "OFPFMFC_OVERLAP": 3,
+ "OFPFMFC_EPERM": 4,
+ "OFPFMFC_BAD_TIMEOUT": 5,
+ "OFPFMFC_BAD_COMMAND": 6,
+ "OFPFMFC_BAD_FLAGS": 7,
+}
+
+func (x OfpFlowModFailedCode) String() string {
+ return proto.EnumName(OfpFlowModFailedCode_name, int32(x))
+}
+
+func (OfpFlowModFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{36}
+}
+
+// ofp_error_msg 'code' values for OFPET_GROUP_MOD_FAILED. 'data' contains
+// at least the first 64 bytes of the failed request.
+type OfpGroupModFailedCode int32
+
+const (
+ OfpGroupModFailedCode_OFPGMFC_GROUP_EXISTS OfpGroupModFailedCode = 0
+ OfpGroupModFailedCode_OFPGMFC_INVALID_GROUP OfpGroupModFailedCode = 1
+ OfpGroupModFailedCode_OFPGMFC_WEIGHT_UNSUPPORTED OfpGroupModFailedCode = 2
+ OfpGroupModFailedCode_OFPGMFC_OUT_OF_GROUPS OfpGroupModFailedCode = 3
+ OfpGroupModFailedCode_OFPGMFC_OUT_OF_BUCKETS OfpGroupModFailedCode = 4
+ OfpGroupModFailedCode_OFPGMFC_CHAINING_UNSUPPORTED OfpGroupModFailedCode = 5
+ OfpGroupModFailedCode_OFPGMFC_WATCH_UNSUPPORTED OfpGroupModFailedCode = 6
+ OfpGroupModFailedCode_OFPGMFC_LOOP OfpGroupModFailedCode = 7
+ OfpGroupModFailedCode_OFPGMFC_UNKNOWN_GROUP OfpGroupModFailedCode = 8
+ OfpGroupModFailedCode_OFPGMFC_CHAINED_GROUP OfpGroupModFailedCode = 9
+ OfpGroupModFailedCode_OFPGMFC_BAD_TYPE OfpGroupModFailedCode = 10
+ OfpGroupModFailedCode_OFPGMFC_BAD_COMMAND OfpGroupModFailedCode = 11
+ OfpGroupModFailedCode_OFPGMFC_BAD_BUCKET OfpGroupModFailedCode = 12
+ OfpGroupModFailedCode_OFPGMFC_BAD_WATCH OfpGroupModFailedCode = 13
+ OfpGroupModFailedCode_OFPGMFC_EPERM OfpGroupModFailedCode = 14
+)
+
+var OfpGroupModFailedCode_name = map[int32]string{
+ 0: "OFPGMFC_GROUP_EXISTS",
+ 1: "OFPGMFC_INVALID_GROUP",
+ 2: "OFPGMFC_WEIGHT_UNSUPPORTED",
+ 3: "OFPGMFC_OUT_OF_GROUPS",
+ 4: "OFPGMFC_OUT_OF_BUCKETS",
+ 5: "OFPGMFC_CHAINING_UNSUPPORTED",
+ 6: "OFPGMFC_WATCH_UNSUPPORTED",
+ 7: "OFPGMFC_LOOP",
+ 8: "OFPGMFC_UNKNOWN_GROUP",
+ 9: "OFPGMFC_CHAINED_GROUP",
+ 10: "OFPGMFC_BAD_TYPE",
+ 11: "OFPGMFC_BAD_COMMAND",
+ 12: "OFPGMFC_BAD_BUCKET",
+ 13: "OFPGMFC_BAD_WATCH",
+ 14: "OFPGMFC_EPERM",
+}
+
+var OfpGroupModFailedCode_value = map[string]int32{
+ "OFPGMFC_GROUP_EXISTS": 0,
+ "OFPGMFC_INVALID_GROUP": 1,
+ "OFPGMFC_WEIGHT_UNSUPPORTED": 2,
+ "OFPGMFC_OUT_OF_GROUPS": 3,
+ "OFPGMFC_OUT_OF_BUCKETS": 4,
+ "OFPGMFC_CHAINING_UNSUPPORTED": 5,
+ "OFPGMFC_WATCH_UNSUPPORTED": 6,
+ "OFPGMFC_LOOP": 7,
+ "OFPGMFC_UNKNOWN_GROUP": 8,
+ "OFPGMFC_CHAINED_GROUP": 9,
+ "OFPGMFC_BAD_TYPE": 10,
+ "OFPGMFC_BAD_COMMAND": 11,
+ "OFPGMFC_BAD_BUCKET": 12,
+ "OFPGMFC_BAD_WATCH": 13,
+ "OFPGMFC_EPERM": 14,
+}
+
+func (x OfpGroupModFailedCode) String() string {
+ return proto.EnumName(OfpGroupModFailedCode_name, int32(x))
+}
+
+func (OfpGroupModFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{37}
+}
+
+// ofp_error_msg 'code' values for OFPET_PORT_MOD_FAILED. 'data' contains
+// at least the first 64 bytes of the failed request.
+type OfpPortModFailedCode int32
+
+const (
+ OfpPortModFailedCode_OFPPMFC_BAD_PORT OfpPortModFailedCode = 0
+ OfpPortModFailedCode_OFPPMFC_BAD_HW_ADDR OfpPortModFailedCode = 1
+ OfpPortModFailedCode_OFPPMFC_BAD_CONFIG OfpPortModFailedCode = 2
+ OfpPortModFailedCode_OFPPMFC_BAD_ADVERTISE OfpPortModFailedCode = 3
+ OfpPortModFailedCode_OFPPMFC_EPERM OfpPortModFailedCode = 4
+)
+
+var OfpPortModFailedCode_name = map[int32]string{
+ 0: "OFPPMFC_BAD_PORT",
+ 1: "OFPPMFC_BAD_HW_ADDR",
+ 2: "OFPPMFC_BAD_CONFIG",
+ 3: "OFPPMFC_BAD_ADVERTISE",
+ 4: "OFPPMFC_EPERM",
+}
+
+var OfpPortModFailedCode_value = map[string]int32{
+ "OFPPMFC_BAD_PORT": 0,
+ "OFPPMFC_BAD_HW_ADDR": 1,
+ "OFPPMFC_BAD_CONFIG": 2,
+ "OFPPMFC_BAD_ADVERTISE": 3,
+ "OFPPMFC_EPERM": 4,
+}
+
+func (x OfpPortModFailedCode) String() string {
+ return proto.EnumName(OfpPortModFailedCode_name, int32(x))
+}
+
+func (OfpPortModFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{38}
+}
+
+// ofp_error_msg 'code' values for OFPET_TABLE_MOD_FAILED. 'data' contains
+// at least the first 64 bytes of the failed request.
+type OfpTableModFailedCode int32
+
+const (
+ OfpTableModFailedCode_OFPTMFC_BAD_TABLE OfpTableModFailedCode = 0
+ OfpTableModFailedCode_OFPTMFC_BAD_CONFIG OfpTableModFailedCode = 1
+ OfpTableModFailedCode_OFPTMFC_EPERM OfpTableModFailedCode = 2
+)
+
+var OfpTableModFailedCode_name = map[int32]string{
+ 0: "OFPTMFC_BAD_TABLE",
+ 1: "OFPTMFC_BAD_CONFIG",
+ 2: "OFPTMFC_EPERM",
+}
+
+var OfpTableModFailedCode_value = map[string]int32{
+ "OFPTMFC_BAD_TABLE": 0,
+ "OFPTMFC_BAD_CONFIG": 1,
+ "OFPTMFC_EPERM": 2,
+}
+
+func (x OfpTableModFailedCode) String() string {
+ return proto.EnumName(OfpTableModFailedCode_name, int32(x))
+}
+
+func (OfpTableModFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{39}
+}
+
+// ofp_error msg 'code' values for OFPET_QUEUE_OP_FAILED. 'data' contains
+// at least the first 64 bytes of the failed request
+type OfpQueueOpFailedCode int32
+
+const (
+ OfpQueueOpFailedCode_OFPQOFC_BAD_PORT OfpQueueOpFailedCode = 0
+ OfpQueueOpFailedCode_OFPQOFC_BAD_QUEUE OfpQueueOpFailedCode = 1
+ OfpQueueOpFailedCode_OFPQOFC_EPERM OfpQueueOpFailedCode = 2
+)
+
+var OfpQueueOpFailedCode_name = map[int32]string{
+ 0: "OFPQOFC_BAD_PORT",
+ 1: "OFPQOFC_BAD_QUEUE",
+ 2: "OFPQOFC_EPERM",
+}
+
+var OfpQueueOpFailedCode_value = map[string]int32{
+ "OFPQOFC_BAD_PORT": 0,
+ "OFPQOFC_BAD_QUEUE": 1,
+ "OFPQOFC_EPERM": 2,
+}
+
+func (x OfpQueueOpFailedCode) String() string {
+ return proto.EnumName(OfpQueueOpFailedCode_name, int32(x))
+}
+
+func (OfpQueueOpFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{40}
+}
+
+// ofp_error_msg 'code' values for OFPET_SWITCH_CONFIG_FAILED. 'data' contains
+// at least the first 64 bytes of the failed request.
+type OfpSwitchConfigFailedCode int32
+
+const (
+ OfpSwitchConfigFailedCode_OFPSCFC_BAD_FLAGS OfpSwitchConfigFailedCode = 0
+ OfpSwitchConfigFailedCode_OFPSCFC_BAD_LEN OfpSwitchConfigFailedCode = 1
+ OfpSwitchConfigFailedCode_OFPSCFC_EPERM OfpSwitchConfigFailedCode = 2
+)
+
+var OfpSwitchConfigFailedCode_name = map[int32]string{
+ 0: "OFPSCFC_BAD_FLAGS",
+ 1: "OFPSCFC_BAD_LEN",
+ 2: "OFPSCFC_EPERM",
+}
+
+var OfpSwitchConfigFailedCode_value = map[string]int32{
+ "OFPSCFC_BAD_FLAGS": 0,
+ "OFPSCFC_BAD_LEN": 1,
+ "OFPSCFC_EPERM": 2,
+}
+
+func (x OfpSwitchConfigFailedCode) String() string {
+ return proto.EnumName(OfpSwitchConfigFailedCode_name, int32(x))
+}
+
+func (OfpSwitchConfigFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{41}
+}
+
+// ofp_error_msg 'code' values for OFPET_ROLE_REQUEST_FAILED. 'data' contains
+// at least the first 64 bytes of the failed request.
+type OfpRoleRequestFailedCode int32
+
+const (
+ OfpRoleRequestFailedCode_OFPRRFC_STALE OfpRoleRequestFailedCode = 0
+ OfpRoleRequestFailedCode_OFPRRFC_UNSUP OfpRoleRequestFailedCode = 1
+ OfpRoleRequestFailedCode_OFPRRFC_BAD_ROLE OfpRoleRequestFailedCode = 2
+)
+
+var OfpRoleRequestFailedCode_name = map[int32]string{
+ 0: "OFPRRFC_STALE",
+ 1: "OFPRRFC_UNSUP",
+ 2: "OFPRRFC_BAD_ROLE",
+}
+
+var OfpRoleRequestFailedCode_value = map[string]int32{
+ "OFPRRFC_STALE": 0,
+ "OFPRRFC_UNSUP": 1,
+ "OFPRRFC_BAD_ROLE": 2,
+}
+
+func (x OfpRoleRequestFailedCode) String() string {
+ return proto.EnumName(OfpRoleRequestFailedCode_name, int32(x))
+}
+
+func (OfpRoleRequestFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{42}
+}
+
+// ofp_error_msg 'code' values for OFPET_METER_MOD_FAILED. 'data' contains
+// at least the first 64 bytes of the failed request.
+type OfpMeterModFailedCode int32
+
+const (
+ OfpMeterModFailedCode_OFPMMFC_UNKNOWN OfpMeterModFailedCode = 0
+ OfpMeterModFailedCode_OFPMMFC_METER_EXISTS OfpMeterModFailedCode = 1
+ OfpMeterModFailedCode_OFPMMFC_INVALID_METER OfpMeterModFailedCode = 2
+ OfpMeterModFailedCode_OFPMMFC_UNKNOWN_METER OfpMeterModFailedCode = 3
+ OfpMeterModFailedCode_OFPMMFC_BAD_COMMAND OfpMeterModFailedCode = 4
+ OfpMeterModFailedCode_OFPMMFC_BAD_FLAGS OfpMeterModFailedCode = 5
+ OfpMeterModFailedCode_OFPMMFC_BAD_RATE OfpMeterModFailedCode = 6
+ OfpMeterModFailedCode_OFPMMFC_BAD_BURST OfpMeterModFailedCode = 7
+ OfpMeterModFailedCode_OFPMMFC_BAD_BAND OfpMeterModFailedCode = 8
+ OfpMeterModFailedCode_OFPMMFC_BAD_BAND_VALUE OfpMeterModFailedCode = 9
+ OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS OfpMeterModFailedCode = 10
+ OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS OfpMeterModFailedCode = 11
+)
+
+var OfpMeterModFailedCode_name = map[int32]string{
+ 0: "OFPMMFC_UNKNOWN",
+ 1: "OFPMMFC_METER_EXISTS",
+ 2: "OFPMMFC_INVALID_METER",
+ 3: "OFPMMFC_UNKNOWN_METER",
+ 4: "OFPMMFC_BAD_COMMAND",
+ 5: "OFPMMFC_BAD_FLAGS",
+ 6: "OFPMMFC_BAD_RATE",
+ 7: "OFPMMFC_BAD_BURST",
+ 8: "OFPMMFC_BAD_BAND",
+ 9: "OFPMMFC_BAD_BAND_VALUE",
+ 10: "OFPMMFC_OUT_OF_METERS",
+ 11: "OFPMMFC_OUT_OF_BANDS",
+}
+
+var OfpMeterModFailedCode_value = map[string]int32{
+ "OFPMMFC_UNKNOWN": 0,
+ "OFPMMFC_METER_EXISTS": 1,
+ "OFPMMFC_INVALID_METER": 2,
+ "OFPMMFC_UNKNOWN_METER": 3,
+ "OFPMMFC_BAD_COMMAND": 4,
+ "OFPMMFC_BAD_FLAGS": 5,
+ "OFPMMFC_BAD_RATE": 6,
+ "OFPMMFC_BAD_BURST": 7,
+ "OFPMMFC_BAD_BAND": 8,
+ "OFPMMFC_BAD_BAND_VALUE": 9,
+ "OFPMMFC_OUT_OF_METERS": 10,
+ "OFPMMFC_OUT_OF_BANDS": 11,
+}
+
+func (x OfpMeterModFailedCode) String() string {
+ return proto.EnumName(OfpMeterModFailedCode_name, int32(x))
+}
+
+func (OfpMeterModFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{43}
+}
+
+// ofp_error_msg 'code' values for OFPET_TABLE_FEATURES_FAILED. 'data' contains
+// at least the first 64 bytes of the failed request.
+type OfpTableFeaturesFailedCode int32
+
+const (
+ OfpTableFeaturesFailedCode_OFPTFFC_BAD_TABLE OfpTableFeaturesFailedCode = 0
+ OfpTableFeaturesFailedCode_OFPTFFC_BAD_METADATA OfpTableFeaturesFailedCode = 1
+ OfpTableFeaturesFailedCode_OFPTFFC_BAD_TYPE OfpTableFeaturesFailedCode = 2
+ OfpTableFeaturesFailedCode_OFPTFFC_BAD_LEN OfpTableFeaturesFailedCode = 3
+ OfpTableFeaturesFailedCode_OFPTFFC_BAD_ARGUMENT OfpTableFeaturesFailedCode = 4
+ OfpTableFeaturesFailedCode_OFPTFFC_EPERM OfpTableFeaturesFailedCode = 5
+)
+
+var OfpTableFeaturesFailedCode_name = map[int32]string{
+ 0: "OFPTFFC_BAD_TABLE",
+ 1: "OFPTFFC_BAD_METADATA",
+ 2: "OFPTFFC_BAD_TYPE",
+ 3: "OFPTFFC_BAD_LEN",
+ 4: "OFPTFFC_BAD_ARGUMENT",
+ 5: "OFPTFFC_EPERM",
+}
+
+var OfpTableFeaturesFailedCode_value = map[string]int32{
+ "OFPTFFC_BAD_TABLE": 0,
+ "OFPTFFC_BAD_METADATA": 1,
+ "OFPTFFC_BAD_TYPE": 2,
+ "OFPTFFC_BAD_LEN": 3,
+ "OFPTFFC_BAD_ARGUMENT": 4,
+ "OFPTFFC_EPERM": 5,
+}
+
+func (x OfpTableFeaturesFailedCode) String() string {
+ return proto.EnumName(OfpTableFeaturesFailedCode_name, int32(x))
+}
+
+func (OfpTableFeaturesFailedCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{44}
+}
+
+type OfpMultipartType int32
+
+const (
+ // Description of this OpenFlow switch.
+ // The request body is empty.
+ // The reply body is struct ofp_desc.
+ OfpMultipartType_OFPMP_DESC OfpMultipartType = 0
+ // Individual flow statistics.
+ // The request body is struct ofp_flow_stats_request.
+ // The reply body is an array of struct ofp_flow_stats.
+ OfpMultipartType_OFPMP_FLOW OfpMultipartType = 1
+ // Aggregate flow statistics.
+ // The request body is struct ofp_aggregate_stats_request.
+ // The reply body is struct ofp_aggregate_stats_reply.
+ OfpMultipartType_OFPMP_AGGREGATE OfpMultipartType = 2
+ // Flow table statistics.
+ // The request body is empty.
+ // The reply body is an array of struct ofp_table_stats.
+ OfpMultipartType_OFPMP_TABLE OfpMultipartType = 3
+ // Port statistics.
+ // The request body is struct ofp_port_stats_request.
+ // The reply body is an array of struct ofp_port_stats.
+ OfpMultipartType_OFPMP_PORT_STATS OfpMultipartType = 4
+ // Queue statistics for a port
+ // The request body is struct ofp_queue_stats_request.
+ // The reply body is an array of struct ofp_queue_stats
+ OfpMultipartType_OFPMP_QUEUE OfpMultipartType = 5
+ // Group counter statistics.
+ // The request body is struct ofp_group_stats_request.
+ // The reply is an array of struct ofp_group_stats.
+ OfpMultipartType_OFPMP_GROUP OfpMultipartType = 6
+ // Group description.
+ // The request body is empty.
+ // The reply body is an array of struct ofp_group_desc.
+ OfpMultipartType_OFPMP_GROUP_DESC OfpMultipartType = 7
+ // Group features.
+ // The request body is empty.
+ // The reply body is struct ofp_group_features.
+ OfpMultipartType_OFPMP_GROUP_FEATURES OfpMultipartType = 8
+ // Meter statistics.
+ // The request body is struct ofp_meter_multipart_requests.
+ // The reply body is an array of struct ofp_meter_stats.
+ OfpMultipartType_OFPMP_METER OfpMultipartType = 9
+ // Meter configuration.
+ // The request body is struct ofp_meter_multipart_requests.
+ // The reply body is an array of struct ofp_meter_config.
+ OfpMultipartType_OFPMP_METER_CONFIG OfpMultipartType = 10
+ // Meter features.
+ // The request body is empty.
+ // The reply body is struct ofp_meter_features.
+ OfpMultipartType_OFPMP_METER_FEATURES OfpMultipartType = 11
+ // Table features.
+ // The request body is either empty or contains an array of
+ // struct ofp_table_features containing the controller's
+ // desired view of the switch. If the switch is unable to
+ // set the specified view an error is returned.
+ // The reply body is an array of struct ofp_table_features.
+ OfpMultipartType_OFPMP_TABLE_FEATURES OfpMultipartType = 12
+ // Port description.
+ // The request body is empty.
+ // The reply body is an array of struct ofp_port.
+ OfpMultipartType_OFPMP_PORT_DESC OfpMultipartType = 13
+ // Experimenter extension.
+ // The request and reply bodies begin with
+ // struct ofp_experimenter_multipart_header.
+ // The request and reply bodies are otherwise experimenter-defined.
+ OfpMultipartType_OFPMP_EXPERIMENTER OfpMultipartType = 65535
+)
+
+var OfpMultipartType_name = map[int32]string{
+ 0: "OFPMP_DESC",
+ 1: "OFPMP_FLOW",
+ 2: "OFPMP_AGGREGATE",
+ 3: "OFPMP_TABLE",
+ 4: "OFPMP_PORT_STATS",
+ 5: "OFPMP_QUEUE",
+ 6: "OFPMP_GROUP",
+ 7: "OFPMP_GROUP_DESC",
+ 8: "OFPMP_GROUP_FEATURES",
+ 9: "OFPMP_METER",
+ 10: "OFPMP_METER_CONFIG",
+ 11: "OFPMP_METER_FEATURES",
+ 12: "OFPMP_TABLE_FEATURES",
+ 13: "OFPMP_PORT_DESC",
+ 65535: "OFPMP_EXPERIMENTER",
+}
+
+var OfpMultipartType_value = map[string]int32{
+ "OFPMP_DESC": 0,
+ "OFPMP_FLOW": 1,
+ "OFPMP_AGGREGATE": 2,
+ "OFPMP_TABLE": 3,
+ "OFPMP_PORT_STATS": 4,
+ "OFPMP_QUEUE": 5,
+ "OFPMP_GROUP": 6,
+ "OFPMP_GROUP_DESC": 7,
+ "OFPMP_GROUP_FEATURES": 8,
+ "OFPMP_METER": 9,
+ "OFPMP_METER_CONFIG": 10,
+ "OFPMP_METER_FEATURES": 11,
+ "OFPMP_TABLE_FEATURES": 12,
+ "OFPMP_PORT_DESC": 13,
+ "OFPMP_EXPERIMENTER": 65535,
+}
+
+func (x OfpMultipartType) String() string {
+ return proto.EnumName(OfpMultipartType_name, int32(x))
+}
+
+func (OfpMultipartType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{45}
+}
+
+type OfpMultipartRequestFlags int32
+
+const (
+ OfpMultipartRequestFlags_OFPMPF_REQ_INVALID OfpMultipartRequestFlags = 0
+ OfpMultipartRequestFlags_OFPMPF_REQ_MORE OfpMultipartRequestFlags = 1
+)
+
+var OfpMultipartRequestFlags_name = map[int32]string{
+ 0: "OFPMPF_REQ_INVALID",
+ 1: "OFPMPF_REQ_MORE",
+}
+
+var OfpMultipartRequestFlags_value = map[string]int32{
+ "OFPMPF_REQ_INVALID": 0,
+ "OFPMPF_REQ_MORE": 1,
+}
+
+func (x OfpMultipartRequestFlags) String() string {
+ return proto.EnumName(OfpMultipartRequestFlags_name, int32(x))
+}
+
+func (OfpMultipartRequestFlags) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{46}
+}
+
+type OfpMultipartReplyFlags int32
+
+const (
+ OfpMultipartReplyFlags_OFPMPF_REPLY_INVALID OfpMultipartReplyFlags = 0
+ OfpMultipartReplyFlags_OFPMPF_REPLY_MORE OfpMultipartReplyFlags = 1
+)
+
+var OfpMultipartReplyFlags_name = map[int32]string{
+ 0: "OFPMPF_REPLY_INVALID",
+ 1: "OFPMPF_REPLY_MORE",
+}
+
+var OfpMultipartReplyFlags_value = map[string]int32{
+ "OFPMPF_REPLY_INVALID": 0,
+ "OFPMPF_REPLY_MORE": 1,
+}
+
+func (x OfpMultipartReplyFlags) String() string {
+ return proto.EnumName(OfpMultipartReplyFlags_name, int32(x))
+}
+
+func (OfpMultipartReplyFlags) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{47}
+}
+
+// Table Feature property types.
+// Low order bit cleared indicates a property for a regular Flow Entry.
+// Low order bit set indicates a property for the Table-Miss Flow Entry.
+type OfpTableFeaturePropType int32
+
+const (
+ OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS OfpTableFeaturePropType = 0
+ OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS_MISS OfpTableFeaturePropType = 1
+ OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES OfpTableFeaturePropType = 2
+ OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES_MISS OfpTableFeaturePropType = 3
+ OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS OfpTableFeaturePropType = 4
+ OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS_MISS OfpTableFeaturePropType = 5
+ OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS OfpTableFeaturePropType = 6
+ OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS_MISS OfpTableFeaturePropType = 7
+ OfpTableFeaturePropType_OFPTFPT_MATCH OfpTableFeaturePropType = 8
+ OfpTableFeaturePropType_OFPTFPT_WILDCARDS OfpTableFeaturePropType = 10
+ OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD OfpTableFeaturePropType = 12
+ OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD_MISS OfpTableFeaturePropType = 13
+ OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD OfpTableFeaturePropType = 14
+ OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD_MISS OfpTableFeaturePropType = 15
+ OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER OfpTableFeaturePropType = 65534
+ OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER_MISS OfpTableFeaturePropType = 65535
+)
+
+var OfpTableFeaturePropType_name = map[int32]string{
+ 0: "OFPTFPT_INSTRUCTIONS",
+ 1: "OFPTFPT_INSTRUCTIONS_MISS",
+ 2: "OFPTFPT_NEXT_TABLES",
+ 3: "OFPTFPT_NEXT_TABLES_MISS",
+ 4: "OFPTFPT_WRITE_ACTIONS",
+ 5: "OFPTFPT_WRITE_ACTIONS_MISS",
+ 6: "OFPTFPT_APPLY_ACTIONS",
+ 7: "OFPTFPT_APPLY_ACTIONS_MISS",
+ 8: "OFPTFPT_MATCH",
+ 10: "OFPTFPT_WILDCARDS",
+ 12: "OFPTFPT_WRITE_SETFIELD",
+ 13: "OFPTFPT_WRITE_SETFIELD_MISS",
+ 14: "OFPTFPT_APPLY_SETFIELD",
+ 15: "OFPTFPT_APPLY_SETFIELD_MISS",
+ 65534: "OFPTFPT_EXPERIMENTER",
+ 65535: "OFPTFPT_EXPERIMENTER_MISS",
+}
+
+var OfpTableFeaturePropType_value = map[string]int32{
+ "OFPTFPT_INSTRUCTIONS": 0,
+ "OFPTFPT_INSTRUCTIONS_MISS": 1,
+ "OFPTFPT_NEXT_TABLES": 2,
+ "OFPTFPT_NEXT_TABLES_MISS": 3,
+ "OFPTFPT_WRITE_ACTIONS": 4,
+ "OFPTFPT_WRITE_ACTIONS_MISS": 5,
+ "OFPTFPT_APPLY_ACTIONS": 6,
+ "OFPTFPT_APPLY_ACTIONS_MISS": 7,
+ "OFPTFPT_MATCH": 8,
+ "OFPTFPT_WILDCARDS": 10,
+ "OFPTFPT_WRITE_SETFIELD": 12,
+ "OFPTFPT_WRITE_SETFIELD_MISS": 13,
+ "OFPTFPT_APPLY_SETFIELD": 14,
+ "OFPTFPT_APPLY_SETFIELD_MISS": 15,
+ "OFPTFPT_EXPERIMENTER": 65534,
+ "OFPTFPT_EXPERIMENTER_MISS": 65535,
+}
+
+func (x OfpTableFeaturePropType) String() string {
+ return proto.EnumName(OfpTableFeaturePropType_name, int32(x))
+}
+
+func (OfpTableFeaturePropType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{48}
+}
+
+// Group configuration flags
+type OfpGroupCapabilities int32
+
+const (
+ OfpGroupCapabilities_OFPGFC_INVALID OfpGroupCapabilities = 0
+ OfpGroupCapabilities_OFPGFC_SELECT_WEIGHT OfpGroupCapabilities = 1
+ OfpGroupCapabilities_OFPGFC_SELECT_LIVENESS OfpGroupCapabilities = 2
+ OfpGroupCapabilities_OFPGFC_CHAINING OfpGroupCapabilities = 4
+ OfpGroupCapabilities_OFPGFC_CHAINING_CHECKS OfpGroupCapabilities = 8
+)
+
+var OfpGroupCapabilities_name = map[int32]string{
+ 0: "OFPGFC_INVALID",
+ 1: "OFPGFC_SELECT_WEIGHT",
+ 2: "OFPGFC_SELECT_LIVENESS",
+ 4: "OFPGFC_CHAINING",
+ 8: "OFPGFC_CHAINING_CHECKS",
+}
+
+var OfpGroupCapabilities_value = map[string]int32{
+ "OFPGFC_INVALID": 0,
+ "OFPGFC_SELECT_WEIGHT": 1,
+ "OFPGFC_SELECT_LIVENESS": 2,
+ "OFPGFC_CHAINING": 4,
+ "OFPGFC_CHAINING_CHECKS": 8,
+}
+
+func (x OfpGroupCapabilities) String() string {
+ return proto.EnumName(OfpGroupCapabilities_name, int32(x))
+}
+
+func (OfpGroupCapabilities) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{49}
+}
+
+type OfpQueueProperties int32
+
+const (
+ OfpQueueProperties_OFPQT_INVALID OfpQueueProperties = 0
+ OfpQueueProperties_OFPQT_MIN_RATE OfpQueueProperties = 1
+ OfpQueueProperties_OFPQT_MAX_RATE OfpQueueProperties = 2
+ OfpQueueProperties_OFPQT_EXPERIMENTER OfpQueueProperties = 65535
+)
+
+var OfpQueueProperties_name = map[int32]string{
+ 0: "OFPQT_INVALID",
+ 1: "OFPQT_MIN_RATE",
+ 2: "OFPQT_MAX_RATE",
+ 65535: "OFPQT_EXPERIMENTER",
+}
+
+var OfpQueueProperties_value = map[string]int32{
+ "OFPQT_INVALID": 0,
+ "OFPQT_MIN_RATE": 1,
+ "OFPQT_MAX_RATE": 2,
+ "OFPQT_EXPERIMENTER": 65535,
+}
+
+func (x OfpQueueProperties) String() string {
+ return proto.EnumName(OfpQueueProperties_name, int32(x))
+}
+
+func (OfpQueueProperties) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{50}
+}
+
+// Controller roles.
+type OfpControllerRole int32
+
+const (
+ OfpControllerRole_OFPCR_ROLE_NOCHANGE OfpControllerRole = 0
+ OfpControllerRole_OFPCR_ROLE_EQUAL OfpControllerRole = 1
+ OfpControllerRole_OFPCR_ROLE_MASTER OfpControllerRole = 2
+ OfpControllerRole_OFPCR_ROLE_SLAVE OfpControllerRole = 3
+)
+
+var OfpControllerRole_name = map[int32]string{
+ 0: "OFPCR_ROLE_NOCHANGE",
+ 1: "OFPCR_ROLE_EQUAL",
+ 2: "OFPCR_ROLE_MASTER",
+ 3: "OFPCR_ROLE_SLAVE",
+}
+
+var OfpControllerRole_value = map[string]int32{
+ "OFPCR_ROLE_NOCHANGE": 0,
+ "OFPCR_ROLE_EQUAL": 1,
+ "OFPCR_ROLE_MASTER": 2,
+ "OFPCR_ROLE_SLAVE": 3,
+}
+
+func (x OfpControllerRole) String() string {
+ return proto.EnumName(OfpControllerRole_name, int32(x))
+}
+
+func (OfpControllerRole) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{51}
+}
+
+// Header on all OpenFlow packets.
+type OfpHeader struct {
+ Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
+ Type OfpType `protobuf:"varint,2,opt,name=type,proto3,enum=openflow_13.OfpType" json:"type,omitempty"`
+ Xid uint32 `protobuf:"varint,3,opt,name=xid,proto3" json:"xid,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpHeader) Reset() { *m = OfpHeader{} }
+func (m *OfpHeader) String() string { return proto.CompactTextString(m) }
+func (*OfpHeader) ProtoMessage() {}
+func (*OfpHeader) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{0}
+}
+
+func (m *OfpHeader) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpHeader.Unmarshal(m, b)
+}
+func (m *OfpHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpHeader.Marshal(b, m, deterministic)
+}
+func (m *OfpHeader) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpHeader.Merge(m, src)
+}
+func (m *OfpHeader) XXX_Size() int {
+ return xxx_messageInfo_OfpHeader.Size(m)
+}
+func (m *OfpHeader) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpHeader.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpHeader proto.InternalMessageInfo
+
+func (m *OfpHeader) GetVersion() uint32 {
+ if m != nil {
+ return m.Version
+ }
+ return 0
+}
+
+func (m *OfpHeader) GetType() OfpType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpType_OFPT_HELLO
+}
+
+func (m *OfpHeader) GetXid() uint32 {
+ if m != nil {
+ return m.Xid
+ }
+ return 0
+}
+
+// Common header for all Hello Elements
+type OfpHelloElemHeader struct {
+ Type OfpHelloElemType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpHelloElemType" json:"type,omitempty"`
+ // Types that are valid to be assigned to Element:
+ // *OfpHelloElemHeader_Versionbitmap
+ Element isOfpHelloElemHeader_Element `protobuf_oneof:"element"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpHelloElemHeader) Reset() { *m = OfpHelloElemHeader{} }
+func (m *OfpHelloElemHeader) String() string { return proto.CompactTextString(m) }
+func (*OfpHelloElemHeader) ProtoMessage() {}
+func (*OfpHelloElemHeader) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{1}
+}
+
+func (m *OfpHelloElemHeader) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpHelloElemHeader.Unmarshal(m, b)
+}
+func (m *OfpHelloElemHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpHelloElemHeader.Marshal(b, m, deterministic)
+}
+func (m *OfpHelloElemHeader) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpHelloElemHeader.Merge(m, src)
+}
+func (m *OfpHelloElemHeader) XXX_Size() int {
+ return xxx_messageInfo_OfpHelloElemHeader.Size(m)
+}
+func (m *OfpHelloElemHeader) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpHelloElemHeader.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpHelloElemHeader proto.InternalMessageInfo
+
+func (m *OfpHelloElemHeader) GetType() OfpHelloElemType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpHelloElemType_OFPHET_INVALID
+}
+
+type isOfpHelloElemHeader_Element interface {
+ isOfpHelloElemHeader_Element()
+}
+
+type OfpHelloElemHeader_Versionbitmap struct {
+ Versionbitmap *OfpHelloElemVersionbitmap `protobuf:"bytes,2,opt,name=versionbitmap,proto3,oneof"`
+}
+
+func (*OfpHelloElemHeader_Versionbitmap) isOfpHelloElemHeader_Element() {}
+
+func (m *OfpHelloElemHeader) GetElement() isOfpHelloElemHeader_Element {
+ if m != nil {
+ return m.Element
+ }
+ return nil
+}
+
+func (m *OfpHelloElemHeader) GetVersionbitmap() *OfpHelloElemVersionbitmap {
+ if x, ok := m.GetElement().(*OfpHelloElemHeader_Versionbitmap); ok {
+ return x.Versionbitmap
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OfpHelloElemHeader) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*OfpHelloElemHeader_Versionbitmap)(nil),
+ }
+}
+
+// Version bitmap Hello Element
+type OfpHelloElemVersionbitmap struct {
+ Bitmaps []uint32 `protobuf:"varint,2,rep,packed,name=bitmaps,proto3" json:"bitmaps,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpHelloElemVersionbitmap) Reset() { *m = OfpHelloElemVersionbitmap{} }
+func (m *OfpHelloElemVersionbitmap) String() string { return proto.CompactTextString(m) }
+func (*OfpHelloElemVersionbitmap) ProtoMessage() {}
+func (*OfpHelloElemVersionbitmap) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{2}
+}
+
+func (m *OfpHelloElemVersionbitmap) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpHelloElemVersionbitmap.Unmarshal(m, b)
+}
+func (m *OfpHelloElemVersionbitmap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpHelloElemVersionbitmap.Marshal(b, m, deterministic)
+}
+func (m *OfpHelloElemVersionbitmap) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpHelloElemVersionbitmap.Merge(m, src)
+}
+func (m *OfpHelloElemVersionbitmap) XXX_Size() int {
+ return xxx_messageInfo_OfpHelloElemVersionbitmap.Size(m)
+}
+func (m *OfpHelloElemVersionbitmap) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpHelloElemVersionbitmap.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpHelloElemVersionbitmap proto.InternalMessageInfo
+
+func (m *OfpHelloElemVersionbitmap) GetBitmaps() []uint32 {
+ if m != nil {
+ return m.Bitmaps
+ }
+ return nil
+}
+
+// OFPT_HELLO. This message includes zero or more hello elements having
+// variable size. Unknown elements types must be ignored/skipped, to allow
+// for future extensions.
+type OfpHello struct {
+ // Hello element list
+ Elements []*OfpHelloElemHeader `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpHello) Reset() { *m = OfpHello{} }
+func (m *OfpHello) String() string { return proto.CompactTextString(m) }
+func (*OfpHello) ProtoMessage() {}
+func (*OfpHello) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{3}
+}
+
+func (m *OfpHello) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpHello.Unmarshal(m, b)
+}
+func (m *OfpHello) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpHello.Marshal(b, m, deterministic)
+}
+func (m *OfpHello) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpHello.Merge(m, src)
+}
+func (m *OfpHello) XXX_Size() int {
+ return xxx_messageInfo_OfpHello.Size(m)
+}
+func (m *OfpHello) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpHello.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpHello proto.InternalMessageInfo
+
+func (m *OfpHello) GetElements() []*OfpHelloElemHeader {
+ if m != nil {
+ return m.Elements
+ }
+ return nil
+}
+
+// Switch configuration.
+type OfpSwitchConfig struct {
+ //ofp_header header;
+ Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
+ MissSendLen uint32 `protobuf:"varint,2,opt,name=miss_send_len,json=missSendLen,proto3" json:"miss_send_len,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpSwitchConfig) Reset() { *m = OfpSwitchConfig{} }
+func (m *OfpSwitchConfig) String() string { return proto.CompactTextString(m) }
+func (*OfpSwitchConfig) ProtoMessage() {}
+func (*OfpSwitchConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{4}
+}
+
+func (m *OfpSwitchConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpSwitchConfig.Unmarshal(m, b)
+}
+func (m *OfpSwitchConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpSwitchConfig.Marshal(b, m, deterministic)
+}
+func (m *OfpSwitchConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpSwitchConfig.Merge(m, src)
+}
+func (m *OfpSwitchConfig) XXX_Size() int {
+ return xxx_messageInfo_OfpSwitchConfig.Size(m)
+}
+func (m *OfpSwitchConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpSwitchConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpSwitchConfig proto.InternalMessageInfo
+
+func (m *OfpSwitchConfig) GetFlags() uint32 {
+ if m != nil {
+ return m.Flags
+ }
+ return 0
+}
+
+func (m *OfpSwitchConfig) GetMissSendLen() uint32 {
+ if m != nil {
+ return m.MissSendLen
+ }
+ return 0
+}
+
+// Configure/Modify behavior of a flow table
+type OfpTableMod struct {
+ //ofp_header header;
+ TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ Config uint32 `protobuf:"varint,2,opt,name=config,proto3" json:"config,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpTableMod) Reset() { *m = OfpTableMod{} }
+func (m *OfpTableMod) String() string { return proto.CompactTextString(m) }
+func (*OfpTableMod) ProtoMessage() {}
+func (*OfpTableMod) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{5}
+}
+
+func (m *OfpTableMod) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpTableMod.Unmarshal(m, b)
+}
+func (m *OfpTableMod) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpTableMod.Marshal(b, m, deterministic)
+}
+func (m *OfpTableMod) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpTableMod.Merge(m, src)
+}
+func (m *OfpTableMod) XXX_Size() int {
+ return xxx_messageInfo_OfpTableMod.Size(m)
+}
+func (m *OfpTableMod) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpTableMod.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpTableMod proto.InternalMessageInfo
+
+func (m *OfpTableMod) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+func (m *OfpTableMod) GetConfig() uint32 {
+ if m != nil {
+ return m.Config
+ }
+ return 0
+}
+
+// Description of a port
+type OfpPort struct {
+ PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ HwAddr []uint32 `protobuf:"varint,2,rep,packed,name=hw_addr,json=hwAddr,proto3" json:"hw_addr,omitempty"`
+ Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
+ Config uint32 `protobuf:"varint,4,opt,name=config,proto3" json:"config,omitempty"`
+ State uint32 `protobuf:"varint,5,opt,name=state,proto3" json:"state,omitempty"`
+ // Bitmaps of OFPPF_* that describe features. All bits zeroed if
+ // unsupported or unavailable.
+ Curr uint32 `protobuf:"varint,6,opt,name=curr,proto3" json:"curr,omitempty"`
+ Advertised uint32 `protobuf:"varint,7,opt,name=advertised,proto3" json:"advertised,omitempty"`
+ Supported uint32 `protobuf:"varint,8,opt,name=supported,proto3" json:"supported,omitempty"`
+ Peer uint32 `protobuf:"varint,9,opt,name=peer,proto3" json:"peer,omitempty"`
+ CurrSpeed uint32 `protobuf:"varint,10,opt,name=curr_speed,json=currSpeed,proto3" json:"curr_speed,omitempty"`
+ MaxSpeed uint32 `protobuf:"varint,11,opt,name=max_speed,json=maxSpeed,proto3" json:"max_speed,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpPort) Reset() { *m = OfpPort{} }
+func (m *OfpPort) String() string { return proto.CompactTextString(m) }
+func (*OfpPort) ProtoMessage() {}
+func (*OfpPort) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{6}
+}
+
+func (m *OfpPort) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpPort.Unmarshal(m, b)
+}
+func (m *OfpPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpPort.Marshal(b, m, deterministic)
+}
+func (m *OfpPort) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpPort.Merge(m, src)
+}
+func (m *OfpPort) XXX_Size() int {
+ return xxx_messageInfo_OfpPort.Size(m)
+}
+func (m *OfpPort) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpPort.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpPort proto.InternalMessageInfo
+
+func (m *OfpPort) GetPortNo() uint32 {
+ if m != nil {
+ return m.PortNo
+ }
+ return 0
+}
+
+func (m *OfpPort) GetHwAddr() []uint32 {
+ if m != nil {
+ return m.HwAddr
+ }
+ return nil
+}
+
+func (m *OfpPort) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *OfpPort) GetConfig() uint32 {
+ if m != nil {
+ return m.Config
+ }
+ return 0
+}
+
+func (m *OfpPort) GetState() uint32 {
+ if m != nil {
+ return m.State
+ }
+ return 0
+}
+
+func (m *OfpPort) GetCurr() uint32 {
+ if m != nil {
+ return m.Curr
+ }
+ return 0
+}
+
+func (m *OfpPort) GetAdvertised() uint32 {
+ if m != nil {
+ return m.Advertised
+ }
+ return 0
+}
+
+func (m *OfpPort) GetSupported() uint32 {
+ if m != nil {
+ return m.Supported
+ }
+ return 0
+}
+
+func (m *OfpPort) GetPeer() uint32 {
+ if m != nil {
+ return m.Peer
+ }
+ return 0
+}
+
+func (m *OfpPort) GetCurrSpeed() uint32 {
+ if m != nil {
+ return m.CurrSpeed
+ }
+ return 0
+}
+
+func (m *OfpPort) GetMaxSpeed() uint32 {
+ if m != nil {
+ return m.MaxSpeed
+ }
+ return 0
+}
+
+// Switch features.
+type OfpSwitchFeatures struct {
+ //ofp_header header;
+ DatapathId uint64 `protobuf:"varint,1,opt,name=datapath_id,json=datapathId,proto3" json:"datapath_id,omitempty"`
+ NBuffers uint32 `protobuf:"varint,2,opt,name=n_buffers,json=nBuffers,proto3" json:"n_buffers,omitempty"`
+ NTables uint32 `protobuf:"varint,3,opt,name=n_tables,json=nTables,proto3" json:"n_tables,omitempty"`
+ AuxiliaryId uint32 `protobuf:"varint,4,opt,name=auxiliary_id,json=auxiliaryId,proto3" json:"auxiliary_id,omitempty"`
+ // Features.
+ Capabilities uint32 `protobuf:"varint,5,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpSwitchFeatures) Reset() { *m = OfpSwitchFeatures{} }
+func (m *OfpSwitchFeatures) String() string { return proto.CompactTextString(m) }
+func (*OfpSwitchFeatures) ProtoMessage() {}
+func (*OfpSwitchFeatures) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{7}
+}
+
+func (m *OfpSwitchFeatures) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpSwitchFeatures.Unmarshal(m, b)
+}
+func (m *OfpSwitchFeatures) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpSwitchFeatures.Marshal(b, m, deterministic)
+}
+func (m *OfpSwitchFeatures) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpSwitchFeatures.Merge(m, src)
+}
+func (m *OfpSwitchFeatures) XXX_Size() int {
+ return xxx_messageInfo_OfpSwitchFeatures.Size(m)
+}
+func (m *OfpSwitchFeatures) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpSwitchFeatures.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpSwitchFeatures proto.InternalMessageInfo
+
+func (m *OfpSwitchFeatures) GetDatapathId() uint64 {
+ if m != nil {
+ return m.DatapathId
+ }
+ return 0
+}
+
+func (m *OfpSwitchFeatures) GetNBuffers() uint32 {
+ if m != nil {
+ return m.NBuffers
+ }
+ return 0
+}
+
+func (m *OfpSwitchFeatures) GetNTables() uint32 {
+ if m != nil {
+ return m.NTables
+ }
+ return 0
+}
+
+func (m *OfpSwitchFeatures) GetAuxiliaryId() uint32 {
+ if m != nil {
+ return m.AuxiliaryId
+ }
+ return 0
+}
+
+func (m *OfpSwitchFeatures) GetCapabilities() uint32 {
+ if m != nil {
+ return m.Capabilities
+ }
+ return 0
+}
+
+// A physical port has changed in the datapath
+type OfpPortStatus struct {
+ //ofp_header header;
+ Reason OfpPortReason `protobuf:"varint,1,opt,name=reason,proto3,enum=openflow_13.OfpPortReason" json:"reason,omitempty"`
+ Desc *OfpPort `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpPortStatus) Reset() { *m = OfpPortStatus{} }
+func (m *OfpPortStatus) String() string { return proto.CompactTextString(m) }
+func (*OfpPortStatus) ProtoMessage() {}
+func (*OfpPortStatus) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{8}
+}
+
+func (m *OfpPortStatus) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpPortStatus.Unmarshal(m, b)
+}
+func (m *OfpPortStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpPortStatus.Marshal(b, m, deterministic)
+}
+func (m *OfpPortStatus) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpPortStatus.Merge(m, src)
+}
+func (m *OfpPortStatus) XXX_Size() int {
+ return xxx_messageInfo_OfpPortStatus.Size(m)
+}
+func (m *OfpPortStatus) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpPortStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpPortStatus proto.InternalMessageInfo
+
+func (m *OfpPortStatus) GetReason() OfpPortReason {
+ if m != nil {
+ return m.Reason
+ }
+ return OfpPortReason_OFPPR_ADD
+}
+
+func (m *OfpPortStatus) GetDesc() *OfpPort {
+ if m != nil {
+ return m.Desc
+ }
+ return nil
+}
+
+// Modify behavior of the physical port
+type OfpPortMod struct {
+ //ofp_header header;
+ PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ HwAddr []uint32 `protobuf:"varint,2,rep,packed,name=hw_addr,json=hwAddr,proto3" json:"hw_addr,omitempty"`
+ // The hardware address is not
+ //configurable. This is used to
+ //sanity-check the request, so it must
+ //be the same as returned in an
+ //ofp_port struct.
+ Config uint32 `protobuf:"varint,3,opt,name=config,proto3" json:"config,omitempty"`
+ Mask uint32 `protobuf:"varint,4,opt,name=mask,proto3" json:"mask,omitempty"`
+ Advertise uint32 `protobuf:"varint,5,opt,name=advertise,proto3" json:"advertise,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpPortMod) Reset() { *m = OfpPortMod{} }
+func (m *OfpPortMod) String() string { return proto.CompactTextString(m) }
+func (*OfpPortMod) ProtoMessage() {}
+func (*OfpPortMod) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{9}
+}
+
+func (m *OfpPortMod) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpPortMod.Unmarshal(m, b)
+}
+func (m *OfpPortMod) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpPortMod.Marshal(b, m, deterministic)
+}
+func (m *OfpPortMod) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpPortMod.Merge(m, src)
+}
+func (m *OfpPortMod) XXX_Size() int {
+ return xxx_messageInfo_OfpPortMod.Size(m)
+}
+func (m *OfpPortMod) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpPortMod.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpPortMod proto.InternalMessageInfo
+
+func (m *OfpPortMod) GetPortNo() uint32 {
+ if m != nil {
+ return m.PortNo
+ }
+ return 0
+}
+
+func (m *OfpPortMod) GetHwAddr() []uint32 {
+ if m != nil {
+ return m.HwAddr
+ }
+ return nil
+}
+
+func (m *OfpPortMod) GetConfig() uint32 {
+ if m != nil {
+ return m.Config
+ }
+ return 0
+}
+
+func (m *OfpPortMod) GetMask() uint32 {
+ if m != nil {
+ return m.Mask
+ }
+ return 0
+}
+
+func (m *OfpPortMod) GetAdvertise() uint32 {
+ if m != nil {
+ return m.Advertise
+ }
+ return 0
+}
+
+// Fields to match against flows
+type OfpMatch struct {
+ Type OfpMatchType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpMatchType" json:"type,omitempty"`
+ OxmFields []*OfpOxmField `protobuf:"bytes,2,rep,name=oxm_fields,json=oxmFields,proto3" json:"oxm_fields,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMatch) Reset() { *m = OfpMatch{} }
+func (m *OfpMatch) String() string { return proto.CompactTextString(m) }
+func (*OfpMatch) ProtoMessage() {}
+func (*OfpMatch) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{10}
+}
+
+func (m *OfpMatch) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMatch.Unmarshal(m, b)
+}
+func (m *OfpMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMatch.Marshal(b, m, deterministic)
+}
+func (m *OfpMatch) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMatch.Merge(m, src)
+}
+func (m *OfpMatch) XXX_Size() int {
+ return xxx_messageInfo_OfpMatch.Size(m)
+}
+func (m *OfpMatch) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMatch.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMatch proto.InternalMessageInfo
+
+func (m *OfpMatch) GetType() OfpMatchType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpMatchType_OFPMT_STANDARD
+}
+
+func (m *OfpMatch) GetOxmFields() []*OfpOxmField {
+ if m != nil {
+ return m.OxmFields
+ }
+ return nil
+}
+
+// OXM Flow match fields
+type OfpOxmField struct {
+ OxmClass OfpOxmClass `protobuf:"varint,1,opt,name=oxm_class,json=oxmClass,proto3,enum=openflow_13.OfpOxmClass" json:"oxm_class,omitempty"`
+ // Types that are valid to be assigned to Field:
+ // *OfpOxmField_OfbField
+ // *OfpOxmField_ExperimenterField
+ Field isOfpOxmField_Field `protobuf_oneof:"field"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpOxmField) Reset() { *m = OfpOxmField{} }
+func (m *OfpOxmField) String() string { return proto.CompactTextString(m) }
+func (*OfpOxmField) ProtoMessage() {}
+func (*OfpOxmField) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{11}
+}
+
+func (m *OfpOxmField) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpOxmField.Unmarshal(m, b)
+}
+func (m *OfpOxmField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpOxmField.Marshal(b, m, deterministic)
+}
+func (m *OfpOxmField) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpOxmField.Merge(m, src)
+}
+func (m *OfpOxmField) XXX_Size() int {
+ return xxx_messageInfo_OfpOxmField.Size(m)
+}
+func (m *OfpOxmField) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpOxmField.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpOxmField proto.InternalMessageInfo
+
+func (m *OfpOxmField) GetOxmClass() OfpOxmClass {
+ if m != nil {
+ return m.OxmClass
+ }
+ return OfpOxmClass_OFPXMC_NXM_0
+}
+
+type isOfpOxmField_Field interface {
+ isOfpOxmField_Field()
+}
+
+type OfpOxmField_OfbField struct {
+ OfbField *OfpOxmOfbField `protobuf:"bytes,4,opt,name=ofb_field,json=ofbField,proto3,oneof"`
+}
+
+type OfpOxmField_ExperimenterField struct {
+ ExperimenterField *OfpOxmExperimenterField `protobuf:"bytes,5,opt,name=experimenter_field,json=experimenterField,proto3,oneof"`
+}
+
+func (*OfpOxmField_OfbField) isOfpOxmField_Field() {}
+
+func (*OfpOxmField_ExperimenterField) isOfpOxmField_Field() {}
+
+func (m *OfpOxmField) GetField() isOfpOxmField_Field {
+ if m != nil {
+ return m.Field
+ }
+ return nil
+}
+
+func (m *OfpOxmField) GetOfbField() *OfpOxmOfbField {
+ if x, ok := m.GetField().(*OfpOxmField_OfbField); ok {
+ return x.OfbField
+ }
+ return nil
+}
+
+func (m *OfpOxmField) GetExperimenterField() *OfpOxmExperimenterField {
+ if x, ok := m.GetField().(*OfpOxmField_ExperimenterField); ok {
+ return x.ExperimenterField
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OfpOxmField) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*OfpOxmField_OfbField)(nil),
+ (*OfpOxmField_ExperimenterField)(nil),
+ }
+}
+
+// OXM OpenFlow Basic Match Field
+type OfpOxmOfbField struct {
+ Type OxmOfbFieldTypes `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OxmOfbFieldTypes" json:"type,omitempty"`
+ HasMask bool `protobuf:"varint,2,opt,name=has_mask,json=hasMask,proto3" json:"has_mask,omitempty"`
+ // Types that are valid to be assigned to Value:
+ // *OfpOxmOfbField_Port
+ // *OfpOxmOfbField_PhysicalPort
+ // *OfpOxmOfbField_TableMetadata
+ // *OfpOxmOfbField_EthDst
+ // *OfpOxmOfbField_EthSrc
+ // *OfpOxmOfbField_EthType
+ // *OfpOxmOfbField_VlanVid
+ // *OfpOxmOfbField_VlanPcp
+ // *OfpOxmOfbField_IpDscp
+ // *OfpOxmOfbField_IpEcn
+ // *OfpOxmOfbField_IpProto
+ // *OfpOxmOfbField_Ipv4Src
+ // *OfpOxmOfbField_Ipv4Dst
+ // *OfpOxmOfbField_TcpSrc
+ // *OfpOxmOfbField_TcpDst
+ // *OfpOxmOfbField_UdpSrc
+ // *OfpOxmOfbField_UdpDst
+ // *OfpOxmOfbField_SctpSrc
+ // *OfpOxmOfbField_SctpDst
+ // *OfpOxmOfbField_Icmpv4Type
+ // *OfpOxmOfbField_Icmpv4Code
+ // *OfpOxmOfbField_ArpOp
+ // *OfpOxmOfbField_ArpSpa
+ // *OfpOxmOfbField_ArpTpa
+ // *OfpOxmOfbField_ArpSha
+ // *OfpOxmOfbField_ArpTha
+ // *OfpOxmOfbField_Ipv6Src
+ // *OfpOxmOfbField_Ipv6Dst
+ // *OfpOxmOfbField_Ipv6Flabel
+ // *OfpOxmOfbField_Icmpv6Type
+ // *OfpOxmOfbField_Icmpv6Code
+ // *OfpOxmOfbField_Ipv6NdTarget
+ // *OfpOxmOfbField_Ipv6NdSsl
+ // *OfpOxmOfbField_Ipv6NdTll
+ // *OfpOxmOfbField_MplsLabel
+ // *OfpOxmOfbField_MplsTc
+ // *OfpOxmOfbField_MplsBos
+ // *OfpOxmOfbField_PbbIsid
+ // *OfpOxmOfbField_TunnelId
+ // *OfpOxmOfbField_Ipv6Exthdr
+ Value isOfpOxmOfbField_Value `protobuf_oneof:"value"`
+ // Optional mask values (must be present when has_mask is true
+ //
+ // Types that are valid to be assigned to Mask:
+ // *OfpOxmOfbField_TableMetadataMask
+ // *OfpOxmOfbField_EthDstMask
+ // *OfpOxmOfbField_EthSrcMask
+ // *OfpOxmOfbField_VlanVidMask
+ // *OfpOxmOfbField_Ipv4SrcMask
+ // *OfpOxmOfbField_Ipv4DstMask
+ // *OfpOxmOfbField_ArpSpaMask
+ // *OfpOxmOfbField_ArpTpaMask
+ // *OfpOxmOfbField_Ipv6SrcMask
+ // *OfpOxmOfbField_Ipv6DstMask
+ // *OfpOxmOfbField_Ipv6FlabelMask
+ // *OfpOxmOfbField_PbbIsidMask
+ // *OfpOxmOfbField_TunnelIdMask
+ // *OfpOxmOfbField_Ipv6ExthdrMask
+ Mask isOfpOxmOfbField_Mask `protobuf_oneof:"mask"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpOxmOfbField) Reset() { *m = OfpOxmOfbField{} }
+func (m *OfpOxmOfbField) String() string { return proto.CompactTextString(m) }
+func (*OfpOxmOfbField) ProtoMessage() {}
+func (*OfpOxmOfbField) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{12}
+}
+
+func (m *OfpOxmOfbField) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpOxmOfbField.Unmarshal(m, b)
+}
+func (m *OfpOxmOfbField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpOxmOfbField.Marshal(b, m, deterministic)
+}
+func (m *OfpOxmOfbField) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpOxmOfbField.Merge(m, src)
+}
+func (m *OfpOxmOfbField) XXX_Size() int {
+ return xxx_messageInfo_OfpOxmOfbField.Size(m)
+}
+func (m *OfpOxmOfbField) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpOxmOfbField.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpOxmOfbField proto.InternalMessageInfo
+
+func (m *OfpOxmOfbField) GetType() OxmOfbFieldTypes {
+ if m != nil {
+ return m.Type
+ }
+ return OxmOfbFieldTypes_OFPXMT_OFB_IN_PORT
+}
+
+func (m *OfpOxmOfbField) GetHasMask() bool {
+ if m != nil {
+ return m.HasMask
+ }
+ return false
+}
+
+type isOfpOxmOfbField_Value interface {
+ isOfpOxmOfbField_Value()
+}
+
+type OfpOxmOfbField_Port struct {
+ Port uint32 `protobuf:"varint,3,opt,name=port,proto3,oneof"`
+}
+
+type OfpOxmOfbField_PhysicalPort struct {
+ PhysicalPort uint32 `protobuf:"varint,4,opt,name=physical_port,json=physicalPort,proto3,oneof"`
+}
+
+type OfpOxmOfbField_TableMetadata struct {
+ TableMetadata uint64 `protobuf:"varint,5,opt,name=table_metadata,json=tableMetadata,proto3,oneof"`
+}
+
+type OfpOxmOfbField_EthDst struct {
+ EthDst []byte `protobuf:"bytes,6,opt,name=eth_dst,json=ethDst,proto3,oneof"`
+}
+
+type OfpOxmOfbField_EthSrc struct {
+ EthSrc []byte `protobuf:"bytes,7,opt,name=eth_src,json=ethSrc,proto3,oneof"`
+}
+
+type OfpOxmOfbField_EthType struct {
+ EthType uint32 `protobuf:"varint,8,opt,name=eth_type,json=ethType,proto3,oneof"`
+}
+
+type OfpOxmOfbField_VlanVid struct {
+ VlanVid uint32 `protobuf:"varint,9,opt,name=vlan_vid,json=vlanVid,proto3,oneof"`
+}
+
+type OfpOxmOfbField_VlanPcp struct {
+ VlanPcp uint32 `protobuf:"varint,10,opt,name=vlan_pcp,json=vlanPcp,proto3,oneof"`
+}
+
+type OfpOxmOfbField_IpDscp struct {
+ IpDscp uint32 `protobuf:"varint,11,opt,name=ip_dscp,json=ipDscp,proto3,oneof"`
+}
+
+type OfpOxmOfbField_IpEcn struct {
+ IpEcn uint32 `protobuf:"varint,12,opt,name=ip_ecn,json=ipEcn,proto3,oneof"`
+}
+
+type OfpOxmOfbField_IpProto struct {
+ IpProto uint32 `protobuf:"varint,13,opt,name=ip_proto,json=ipProto,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv4Src struct {
+ Ipv4Src uint32 `protobuf:"varint,14,opt,name=ipv4_src,json=ipv4Src,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv4Dst struct {
+ Ipv4Dst uint32 `protobuf:"varint,15,opt,name=ipv4_dst,json=ipv4Dst,proto3,oneof"`
+}
+
+type OfpOxmOfbField_TcpSrc struct {
+ TcpSrc uint32 `protobuf:"varint,16,opt,name=tcp_src,json=tcpSrc,proto3,oneof"`
+}
+
+type OfpOxmOfbField_TcpDst struct {
+ TcpDst uint32 `protobuf:"varint,17,opt,name=tcp_dst,json=tcpDst,proto3,oneof"`
+}
+
+type OfpOxmOfbField_UdpSrc struct {
+ UdpSrc uint32 `protobuf:"varint,18,opt,name=udp_src,json=udpSrc,proto3,oneof"`
+}
+
+type OfpOxmOfbField_UdpDst struct {
+ UdpDst uint32 `protobuf:"varint,19,opt,name=udp_dst,json=udpDst,proto3,oneof"`
+}
+
+type OfpOxmOfbField_SctpSrc struct {
+ SctpSrc uint32 `protobuf:"varint,20,opt,name=sctp_src,json=sctpSrc,proto3,oneof"`
+}
+
+type OfpOxmOfbField_SctpDst struct {
+ SctpDst uint32 `protobuf:"varint,21,opt,name=sctp_dst,json=sctpDst,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Icmpv4Type struct {
+ Icmpv4Type uint32 `protobuf:"varint,22,opt,name=icmpv4_type,json=icmpv4Type,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Icmpv4Code struct {
+ Icmpv4Code uint32 `protobuf:"varint,23,opt,name=icmpv4_code,json=icmpv4Code,proto3,oneof"`
+}
+
+type OfpOxmOfbField_ArpOp struct {
+ ArpOp uint32 `protobuf:"varint,24,opt,name=arp_op,json=arpOp,proto3,oneof"`
+}
+
+type OfpOxmOfbField_ArpSpa struct {
+ ArpSpa uint32 `protobuf:"varint,25,opt,name=arp_spa,json=arpSpa,proto3,oneof"`
+}
+
+type OfpOxmOfbField_ArpTpa struct {
+ ArpTpa uint32 `protobuf:"varint,26,opt,name=arp_tpa,json=arpTpa,proto3,oneof"`
+}
+
+type OfpOxmOfbField_ArpSha struct {
+ ArpSha []byte `protobuf:"bytes,27,opt,name=arp_sha,json=arpSha,proto3,oneof"`
+}
+
+type OfpOxmOfbField_ArpTha struct {
+ ArpTha []byte `protobuf:"bytes,28,opt,name=arp_tha,json=arpTha,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6Src struct {
+ Ipv6Src []byte `protobuf:"bytes,29,opt,name=ipv6_src,json=ipv6Src,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6Dst struct {
+ Ipv6Dst []byte `protobuf:"bytes,30,opt,name=ipv6_dst,json=ipv6Dst,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6Flabel struct {
+ Ipv6Flabel uint32 `protobuf:"varint,31,opt,name=ipv6_flabel,json=ipv6Flabel,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Icmpv6Type struct {
+ Icmpv6Type uint32 `protobuf:"varint,32,opt,name=icmpv6_type,json=icmpv6Type,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Icmpv6Code struct {
+ Icmpv6Code uint32 `protobuf:"varint,33,opt,name=icmpv6_code,json=icmpv6Code,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6NdTarget struct {
+ Ipv6NdTarget []byte `protobuf:"bytes,34,opt,name=ipv6_nd_target,json=ipv6NdTarget,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6NdSsl struct {
+ Ipv6NdSsl []byte `protobuf:"bytes,35,opt,name=ipv6_nd_ssl,json=ipv6NdSsl,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6NdTll struct {
+ Ipv6NdTll []byte `protobuf:"bytes,36,opt,name=ipv6_nd_tll,json=ipv6NdTll,proto3,oneof"`
+}
+
+type OfpOxmOfbField_MplsLabel struct {
+ MplsLabel uint32 `protobuf:"varint,37,opt,name=mpls_label,json=mplsLabel,proto3,oneof"`
+}
+
+type OfpOxmOfbField_MplsTc struct {
+ MplsTc uint32 `protobuf:"varint,38,opt,name=mpls_tc,json=mplsTc,proto3,oneof"`
+}
+
+type OfpOxmOfbField_MplsBos struct {
+ MplsBos uint32 `protobuf:"varint,39,opt,name=mpls_bos,json=mplsBos,proto3,oneof"`
+}
+
+type OfpOxmOfbField_PbbIsid struct {
+ PbbIsid uint32 `protobuf:"varint,40,opt,name=pbb_isid,json=pbbIsid,proto3,oneof"`
+}
+
+type OfpOxmOfbField_TunnelId struct {
+ TunnelId uint64 `protobuf:"varint,41,opt,name=tunnel_id,json=tunnelId,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6Exthdr struct {
+ Ipv6Exthdr uint32 `protobuf:"varint,42,opt,name=ipv6_exthdr,json=ipv6Exthdr,proto3,oneof"`
+}
+
+func (*OfpOxmOfbField_Port) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_PhysicalPort) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_TableMetadata) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_EthDst) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_EthSrc) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_EthType) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_VlanVid) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_VlanPcp) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_IpDscp) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_IpEcn) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_IpProto) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Ipv4Src) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Ipv4Dst) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_TcpSrc) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_TcpDst) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_UdpSrc) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_UdpDst) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_SctpSrc) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_SctpDst) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Icmpv4Type) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Icmpv4Code) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_ArpOp) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_ArpSpa) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_ArpTpa) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_ArpSha) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_ArpTha) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Ipv6Src) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Ipv6Dst) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Ipv6Flabel) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Icmpv6Type) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Icmpv6Code) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Ipv6NdTarget) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Ipv6NdSsl) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Ipv6NdTll) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_MplsLabel) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_MplsTc) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_MplsBos) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_PbbIsid) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_TunnelId) isOfpOxmOfbField_Value() {}
+
+func (*OfpOxmOfbField_Ipv6Exthdr) isOfpOxmOfbField_Value() {}
+
+func (m *OfpOxmOfbField) GetValue() isOfpOxmOfbField_Value {
+ if m != nil {
+ return m.Value
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetPort() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Port); ok {
+ return x.Port
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetPhysicalPort() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_PhysicalPort); ok {
+ return x.PhysicalPort
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetTableMetadata() uint64 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_TableMetadata); ok {
+ return x.TableMetadata
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetEthDst() []byte {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_EthDst); ok {
+ return x.EthDst
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetEthSrc() []byte {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_EthSrc); ok {
+ return x.EthSrc
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetEthType() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_EthType); ok {
+ return x.EthType
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetVlanVid() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_VlanVid); ok {
+ return x.VlanVid
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetVlanPcp() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_VlanPcp); ok {
+ return x.VlanPcp
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpDscp() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_IpDscp); ok {
+ return x.IpDscp
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpEcn() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_IpEcn); ok {
+ return x.IpEcn
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpProto() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_IpProto); ok {
+ return x.IpProto
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpv4Src() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Ipv4Src); ok {
+ return x.Ipv4Src
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpv4Dst() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Ipv4Dst); ok {
+ return x.Ipv4Dst
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetTcpSrc() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_TcpSrc); ok {
+ return x.TcpSrc
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetTcpDst() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_TcpDst); ok {
+ return x.TcpDst
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetUdpSrc() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_UdpSrc); ok {
+ return x.UdpSrc
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetUdpDst() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_UdpDst); ok {
+ return x.UdpDst
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetSctpSrc() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_SctpSrc); ok {
+ return x.SctpSrc
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetSctpDst() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_SctpDst); ok {
+ return x.SctpDst
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIcmpv4Type() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Icmpv4Type); ok {
+ return x.Icmpv4Type
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIcmpv4Code() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Icmpv4Code); ok {
+ return x.Icmpv4Code
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetArpOp() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_ArpOp); ok {
+ return x.ArpOp
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetArpSpa() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_ArpSpa); ok {
+ return x.ArpSpa
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetArpTpa() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_ArpTpa); ok {
+ return x.ArpTpa
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetArpSha() []byte {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_ArpSha); ok {
+ return x.ArpSha
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetArpTha() []byte {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_ArpTha); ok {
+ return x.ArpTha
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetIpv6Src() []byte {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Ipv6Src); ok {
+ return x.Ipv6Src
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetIpv6Dst() []byte {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Ipv6Dst); ok {
+ return x.Ipv6Dst
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetIpv6Flabel() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Ipv6Flabel); ok {
+ return x.Ipv6Flabel
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIcmpv6Type() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Icmpv6Type); ok {
+ return x.Icmpv6Type
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIcmpv6Code() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Icmpv6Code); ok {
+ return x.Icmpv6Code
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpv6NdTarget() []byte {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Ipv6NdTarget); ok {
+ return x.Ipv6NdTarget
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetIpv6NdSsl() []byte {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Ipv6NdSsl); ok {
+ return x.Ipv6NdSsl
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetIpv6NdTll() []byte {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Ipv6NdTll); ok {
+ return x.Ipv6NdTll
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetMplsLabel() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_MplsLabel); ok {
+ return x.MplsLabel
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetMplsTc() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_MplsTc); ok {
+ return x.MplsTc
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetMplsBos() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_MplsBos); ok {
+ return x.MplsBos
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetPbbIsid() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_PbbIsid); ok {
+ return x.PbbIsid
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetTunnelId() uint64 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_TunnelId); ok {
+ return x.TunnelId
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpv6Exthdr() uint32 {
+ if x, ok := m.GetValue().(*OfpOxmOfbField_Ipv6Exthdr); ok {
+ return x.Ipv6Exthdr
+ }
+ return 0
+}
+
+type isOfpOxmOfbField_Mask interface {
+ isOfpOxmOfbField_Mask()
+}
+
+type OfpOxmOfbField_TableMetadataMask struct {
+ TableMetadataMask uint64 `protobuf:"varint,105,opt,name=table_metadata_mask,json=tableMetadataMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_EthDstMask struct {
+ EthDstMask []byte `protobuf:"bytes,106,opt,name=eth_dst_mask,json=ethDstMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_EthSrcMask struct {
+ EthSrcMask []byte `protobuf:"bytes,107,opt,name=eth_src_mask,json=ethSrcMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_VlanVidMask struct {
+ VlanVidMask uint32 `protobuf:"varint,109,opt,name=vlan_vid_mask,json=vlanVidMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv4SrcMask struct {
+ Ipv4SrcMask uint32 `protobuf:"varint,114,opt,name=ipv4_src_mask,json=ipv4SrcMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv4DstMask struct {
+ Ipv4DstMask uint32 `protobuf:"varint,115,opt,name=ipv4_dst_mask,json=ipv4DstMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_ArpSpaMask struct {
+ ArpSpaMask uint32 `protobuf:"varint,125,opt,name=arp_spa_mask,json=arpSpaMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_ArpTpaMask struct {
+ ArpTpaMask uint32 `protobuf:"varint,126,opt,name=arp_tpa_mask,json=arpTpaMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6SrcMask struct {
+ Ipv6SrcMask []byte `protobuf:"bytes,129,opt,name=ipv6_src_mask,json=ipv6SrcMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6DstMask struct {
+ Ipv6DstMask []byte `protobuf:"bytes,130,opt,name=ipv6_dst_mask,json=ipv6DstMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6FlabelMask struct {
+ Ipv6FlabelMask uint32 `protobuf:"varint,131,opt,name=ipv6_flabel_mask,json=ipv6FlabelMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_PbbIsidMask struct {
+ PbbIsidMask uint32 `protobuf:"varint,140,opt,name=pbb_isid_mask,json=pbbIsidMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_TunnelIdMask struct {
+ TunnelIdMask uint64 `protobuf:"varint,141,opt,name=tunnel_id_mask,json=tunnelIdMask,proto3,oneof"`
+}
+
+type OfpOxmOfbField_Ipv6ExthdrMask struct {
+ Ipv6ExthdrMask uint32 `protobuf:"varint,142,opt,name=ipv6_exthdr_mask,json=ipv6ExthdrMask,proto3,oneof"`
+}
+
+func (*OfpOxmOfbField_TableMetadataMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_EthDstMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_EthSrcMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_VlanVidMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_Ipv4SrcMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_Ipv4DstMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_ArpSpaMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_ArpTpaMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_Ipv6SrcMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_Ipv6DstMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_Ipv6FlabelMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_PbbIsidMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_TunnelIdMask) isOfpOxmOfbField_Mask() {}
+
+func (*OfpOxmOfbField_Ipv6ExthdrMask) isOfpOxmOfbField_Mask() {}
+
+func (m *OfpOxmOfbField) GetMask() isOfpOxmOfbField_Mask {
+ if m != nil {
+ return m.Mask
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetTableMetadataMask() uint64 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_TableMetadataMask); ok {
+ return x.TableMetadataMask
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetEthDstMask() []byte {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_EthDstMask); ok {
+ return x.EthDstMask
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetEthSrcMask() []byte {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_EthSrcMask); ok {
+ return x.EthSrcMask
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetVlanVidMask() uint32 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_VlanVidMask); ok {
+ return x.VlanVidMask
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpv4SrcMask() uint32 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_Ipv4SrcMask); ok {
+ return x.Ipv4SrcMask
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpv4DstMask() uint32 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_Ipv4DstMask); ok {
+ return x.Ipv4DstMask
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetArpSpaMask() uint32 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_ArpSpaMask); ok {
+ return x.ArpSpaMask
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetArpTpaMask() uint32 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_ArpTpaMask); ok {
+ return x.ArpTpaMask
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpv6SrcMask() []byte {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_Ipv6SrcMask); ok {
+ return x.Ipv6SrcMask
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetIpv6DstMask() []byte {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_Ipv6DstMask); ok {
+ return x.Ipv6DstMask
+ }
+ return nil
+}
+
+func (m *OfpOxmOfbField) GetIpv6FlabelMask() uint32 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_Ipv6FlabelMask); ok {
+ return x.Ipv6FlabelMask
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetPbbIsidMask() uint32 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_PbbIsidMask); ok {
+ return x.PbbIsidMask
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetTunnelIdMask() uint64 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_TunnelIdMask); ok {
+ return x.TunnelIdMask
+ }
+ return 0
+}
+
+func (m *OfpOxmOfbField) GetIpv6ExthdrMask() uint32 {
+ if x, ok := m.GetMask().(*OfpOxmOfbField_Ipv6ExthdrMask); ok {
+ return x.Ipv6ExthdrMask
+ }
+ return 0
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OfpOxmOfbField) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*OfpOxmOfbField_Port)(nil),
+ (*OfpOxmOfbField_PhysicalPort)(nil),
+ (*OfpOxmOfbField_TableMetadata)(nil),
+ (*OfpOxmOfbField_EthDst)(nil),
+ (*OfpOxmOfbField_EthSrc)(nil),
+ (*OfpOxmOfbField_EthType)(nil),
+ (*OfpOxmOfbField_VlanVid)(nil),
+ (*OfpOxmOfbField_VlanPcp)(nil),
+ (*OfpOxmOfbField_IpDscp)(nil),
+ (*OfpOxmOfbField_IpEcn)(nil),
+ (*OfpOxmOfbField_IpProto)(nil),
+ (*OfpOxmOfbField_Ipv4Src)(nil),
+ (*OfpOxmOfbField_Ipv4Dst)(nil),
+ (*OfpOxmOfbField_TcpSrc)(nil),
+ (*OfpOxmOfbField_TcpDst)(nil),
+ (*OfpOxmOfbField_UdpSrc)(nil),
+ (*OfpOxmOfbField_UdpDst)(nil),
+ (*OfpOxmOfbField_SctpSrc)(nil),
+ (*OfpOxmOfbField_SctpDst)(nil),
+ (*OfpOxmOfbField_Icmpv4Type)(nil),
+ (*OfpOxmOfbField_Icmpv4Code)(nil),
+ (*OfpOxmOfbField_ArpOp)(nil),
+ (*OfpOxmOfbField_ArpSpa)(nil),
+ (*OfpOxmOfbField_ArpTpa)(nil),
+ (*OfpOxmOfbField_ArpSha)(nil),
+ (*OfpOxmOfbField_ArpTha)(nil),
+ (*OfpOxmOfbField_Ipv6Src)(nil),
+ (*OfpOxmOfbField_Ipv6Dst)(nil),
+ (*OfpOxmOfbField_Ipv6Flabel)(nil),
+ (*OfpOxmOfbField_Icmpv6Type)(nil),
+ (*OfpOxmOfbField_Icmpv6Code)(nil),
+ (*OfpOxmOfbField_Ipv6NdTarget)(nil),
+ (*OfpOxmOfbField_Ipv6NdSsl)(nil),
+ (*OfpOxmOfbField_Ipv6NdTll)(nil),
+ (*OfpOxmOfbField_MplsLabel)(nil),
+ (*OfpOxmOfbField_MplsTc)(nil),
+ (*OfpOxmOfbField_MplsBos)(nil),
+ (*OfpOxmOfbField_PbbIsid)(nil),
+ (*OfpOxmOfbField_TunnelId)(nil),
+ (*OfpOxmOfbField_Ipv6Exthdr)(nil),
+ (*OfpOxmOfbField_TableMetadataMask)(nil),
+ (*OfpOxmOfbField_EthDstMask)(nil),
+ (*OfpOxmOfbField_EthSrcMask)(nil),
+ (*OfpOxmOfbField_VlanVidMask)(nil),
+ (*OfpOxmOfbField_Ipv4SrcMask)(nil),
+ (*OfpOxmOfbField_Ipv4DstMask)(nil),
+ (*OfpOxmOfbField_ArpSpaMask)(nil),
+ (*OfpOxmOfbField_ArpTpaMask)(nil),
+ (*OfpOxmOfbField_Ipv6SrcMask)(nil),
+ (*OfpOxmOfbField_Ipv6DstMask)(nil),
+ (*OfpOxmOfbField_Ipv6FlabelMask)(nil),
+ (*OfpOxmOfbField_PbbIsidMask)(nil),
+ (*OfpOxmOfbField_TunnelIdMask)(nil),
+ (*OfpOxmOfbField_Ipv6ExthdrMask)(nil),
+ }
+}
+
+// Header for OXM experimenter match fields.
+// The experimenter class should not use OXM_HEADER() macros for defining
+// fields due to this extra header.
+type OfpOxmExperimenterField struct {
+ OxmHeader uint32 `protobuf:"varint,1,opt,name=oxm_header,json=oxmHeader,proto3" json:"oxm_header,omitempty"`
+ Experimenter uint32 `protobuf:"varint,2,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpOxmExperimenterField) Reset() { *m = OfpOxmExperimenterField{} }
+func (m *OfpOxmExperimenterField) String() string { return proto.CompactTextString(m) }
+func (*OfpOxmExperimenterField) ProtoMessage() {}
+func (*OfpOxmExperimenterField) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{13}
+}
+
+func (m *OfpOxmExperimenterField) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpOxmExperimenterField.Unmarshal(m, b)
+}
+func (m *OfpOxmExperimenterField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpOxmExperimenterField.Marshal(b, m, deterministic)
+}
+func (m *OfpOxmExperimenterField) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpOxmExperimenterField.Merge(m, src)
+}
+func (m *OfpOxmExperimenterField) XXX_Size() int {
+ return xxx_messageInfo_OfpOxmExperimenterField.Size(m)
+}
+func (m *OfpOxmExperimenterField) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpOxmExperimenterField.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpOxmExperimenterField proto.InternalMessageInfo
+
+func (m *OfpOxmExperimenterField) GetOxmHeader() uint32 {
+ if m != nil {
+ return m.OxmHeader
+ }
+ return 0
+}
+
+func (m *OfpOxmExperimenterField) GetExperimenter() uint32 {
+ if m != nil {
+ return m.Experimenter
+ }
+ return 0
+}
+
+// Action header that is common to all actions. The length includes the
+// header and any padding used to make the action 64-bit aligned.
+// NB: The length of an action *must* always be a multiple of eight.
+type OfpAction struct {
+ Type OfpActionType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpActionType" json:"type,omitempty"`
+ // Types that are valid to be assigned to Action:
+ // *OfpAction_Output
+ // *OfpAction_MplsTtl
+ // *OfpAction_Push
+ // *OfpAction_PopMpls
+ // *OfpAction_Group
+ // *OfpAction_NwTtl
+ // *OfpAction_SetField
+ // *OfpAction_Experimenter
+ Action isOfpAction_Action `protobuf_oneof:"action"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpAction) Reset() { *m = OfpAction{} }
+func (m *OfpAction) String() string { return proto.CompactTextString(m) }
+func (*OfpAction) ProtoMessage() {}
+func (*OfpAction) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{14}
+}
+
+func (m *OfpAction) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpAction.Unmarshal(m, b)
+}
+func (m *OfpAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpAction.Marshal(b, m, deterministic)
+}
+func (m *OfpAction) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpAction.Merge(m, src)
+}
+func (m *OfpAction) XXX_Size() int {
+ return xxx_messageInfo_OfpAction.Size(m)
+}
+func (m *OfpAction) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpAction.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpAction proto.InternalMessageInfo
+
+func (m *OfpAction) GetType() OfpActionType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpActionType_OFPAT_OUTPUT
+}
+
+type isOfpAction_Action interface {
+ isOfpAction_Action()
+}
+
+type OfpAction_Output struct {
+ Output *OfpActionOutput `protobuf:"bytes,2,opt,name=output,proto3,oneof"`
+}
+
+type OfpAction_MplsTtl struct {
+ MplsTtl *OfpActionMplsTtl `protobuf:"bytes,3,opt,name=mpls_ttl,json=mplsTtl,proto3,oneof"`
+}
+
+type OfpAction_Push struct {
+ Push *OfpActionPush `protobuf:"bytes,4,opt,name=push,proto3,oneof"`
+}
+
+type OfpAction_PopMpls struct {
+ PopMpls *OfpActionPopMpls `protobuf:"bytes,5,opt,name=pop_mpls,json=popMpls,proto3,oneof"`
+}
+
+type OfpAction_Group struct {
+ Group *OfpActionGroup `protobuf:"bytes,6,opt,name=group,proto3,oneof"`
+}
+
+type OfpAction_NwTtl struct {
+ NwTtl *OfpActionNwTtl `protobuf:"bytes,7,opt,name=nw_ttl,json=nwTtl,proto3,oneof"`
+}
+
+type OfpAction_SetField struct {
+ SetField *OfpActionSetField `protobuf:"bytes,8,opt,name=set_field,json=setField,proto3,oneof"`
+}
+
+type OfpAction_Experimenter struct {
+ Experimenter *OfpActionExperimenter `protobuf:"bytes,9,opt,name=experimenter,proto3,oneof"`
+}
+
+func (*OfpAction_Output) isOfpAction_Action() {}
+
+func (*OfpAction_MplsTtl) isOfpAction_Action() {}
+
+func (*OfpAction_Push) isOfpAction_Action() {}
+
+func (*OfpAction_PopMpls) isOfpAction_Action() {}
+
+func (*OfpAction_Group) isOfpAction_Action() {}
+
+func (*OfpAction_NwTtl) isOfpAction_Action() {}
+
+func (*OfpAction_SetField) isOfpAction_Action() {}
+
+func (*OfpAction_Experimenter) isOfpAction_Action() {}
+
+func (m *OfpAction) GetAction() isOfpAction_Action {
+ if m != nil {
+ return m.Action
+ }
+ return nil
+}
+
+func (m *OfpAction) GetOutput() *OfpActionOutput {
+ if x, ok := m.GetAction().(*OfpAction_Output); ok {
+ return x.Output
+ }
+ return nil
+}
+
+func (m *OfpAction) GetMplsTtl() *OfpActionMplsTtl {
+ if x, ok := m.GetAction().(*OfpAction_MplsTtl); ok {
+ return x.MplsTtl
+ }
+ return nil
+}
+
+func (m *OfpAction) GetPush() *OfpActionPush {
+ if x, ok := m.GetAction().(*OfpAction_Push); ok {
+ return x.Push
+ }
+ return nil
+}
+
+func (m *OfpAction) GetPopMpls() *OfpActionPopMpls {
+ if x, ok := m.GetAction().(*OfpAction_PopMpls); ok {
+ return x.PopMpls
+ }
+ return nil
+}
+
+func (m *OfpAction) GetGroup() *OfpActionGroup {
+ if x, ok := m.GetAction().(*OfpAction_Group); ok {
+ return x.Group
+ }
+ return nil
+}
+
+func (m *OfpAction) GetNwTtl() *OfpActionNwTtl {
+ if x, ok := m.GetAction().(*OfpAction_NwTtl); ok {
+ return x.NwTtl
+ }
+ return nil
+}
+
+func (m *OfpAction) GetSetField() *OfpActionSetField {
+ if x, ok := m.GetAction().(*OfpAction_SetField); ok {
+ return x.SetField
+ }
+ return nil
+}
+
+func (m *OfpAction) GetExperimenter() *OfpActionExperimenter {
+ if x, ok := m.GetAction().(*OfpAction_Experimenter); ok {
+ return x.Experimenter
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OfpAction) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*OfpAction_Output)(nil),
+ (*OfpAction_MplsTtl)(nil),
+ (*OfpAction_Push)(nil),
+ (*OfpAction_PopMpls)(nil),
+ (*OfpAction_Group)(nil),
+ (*OfpAction_NwTtl)(nil),
+ (*OfpAction_SetField)(nil),
+ (*OfpAction_Experimenter)(nil),
+ }
+}
+
+// Action structure for OFPAT_OUTPUT, which sends packets out 'port'.
+// When the 'port' is the OFPP_CONTROLLER, 'max_len' indicates the max
+// number of bytes to send. A 'max_len' of zero means no bytes of the
+// packet should be sent. A 'max_len' of OFPCML_NO_BUFFER means that
+// the packet is not buffered and the complete packet is to be sent to
+// the controller.
+type OfpActionOutput struct {
+ Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
+ MaxLen uint32 `protobuf:"varint,2,opt,name=max_len,json=maxLen,proto3" json:"max_len,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpActionOutput) Reset() { *m = OfpActionOutput{} }
+func (m *OfpActionOutput) String() string { return proto.CompactTextString(m) }
+func (*OfpActionOutput) ProtoMessage() {}
+func (*OfpActionOutput) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{15}
+}
+
+func (m *OfpActionOutput) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpActionOutput.Unmarshal(m, b)
+}
+func (m *OfpActionOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpActionOutput.Marshal(b, m, deterministic)
+}
+func (m *OfpActionOutput) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpActionOutput.Merge(m, src)
+}
+func (m *OfpActionOutput) XXX_Size() int {
+ return xxx_messageInfo_OfpActionOutput.Size(m)
+}
+func (m *OfpActionOutput) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpActionOutput.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpActionOutput proto.InternalMessageInfo
+
+func (m *OfpActionOutput) GetPort() uint32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+func (m *OfpActionOutput) GetMaxLen() uint32 {
+ if m != nil {
+ return m.MaxLen
+ }
+ return 0
+}
+
+// Action structure for OFPAT_SET_MPLS_TTL.
+type OfpActionMplsTtl struct {
+ MplsTtl uint32 `protobuf:"varint,1,opt,name=mpls_ttl,json=mplsTtl,proto3" json:"mpls_ttl,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpActionMplsTtl) Reset() { *m = OfpActionMplsTtl{} }
+func (m *OfpActionMplsTtl) String() string { return proto.CompactTextString(m) }
+func (*OfpActionMplsTtl) ProtoMessage() {}
+func (*OfpActionMplsTtl) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{16}
+}
+
+func (m *OfpActionMplsTtl) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpActionMplsTtl.Unmarshal(m, b)
+}
+func (m *OfpActionMplsTtl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpActionMplsTtl.Marshal(b, m, deterministic)
+}
+func (m *OfpActionMplsTtl) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpActionMplsTtl.Merge(m, src)
+}
+func (m *OfpActionMplsTtl) XXX_Size() int {
+ return xxx_messageInfo_OfpActionMplsTtl.Size(m)
+}
+func (m *OfpActionMplsTtl) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpActionMplsTtl.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpActionMplsTtl proto.InternalMessageInfo
+
+func (m *OfpActionMplsTtl) GetMplsTtl() uint32 {
+ if m != nil {
+ return m.MplsTtl
+ }
+ return 0
+}
+
+// Action structure for OFPAT_PUSH_VLAN/MPLS/PBB.
+type OfpActionPush struct {
+ Ethertype uint32 `protobuf:"varint,1,opt,name=ethertype,proto3" json:"ethertype,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpActionPush) Reset() { *m = OfpActionPush{} }
+func (m *OfpActionPush) String() string { return proto.CompactTextString(m) }
+func (*OfpActionPush) ProtoMessage() {}
+func (*OfpActionPush) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{17}
+}
+
+func (m *OfpActionPush) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpActionPush.Unmarshal(m, b)
+}
+func (m *OfpActionPush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpActionPush.Marshal(b, m, deterministic)
+}
+func (m *OfpActionPush) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpActionPush.Merge(m, src)
+}
+func (m *OfpActionPush) XXX_Size() int {
+ return xxx_messageInfo_OfpActionPush.Size(m)
+}
+func (m *OfpActionPush) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpActionPush.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpActionPush proto.InternalMessageInfo
+
+func (m *OfpActionPush) GetEthertype() uint32 {
+ if m != nil {
+ return m.Ethertype
+ }
+ return 0
+}
+
+// Action structure for OFPAT_POP_MPLS.
+type OfpActionPopMpls struct {
+ Ethertype uint32 `protobuf:"varint,1,opt,name=ethertype,proto3" json:"ethertype,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpActionPopMpls) Reset() { *m = OfpActionPopMpls{} }
+func (m *OfpActionPopMpls) String() string { return proto.CompactTextString(m) }
+func (*OfpActionPopMpls) ProtoMessage() {}
+func (*OfpActionPopMpls) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{18}
+}
+
+func (m *OfpActionPopMpls) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpActionPopMpls.Unmarshal(m, b)
+}
+func (m *OfpActionPopMpls) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpActionPopMpls.Marshal(b, m, deterministic)
+}
+func (m *OfpActionPopMpls) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpActionPopMpls.Merge(m, src)
+}
+func (m *OfpActionPopMpls) XXX_Size() int {
+ return xxx_messageInfo_OfpActionPopMpls.Size(m)
+}
+func (m *OfpActionPopMpls) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpActionPopMpls.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpActionPopMpls proto.InternalMessageInfo
+
+func (m *OfpActionPopMpls) GetEthertype() uint32 {
+ if m != nil {
+ return m.Ethertype
+ }
+ return 0
+}
+
+// Action structure for OFPAT_GROUP.
+type OfpActionGroup struct {
+ GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpActionGroup) Reset() { *m = OfpActionGroup{} }
+func (m *OfpActionGroup) String() string { return proto.CompactTextString(m) }
+func (*OfpActionGroup) ProtoMessage() {}
+func (*OfpActionGroup) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{19}
+}
+
+func (m *OfpActionGroup) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpActionGroup.Unmarshal(m, b)
+}
+func (m *OfpActionGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpActionGroup.Marshal(b, m, deterministic)
+}
+func (m *OfpActionGroup) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpActionGroup.Merge(m, src)
+}
+func (m *OfpActionGroup) XXX_Size() int {
+ return xxx_messageInfo_OfpActionGroup.Size(m)
+}
+func (m *OfpActionGroup) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpActionGroup.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpActionGroup proto.InternalMessageInfo
+
+func (m *OfpActionGroup) GetGroupId() uint32 {
+ if m != nil {
+ return m.GroupId
+ }
+ return 0
+}
+
+// Action structure for OFPAT_SET_NW_TTL.
+type OfpActionNwTtl struct {
+ NwTtl uint32 `protobuf:"varint,1,opt,name=nw_ttl,json=nwTtl,proto3" json:"nw_ttl,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpActionNwTtl) Reset() { *m = OfpActionNwTtl{} }
+func (m *OfpActionNwTtl) String() string { return proto.CompactTextString(m) }
+func (*OfpActionNwTtl) ProtoMessage() {}
+func (*OfpActionNwTtl) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{20}
+}
+
+func (m *OfpActionNwTtl) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpActionNwTtl.Unmarshal(m, b)
+}
+func (m *OfpActionNwTtl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpActionNwTtl.Marshal(b, m, deterministic)
+}
+func (m *OfpActionNwTtl) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpActionNwTtl.Merge(m, src)
+}
+func (m *OfpActionNwTtl) XXX_Size() int {
+ return xxx_messageInfo_OfpActionNwTtl.Size(m)
+}
+func (m *OfpActionNwTtl) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpActionNwTtl.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpActionNwTtl proto.InternalMessageInfo
+
+func (m *OfpActionNwTtl) GetNwTtl() uint32 {
+ if m != nil {
+ return m.NwTtl
+ }
+ return 0
+}
+
+// Action structure for OFPAT_SET_FIELD.
+type OfpActionSetField struct {
+ Field *OfpOxmField `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpActionSetField) Reset() { *m = OfpActionSetField{} }
+func (m *OfpActionSetField) String() string { return proto.CompactTextString(m) }
+func (*OfpActionSetField) ProtoMessage() {}
+func (*OfpActionSetField) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{21}
+}
+
+func (m *OfpActionSetField) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpActionSetField.Unmarshal(m, b)
+}
+func (m *OfpActionSetField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpActionSetField.Marshal(b, m, deterministic)
+}
+func (m *OfpActionSetField) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpActionSetField.Merge(m, src)
+}
+func (m *OfpActionSetField) XXX_Size() int {
+ return xxx_messageInfo_OfpActionSetField.Size(m)
+}
+func (m *OfpActionSetField) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpActionSetField.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpActionSetField proto.InternalMessageInfo
+
+func (m *OfpActionSetField) GetField() *OfpOxmField {
+ if m != nil {
+ return m.Field
+ }
+ return nil
+}
+
+// Action header for OFPAT_EXPERIMENTER.
+// The rest of the body is experimenter-defined.
+type OfpActionExperimenter struct {
+ Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
+ Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpActionExperimenter) Reset() { *m = OfpActionExperimenter{} }
+func (m *OfpActionExperimenter) String() string { return proto.CompactTextString(m) }
+func (*OfpActionExperimenter) ProtoMessage() {}
+func (*OfpActionExperimenter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{22}
+}
+
+func (m *OfpActionExperimenter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpActionExperimenter.Unmarshal(m, b)
+}
+func (m *OfpActionExperimenter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpActionExperimenter.Marshal(b, m, deterministic)
+}
+func (m *OfpActionExperimenter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpActionExperimenter.Merge(m, src)
+}
+func (m *OfpActionExperimenter) XXX_Size() int {
+ return xxx_messageInfo_OfpActionExperimenter.Size(m)
+}
+func (m *OfpActionExperimenter) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpActionExperimenter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpActionExperimenter proto.InternalMessageInfo
+
+func (m *OfpActionExperimenter) GetExperimenter() uint32 {
+ if m != nil {
+ return m.Experimenter
+ }
+ return 0
+}
+
+func (m *OfpActionExperimenter) GetData() []byte {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+// Instruction header that is common to all instructions. The length includes
+// the header and any padding used to make the instruction 64-bit aligned.
+// NB: The length of an instruction *must* always be a multiple of eight.
+type OfpInstruction struct {
+ Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
+ // Types that are valid to be assigned to Data:
+ // *OfpInstruction_GotoTable
+ // *OfpInstruction_WriteMetadata
+ // *OfpInstruction_Actions
+ // *OfpInstruction_Meter
+ // *OfpInstruction_Experimenter
+ Data isOfpInstruction_Data `protobuf_oneof:"data"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpInstruction) Reset() { *m = OfpInstruction{} }
+func (m *OfpInstruction) String() string { return proto.CompactTextString(m) }
+func (*OfpInstruction) ProtoMessage() {}
+func (*OfpInstruction) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{23}
+}
+
+func (m *OfpInstruction) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpInstruction.Unmarshal(m, b)
+}
+func (m *OfpInstruction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpInstruction.Marshal(b, m, deterministic)
+}
+func (m *OfpInstruction) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpInstruction.Merge(m, src)
+}
+func (m *OfpInstruction) XXX_Size() int {
+ return xxx_messageInfo_OfpInstruction.Size(m)
+}
+func (m *OfpInstruction) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpInstruction.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpInstruction proto.InternalMessageInfo
+
+func (m *OfpInstruction) GetType() uint32 {
+ if m != nil {
+ return m.Type
+ }
+ return 0
+}
+
+type isOfpInstruction_Data interface {
+ isOfpInstruction_Data()
+}
+
+type OfpInstruction_GotoTable struct {
+ GotoTable *OfpInstructionGotoTable `protobuf:"bytes,2,opt,name=goto_table,json=gotoTable,proto3,oneof"`
+}
+
+type OfpInstruction_WriteMetadata struct {
+ WriteMetadata *OfpInstructionWriteMetadata `protobuf:"bytes,3,opt,name=write_metadata,json=writeMetadata,proto3,oneof"`
+}
+
+type OfpInstruction_Actions struct {
+ Actions *OfpInstructionActions `protobuf:"bytes,4,opt,name=actions,proto3,oneof"`
+}
+
+type OfpInstruction_Meter struct {
+ Meter *OfpInstructionMeter `protobuf:"bytes,5,opt,name=meter,proto3,oneof"`
+}
+
+type OfpInstruction_Experimenter struct {
+ Experimenter *OfpInstructionExperimenter `protobuf:"bytes,6,opt,name=experimenter,proto3,oneof"`
+}
+
+func (*OfpInstruction_GotoTable) isOfpInstruction_Data() {}
+
+func (*OfpInstruction_WriteMetadata) isOfpInstruction_Data() {}
+
+func (*OfpInstruction_Actions) isOfpInstruction_Data() {}
+
+func (*OfpInstruction_Meter) isOfpInstruction_Data() {}
+
+func (*OfpInstruction_Experimenter) isOfpInstruction_Data() {}
+
+func (m *OfpInstruction) GetData() isOfpInstruction_Data {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+func (m *OfpInstruction) GetGotoTable() *OfpInstructionGotoTable {
+ if x, ok := m.GetData().(*OfpInstruction_GotoTable); ok {
+ return x.GotoTable
+ }
+ return nil
+}
+
+func (m *OfpInstruction) GetWriteMetadata() *OfpInstructionWriteMetadata {
+ if x, ok := m.GetData().(*OfpInstruction_WriteMetadata); ok {
+ return x.WriteMetadata
+ }
+ return nil
+}
+
+func (m *OfpInstruction) GetActions() *OfpInstructionActions {
+ if x, ok := m.GetData().(*OfpInstruction_Actions); ok {
+ return x.Actions
+ }
+ return nil
+}
+
+func (m *OfpInstruction) GetMeter() *OfpInstructionMeter {
+ if x, ok := m.GetData().(*OfpInstruction_Meter); ok {
+ return x.Meter
+ }
+ return nil
+}
+
+func (m *OfpInstruction) GetExperimenter() *OfpInstructionExperimenter {
+ if x, ok := m.GetData().(*OfpInstruction_Experimenter); ok {
+ return x.Experimenter
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OfpInstruction) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*OfpInstruction_GotoTable)(nil),
+ (*OfpInstruction_WriteMetadata)(nil),
+ (*OfpInstruction_Actions)(nil),
+ (*OfpInstruction_Meter)(nil),
+ (*OfpInstruction_Experimenter)(nil),
+ }
+}
+
+// Instruction structure for OFPIT_GOTO_TABLE
+type OfpInstructionGotoTable struct {
+ TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpInstructionGotoTable) Reset() { *m = OfpInstructionGotoTable{} }
+func (m *OfpInstructionGotoTable) String() string { return proto.CompactTextString(m) }
+func (*OfpInstructionGotoTable) ProtoMessage() {}
+func (*OfpInstructionGotoTable) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{24}
+}
+
+func (m *OfpInstructionGotoTable) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpInstructionGotoTable.Unmarshal(m, b)
+}
+func (m *OfpInstructionGotoTable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpInstructionGotoTable.Marshal(b, m, deterministic)
+}
+func (m *OfpInstructionGotoTable) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpInstructionGotoTable.Merge(m, src)
+}
+func (m *OfpInstructionGotoTable) XXX_Size() int {
+ return xxx_messageInfo_OfpInstructionGotoTable.Size(m)
+}
+func (m *OfpInstructionGotoTable) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpInstructionGotoTable.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpInstructionGotoTable proto.InternalMessageInfo
+
+func (m *OfpInstructionGotoTable) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+// Instruction structure for OFPIT_WRITE_METADATA
+type OfpInstructionWriteMetadata struct {
+ Metadata uint64 `protobuf:"varint,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
+ MetadataMask uint64 `protobuf:"varint,2,opt,name=metadata_mask,json=metadataMask,proto3" json:"metadata_mask,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpInstructionWriteMetadata) Reset() { *m = OfpInstructionWriteMetadata{} }
+func (m *OfpInstructionWriteMetadata) String() string { return proto.CompactTextString(m) }
+func (*OfpInstructionWriteMetadata) ProtoMessage() {}
+func (*OfpInstructionWriteMetadata) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{25}
+}
+
+func (m *OfpInstructionWriteMetadata) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpInstructionWriteMetadata.Unmarshal(m, b)
+}
+func (m *OfpInstructionWriteMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpInstructionWriteMetadata.Marshal(b, m, deterministic)
+}
+func (m *OfpInstructionWriteMetadata) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpInstructionWriteMetadata.Merge(m, src)
+}
+func (m *OfpInstructionWriteMetadata) XXX_Size() int {
+ return xxx_messageInfo_OfpInstructionWriteMetadata.Size(m)
+}
+func (m *OfpInstructionWriteMetadata) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpInstructionWriteMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpInstructionWriteMetadata proto.InternalMessageInfo
+
+func (m *OfpInstructionWriteMetadata) GetMetadata() uint64 {
+ if m != nil {
+ return m.Metadata
+ }
+ return 0
+}
+
+func (m *OfpInstructionWriteMetadata) GetMetadataMask() uint64 {
+ if m != nil {
+ return m.MetadataMask
+ }
+ return 0
+}
+
+// Instruction structure for OFPIT_WRITE/APPLY/CLEAR_ACTIONS
+type OfpInstructionActions struct {
+ Actions []*OfpAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpInstructionActions) Reset() { *m = OfpInstructionActions{} }
+func (m *OfpInstructionActions) String() string { return proto.CompactTextString(m) }
+func (*OfpInstructionActions) ProtoMessage() {}
+func (*OfpInstructionActions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{26}
+}
+
+func (m *OfpInstructionActions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpInstructionActions.Unmarshal(m, b)
+}
+func (m *OfpInstructionActions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpInstructionActions.Marshal(b, m, deterministic)
+}
+func (m *OfpInstructionActions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpInstructionActions.Merge(m, src)
+}
+func (m *OfpInstructionActions) XXX_Size() int {
+ return xxx_messageInfo_OfpInstructionActions.Size(m)
+}
+func (m *OfpInstructionActions) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpInstructionActions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpInstructionActions proto.InternalMessageInfo
+
+func (m *OfpInstructionActions) GetActions() []*OfpAction {
+ if m != nil {
+ return m.Actions
+ }
+ return nil
+}
+
+// Instruction structure for OFPIT_METER
+type OfpInstructionMeter struct {
+ MeterId uint32 `protobuf:"varint,1,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpInstructionMeter) Reset() { *m = OfpInstructionMeter{} }
+func (m *OfpInstructionMeter) String() string { return proto.CompactTextString(m) }
+func (*OfpInstructionMeter) ProtoMessage() {}
+func (*OfpInstructionMeter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{27}
+}
+
+func (m *OfpInstructionMeter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpInstructionMeter.Unmarshal(m, b)
+}
+func (m *OfpInstructionMeter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpInstructionMeter.Marshal(b, m, deterministic)
+}
+func (m *OfpInstructionMeter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpInstructionMeter.Merge(m, src)
+}
+func (m *OfpInstructionMeter) XXX_Size() int {
+ return xxx_messageInfo_OfpInstructionMeter.Size(m)
+}
+func (m *OfpInstructionMeter) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpInstructionMeter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpInstructionMeter proto.InternalMessageInfo
+
+func (m *OfpInstructionMeter) GetMeterId() uint32 {
+ if m != nil {
+ return m.MeterId
+ }
+ return 0
+}
+
+// Instruction structure for experimental instructions
+type OfpInstructionExperimenter struct {
+ Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
+ // Experimenter-defined arbitrary additional data.
+ Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpInstructionExperimenter) Reset() { *m = OfpInstructionExperimenter{} }
+func (m *OfpInstructionExperimenter) String() string { return proto.CompactTextString(m) }
+func (*OfpInstructionExperimenter) ProtoMessage() {}
+func (*OfpInstructionExperimenter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{28}
+}
+
+func (m *OfpInstructionExperimenter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpInstructionExperimenter.Unmarshal(m, b)
+}
+func (m *OfpInstructionExperimenter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpInstructionExperimenter.Marshal(b, m, deterministic)
+}
+func (m *OfpInstructionExperimenter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpInstructionExperimenter.Merge(m, src)
+}
+func (m *OfpInstructionExperimenter) XXX_Size() int {
+ return xxx_messageInfo_OfpInstructionExperimenter.Size(m)
+}
+func (m *OfpInstructionExperimenter) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpInstructionExperimenter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpInstructionExperimenter proto.InternalMessageInfo
+
+func (m *OfpInstructionExperimenter) GetExperimenter() uint32 {
+ if m != nil {
+ return m.Experimenter
+ }
+ return 0
+}
+
+func (m *OfpInstructionExperimenter) GetData() []byte {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+// Flow setup and teardown (controller -> datapath).
+type OfpFlowMod struct {
+ //ofp_header header;
+ Cookie uint64 `protobuf:"varint,1,opt,name=cookie,proto3" json:"cookie,omitempty"`
+ CookieMask uint64 `protobuf:"varint,2,opt,name=cookie_mask,json=cookieMask,proto3" json:"cookie_mask,omitempty"`
+ TableId uint32 `protobuf:"varint,3,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ Command OfpFlowModCommand `protobuf:"varint,4,opt,name=command,proto3,enum=openflow_13.OfpFlowModCommand" json:"command,omitempty"`
+ IdleTimeout uint32 `protobuf:"varint,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
+ HardTimeout uint32 `protobuf:"varint,6,opt,name=hard_timeout,json=hardTimeout,proto3" json:"hard_timeout,omitempty"`
+ Priority uint32 `protobuf:"varint,7,opt,name=priority,proto3" json:"priority,omitempty"`
+ BufferId uint32 `protobuf:"varint,8,opt,name=buffer_id,json=bufferId,proto3" json:"buffer_id,omitempty"`
+ OutPort uint32 `protobuf:"varint,9,opt,name=out_port,json=outPort,proto3" json:"out_port,omitempty"`
+ OutGroup uint32 `protobuf:"varint,10,opt,name=out_group,json=outGroup,proto3" json:"out_group,omitempty"`
+ Flags uint32 `protobuf:"varint,11,opt,name=flags,proto3" json:"flags,omitempty"`
+ Match *OfpMatch `protobuf:"bytes,12,opt,name=match,proto3" json:"match,omitempty"`
+ Instructions []*OfpInstruction `protobuf:"bytes,13,rep,name=instructions,proto3" json:"instructions,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpFlowMod) Reset() { *m = OfpFlowMod{} }
+func (m *OfpFlowMod) String() string { return proto.CompactTextString(m) }
+func (*OfpFlowMod) ProtoMessage() {}
+func (*OfpFlowMod) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{29}
+}
+
+func (m *OfpFlowMod) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpFlowMod.Unmarshal(m, b)
+}
+func (m *OfpFlowMod) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpFlowMod.Marshal(b, m, deterministic)
+}
+func (m *OfpFlowMod) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpFlowMod.Merge(m, src)
+}
+func (m *OfpFlowMod) XXX_Size() int {
+ return xxx_messageInfo_OfpFlowMod.Size(m)
+}
+func (m *OfpFlowMod) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpFlowMod.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpFlowMod proto.InternalMessageInfo
+
+func (m *OfpFlowMod) GetCookie() uint64 {
+ if m != nil {
+ return m.Cookie
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetCookieMask() uint64 {
+ if m != nil {
+ return m.CookieMask
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetCommand() OfpFlowModCommand {
+ if m != nil {
+ return m.Command
+ }
+ return OfpFlowModCommand_OFPFC_ADD
+}
+
+func (m *OfpFlowMod) GetIdleTimeout() uint32 {
+ if m != nil {
+ return m.IdleTimeout
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetHardTimeout() uint32 {
+ if m != nil {
+ return m.HardTimeout
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetPriority() uint32 {
+ if m != nil {
+ return m.Priority
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetBufferId() uint32 {
+ if m != nil {
+ return m.BufferId
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetOutPort() uint32 {
+ if m != nil {
+ return m.OutPort
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetOutGroup() uint32 {
+ if m != nil {
+ return m.OutGroup
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetFlags() uint32 {
+ if m != nil {
+ return m.Flags
+ }
+ return 0
+}
+
+func (m *OfpFlowMod) GetMatch() *OfpMatch {
+ if m != nil {
+ return m.Match
+ }
+ return nil
+}
+
+func (m *OfpFlowMod) GetInstructions() []*OfpInstruction {
+ if m != nil {
+ return m.Instructions
+ }
+ return nil
+}
+
+// Bucket for use in groups.
+type OfpBucket struct {
+ Weight uint32 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"`
+ WatchPort uint32 `protobuf:"varint,2,opt,name=watch_port,json=watchPort,proto3" json:"watch_port,omitempty"`
+ WatchGroup uint32 `protobuf:"varint,3,opt,name=watch_group,json=watchGroup,proto3" json:"watch_group,omitempty"`
+ Actions []*OfpAction `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpBucket) Reset() { *m = OfpBucket{} }
+func (m *OfpBucket) String() string { return proto.CompactTextString(m) }
+func (*OfpBucket) ProtoMessage() {}
+func (*OfpBucket) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{30}
+}
+
+func (m *OfpBucket) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpBucket.Unmarshal(m, b)
+}
+func (m *OfpBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpBucket.Marshal(b, m, deterministic)
+}
+func (m *OfpBucket) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpBucket.Merge(m, src)
+}
+func (m *OfpBucket) XXX_Size() int {
+ return xxx_messageInfo_OfpBucket.Size(m)
+}
+func (m *OfpBucket) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpBucket.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpBucket proto.InternalMessageInfo
+
+func (m *OfpBucket) GetWeight() uint32 {
+ if m != nil {
+ return m.Weight
+ }
+ return 0
+}
+
+func (m *OfpBucket) GetWatchPort() uint32 {
+ if m != nil {
+ return m.WatchPort
+ }
+ return 0
+}
+
+func (m *OfpBucket) GetWatchGroup() uint32 {
+ if m != nil {
+ return m.WatchGroup
+ }
+ return 0
+}
+
+func (m *OfpBucket) GetActions() []*OfpAction {
+ if m != nil {
+ return m.Actions
+ }
+ return nil
+}
+
+// Group setup and teardown (controller -> datapath).
+type OfpGroupMod struct {
+ //ofp_header header;
+ Command OfpGroupModCommand `protobuf:"varint,1,opt,name=command,proto3,enum=openflow_13.OfpGroupModCommand" json:"command,omitempty"`
+ Type OfpGroupType `protobuf:"varint,2,opt,name=type,proto3,enum=openflow_13.OfpGroupType" json:"type,omitempty"`
+ GroupId uint32 `protobuf:"varint,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ Buckets []*OfpBucket `protobuf:"bytes,4,rep,name=buckets,proto3" json:"buckets,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpGroupMod) Reset() { *m = OfpGroupMod{} }
+func (m *OfpGroupMod) String() string { return proto.CompactTextString(m) }
+func (*OfpGroupMod) ProtoMessage() {}
+func (*OfpGroupMod) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{31}
+}
+
+func (m *OfpGroupMod) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpGroupMod.Unmarshal(m, b)
+}
+func (m *OfpGroupMod) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpGroupMod.Marshal(b, m, deterministic)
+}
+func (m *OfpGroupMod) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpGroupMod.Merge(m, src)
+}
+func (m *OfpGroupMod) XXX_Size() int {
+ return xxx_messageInfo_OfpGroupMod.Size(m)
+}
+func (m *OfpGroupMod) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpGroupMod.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpGroupMod proto.InternalMessageInfo
+
+func (m *OfpGroupMod) GetCommand() OfpGroupModCommand {
+ if m != nil {
+ return m.Command
+ }
+ return OfpGroupModCommand_OFPGC_ADD
+}
+
+func (m *OfpGroupMod) GetType() OfpGroupType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpGroupType_OFPGT_ALL
+}
+
+func (m *OfpGroupMod) GetGroupId() uint32 {
+ if m != nil {
+ return m.GroupId
+ }
+ return 0
+}
+
+func (m *OfpGroupMod) GetBuckets() []*OfpBucket {
+ if m != nil {
+ return m.Buckets
+ }
+ return nil
+}
+
+// Send packet (controller -> datapath).
+type OfpPacketOut struct {
+ //ofp_header header;
+ BufferId uint32 `protobuf:"varint,1,opt,name=buffer_id,json=bufferId,proto3" json:"buffer_id,omitempty"`
+ InPort uint32 `protobuf:"varint,2,opt,name=in_port,json=inPort,proto3" json:"in_port,omitempty"`
+ Actions []*OfpAction `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
+ // The variable size action list is optionally followed by packet data.
+ // This data is only present and meaningful if buffer_id == -1.
+ Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpPacketOut) Reset() { *m = OfpPacketOut{} }
+func (m *OfpPacketOut) String() string { return proto.CompactTextString(m) }
+func (*OfpPacketOut) ProtoMessage() {}
+func (*OfpPacketOut) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{32}
+}
+
+func (m *OfpPacketOut) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpPacketOut.Unmarshal(m, b)
+}
+func (m *OfpPacketOut) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpPacketOut.Marshal(b, m, deterministic)
+}
+func (m *OfpPacketOut) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpPacketOut.Merge(m, src)
+}
+func (m *OfpPacketOut) XXX_Size() int {
+ return xxx_messageInfo_OfpPacketOut.Size(m)
+}
+func (m *OfpPacketOut) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpPacketOut.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpPacketOut proto.InternalMessageInfo
+
+func (m *OfpPacketOut) GetBufferId() uint32 {
+ if m != nil {
+ return m.BufferId
+ }
+ return 0
+}
+
+func (m *OfpPacketOut) GetInPort() uint32 {
+ if m != nil {
+ return m.InPort
+ }
+ return 0
+}
+
+func (m *OfpPacketOut) GetActions() []*OfpAction {
+ if m != nil {
+ return m.Actions
+ }
+ return nil
+}
+
+func (m *OfpPacketOut) GetData() []byte {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+// Packet received on port (datapath -> controller).
+type OfpPacketIn struct {
+ //ofp_header header;
+ BufferId uint32 `protobuf:"varint,1,opt,name=buffer_id,json=bufferId,proto3" json:"buffer_id,omitempty"`
+ Reason OfpPacketInReason `protobuf:"varint,2,opt,name=reason,proto3,enum=openflow_13.OfpPacketInReason" json:"reason,omitempty"`
+ TableId uint32 `protobuf:"varint,3,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ Cookie uint64 `protobuf:"varint,4,opt,name=cookie,proto3" json:"cookie,omitempty"`
+ Match *OfpMatch `protobuf:"bytes,5,opt,name=match,proto3" json:"match,omitempty"`
+ Data []byte `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpPacketIn) Reset() { *m = OfpPacketIn{} }
+func (m *OfpPacketIn) String() string { return proto.CompactTextString(m) }
+func (*OfpPacketIn) ProtoMessage() {}
+func (*OfpPacketIn) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{33}
+}
+
+func (m *OfpPacketIn) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpPacketIn.Unmarshal(m, b)
+}
+func (m *OfpPacketIn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpPacketIn.Marshal(b, m, deterministic)
+}
+func (m *OfpPacketIn) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpPacketIn.Merge(m, src)
+}
+func (m *OfpPacketIn) XXX_Size() int {
+ return xxx_messageInfo_OfpPacketIn.Size(m)
+}
+func (m *OfpPacketIn) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpPacketIn.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpPacketIn proto.InternalMessageInfo
+
+func (m *OfpPacketIn) GetBufferId() uint32 {
+ if m != nil {
+ return m.BufferId
+ }
+ return 0
+}
+
+func (m *OfpPacketIn) GetReason() OfpPacketInReason {
+ if m != nil {
+ return m.Reason
+ }
+ return OfpPacketInReason_OFPR_NO_MATCH
+}
+
+func (m *OfpPacketIn) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+func (m *OfpPacketIn) GetCookie() uint64 {
+ if m != nil {
+ return m.Cookie
+ }
+ return 0
+}
+
+func (m *OfpPacketIn) GetMatch() *OfpMatch {
+ if m != nil {
+ return m.Match
+ }
+ return nil
+}
+
+func (m *OfpPacketIn) GetData() []byte {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+// Flow removed (datapath -> controller).
+type OfpFlowRemoved struct {
+ //ofp_header header;
+ Cookie uint64 `protobuf:"varint,1,opt,name=cookie,proto3" json:"cookie,omitempty"`
+ Priority uint32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"`
+ Reason OfpFlowRemovedReason `protobuf:"varint,3,opt,name=reason,proto3,enum=openflow_13.OfpFlowRemovedReason" json:"reason,omitempty"`
+ TableId uint32 `protobuf:"varint,4,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ DurationSec uint32 `protobuf:"varint,5,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"`
+ DurationNsec uint32 `protobuf:"varint,6,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
+ IdleTimeout uint32 `protobuf:"varint,7,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
+ HardTimeout uint32 `protobuf:"varint,8,opt,name=hard_timeout,json=hardTimeout,proto3" json:"hard_timeout,omitempty"`
+ PacketCount uint64 `protobuf:"varint,9,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"`
+ ByteCount uint64 `protobuf:"varint,10,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"`
+ Match *OfpMatch `protobuf:"bytes,121,opt,name=match,proto3" json:"match,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpFlowRemoved) Reset() { *m = OfpFlowRemoved{} }
+func (m *OfpFlowRemoved) String() string { return proto.CompactTextString(m) }
+func (*OfpFlowRemoved) ProtoMessage() {}
+func (*OfpFlowRemoved) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{34}
+}
+
+func (m *OfpFlowRemoved) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpFlowRemoved.Unmarshal(m, b)
+}
+func (m *OfpFlowRemoved) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpFlowRemoved.Marshal(b, m, deterministic)
+}
+func (m *OfpFlowRemoved) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpFlowRemoved.Merge(m, src)
+}
+func (m *OfpFlowRemoved) XXX_Size() int {
+ return xxx_messageInfo_OfpFlowRemoved.Size(m)
+}
+func (m *OfpFlowRemoved) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpFlowRemoved.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpFlowRemoved proto.InternalMessageInfo
+
+func (m *OfpFlowRemoved) GetCookie() uint64 {
+ if m != nil {
+ return m.Cookie
+ }
+ return 0
+}
+
+func (m *OfpFlowRemoved) GetPriority() uint32 {
+ if m != nil {
+ return m.Priority
+ }
+ return 0
+}
+
+func (m *OfpFlowRemoved) GetReason() OfpFlowRemovedReason {
+ if m != nil {
+ return m.Reason
+ }
+ return OfpFlowRemovedReason_OFPRR_IDLE_TIMEOUT
+}
+
+func (m *OfpFlowRemoved) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+func (m *OfpFlowRemoved) GetDurationSec() uint32 {
+ if m != nil {
+ return m.DurationSec
+ }
+ return 0
+}
+
+func (m *OfpFlowRemoved) GetDurationNsec() uint32 {
+ if m != nil {
+ return m.DurationNsec
+ }
+ return 0
+}
+
+func (m *OfpFlowRemoved) GetIdleTimeout() uint32 {
+ if m != nil {
+ return m.IdleTimeout
+ }
+ return 0
+}
+
+func (m *OfpFlowRemoved) GetHardTimeout() uint32 {
+ if m != nil {
+ return m.HardTimeout
+ }
+ return 0
+}
+
+func (m *OfpFlowRemoved) GetPacketCount() uint64 {
+ if m != nil {
+ return m.PacketCount
+ }
+ return 0
+}
+
+func (m *OfpFlowRemoved) GetByteCount() uint64 {
+ if m != nil {
+ return m.ByteCount
+ }
+ return 0
+}
+
+func (m *OfpFlowRemoved) GetMatch() *OfpMatch {
+ if m != nil {
+ return m.Match
+ }
+ return nil
+}
+
+// Common header for all meter bands
+type OfpMeterBandHeader struct {
+ Type OfpMeterBandType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpMeterBandType" json:"type,omitempty"`
+ Rate uint32 `protobuf:"varint,2,opt,name=rate,proto3" json:"rate,omitempty"`
+ BurstSize uint32 `protobuf:"varint,3,opt,name=burst_size,json=burstSize,proto3" json:"burst_size,omitempty"`
+ // Types that are valid to be assigned to Data:
+ // *OfpMeterBandHeader_Drop
+ // *OfpMeterBandHeader_DscpRemark
+ // *OfpMeterBandHeader_Experimenter
+ Data isOfpMeterBandHeader_Data `protobuf_oneof:"data"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterBandHeader) Reset() { *m = OfpMeterBandHeader{} }
+func (m *OfpMeterBandHeader) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterBandHeader) ProtoMessage() {}
+func (*OfpMeterBandHeader) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{35}
+}
+
+func (m *OfpMeterBandHeader) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterBandHeader.Unmarshal(m, b)
+}
+func (m *OfpMeterBandHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterBandHeader.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterBandHeader) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterBandHeader.Merge(m, src)
+}
+func (m *OfpMeterBandHeader) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterBandHeader.Size(m)
+}
+func (m *OfpMeterBandHeader) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterBandHeader.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterBandHeader proto.InternalMessageInfo
+
+func (m *OfpMeterBandHeader) GetType() OfpMeterBandType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpMeterBandType_OFPMBT_INVALID
+}
+
+func (m *OfpMeterBandHeader) GetRate() uint32 {
+ if m != nil {
+ return m.Rate
+ }
+ return 0
+}
+
+func (m *OfpMeterBandHeader) GetBurstSize() uint32 {
+ if m != nil {
+ return m.BurstSize
+ }
+ return 0
+}
+
+type isOfpMeterBandHeader_Data interface {
+ isOfpMeterBandHeader_Data()
+}
+
+type OfpMeterBandHeader_Drop struct {
+ Drop *OfpMeterBandDrop `protobuf:"bytes,4,opt,name=drop,proto3,oneof"`
+}
+
+type OfpMeterBandHeader_DscpRemark struct {
+ DscpRemark *OfpMeterBandDscpRemark `protobuf:"bytes,5,opt,name=dscp_remark,json=dscpRemark,proto3,oneof"`
+}
+
+type OfpMeterBandHeader_Experimenter struct {
+ Experimenter *OfpMeterBandExperimenter `protobuf:"bytes,6,opt,name=experimenter,proto3,oneof"`
+}
+
+func (*OfpMeterBandHeader_Drop) isOfpMeterBandHeader_Data() {}
+
+func (*OfpMeterBandHeader_DscpRemark) isOfpMeterBandHeader_Data() {}
+
+func (*OfpMeterBandHeader_Experimenter) isOfpMeterBandHeader_Data() {}
+
+func (m *OfpMeterBandHeader) GetData() isOfpMeterBandHeader_Data {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+func (m *OfpMeterBandHeader) GetDrop() *OfpMeterBandDrop {
+ if x, ok := m.GetData().(*OfpMeterBandHeader_Drop); ok {
+ return x.Drop
+ }
+ return nil
+}
+
+func (m *OfpMeterBandHeader) GetDscpRemark() *OfpMeterBandDscpRemark {
+ if x, ok := m.GetData().(*OfpMeterBandHeader_DscpRemark); ok {
+ return x.DscpRemark
+ }
+ return nil
+}
+
+func (m *OfpMeterBandHeader) GetExperimenter() *OfpMeterBandExperimenter {
+ if x, ok := m.GetData().(*OfpMeterBandHeader_Experimenter); ok {
+ return x.Experimenter
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OfpMeterBandHeader) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*OfpMeterBandHeader_Drop)(nil),
+ (*OfpMeterBandHeader_DscpRemark)(nil),
+ (*OfpMeterBandHeader_Experimenter)(nil),
+ }
+}
+
+// OFPMBT_DROP band - drop packets
+type OfpMeterBandDrop struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterBandDrop) Reset() { *m = OfpMeterBandDrop{} }
+func (m *OfpMeterBandDrop) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterBandDrop) ProtoMessage() {}
+func (*OfpMeterBandDrop) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{36}
+}
+
+func (m *OfpMeterBandDrop) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterBandDrop.Unmarshal(m, b)
+}
+func (m *OfpMeterBandDrop) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterBandDrop.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterBandDrop) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterBandDrop.Merge(m, src)
+}
+func (m *OfpMeterBandDrop) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterBandDrop.Size(m)
+}
+func (m *OfpMeterBandDrop) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterBandDrop.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterBandDrop proto.InternalMessageInfo
+
+// OFPMBT_DSCP_REMARK band - Remark DSCP in the IP header
+type OfpMeterBandDscpRemark struct {
+ PrecLevel uint32 `protobuf:"varint,1,opt,name=prec_level,json=precLevel,proto3" json:"prec_level,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterBandDscpRemark) Reset() { *m = OfpMeterBandDscpRemark{} }
+func (m *OfpMeterBandDscpRemark) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterBandDscpRemark) ProtoMessage() {}
+func (*OfpMeterBandDscpRemark) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{37}
+}
+
+func (m *OfpMeterBandDscpRemark) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterBandDscpRemark.Unmarshal(m, b)
+}
+func (m *OfpMeterBandDscpRemark) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterBandDscpRemark.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterBandDscpRemark) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterBandDscpRemark.Merge(m, src)
+}
+func (m *OfpMeterBandDscpRemark) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterBandDscpRemark.Size(m)
+}
+func (m *OfpMeterBandDscpRemark) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterBandDscpRemark.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterBandDscpRemark proto.InternalMessageInfo
+
+func (m *OfpMeterBandDscpRemark) GetPrecLevel() uint32 {
+ if m != nil {
+ return m.PrecLevel
+ }
+ return 0
+}
+
+// OFPMBT_EXPERIMENTER band - Experimenter type.
+// The rest of the band is experimenter-defined.
+type OfpMeterBandExperimenter struct {
+ Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterBandExperimenter) Reset() { *m = OfpMeterBandExperimenter{} }
+func (m *OfpMeterBandExperimenter) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterBandExperimenter) ProtoMessage() {}
+func (*OfpMeterBandExperimenter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{38}
+}
+
+func (m *OfpMeterBandExperimenter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterBandExperimenter.Unmarshal(m, b)
+}
+func (m *OfpMeterBandExperimenter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterBandExperimenter.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterBandExperimenter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterBandExperimenter.Merge(m, src)
+}
+func (m *OfpMeterBandExperimenter) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterBandExperimenter.Size(m)
+}
+func (m *OfpMeterBandExperimenter) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterBandExperimenter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterBandExperimenter proto.InternalMessageInfo
+
+func (m *OfpMeterBandExperimenter) GetExperimenter() uint32 {
+ if m != nil {
+ return m.Experimenter
+ }
+ return 0
+}
+
+// Meter configuration. OFPT_METER_MOD.
+type OfpMeterMod struct {
+ Command OfpMeterModCommand `protobuf:"varint,1,opt,name=command,proto3,enum=openflow_13.OfpMeterModCommand" json:"command,omitempty"`
+ Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"`
+ MeterId uint32 `protobuf:"varint,3,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"`
+ Bands []*OfpMeterBandHeader `protobuf:"bytes,4,rep,name=bands,proto3" json:"bands,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterMod) Reset() { *m = OfpMeterMod{} }
+func (m *OfpMeterMod) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterMod) ProtoMessage() {}
+func (*OfpMeterMod) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{39}
+}
+
+func (m *OfpMeterMod) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterMod.Unmarshal(m, b)
+}
+func (m *OfpMeterMod) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterMod.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterMod) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterMod.Merge(m, src)
+}
+func (m *OfpMeterMod) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterMod.Size(m)
+}
+func (m *OfpMeterMod) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterMod.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterMod proto.InternalMessageInfo
+
+func (m *OfpMeterMod) GetCommand() OfpMeterModCommand {
+ if m != nil {
+ return m.Command
+ }
+ return OfpMeterModCommand_OFPMC_ADD
+}
+
+func (m *OfpMeterMod) GetFlags() uint32 {
+ if m != nil {
+ return m.Flags
+ }
+ return 0
+}
+
+func (m *OfpMeterMod) GetMeterId() uint32 {
+ if m != nil {
+ return m.MeterId
+ }
+ return 0
+}
+
+func (m *OfpMeterMod) GetBands() []*OfpMeterBandHeader {
+ if m != nil {
+ return m.Bands
+ }
+ return nil
+}
+
+// OFPT_ERROR: Error message (datapath -> controller).
+type OfpErrorMsg struct {
+ //ofp_header header;
+ Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
+ Code uint32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"`
+ Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpErrorMsg) Reset() { *m = OfpErrorMsg{} }
+func (m *OfpErrorMsg) String() string { return proto.CompactTextString(m) }
+func (*OfpErrorMsg) ProtoMessage() {}
+func (*OfpErrorMsg) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{40}
+}
+
+func (m *OfpErrorMsg) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpErrorMsg.Unmarshal(m, b)
+}
+func (m *OfpErrorMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpErrorMsg.Marshal(b, m, deterministic)
+}
+func (m *OfpErrorMsg) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpErrorMsg.Merge(m, src)
+}
+func (m *OfpErrorMsg) XXX_Size() int {
+ return xxx_messageInfo_OfpErrorMsg.Size(m)
+}
+func (m *OfpErrorMsg) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpErrorMsg.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpErrorMsg proto.InternalMessageInfo
+
+func (m *OfpErrorMsg) GetType() uint32 {
+ if m != nil {
+ return m.Type
+ }
+ return 0
+}
+
+func (m *OfpErrorMsg) GetCode() uint32 {
+ if m != nil {
+ return m.Code
+ }
+ return 0
+}
+
+func (m *OfpErrorMsg) GetData() []byte {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+// OFPET_EXPERIMENTER: Error message (datapath -> controller).
+type OfpErrorExperimenterMsg struct {
+ Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
+ ExpType uint32 `protobuf:"varint,2,opt,name=exp_type,json=expType,proto3" json:"exp_type,omitempty"`
+ Experimenter uint32 `protobuf:"varint,3,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
+ Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpErrorExperimenterMsg) Reset() { *m = OfpErrorExperimenterMsg{} }
+func (m *OfpErrorExperimenterMsg) String() string { return proto.CompactTextString(m) }
+func (*OfpErrorExperimenterMsg) ProtoMessage() {}
+func (*OfpErrorExperimenterMsg) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{41}
+}
+
+func (m *OfpErrorExperimenterMsg) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpErrorExperimenterMsg.Unmarshal(m, b)
+}
+func (m *OfpErrorExperimenterMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpErrorExperimenterMsg.Marshal(b, m, deterministic)
+}
+func (m *OfpErrorExperimenterMsg) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpErrorExperimenterMsg.Merge(m, src)
+}
+func (m *OfpErrorExperimenterMsg) XXX_Size() int {
+ return xxx_messageInfo_OfpErrorExperimenterMsg.Size(m)
+}
+func (m *OfpErrorExperimenterMsg) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpErrorExperimenterMsg.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpErrorExperimenterMsg proto.InternalMessageInfo
+
+func (m *OfpErrorExperimenterMsg) GetType() uint32 {
+ if m != nil {
+ return m.Type
+ }
+ return 0
+}
+
+func (m *OfpErrorExperimenterMsg) GetExpType() uint32 {
+ if m != nil {
+ return m.ExpType
+ }
+ return 0
+}
+
+func (m *OfpErrorExperimenterMsg) GetExperimenter() uint32 {
+ if m != nil {
+ return m.Experimenter
+ }
+ return 0
+}
+
+func (m *OfpErrorExperimenterMsg) GetData() []byte {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+type OfpMultipartRequest struct {
+ //ofp_header header;
+ Type OfpMultipartType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpMultipartType" json:"type,omitempty"`
+ Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"`
+ Body []byte `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMultipartRequest) Reset() { *m = OfpMultipartRequest{} }
+func (m *OfpMultipartRequest) String() string { return proto.CompactTextString(m) }
+func (*OfpMultipartRequest) ProtoMessage() {}
+func (*OfpMultipartRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{42}
+}
+
+func (m *OfpMultipartRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMultipartRequest.Unmarshal(m, b)
+}
+func (m *OfpMultipartRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMultipartRequest.Marshal(b, m, deterministic)
+}
+func (m *OfpMultipartRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMultipartRequest.Merge(m, src)
+}
+func (m *OfpMultipartRequest) XXX_Size() int {
+ return xxx_messageInfo_OfpMultipartRequest.Size(m)
+}
+func (m *OfpMultipartRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMultipartRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMultipartRequest proto.InternalMessageInfo
+
+func (m *OfpMultipartRequest) GetType() OfpMultipartType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpMultipartType_OFPMP_DESC
+}
+
+func (m *OfpMultipartRequest) GetFlags() uint32 {
+ if m != nil {
+ return m.Flags
+ }
+ return 0
+}
+
+func (m *OfpMultipartRequest) GetBody() []byte {
+ if m != nil {
+ return m.Body
+ }
+ return nil
+}
+
+type OfpMultipartReply struct {
+ //ofp_header header;
+ Type OfpMultipartType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpMultipartType" json:"type,omitempty"`
+ Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"`
+ Body []byte `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMultipartReply) Reset() { *m = OfpMultipartReply{} }
+func (m *OfpMultipartReply) String() string { return proto.CompactTextString(m) }
+func (*OfpMultipartReply) ProtoMessage() {}
+func (*OfpMultipartReply) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{43}
+}
+
+func (m *OfpMultipartReply) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMultipartReply.Unmarshal(m, b)
+}
+func (m *OfpMultipartReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMultipartReply.Marshal(b, m, deterministic)
+}
+func (m *OfpMultipartReply) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMultipartReply.Merge(m, src)
+}
+func (m *OfpMultipartReply) XXX_Size() int {
+ return xxx_messageInfo_OfpMultipartReply.Size(m)
+}
+func (m *OfpMultipartReply) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMultipartReply.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMultipartReply proto.InternalMessageInfo
+
+func (m *OfpMultipartReply) GetType() OfpMultipartType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpMultipartType_OFPMP_DESC
+}
+
+func (m *OfpMultipartReply) GetFlags() uint32 {
+ if m != nil {
+ return m.Flags
+ }
+ return 0
+}
+
+func (m *OfpMultipartReply) GetBody() []byte {
+ if m != nil {
+ return m.Body
+ }
+ return nil
+}
+
+// Body of reply to OFPMP_DESC request. Each entry is a NULL-terminated
+// ASCII string.
+type OfpDesc struct {
+ MfrDesc string `protobuf:"bytes,1,opt,name=mfr_desc,json=mfrDesc,proto3" json:"mfr_desc,omitempty"`
+ HwDesc string `protobuf:"bytes,2,opt,name=hw_desc,json=hwDesc,proto3" json:"hw_desc,omitempty"`
+ SwDesc string `protobuf:"bytes,3,opt,name=sw_desc,json=swDesc,proto3" json:"sw_desc,omitempty"`
+ SerialNum string `protobuf:"bytes,4,opt,name=serial_num,json=serialNum,proto3" json:"serial_num,omitempty"`
+ DpDesc string `protobuf:"bytes,5,opt,name=dp_desc,json=dpDesc,proto3" json:"dp_desc,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpDesc) Reset() { *m = OfpDesc{} }
+func (m *OfpDesc) String() string { return proto.CompactTextString(m) }
+func (*OfpDesc) ProtoMessage() {}
+func (*OfpDesc) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{44}
+}
+
+func (m *OfpDesc) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpDesc.Unmarshal(m, b)
+}
+func (m *OfpDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpDesc.Marshal(b, m, deterministic)
+}
+func (m *OfpDesc) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpDesc.Merge(m, src)
+}
+func (m *OfpDesc) XXX_Size() int {
+ return xxx_messageInfo_OfpDesc.Size(m)
+}
+func (m *OfpDesc) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpDesc.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpDesc proto.InternalMessageInfo
+
+func (m *OfpDesc) GetMfrDesc() string {
+ if m != nil {
+ return m.MfrDesc
+ }
+ return ""
+}
+
+func (m *OfpDesc) GetHwDesc() string {
+ if m != nil {
+ return m.HwDesc
+ }
+ return ""
+}
+
+func (m *OfpDesc) GetSwDesc() string {
+ if m != nil {
+ return m.SwDesc
+ }
+ return ""
+}
+
+func (m *OfpDesc) GetSerialNum() string {
+ if m != nil {
+ return m.SerialNum
+ }
+ return ""
+}
+
+func (m *OfpDesc) GetDpDesc() string {
+ if m != nil {
+ return m.DpDesc
+ }
+ return ""
+}
+
+// Body for ofp_multipart_request of type OFPMP_FLOW.
+type OfpFlowStatsRequest struct {
+ TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ OutPort uint32 `protobuf:"varint,2,opt,name=out_port,json=outPort,proto3" json:"out_port,omitempty"`
+ OutGroup uint32 `protobuf:"varint,3,opt,name=out_group,json=outGroup,proto3" json:"out_group,omitempty"`
+ Cookie uint64 `protobuf:"varint,4,opt,name=cookie,proto3" json:"cookie,omitempty"`
+ CookieMask uint64 `protobuf:"varint,5,opt,name=cookie_mask,json=cookieMask,proto3" json:"cookie_mask,omitempty"`
+ Match *OfpMatch `protobuf:"bytes,6,opt,name=match,proto3" json:"match,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpFlowStatsRequest) Reset() { *m = OfpFlowStatsRequest{} }
+func (m *OfpFlowStatsRequest) String() string { return proto.CompactTextString(m) }
+func (*OfpFlowStatsRequest) ProtoMessage() {}
+func (*OfpFlowStatsRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{45}
+}
+
+func (m *OfpFlowStatsRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpFlowStatsRequest.Unmarshal(m, b)
+}
+func (m *OfpFlowStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpFlowStatsRequest.Marshal(b, m, deterministic)
+}
+func (m *OfpFlowStatsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpFlowStatsRequest.Merge(m, src)
+}
+func (m *OfpFlowStatsRequest) XXX_Size() int {
+ return xxx_messageInfo_OfpFlowStatsRequest.Size(m)
+}
+func (m *OfpFlowStatsRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpFlowStatsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpFlowStatsRequest proto.InternalMessageInfo
+
+func (m *OfpFlowStatsRequest) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+func (m *OfpFlowStatsRequest) GetOutPort() uint32 {
+ if m != nil {
+ return m.OutPort
+ }
+ return 0
+}
+
+func (m *OfpFlowStatsRequest) GetOutGroup() uint32 {
+ if m != nil {
+ return m.OutGroup
+ }
+ return 0
+}
+
+func (m *OfpFlowStatsRequest) GetCookie() uint64 {
+ if m != nil {
+ return m.Cookie
+ }
+ return 0
+}
+
+func (m *OfpFlowStatsRequest) GetCookieMask() uint64 {
+ if m != nil {
+ return m.CookieMask
+ }
+ return 0
+}
+
+func (m *OfpFlowStatsRequest) GetMatch() *OfpMatch {
+ if m != nil {
+ return m.Match
+ }
+ return nil
+}
+
+// Body of reply to OFPMP_FLOW request.
+type OfpFlowStats struct {
+ Id uint64 `protobuf:"varint,14,opt,name=id,proto3" json:"id,omitempty"`
+ TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ DurationSec uint32 `protobuf:"varint,2,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"`
+ DurationNsec uint32 `protobuf:"varint,3,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
+ Priority uint32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"`
+ IdleTimeout uint32 `protobuf:"varint,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
+ HardTimeout uint32 `protobuf:"varint,6,opt,name=hard_timeout,json=hardTimeout,proto3" json:"hard_timeout,omitempty"`
+ Flags uint32 `protobuf:"varint,7,opt,name=flags,proto3" json:"flags,omitempty"`
+ Cookie uint64 `protobuf:"varint,8,opt,name=cookie,proto3" json:"cookie,omitempty"`
+ PacketCount uint64 `protobuf:"varint,9,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"`
+ ByteCount uint64 `protobuf:"varint,10,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"`
+ Match *OfpMatch `protobuf:"bytes,12,opt,name=match,proto3" json:"match,omitempty"`
+ Instructions []*OfpInstruction `protobuf:"bytes,13,rep,name=instructions,proto3" json:"instructions,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpFlowStats) Reset() { *m = OfpFlowStats{} }
+func (m *OfpFlowStats) String() string { return proto.CompactTextString(m) }
+func (*OfpFlowStats) ProtoMessage() {}
+func (*OfpFlowStats) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{46}
+}
+
+func (m *OfpFlowStats) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpFlowStats.Unmarshal(m, b)
+}
+func (m *OfpFlowStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpFlowStats.Marshal(b, m, deterministic)
+}
+func (m *OfpFlowStats) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpFlowStats.Merge(m, src)
+}
+func (m *OfpFlowStats) XXX_Size() int {
+ return xxx_messageInfo_OfpFlowStats.Size(m)
+}
+func (m *OfpFlowStats) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpFlowStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpFlowStats proto.InternalMessageInfo
+
+func (m *OfpFlowStats) GetId() uint64 {
+ if m != nil {
+ return m.Id
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetDurationSec() uint32 {
+ if m != nil {
+ return m.DurationSec
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetDurationNsec() uint32 {
+ if m != nil {
+ return m.DurationNsec
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetPriority() uint32 {
+ if m != nil {
+ return m.Priority
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetIdleTimeout() uint32 {
+ if m != nil {
+ return m.IdleTimeout
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetHardTimeout() uint32 {
+ if m != nil {
+ return m.HardTimeout
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetFlags() uint32 {
+ if m != nil {
+ return m.Flags
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetCookie() uint64 {
+ if m != nil {
+ return m.Cookie
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetPacketCount() uint64 {
+ if m != nil {
+ return m.PacketCount
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetByteCount() uint64 {
+ if m != nil {
+ return m.ByteCount
+ }
+ return 0
+}
+
+func (m *OfpFlowStats) GetMatch() *OfpMatch {
+ if m != nil {
+ return m.Match
+ }
+ return nil
+}
+
+func (m *OfpFlowStats) GetInstructions() []*OfpInstruction {
+ if m != nil {
+ return m.Instructions
+ }
+ return nil
+}
+
+// Body for ofp_multipart_request of type OFPMP_AGGREGATE.
+type OfpAggregateStatsRequest struct {
+ TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ OutPort uint32 `protobuf:"varint,2,opt,name=out_port,json=outPort,proto3" json:"out_port,omitempty"`
+ OutGroup uint32 `protobuf:"varint,3,opt,name=out_group,json=outGroup,proto3" json:"out_group,omitempty"`
+ Cookie uint64 `protobuf:"varint,4,opt,name=cookie,proto3" json:"cookie,omitempty"`
+ CookieMask uint64 `protobuf:"varint,5,opt,name=cookie_mask,json=cookieMask,proto3" json:"cookie_mask,omitempty"`
+ Match *OfpMatch `protobuf:"bytes,6,opt,name=match,proto3" json:"match,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpAggregateStatsRequest) Reset() { *m = OfpAggregateStatsRequest{} }
+func (m *OfpAggregateStatsRequest) String() string { return proto.CompactTextString(m) }
+func (*OfpAggregateStatsRequest) ProtoMessage() {}
+func (*OfpAggregateStatsRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{47}
+}
+
+func (m *OfpAggregateStatsRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpAggregateStatsRequest.Unmarshal(m, b)
+}
+func (m *OfpAggregateStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpAggregateStatsRequest.Marshal(b, m, deterministic)
+}
+func (m *OfpAggregateStatsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpAggregateStatsRequest.Merge(m, src)
+}
+func (m *OfpAggregateStatsRequest) XXX_Size() int {
+ return xxx_messageInfo_OfpAggregateStatsRequest.Size(m)
+}
+func (m *OfpAggregateStatsRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpAggregateStatsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpAggregateStatsRequest proto.InternalMessageInfo
+
+func (m *OfpAggregateStatsRequest) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+func (m *OfpAggregateStatsRequest) GetOutPort() uint32 {
+ if m != nil {
+ return m.OutPort
+ }
+ return 0
+}
+
+func (m *OfpAggregateStatsRequest) GetOutGroup() uint32 {
+ if m != nil {
+ return m.OutGroup
+ }
+ return 0
+}
+
+func (m *OfpAggregateStatsRequest) GetCookie() uint64 {
+ if m != nil {
+ return m.Cookie
+ }
+ return 0
+}
+
+func (m *OfpAggregateStatsRequest) GetCookieMask() uint64 {
+ if m != nil {
+ return m.CookieMask
+ }
+ return 0
+}
+
+func (m *OfpAggregateStatsRequest) GetMatch() *OfpMatch {
+ if m != nil {
+ return m.Match
+ }
+ return nil
+}
+
+// Body of reply to OFPMP_AGGREGATE request.
+type OfpAggregateStatsReply struct {
+ PacketCount uint64 `protobuf:"varint,1,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"`
+ ByteCount uint64 `protobuf:"varint,2,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"`
+ FlowCount uint32 `protobuf:"varint,3,opt,name=flow_count,json=flowCount,proto3" json:"flow_count,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpAggregateStatsReply) Reset() { *m = OfpAggregateStatsReply{} }
+func (m *OfpAggregateStatsReply) String() string { return proto.CompactTextString(m) }
+func (*OfpAggregateStatsReply) ProtoMessage() {}
+func (*OfpAggregateStatsReply) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{48}
+}
+
+func (m *OfpAggregateStatsReply) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpAggregateStatsReply.Unmarshal(m, b)
+}
+func (m *OfpAggregateStatsReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpAggregateStatsReply.Marshal(b, m, deterministic)
+}
+func (m *OfpAggregateStatsReply) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpAggregateStatsReply.Merge(m, src)
+}
+func (m *OfpAggregateStatsReply) XXX_Size() int {
+ return xxx_messageInfo_OfpAggregateStatsReply.Size(m)
+}
+func (m *OfpAggregateStatsReply) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpAggregateStatsReply.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpAggregateStatsReply proto.InternalMessageInfo
+
+func (m *OfpAggregateStatsReply) GetPacketCount() uint64 {
+ if m != nil {
+ return m.PacketCount
+ }
+ return 0
+}
+
+func (m *OfpAggregateStatsReply) GetByteCount() uint64 {
+ if m != nil {
+ return m.ByteCount
+ }
+ return 0
+}
+
+func (m *OfpAggregateStatsReply) GetFlowCount() uint32 {
+ if m != nil {
+ return m.FlowCount
+ }
+ return 0
+}
+
+// Common header for all Table Feature Properties
+type OfpTableFeatureProperty struct {
+ Type OfpTableFeaturePropType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpTableFeaturePropType" json:"type,omitempty"`
+ // Types that are valid to be assigned to Value:
+ // *OfpTableFeatureProperty_Instructions
+ // *OfpTableFeatureProperty_NextTables
+ // *OfpTableFeatureProperty_Actions
+ // *OfpTableFeatureProperty_Oxm
+ // *OfpTableFeatureProperty_Experimenter
+ Value isOfpTableFeatureProperty_Value `protobuf_oneof:"value"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpTableFeatureProperty) Reset() { *m = OfpTableFeatureProperty{} }
+func (m *OfpTableFeatureProperty) String() string { return proto.CompactTextString(m) }
+func (*OfpTableFeatureProperty) ProtoMessage() {}
+func (*OfpTableFeatureProperty) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{49}
+}
+
+func (m *OfpTableFeatureProperty) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpTableFeatureProperty.Unmarshal(m, b)
+}
+func (m *OfpTableFeatureProperty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpTableFeatureProperty.Marshal(b, m, deterministic)
+}
+func (m *OfpTableFeatureProperty) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpTableFeatureProperty.Merge(m, src)
+}
+func (m *OfpTableFeatureProperty) XXX_Size() int {
+ return xxx_messageInfo_OfpTableFeatureProperty.Size(m)
+}
+func (m *OfpTableFeatureProperty) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpTableFeatureProperty.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpTableFeatureProperty proto.InternalMessageInfo
+
+func (m *OfpTableFeatureProperty) GetType() OfpTableFeaturePropType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS
+}
+
+type isOfpTableFeatureProperty_Value interface {
+ isOfpTableFeatureProperty_Value()
+}
+
+type OfpTableFeatureProperty_Instructions struct {
+ Instructions *OfpTableFeaturePropInstructions `protobuf:"bytes,2,opt,name=instructions,proto3,oneof"`
+}
+
+type OfpTableFeatureProperty_NextTables struct {
+ NextTables *OfpTableFeaturePropNextTables `protobuf:"bytes,3,opt,name=next_tables,json=nextTables,proto3,oneof"`
+}
+
+type OfpTableFeatureProperty_Actions struct {
+ Actions *OfpTableFeaturePropActions `protobuf:"bytes,4,opt,name=actions,proto3,oneof"`
+}
+
+type OfpTableFeatureProperty_Oxm struct {
+ Oxm *OfpTableFeaturePropOxm `protobuf:"bytes,5,opt,name=oxm,proto3,oneof"`
+}
+
+type OfpTableFeatureProperty_Experimenter struct {
+ Experimenter *OfpTableFeaturePropExperimenter `protobuf:"bytes,6,opt,name=experimenter,proto3,oneof"`
+}
+
+func (*OfpTableFeatureProperty_Instructions) isOfpTableFeatureProperty_Value() {}
+
+func (*OfpTableFeatureProperty_NextTables) isOfpTableFeatureProperty_Value() {}
+
+func (*OfpTableFeatureProperty_Actions) isOfpTableFeatureProperty_Value() {}
+
+func (*OfpTableFeatureProperty_Oxm) isOfpTableFeatureProperty_Value() {}
+
+func (*OfpTableFeatureProperty_Experimenter) isOfpTableFeatureProperty_Value() {}
+
+func (m *OfpTableFeatureProperty) GetValue() isOfpTableFeatureProperty_Value {
+ if m != nil {
+ return m.Value
+ }
+ return nil
+}
+
+func (m *OfpTableFeatureProperty) GetInstructions() *OfpTableFeaturePropInstructions {
+ if x, ok := m.GetValue().(*OfpTableFeatureProperty_Instructions); ok {
+ return x.Instructions
+ }
+ return nil
+}
+
+func (m *OfpTableFeatureProperty) GetNextTables() *OfpTableFeaturePropNextTables {
+ if x, ok := m.GetValue().(*OfpTableFeatureProperty_NextTables); ok {
+ return x.NextTables
+ }
+ return nil
+}
+
+func (m *OfpTableFeatureProperty) GetActions() *OfpTableFeaturePropActions {
+ if x, ok := m.GetValue().(*OfpTableFeatureProperty_Actions); ok {
+ return x.Actions
+ }
+ return nil
+}
+
+func (m *OfpTableFeatureProperty) GetOxm() *OfpTableFeaturePropOxm {
+ if x, ok := m.GetValue().(*OfpTableFeatureProperty_Oxm); ok {
+ return x.Oxm
+ }
+ return nil
+}
+
+func (m *OfpTableFeatureProperty) GetExperimenter() *OfpTableFeaturePropExperimenter {
+ if x, ok := m.GetValue().(*OfpTableFeatureProperty_Experimenter); ok {
+ return x.Experimenter
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OfpTableFeatureProperty) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*OfpTableFeatureProperty_Instructions)(nil),
+ (*OfpTableFeatureProperty_NextTables)(nil),
+ (*OfpTableFeatureProperty_Actions)(nil),
+ (*OfpTableFeatureProperty_Oxm)(nil),
+ (*OfpTableFeatureProperty_Experimenter)(nil),
+ }
+}
+
+// Instructions property
+type OfpTableFeaturePropInstructions struct {
+ // One of OFPTFPT_INSTRUCTIONS,
+ //OFPTFPT_INSTRUCTIONS_MISS.
+ Instructions []*OfpInstruction `protobuf:"bytes,1,rep,name=instructions,proto3" json:"instructions,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpTableFeaturePropInstructions) Reset() { *m = OfpTableFeaturePropInstructions{} }
+func (m *OfpTableFeaturePropInstructions) String() string { return proto.CompactTextString(m) }
+func (*OfpTableFeaturePropInstructions) ProtoMessage() {}
+func (*OfpTableFeaturePropInstructions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{50}
+}
+
+func (m *OfpTableFeaturePropInstructions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpTableFeaturePropInstructions.Unmarshal(m, b)
+}
+func (m *OfpTableFeaturePropInstructions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpTableFeaturePropInstructions.Marshal(b, m, deterministic)
+}
+func (m *OfpTableFeaturePropInstructions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpTableFeaturePropInstructions.Merge(m, src)
+}
+func (m *OfpTableFeaturePropInstructions) XXX_Size() int {
+ return xxx_messageInfo_OfpTableFeaturePropInstructions.Size(m)
+}
+func (m *OfpTableFeaturePropInstructions) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpTableFeaturePropInstructions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpTableFeaturePropInstructions proto.InternalMessageInfo
+
+func (m *OfpTableFeaturePropInstructions) GetInstructions() []*OfpInstruction {
+ if m != nil {
+ return m.Instructions
+ }
+ return nil
+}
+
+// Next Tables property
+type OfpTableFeaturePropNextTables struct {
+ // One of OFPTFPT_NEXT_TABLES,
+ //OFPTFPT_NEXT_TABLES_MISS.
+ NextTableIds []uint32 `protobuf:"varint,1,rep,packed,name=next_table_ids,json=nextTableIds,proto3" json:"next_table_ids,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpTableFeaturePropNextTables) Reset() { *m = OfpTableFeaturePropNextTables{} }
+func (m *OfpTableFeaturePropNextTables) String() string { return proto.CompactTextString(m) }
+func (*OfpTableFeaturePropNextTables) ProtoMessage() {}
+func (*OfpTableFeaturePropNextTables) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{51}
+}
+
+func (m *OfpTableFeaturePropNextTables) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpTableFeaturePropNextTables.Unmarshal(m, b)
+}
+func (m *OfpTableFeaturePropNextTables) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpTableFeaturePropNextTables.Marshal(b, m, deterministic)
+}
+func (m *OfpTableFeaturePropNextTables) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpTableFeaturePropNextTables.Merge(m, src)
+}
+func (m *OfpTableFeaturePropNextTables) XXX_Size() int {
+ return xxx_messageInfo_OfpTableFeaturePropNextTables.Size(m)
+}
+func (m *OfpTableFeaturePropNextTables) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpTableFeaturePropNextTables.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpTableFeaturePropNextTables proto.InternalMessageInfo
+
+func (m *OfpTableFeaturePropNextTables) GetNextTableIds() []uint32 {
+ if m != nil {
+ return m.NextTableIds
+ }
+ return nil
+}
+
+// Actions property
+type OfpTableFeaturePropActions struct {
+ // One of OFPTFPT_WRITE_ACTIONS,
+ //OFPTFPT_WRITE_ACTIONS_MISS,
+ //OFPTFPT_APPLY_ACTIONS,
+ //OFPTFPT_APPLY_ACTIONS_MISS.
+ Actions []*OfpAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpTableFeaturePropActions) Reset() { *m = OfpTableFeaturePropActions{} }
+func (m *OfpTableFeaturePropActions) String() string { return proto.CompactTextString(m) }
+func (*OfpTableFeaturePropActions) ProtoMessage() {}
+func (*OfpTableFeaturePropActions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{52}
+}
+
+func (m *OfpTableFeaturePropActions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpTableFeaturePropActions.Unmarshal(m, b)
+}
+func (m *OfpTableFeaturePropActions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpTableFeaturePropActions.Marshal(b, m, deterministic)
+}
+func (m *OfpTableFeaturePropActions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpTableFeaturePropActions.Merge(m, src)
+}
+func (m *OfpTableFeaturePropActions) XXX_Size() int {
+ return xxx_messageInfo_OfpTableFeaturePropActions.Size(m)
+}
+func (m *OfpTableFeaturePropActions) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpTableFeaturePropActions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpTableFeaturePropActions proto.InternalMessageInfo
+
+func (m *OfpTableFeaturePropActions) GetActions() []*OfpAction {
+ if m != nil {
+ return m.Actions
+ }
+ return nil
+}
+
+// Match, Wildcard or Set-Field property
+type OfpTableFeaturePropOxm struct {
+ // TODO is this a uint32???
+ OxmIds []uint32 `protobuf:"varint,3,rep,packed,name=oxm_ids,json=oxmIds,proto3" json:"oxm_ids,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpTableFeaturePropOxm) Reset() { *m = OfpTableFeaturePropOxm{} }
+func (m *OfpTableFeaturePropOxm) String() string { return proto.CompactTextString(m) }
+func (*OfpTableFeaturePropOxm) ProtoMessage() {}
+func (*OfpTableFeaturePropOxm) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{53}
+}
+
+func (m *OfpTableFeaturePropOxm) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpTableFeaturePropOxm.Unmarshal(m, b)
+}
+func (m *OfpTableFeaturePropOxm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpTableFeaturePropOxm.Marshal(b, m, deterministic)
+}
+func (m *OfpTableFeaturePropOxm) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpTableFeaturePropOxm.Merge(m, src)
+}
+func (m *OfpTableFeaturePropOxm) XXX_Size() int {
+ return xxx_messageInfo_OfpTableFeaturePropOxm.Size(m)
+}
+func (m *OfpTableFeaturePropOxm) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpTableFeaturePropOxm.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpTableFeaturePropOxm proto.InternalMessageInfo
+
+func (m *OfpTableFeaturePropOxm) GetOxmIds() []uint32 {
+ if m != nil {
+ return m.OxmIds
+ }
+ return nil
+}
+
+// Experimenter table feature property
+type OfpTableFeaturePropExperimenter struct {
+ // One of OFPTFPT_EXPERIMENTER,
+ //OFPTFPT_EXPERIMENTER_MISS.
+ Experimenter uint32 `protobuf:"varint,2,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
+ ExpType uint32 `protobuf:"varint,3,opt,name=exp_type,json=expType,proto3" json:"exp_type,omitempty"`
+ ExperimenterData []uint32 `protobuf:"varint,4,rep,packed,name=experimenter_data,json=experimenterData,proto3" json:"experimenter_data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpTableFeaturePropExperimenter) Reset() { *m = OfpTableFeaturePropExperimenter{} }
+func (m *OfpTableFeaturePropExperimenter) String() string { return proto.CompactTextString(m) }
+func (*OfpTableFeaturePropExperimenter) ProtoMessage() {}
+func (*OfpTableFeaturePropExperimenter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{54}
+}
+
+func (m *OfpTableFeaturePropExperimenter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpTableFeaturePropExperimenter.Unmarshal(m, b)
+}
+func (m *OfpTableFeaturePropExperimenter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpTableFeaturePropExperimenter.Marshal(b, m, deterministic)
+}
+func (m *OfpTableFeaturePropExperimenter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpTableFeaturePropExperimenter.Merge(m, src)
+}
+func (m *OfpTableFeaturePropExperimenter) XXX_Size() int {
+ return xxx_messageInfo_OfpTableFeaturePropExperimenter.Size(m)
+}
+func (m *OfpTableFeaturePropExperimenter) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpTableFeaturePropExperimenter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpTableFeaturePropExperimenter proto.InternalMessageInfo
+
+func (m *OfpTableFeaturePropExperimenter) GetExperimenter() uint32 {
+ if m != nil {
+ return m.Experimenter
+ }
+ return 0
+}
+
+func (m *OfpTableFeaturePropExperimenter) GetExpType() uint32 {
+ if m != nil {
+ return m.ExpType
+ }
+ return 0
+}
+
+func (m *OfpTableFeaturePropExperimenter) GetExperimenterData() []uint32 {
+ if m != nil {
+ return m.ExperimenterData
+ }
+ return nil
+}
+
+// Body for ofp_multipart_request of type OFPMP_TABLE_FEATURES./
+// Body of reply to OFPMP_TABLE_FEATURES request.
+type OfpTableFeatures struct {
+ TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+ MetadataMatch uint64 `protobuf:"varint,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"`
+ MetadataWrite uint64 `protobuf:"varint,4,opt,name=metadata_write,json=metadataWrite,proto3" json:"metadata_write,omitempty"`
+ Config uint32 `protobuf:"varint,5,opt,name=config,proto3" json:"config,omitempty"`
+ MaxEntries uint32 `protobuf:"varint,6,opt,name=max_entries,json=maxEntries,proto3" json:"max_entries,omitempty"`
+ // Table Feature Property list
+ Properties []*OfpTableFeatureProperty `protobuf:"bytes,7,rep,name=properties,proto3" json:"properties,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpTableFeatures) Reset() { *m = OfpTableFeatures{} }
+func (m *OfpTableFeatures) String() string { return proto.CompactTextString(m) }
+func (*OfpTableFeatures) ProtoMessage() {}
+func (*OfpTableFeatures) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{55}
+}
+
+func (m *OfpTableFeatures) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpTableFeatures.Unmarshal(m, b)
+}
+func (m *OfpTableFeatures) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpTableFeatures.Marshal(b, m, deterministic)
+}
+func (m *OfpTableFeatures) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpTableFeatures.Merge(m, src)
+}
+func (m *OfpTableFeatures) XXX_Size() int {
+ return xxx_messageInfo_OfpTableFeatures.Size(m)
+}
+func (m *OfpTableFeatures) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpTableFeatures.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpTableFeatures proto.InternalMessageInfo
+
+func (m *OfpTableFeatures) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+func (m *OfpTableFeatures) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *OfpTableFeatures) GetMetadataMatch() uint64 {
+ if m != nil {
+ return m.MetadataMatch
+ }
+ return 0
+}
+
+func (m *OfpTableFeatures) GetMetadataWrite() uint64 {
+ if m != nil {
+ return m.MetadataWrite
+ }
+ return 0
+}
+
+func (m *OfpTableFeatures) GetConfig() uint32 {
+ if m != nil {
+ return m.Config
+ }
+ return 0
+}
+
+func (m *OfpTableFeatures) GetMaxEntries() uint32 {
+ if m != nil {
+ return m.MaxEntries
+ }
+ return 0
+}
+
+func (m *OfpTableFeatures) GetProperties() []*OfpTableFeatureProperty {
+ if m != nil {
+ return m.Properties
+ }
+ return nil
+}
+
+// Body of reply to OFPMP_TABLE request.
+type OfpTableStats struct {
+ TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
+ ActiveCount uint32 `protobuf:"varint,2,opt,name=active_count,json=activeCount,proto3" json:"active_count,omitempty"`
+ LookupCount uint64 `protobuf:"varint,3,opt,name=lookup_count,json=lookupCount,proto3" json:"lookup_count,omitempty"`
+ MatchedCount uint64 `protobuf:"varint,4,opt,name=matched_count,json=matchedCount,proto3" json:"matched_count,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpTableStats) Reset() { *m = OfpTableStats{} }
+func (m *OfpTableStats) String() string { return proto.CompactTextString(m) }
+func (*OfpTableStats) ProtoMessage() {}
+func (*OfpTableStats) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{56}
+}
+
+func (m *OfpTableStats) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpTableStats.Unmarshal(m, b)
+}
+func (m *OfpTableStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpTableStats.Marshal(b, m, deterministic)
+}
+func (m *OfpTableStats) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpTableStats.Merge(m, src)
+}
+func (m *OfpTableStats) XXX_Size() int {
+ return xxx_messageInfo_OfpTableStats.Size(m)
+}
+func (m *OfpTableStats) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpTableStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpTableStats proto.InternalMessageInfo
+
+func (m *OfpTableStats) GetTableId() uint32 {
+ if m != nil {
+ return m.TableId
+ }
+ return 0
+}
+
+func (m *OfpTableStats) GetActiveCount() uint32 {
+ if m != nil {
+ return m.ActiveCount
+ }
+ return 0
+}
+
+func (m *OfpTableStats) GetLookupCount() uint64 {
+ if m != nil {
+ return m.LookupCount
+ }
+ return 0
+}
+
+func (m *OfpTableStats) GetMatchedCount() uint64 {
+ if m != nil {
+ return m.MatchedCount
+ }
+ return 0
+}
+
+// Body for ofp_multipart_request of type OFPMP_PORT.
+type OfpPortStatsRequest struct {
+ PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpPortStatsRequest) Reset() { *m = OfpPortStatsRequest{} }
+func (m *OfpPortStatsRequest) String() string { return proto.CompactTextString(m) }
+func (*OfpPortStatsRequest) ProtoMessage() {}
+func (*OfpPortStatsRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{57}
+}
+
+func (m *OfpPortStatsRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpPortStatsRequest.Unmarshal(m, b)
+}
+func (m *OfpPortStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpPortStatsRequest.Marshal(b, m, deterministic)
+}
+func (m *OfpPortStatsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpPortStatsRequest.Merge(m, src)
+}
+func (m *OfpPortStatsRequest) XXX_Size() int {
+ return xxx_messageInfo_OfpPortStatsRequest.Size(m)
+}
+func (m *OfpPortStatsRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpPortStatsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpPortStatsRequest proto.InternalMessageInfo
+
+func (m *OfpPortStatsRequest) GetPortNo() uint32 {
+ if m != nil {
+ return m.PortNo
+ }
+ return 0
+}
+
+// Body of reply to OFPMP_PORT request. If a counter is unsupported, set
+// the field to all ones.
+type OfpPortStats struct {
+ PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ RxPackets uint64 `protobuf:"varint,2,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
+ TxPackets uint64 `protobuf:"varint,3,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
+ RxBytes uint64 `protobuf:"varint,4,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
+ TxBytes uint64 `protobuf:"varint,5,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
+ RxDropped uint64 `protobuf:"varint,6,opt,name=rx_dropped,json=rxDropped,proto3" json:"rx_dropped,omitempty"`
+ TxDropped uint64 `protobuf:"varint,7,opt,name=tx_dropped,json=txDropped,proto3" json:"tx_dropped,omitempty"`
+ RxErrors uint64 `protobuf:"varint,8,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
+ TxErrors uint64 `protobuf:"varint,9,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
+ RxFrameErr uint64 `protobuf:"varint,10,opt,name=rx_frame_err,json=rxFrameErr,proto3" json:"rx_frame_err,omitempty"`
+ RxOverErr uint64 `protobuf:"varint,11,opt,name=rx_over_err,json=rxOverErr,proto3" json:"rx_over_err,omitempty"`
+ RxCrcErr uint64 `protobuf:"varint,12,opt,name=rx_crc_err,json=rxCrcErr,proto3" json:"rx_crc_err,omitempty"`
+ Collisions uint64 `protobuf:"varint,13,opt,name=collisions,proto3" json:"collisions,omitempty"`
+ DurationSec uint32 `protobuf:"varint,14,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"`
+ DurationNsec uint32 `protobuf:"varint,15,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpPortStats) Reset() { *m = OfpPortStats{} }
+func (m *OfpPortStats) String() string { return proto.CompactTextString(m) }
+func (*OfpPortStats) ProtoMessage() {}
+func (*OfpPortStats) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{58}
+}
+
+func (m *OfpPortStats) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpPortStats.Unmarshal(m, b)
+}
+func (m *OfpPortStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpPortStats.Marshal(b, m, deterministic)
+}
+func (m *OfpPortStats) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpPortStats.Merge(m, src)
+}
+func (m *OfpPortStats) XXX_Size() int {
+ return xxx_messageInfo_OfpPortStats.Size(m)
+}
+func (m *OfpPortStats) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpPortStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpPortStats proto.InternalMessageInfo
+
+func (m *OfpPortStats) GetPortNo() uint32 {
+ if m != nil {
+ return m.PortNo
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetRxPackets() uint64 {
+ if m != nil {
+ return m.RxPackets
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetTxPackets() uint64 {
+ if m != nil {
+ return m.TxPackets
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetRxBytes() uint64 {
+ if m != nil {
+ return m.RxBytes
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetTxBytes() uint64 {
+ if m != nil {
+ return m.TxBytes
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetRxDropped() uint64 {
+ if m != nil {
+ return m.RxDropped
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetTxDropped() uint64 {
+ if m != nil {
+ return m.TxDropped
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetRxErrors() uint64 {
+ if m != nil {
+ return m.RxErrors
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetTxErrors() uint64 {
+ if m != nil {
+ return m.TxErrors
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetRxFrameErr() uint64 {
+ if m != nil {
+ return m.RxFrameErr
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetRxOverErr() uint64 {
+ if m != nil {
+ return m.RxOverErr
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetRxCrcErr() uint64 {
+ if m != nil {
+ return m.RxCrcErr
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetCollisions() uint64 {
+ if m != nil {
+ return m.Collisions
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetDurationSec() uint32 {
+ if m != nil {
+ return m.DurationSec
+ }
+ return 0
+}
+
+func (m *OfpPortStats) GetDurationNsec() uint32 {
+ if m != nil {
+ return m.DurationNsec
+ }
+ return 0
+}
+
+// Body of OFPMP_GROUP request.
+type OfpGroupStatsRequest struct {
+ GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpGroupStatsRequest) Reset() { *m = OfpGroupStatsRequest{} }
+func (m *OfpGroupStatsRequest) String() string { return proto.CompactTextString(m) }
+func (*OfpGroupStatsRequest) ProtoMessage() {}
+func (*OfpGroupStatsRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{59}
+}
+
+func (m *OfpGroupStatsRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpGroupStatsRequest.Unmarshal(m, b)
+}
+func (m *OfpGroupStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpGroupStatsRequest.Marshal(b, m, deterministic)
+}
+func (m *OfpGroupStatsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpGroupStatsRequest.Merge(m, src)
+}
+func (m *OfpGroupStatsRequest) XXX_Size() int {
+ return xxx_messageInfo_OfpGroupStatsRequest.Size(m)
+}
+func (m *OfpGroupStatsRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpGroupStatsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpGroupStatsRequest proto.InternalMessageInfo
+
+func (m *OfpGroupStatsRequest) GetGroupId() uint32 {
+ if m != nil {
+ return m.GroupId
+ }
+ return 0
+}
+
+// Used in group stats replies.
+type OfpBucketCounter struct {
+ PacketCount uint64 `protobuf:"varint,1,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"`
+ ByteCount uint64 `protobuf:"varint,2,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpBucketCounter) Reset() { *m = OfpBucketCounter{} }
+func (m *OfpBucketCounter) String() string { return proto.CompactTextString(m) }
+func (*OfpBucketCounter) ProtoMessage() {}
+func (*OfpBucketCounter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{60}
+}
+
+func (m *OfpBucketCounter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpBucketCounter.Unmarshal(m, b)
+}
+func (m *OfpBucketCounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpBucketCounter.Marshal(b, m, deterministic)
+}
+func (m *OfpBucketCounter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpBucketCounter.Merge(m, src)
+}
+func (m *OfpBucketCounter) XXX_Size() int {
+ return xxx_messageInfo_OfpBucketCounter.Size(m)
+}
+func (m *OfpBucketCounter) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpBucketCounter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpBucketCounter proto.InternalMessageInfo
+
+func (m *OfpBucketCounter) GetPacketCount() uint64 {
+ if m != nil {
+ return m.PacketCount
+ }
+ return 0
+}
+
+func (m *OfpBucketCounter) GetByteCount() uint64 {
+ if m != nil {
+ return m.ByteCount
+ }
+ return 0
+}
+
+// Body of reply to OFPMP_GROUP request.
+type OfpGroupStats struct {
+ GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ RefCount uint32 `protobuf:"varint,2,opt,name=ref_count,json=refCount,proto3" json:"ref_count,omitempty"`
+ PacketCount uint64 `protobuf:"varint,3,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"`
+ ByteCount uint64 `protobuf:"varint,4,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"`
+ DurationSec uint32 `protobuf:"varint,5,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"`
+ DurationNsec uint32 `protobuf:"varint,6,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
+ BucketStats []*OfpBucketCounter `protobuf:"bytes,7,rep,name=bucket_stats,json=bucketStats,proto3" json:"bucket_stats,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpGroupStats) Reset() { *m = OfpGroupStats{} }
+func (m *OfpGroupStats) String() string { return proto.CompactTextString(m) }
+func (*OfpGroupStats) ProtoMessage() {}
+func (*OfpGroupStats) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{61}
+}
+
+func (m *OfpGroupStats) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpGroupStats.Unmarshal(m, b)
+}
+func (m *OfpGroupStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpGroupStats.Marshal(b, m, deterministic)
+}
+func (m *OfpGroupStats) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpGroupStats.Merge(m, src)
+}
+func (m *OfpGroupStats) XXX_Size() int {
+ return xxx_messageInfo_OfpGroupStats.Size(m)
+}
+func (m *OfpGroupStats) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpGroupStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpGroupStats proto.InternalMessageInfo
+
+func (m *OfpGroupStats) GetGroupId() uint32 {
+ if m != nil {
+ return m.GroupId
+ }
+ return 0
+}
+
+func (m *OfpGroupStats) GetRefCount() uint32 {
+ if m != nil {
+ return m.RefCount
+ }
+ return 0
+}
+
+func (m *OfpGroupStats) GetPacketCount() uint64 {
+ if m != nil {
+ return m.PacketCount
+ }
+ return 0
+}
+
+func (m *OfpGroupStats) GetByteCount() uint64 {
+ if m != nil {
+ return m.ByteCount
+ }
+ return 0
+}
+
+func (m *OfpGroupStats) GetDurationSec() uint32 {
+ if m != nil {
+ return m.DurationSec
+ }
+ return 0
+}
+
+func (m *OfpGroupStats) GetDurationNsec() uint32 {
+ if m != nil {
+ return m.DurationNsec
+ }
+ return 0
+}
+
+func (m *OfpGroupStats) GetBucketStats() []*OfpBucketCounter {
+ if m != nil {
+ return m.BucketStats
+ }
+ return nil
+}
+
+// Body of reply to OFPMP_GROUP_DESC request.
+type OfpGroupDesc struct {
+ Type OfpGroupType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpGroupType" json:"type,omitempty"`
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ Buckets []*OfpBucket `protobuf:"bytes,3,rep,name=buckets,proto3" json:"buckets,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpGroupDesc) Reset() { *m = OfpGroupDesc{} }
+func (m *OfpGroupDesc) String() string { return proto.CompactTextString(m) }
+func (*OfpGroupDesc) ProtoMessage() {}
+func (*OfpGroupDesc) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{62}
+}
+
+func (m *OfpGroupDesc) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpGroupDesc.Unmarshal(m, b)
+}
+func (m *OfpGroupDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpGroupDesc.Marshal(b, m, deterministic)
+}
+func (m *OfpGroupDesc) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpGroupDesc.Merge(m, src)
+}
+func (m *OfpGroupDesc) XXX_Size() int {
+ return xxx_messageInfo_OfpGroupDesc.Size(m)
+}
+func (m *OfpGroupDesc) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpGroupDesc.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpGroupDesc proto.InternalMessageInfo
+
+func (m *OfpGroupDesc) GetType() OfpGroupType {
+ if m != nil {
+ return m.Type
+ }
+ return OfpGroupType_OFPGT_ALL
+}
+
+func (m *OfpGroupDesc) GetGroupId() uint32 {
+ if m != nil {
+ return m.GroupId
+ }
+ return 0
+}
+
+func (m *OfpGroupDesc) GetBuckets() []*OfpBucket {
+ if m != nil {
+ return m.Buckets
+ }
+ return nil
+}
+
+type OfpGroupEntry struct {
+ Desc *OfpGroupDesc `protobuf:"bytes,1,opt,name=desc,proto3" json:"desc,omitempty"`
+ Stats *OfpGroupStats `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpGroupEntry) Reset() { *m = OfpGroupEntry{} }
+func (m *OfpGroupEntry) String() string { return proto.CompactTextString(m) }
+func (*OfpGroupEntry) ProtoMessage() {}
+func (*OfpGroupEntry) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{63}
+}
+
+func (m *OfpGroupEntry) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpGroupEntry.Unmarshal(m, b)
+}
+func (m *OfpGroupEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpGroupEntry.Marshal(b, m, deterministic)
+}
+func (m *OfpGroupEntry) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpGroupEntry.Merge(m, src)
+}
+func (m *OfpGroupEntry) XXX_Size() int {
+ return xxx_messageInfo_OfpGroupEntry.Size(m)
+}
+func (m *OfpGroupEntry) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpGroupEntry.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpGroupEntry proto.InternalMessageInfo
+
+func (m *OfpGroupEntry) GetDesc() *OfpGroupDesc {
+ if m != nil {
+ return m.Desc
+ }
+ return nil
+}
+
+func (m *OfpGroupEntry) GetStats() *OfpGroupStats {
+ if m != nil {
+ return m.Stats
+ }
+ return nil
+}
+
+// Body of reply to OFPMP_GROUP_FEATURES request. Group features.
+type OfpGroupFeatures struct {
+ Types uint32 `protobuf:"varint,1,opt,name=types,proto3" json:"types,omitempty"`
+ Capabilities uint32 `protobuf:"varint,2,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
+ MaxGroups []uint32 `protobuf:"varint,3,rep,packed,name=max_groups,json=maxGroups,proto3" json:"max_groups,omitempty"`
+ Actions []uint32 `protobuf:"varint,4,rep,packed,name=actions,proto3" json:"actions,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpGroupFeatures) Reset() { *m = OfpGroupFeatures{} }
+func (m *OfpGroupFeatures) String() string { return proto.CompactTextString(m) }
+func (*OfpGroupFeatures) ProtoMessage() {}
+func (*OfpGroupFeatures) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{64}
+}
+
+func (m *OfpGroupFeatures) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpGroupFeatures.Unmarshal(m, b)
+}
+func (m *OfpGroupFeatures) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpGroupFeatures.Marshal(b, m, deterministic)
+}
+func (m *OfpGroupFeatures) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpGroupFeatures.Merge(m, src)
+}
+func (m *OfpGroupFeatures) XXX_Size() int {
+ return xxx_messageInfo_OfpGroupFeatures.Size(m)
+}
+func (m *OfpGroupFeatures) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpGroupFeatures.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpGroupFeatures proto.InternalMessageInfo
+
+func (m *OfpGroupFeatures) GetTypes() uint32 {
+ if m != nil {
+ return m.Types
+ }
+ return 0
+}
+
+func (m *OfpGroupFeatures) GetCapabilities() uint32 {
+ if m != nil {
+ return m.Capabilities
+ }
+ return 0
+}
+
+func (m *OfpGroupFeatures) GetMaxGroups() []uint32 {
+ if m != nil {
+ return m.MaxGroups
+ }
+ return nil
+}
+
+func (m *OfpGroupFeatures) GetActions() []uint32 {
+ if m != nil {
+ return m.Actions
+ }
+ return nil
+}
+
+// Body of OFPMP_METER and OFPMP_METER_CONFIG requests.
+type OfpMeterMultipartRequest struct {
+ MeterId uint32 `protobuf:"varint,1,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterMultipartRequest) Reset() { *m = OfpMeterMultipartRequest{} }
+func (m *OfpMeterMultipartRequest) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterMultipartRequest) ProtoMessage() {}
+func (*OfpMeterMultipartRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{65}
+}
+
+func (m *OfpMeterMultipartRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterMultipartRequest.Unmarshal(m, b)
+}
+func (m *OfpMeterMultipartRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterMultipartRequest.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterMultipartRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterMultipartRequest.Merge(m, src)
+}
+func (m *OfpMeterMultipartRequest) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterMultipartRequest.Size(m)
+}
+func (m *OfpMeterMultipartRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterMultipartRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterMultipartRequest proto.InternalMessageInfo
+
+func (m *OfpMeterMultipartRequest) GetMeterId() uint32 {
+ if m != nil {
+ return m.MeterId
+ }
+ return 0
+}
+
+// Statistics for each meter band
+type OfpMeterBandStats struct {
+ PacketBandCount uint64 `protobuf:"varint,1,opt,name=packet_band_count,json=packetBandCount,proto3" json:"packet_band_count,omitempty"`
+ ByteBandCount uint64 `protobuf:"varint,2,opt,name=byte_band_count,json=byteBandCount,proto3" json:"byte_band_count,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterBandStats) Reset() { *m = OfpMeterBandStats{} }
+func (m *OfpMeterBandStats) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterBandStats) ProtoMessage() {}
+func (*OfpMeterBandStats) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{66}
+}
+
+func (m *OfpMeterBandStats) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterBandStats.Unmarshal(m, b)
+}
+func (m *OfpMeterBandStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterBandStats.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterBandStats) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterBandStats.Merge(m, src)
+}
+func (m *OfpMeterBandStats) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterBandStats.Size(m)
+}
+func (m *OfpMeterBandStats) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterBandStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterBandStats proto.InternalMessageInfo
+
+func (m *OfpMeterBandStats) GetPacketBandCount() uint64 {
+ if m != nil {
+ return m.PacketBandCount
+ }
+ return 0
+}
+
+func (m *OfpMeterBandStats) GetByteBandCount() uint64 {
+ if m != nil {
+ return m.ByteBandCount
+ }
+ return 0
+}
+
+// Body of reply to OFPMP_METER request. Meter statistics.
+type OfpMeterStats struct {
+ MeterId uint32 `protobuf:"varint,1,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"`
+ FlowCount uint32 `protobuf:"varint,2,opt,name=flow_count,json=flowCount,proto3" json:"flow_count,omitempty"`
+ PacketInCount uint64 `protobuf:"varint,3,opt,name=packet_in_count,json=packetInCount,proto3" json:"packet_in_count,omitempty"`
+ ByteInCount uint64 `protobuf:"varint,4,opt,name=byte_in_count,json=byteInCount,proto3" json:"byte_in_count,omitempty"`
+ DurationSec uint32 `protobuf:"varint,5,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"`
+ DurationNsec uint32 `protobuf:"varint,6,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
+ BandStats []*OfpMeterBandStats `protobuf:"bytes,7,rep,name=band_stats,json=bandStats,proto3" json:"band_stats,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterStats) Reset() { *m = OfpMeterStats{} }
+func (m *OfpMeterStats) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterStats) ProtoMessage() {}
+func (*OfpMeterStats) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{67}
+}
+
+func (m *OfpMeterStats) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterStats.Unmarshal(m, b)
+}
+func (m *OfpMeterStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterStats.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterStats) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterStats.Merge(m, src)
+}
+func (m *OfpMeterStats) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterStats.Size(m)
+}
+func (m *OfpMeterStats) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterStats proto.InternalMessageInfo
+
+func (m *OfpMeterStats) GetMeterId() uint32 {
+ if m != nil {
+ return m.MeterId
+ }
+ return 0
+}
+
+func (m *OfpMeterStats) GetFlowCount() uint32 {
+ if m != nil {
+ return m.FlowCount
+ }
+ return 0
+}
+
+func (m *OfpMeterStats) GetPacketInCount() uint64 {
+ if m != nil {
+ return m.PacketInCount
+ }
+ return 0
+}
+
+func (m *OfpMeterStats) GetByteInCount() uint64 {
+ if m != nil {
+ return m.ByteInCount
+ }
+ return 0
+}
+
+func (m *OfpMeterStats) GetDurationSec() uint32 {
+ if m != nil {
+ return m.DurationSec
+ }
+ return 0
+}
+
+func (m *OfpMeterStats) GetDurationNsec() uint32 {
+ if m != nil {
+ return m.DurationNsec
+ }
+ return 0
+}
+
+func (m *OfpMeterStats) GetBandStats() []*OfpMeterBandStats {
+ if m != nil {
+ return m.BandStats
+ }
+ return nil
+}
+
+// Body of reply to OFPMP_METER_CONFIG request. Meter configuration.
+type OfpMeterConfig struct {
+ Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
+ MeterId uint32 `protobuf:"varint,2,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"`
+ Bands []*OfpMeterBandHeader `protobuf:"bytes,3,rep,name=bands,proto3" json:"bands,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterConfig) Reset() { *m = OfpMeterConfig{} }
+func (m *OfpMeterConfig) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterConfig) ProtoMessage() {}
+func (*OfpMeterConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{68}
+}
+
+func (m *OfpMeterConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterConfig.Unmarshal(m, b)
+}
+func (m *OfpMeterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterConfig.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterConfig.Merge(m, src)
+}
+func (m *OfpMeterConfig) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterConfig.Size(m)
+}
+func (m *OfpMeterConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterConfig proto.InternalMessageInfo
+
+func (m *OfpMeterConfig) GetFlags() uint32 {
+ if m != nil {
+ return m.Flags
+ }
+ return 0
+}
+
+func (m *OfpMeterConfig) GetMeterId() uint32 {
+ if m != nil {
+ return m.MeterId
+ }
+ return 0
+}
+
+func (m *OfpMeterConfig) GetBands() []*OfpMeterBandHeader {
+ if m != nil {
+ return m.Bands
+ }
+ return nil
+}
+
+// Body of reply to OFPMP_METER_FEATURES request. Meter features.
+type OfpMeterFeatures struct {
+ MaxMeter uint32 `protobuf:"varint,1,opt,name=max_meter,json=maxMeter,proto3" json:"max_meter,omitempty"`
+ BandTypes uint32 `protobuf:"varint,2,opt,name=band_types,json=bandTypes,proto3" json:"band_types,omitempty"`
+ Capabilities uint32 `protobuf:"varint,3,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
+ MaxBands uint32 `protobuf:"varint,4,opt,name=max_bands,json=maxBands,proto3" json:"max_bands,omitempty"`
+ MaxColor uint32 `protobuf:"varint,5,opt,name=max_color,json=maxColor,proto3" json:"max_color,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterFeatures) Reset() { *m = OfpMeterFeatures{} }
+func (m *OfpMeterFeatures) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterFeatures) ProtoMessage() {}
+func (*OfpMeterFeatures) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{69}
+}
+
+func (m *OfpMeterFeatures) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterFeatures.Unmarshal(m, b)
+}
+func (m *OfpMeterFeatures) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterFeatures.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterFeatures) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterFeatures.Merge(m, src)
+}
+func (m *OfpMeterFeatures) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterFeatures.Size(m)
+}
+func (m *OfpMeterFeatures) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterFeatures.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterFeatures proto.InternalMessageInfo
+
+func (m *OfpMeterFeatures) GetMaxMeter() uint32 {
+ if m != nil {
+ return m.MaxMeter
+ }
+ return 0
+}
+
+func (m *OfpMeterFeatures) GetBandTypes() uint32 {
+ if m != nil {
+ return m.BandTypes
+ }
+ return 0
+}
+
+func (m *OfpMeterFeatures) GetCapabilities() uint32 {
+ if m != nil {
+ return m.Capabilities
+ }
+ return 0
+}
+
+func (m *OfpMeterFeatures) GetMaxBands() uint32 {
+ if m != nil {
+ return m.MaxBands
+ }
+ return 0
+}
+
+func (m *OfpMeterFeatures) GetMaxColor() uint32 {
+ if m != nil {
+ return m.MaxColor
+ }
+ return 0
+}
+
+type OfpMeterEntry struct {
+ Config *OfpMeterConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
+ Stats *OfpMeterStats `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpMeterEntry) Reset() { *m = OfpMeterEntry{} }
+func (m *OfpMeterEntry) String() string { return proto.CompactTextString(m) }
+func (*OfpMeterEntry) ProtoMessage() {}
+func (*OfpMeterEntry) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{70}
+}
+
+func (m *OfpMeterEntry) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpMeterEntry.Unmarshal(m, b)
+}
+func (m *OfpMeterEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpMeterEntry.Marshal(b, m, deterministic)
+}
+func (m *OfpMeterEntry) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpMeterEntry.Merge(m, src)
+}
+func (m *OfpMeterEntry) XXX_Size() int {
+ return xxx_messageInfo_OfpMeterEntry.Size(m)
+}
+func (m *OfpMeterEntry) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpMeterEntry.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpMeterEntry proto.InternalMessageInfo
+
+func (m *OfpMeterEntry) GetConfig() *OfpMeterConfig {
+ if m != nil {
+ return m.Config
+ }
+ return nil
+}
+
+func (m *OfpMeterEntry) GetStats() *OfpMeterStats {
+ if m != nil {
+ return m.Stats
+ }
+ return nil
+}
+
+// Body for ofp_multipart_request/reply of type OFPMP_EXPERIMENTER.
+type OfpExperimenterMultipartHeader struct {
+ Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
+ ExpType uint32 `protobuf:"varint,2,opt,name=exp_type,json=expType,proto3" json:"exp_type,omitempty"`
+ Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpExperimenterMultipartHeader) Reset() { *m = OfpExperimenterMultipartHeader{} }
+func (m *OfpExperimenterMultipartHeader) String() string { return proto.CompactTextString(m) }
+func (*OfpExperimenterMultipartHeader) ProtoMessage() {}
+func (*OfpExperimenterMultipartHeader) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{71}
+}
+
+func (m *OfpExperimenterMultipartHeader) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpExperimenterMultipartHeader.Unmarshal(m, b)
+}
+func (m *OfpExperimenterMultipartHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpExperimenterMultipartHeader.Marshal(b, m, deterministic)
+}
+func (m *OfpExperimenterMultipartHeader) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpExperimenterMultipartHeader.Merge(m, src)
+}
+func (m *OfpExperimenterMultipartHeader) XXX_Size() int {
+ return xxx_messageInfo_OfpExperimenterMultipartHeader.Size(m)
+}
+func (m *OfpExperimenterMultipartHeader) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpExperimenterMultipartHeader.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpExperimenterMultipartHeader proto.InternalMessageInfo
+
+func (m *OfpExperimenterMultipartHeader) GetExperimenter() uint32 {
+ if m != nil {
+ return m.Experimenter
+ }
+ return 0
+}
+
+func (m *OfpExperimenterMultipartHeader) GetExpType() uint32 {
+ if m != nil {
+ return m.ExpType
+ }
+ return 0
+}
+
+func (m *OfpExperimenterMultipartHeader) GetData() []byte {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+// Experimenter extension.
+type OfpExperimenterHeader struct {
+ //ofp_header header; /* Type OFPT_EXPERIMENTER. */
+ Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
+ ExpType uint32 `protobuf:"varint,2,opt,name=exp_type,json=expType,proto3" json:"exp_type,omitempty"`
+ Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpExperimenterHeader) Reset() { *m = OfpExperimenterHeader{} }
+func (m *OfpExperimenterHeader) String() string { return proto.CompactTextString(m) }
+func (*OfpExperimenterHeader) ProtoMessage() {}
+func (*OfpExperimenterHeader) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{72}
+}
+
+func (m *OfpExperimenterHeader) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpExperimenterHeader.Unmarshal(m, b)
+}
+func (m *OfpExperimenterHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpExperimenterHeader.Marshal(b, m, deterministic)
+}
+func (m *OfpExperimenterHeader) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpExperimenterHeader.Merge(m, src)
+}
+func (m *OfpExperimenterHeader) XXX_Size() int {
+ return xxx_messageInfo_OfpExperimenterHeader.Size(m)
+}
+func (m *OfpExperimenterHeader) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpExperimenterHeader.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpExperimenterHeader proto.InternalMessageInfo
+
+func (m *OfpExperimenterHeader) GetExperimenter() uint32 {
+ if m != nil {
+ return m.Experimenter
+ }
+ return 0
+}
+
+func (m *OfpExperimenterHeader) GetExpType() uint32 {
+ if m != nil {
+ return m.ExpType
+ }
+ return 0
+}
+
+func (m *OfpExperimenterHeader) GetData() []byte {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+// Common description for a queue.
+type OfpQueuePropHeader struct {
+ Property uint32 `protobuf:"varint,1,opt,name=property,proto3" json:"property,omitempty"`
+ Len uint32 `protobuf:"varint,2,opt,name=len,proto3" json:"len,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpQueuePropHeader) Reset() { *m = OfpQueuePropHeader{} }
+func (m *OfpQueuePropHeader) String() string { return proto.CompactTextString(m) }
+func (*OfpQueuePropHeader) ProtoMessage() {}
+func (*OfpQueuePropHeader) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{73}
+}
+
+func (m *OfpQueuePropHeader) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpQueuePropHeader.Unmarshal(m, b)
+}
+func (m *OfpQueuePropHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpQueuePropHeader.Marshal(b, m, deterministic)
+}
+func (m *OfpQueuePropHeader) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpQueuePropHeader.Merge(m, src)
+}
+func (m *OfpQueuePropHeader) XXX_Size() int {
+ return xxx_messageInfo_OfpQueuePropHeader.Size(m)
+}
+func (m *OfpQueuePropHeader) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpQueuePropHeader.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpQueuePropHeader proto.InternalMessageInfo
+
+func (m *OfpQueuePropHeader) GetProperty() uint32 {
+ if m != nil {
+ return m.Property
+ }
+ return 0
+}
+
+func (m *OfpQueuePropHeader) GetLen() uint32 {
+ if m != nil {
+ return m.Len
+ }
+ return 0
+}
+
+// Min-Rate queue property description.
+type OfpQueuePropMinRate struct {
+ PropHeader *OfpQueuePropHeader `protobuf:"bytes,1,opt,name=prop_header,json=propHeader,proto3" json:"prop_header,omitempty"`
+ Rate uint32 `protobuf:"varint,2,opt,name=rate,proto3" json:"rate,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpQueuePropMinRate) Reset() { *m = OfpQueuePropMinRate{} }
+func (m *OfpQueuePropMinRate) String() string { return proto.CompactTextString(m) }
+func (*OfpQueuePropMinRate) ProtoMessage() {}
+func (*OfpQueuePropMinRate) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{74}
+}
+
+func (m *OfpQueuePropMinRate) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpQueuePropMinRate.Unmarshal(m, b)
+}
+func (m *OfpQueuePropMinRate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpQueuePropMinRate.Marshal(b, m, deterministic)
+}
+func (m *OfpQueuePropMinRate) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpQueuePropMinRate.Merge(m, src)
+}
+func (m *OfpQueuePropMinRate) XXX_Size() int {
+ return xxx_messageInfo_OfpQueuePropMinRate.Size(m)
+}
+func (m *OfpQueuePropMinRate) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpQueuePropMinRate.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpQueuePropMinRate proto.InternalMessageInfo
+
+func (m *OfpQueuePropMinRate) GetPropHeader() *OfpQueuePropHeader {
+ if m != nil {
+ return m.PropHeader
+ }
+ return nil
+}
+
+func (m *OfpQueuePropMinRate) GetRate() uint32 {
+ if m != nil {
+ return m.Rate
+ }
+ return 0
+}
+
+// Max-Rate queue property description.
+type OfpQueuePropMaxRate struct {
+ PropHeader *OfpQueuePropHeader `protobuf:"bytes,1,opt,name=prop_header,json=propHeader,proto3" json:"prop_header,omitempty"`
+ Rate uint32 `protobuf:"varint,2,opt,name=rate,proto3" json:"rate,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpQueuePropMaxRate) Reset() { *m = OfpQueuePropMaxRate{} }
+func (m *OfpQueuePropMaxRate) String() string { return proto.CompactTextString(m) }
+func (*OfpQueuePropMaxRate) ProtoMessage() {}
+func (*OfpQueuePropMaxRate) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{75}
+}
+
+func (m *OfpQueuePropMaxRate) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpQueuePropMaxRate.Unmarshal(m, b)
+}
+func (m *OfpQueuePropMaxRate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpQueuePropMaxRate.Marshal(b, m, deterministic)
+}
+func (m *OfpQueuePropMaxRate) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpQueuePropMaxRate.Merge(m, src)
+}
+func (m *OfpQueuePropMaxRate) XXX_Size() int {
+ return xxx_messageInfo_OfpQueuePropMaxRate.Size(m)
+}
+func (m *OfpQueuePropMaxRate) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpQueuePropMaxRate.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpQueuePropMaxRate proto.InternalMessageInfo
+
+func (m *OfpQueuePropMaxRate) GetPropHeader() *OfpQueuePropHeader {
+ if m != nil {
+ return m.PropHeader
+ }
+ return nil
+}
+
+func (m *OfpQueuePropMaxRate) GetRate() uint32 {
+ if m != nil {
+ return m.Rate
+ }
+ return 0
+}
+
+// Experimenter queue property description.
+type OfpQueuePropExperimenter struct {
+ PropHeader *OfpQueuePropHeader `protobuf:"bytes,1,opt,name=prop_header,json=propHeader,proto3" json:"prop_header,omitempty"`
+ Experimenter uint32 `protobuf:"varint,2,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
+ Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpQueuePropExperimenter) Reset() { *m = OfpQueuePropExperimenter{} }
+func (m *OfpQueuePropExperimenter) String() string { return proto.CompactTextString(m) }
+func (*OfpQueuePropExperimenter) ProtoMessage() {}
+func (*OfpQueuePropExperimenter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{76}
+}
+
+func (m *OfpQueuePropExperimenter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpQueuePropExperimenter.Unmarshal(m, b)
+}
+func (m *OfpQueuePropExperimenter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpQueuePropExperimenter.Marshal(b, m, deterministic)
+}
+func (m *OfpQueuePropExperimenter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpQueuePropExperimenter.Merge(m, src)
+}
+func (m *OfpQueuePropExperimenter) XXX_Size() int {
+ return xxx_messageInfo_OfpQueuePropExperimenter.Size(m)
+}
+func (m *OfpQueuePropExperimenter) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpQueuePropExperimenter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpQueuePropExperimenter proto.InternalMessageInfo
+
+func (m *OfpQueuePropExperimenter) GetPropHeader() *OfpQueuePropHeader {
+ if m != nil {
+ return m.PropHeader
+ }
+ return nil
+}
+
+func (m *OfpQueuePropExperimenter) GetExperimenter() uint32 {
+ if m != nil {
+ return m.Experimenter
+ }
+ return 0
+}
+
+func (m *OfpQueuePropExperimenter) GetData() []byte {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+// Full description for a queue.
+type OfpPacketQueue struct {
+ QueueId uint32 `protobuf:"varint,1,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"`
+ Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
+ Properties []*OfpQueuePropHeader `protobuf:"bytes,4,rep,name=properties,proto3" json:"properties,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpPacketQueue) Reset() { *m = OfpPacketQueue{} }
+func (m *OfpPacketQueue) String() string { return proto.CompactTextString(m) }
+func (*OfpPacketQueue) ProtoMessage() {}
+func (*OfpPacketQueue) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{77}
+}
+
+func (m *OfpPacketQueue) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpPacketQueue.Unmarshal(m, b)
+}
+func (m *OfpPacketQueue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpPacketQueue.Marshal(b, m, deterministic)
+}
+func (m *OfpPacketQueue) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpPacketQueue.Merge(m, src)
+}
+func (m *OfpPacketQueue) XXX_Size() int {
+ return xxx_messageInfo_OfpPacketQueue.Size(m)
+}
+func (m *OfpPacketQueue) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpPacketQueue.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpPacketQueue proto.InternalMessageInfo
+
+func (m *OfpPacketQueue) GetQueueId() uint32 {
+ if m != nil {
+ return m.QueueId
+ }
+ return 0
+}
+
+func (m *OfpPacketQueue) GetPort() uint32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+func (m *OfpPacketQueue) GetProperties() []*OfpQueuePropHeader {
+ if m != nil {
+ return m.Properties
+ }
+ return nil
+}
+
+// Query for port queue configuration.
+type OfpQueueGetConfigRequest struct {
+ //ofp_header header;
+ Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpQueueGetConfigRequest) Reset() { *m = OfpQueueGetConfigRequest{} }
+func (m *OfpQueueGetConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*OfpQueueGetConfigRequest) ProtoMessage() {}
+func (*OfpQueueGetConfigRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{78}
+}
+
+func (m *OfpQueueGetConfigRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpQueueGetConfigRequest.Unmarshal(m, b)
+}
+func (m *OfpQueueGetConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpQueueGetConfigRequest.Marshal(b, m, deterministic)
+}
+func (m *OfpQueueGetConfigRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpQueueGetConfigRequest.Merge(m, src)
+}
+func (m *OfpQueueGetConfigRequest) XXX_Size() int {
+ return xxx_messageInfo_OfpQueueGetConfigRequest.Size(m)
+}
+func (m *OfpQueueGetConfigRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpQueueGetConfigRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpQueueGetConfigRequest proto.InternalMessageInfo
+
+func (m *OfpQueueGetConfigRequest) GetPort() uint32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+// Queue configuration for a given port.
+type OfpQueueGetConfigReply struct {
+ //ofp_header header;
+ Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
+ Queues []*OfpPacketQueue `protobuf:"bytes,2,rep,name=queues,proto3" json:"queues,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpQueueGetConfigReply) Reset() { *m = OfpQueueGetConfigReply{} }
+func (m *OfpQueueGetConfigReply) String() string { return proto.CompactTextString(m) }
+func (*OfpQueueGetConfigReply) ProtoMessage() {}
+func (*OfpQueueGetConfigReply) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{79}
+}
+
+func (m *OfpQueueGetConfigReply) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpQueueGetConfigReply.Unmarshal(m, b)
+}
+func (m *OfpQueueGetConfigReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpQueueGetConfigReply.Marshal(b, m, deterministic)
+}
+func (m *OfpQueueGetConfigReply) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpQueueGetConfigReply.Merge(m, src)
+}
+func (m *OfpQueueGetConfigReply) XXX_Size() int {
+ return xxx_messageInfo_OfpQueueGetConfigReply.Size(m)
+}
+func (m *OfpQueueGetConfigReply) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpQueueGetConfigReply.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpQueueGetConfigReply proto.InternalMessageInfo
+
+func (m *OfpQueueGetConfigReply) GetPort() uint32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+func (m *OfpQueueGetConfigReply) GetQueues() []*OfpPacketQueue {
+ if m != nil {
+ return m.Queues
+ }
+ return nil
+}
+
+// OFPAT_SET_QUEUE action struct: send packets to given queue on port.
+type OfpActionSetQueue struct {
+ Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
+ QueueId uint32 `protobuf:"varint,3,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpActionSetQueue) Reset() { *m = OfpActionSetQueue{} }
+func (m *OfpActionSetQueue) String() string { return proto.CompactTextString(m) }
+func (*OfpActionSetQueue) ProtoMessage() {}
+func (*OfpActionSetQueue) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{80}
+}
+
+func (m *OfpActionSetQueue) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpActionSetQueue.Unmarshal(m, b)
+}
+func (m *OfpActionSetQueue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpActionSetQueue.Marshal(b, m, deterministic)
+}
+func (m *OfpActionSetQueue) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpActionSetQueue.Merge(m, src)
+}
+func (m *OfpActionSetQueue) XXX_Size() int {
+ return xxx_messageInfo_OfpActionSetQueue.Size(m)
+}
+func (m *OfpActionSetQueue) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpActionSetQueue.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpActionSetQueue proto.InternalMessageInfo
+
+func (m *OfpActionSetQueue) GetType() uint32 {
+ if m != nil {
+ return m.Type
+ }
+ return 0
+}
+
+func (m *OfpActionSetQueue) GetQueueId() uint32 {
+ if m != nil {
+ return m.QueueId
+ }
+ return 0
+}
+
+type OfpQueueStatsRequest struct {
+ PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ QueueId uint32 `protobuf:"varint,2,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpQueueStatsRequest) Reset() { *m = OfpQueueStatsRequest{} }
+func (m *OfpQueueStatsRequest) String() string { return proto.CompactTextString(m) }
+func (*OfpQueueStatsRequest) ProtoMessage() {}
+func (*OfpQueueStatsRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{81}
+}
+
+func (m *OfpQueueStatsRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpQueueStatsRequest.Unmarshal(m, b)
+}
+func (m *OfpQueueStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpQueueStatsRequest.Marshal(b, m, deterministic)
+}
+func (m *OfpQueueStatsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpQueueStatsRequest.Merge(m, src)
+}
+func (m *OfpQueueStatsRequest) XXX_Size() int {
+ return xxx_messageInfo_OfpQueueStatsRequest.Size(m)
+}
+func (m *OfpQueueStatsRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpQueueStatsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpQueueStatsRequest proto.InternalMessageInfo
+
+func (m *OfpQueueStatsRequest) GetPortNo() uint32 {
+ if m != nil {
+ return m.PortNo
+ }
+ return 0
+}
+
+func (m *OfpQueueStatsRequest) GetQueueId() uint32 {
+ if m != nil {
+ return m.QueueId
+ }
+ return 0
+}
+
+type OfpQueueStats struct {
+ PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ QueueId uint32 `protobuf:"varint,2,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"`
+ TxBytes uint64 `protobuf:"varint,3,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
+ TxPackets uint64 `protobuf:"varint,4,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
+ TxErrors uint64 `protobuf:"varint,5,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
+ DurationSec uint32 `protobuf:"varint,6,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"`
+ DurationNsec uint32 `protobuf:"varint,7,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpQueueStats) Reset() { *m = OfpQueueStats{} }
+func (m *OfpQueueStats) String() string { return proto.CompactTextString(m) }
+func (*OfpQueueStats) ProtoMessage() {}
+func (*OfpQueueStats) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{82}
+}
+
+func (m *OfpQueueStats) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpQueueStats.Unmarshal(m, b)
+}
+func (m *OfpQueueStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpQueueStats.Marshal(b, m, deterministic)
+}
+func (m *OfpQueueStats) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpQueueStats.Merge(m, src)
+}
+func (m *OfpQueueStats) XXX_Size() int {
+ return xxx_messageInfo_OfpQueueStats.Size(m)
+}
+func (m *OfpQueueStats) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpQueueStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpQueueStats proto.InternalMessageInfo
+
+func (m *OfpQueueStats) GetPortNo() uint32 {
+ if m != nil {
+ return m.PortNo
+ }
+ return 0
+}
+
+func (m *OfpQueueStats) GetQueueId() uint32 {
+ if m != nil {
+ return m.QueueId
+ }
+ return 0
+}
+
+func (m *OfpQueueStats) GetTxBytes() uint64 {
+ if m != nil {
+ return m.TxBytes
+ }
+ return 0
+}
+
+func (m *OfpQueueStats) GetTxPackets() uint64 {
+ if m != nil {
+ return m.TxPackets
+ }
+ return 0
+}
+
+func (m *OfpQueueStats) GetTxErrors() uint64 {
+ if m != nil {
+ return m.TxErrors
+ }
+ return 0
+}
+
+func (m *OfpQueueStats) GetDurationSec() uint32 {
+ if m != nil {
+ return m.DurationSec
+ }
+ return 0
+}
+
+func (m *OfpQueueStats) GetDurationNsec() uint32 {
+ if m != nil {
+ return m.DurationNsec
+ }
+ return 0
+}
+
+// Role request and reply message.
+type OfpRoleRequest struct {
+ //ofp_header header; /* Type OFPT_ROLE_REQUEST/OFPT_ROLE_REPLY. */
+ Role OfpControllerRole `protobuf:"varint,1,opt,name=role,proto3,enum=openflow_13.OfpControllerRole" json:"role,omitempty"`
+ GenerationId uint64 `protobuf:"varint,2,opt,name=generation_id,json=generationId,proto3" json:"generation_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpRoleRequest) Reset() { *m = OfpRoleRequest{} }
+func (m *OfpRoleRequest) String() string { return proto.CompactTextString(m) }
+func (*OfpRoleRequest) ProtoMessage() {}
+func (*OfpRoleRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{83}
+}
+
+func (m *OfpRoleRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpRoleRequest.Unmarshal(m, b)
+}
+func (m *OfpRoleRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpRoleRequest.Marshal(b, m, deterministic)
+}
+func (m *OfpRoleRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpRoleRequest.Merge(m, src)
+}
+func (m *OfpRoleRequest) XXX_Size() int {
+ return xxx_messageInfo_OfpRoleRequest.Size(m)
+}
+func (m *OfpRoleRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpRoleRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpRoleRequest proto.InternalMessageInfo
+
+func (m *OfpRoleRequest) GetRole() OfpControllerRole {
+ if m != nil {
+ return m.Role
+ }
+ return OfpControllerRole_OFPCR_ROLE_NOCHANGE
+}
+
+func (m *OfpRoleRequest) GetGenerationId() uint64 {
+ if m != nil {
+ return m.GenerationId
+ }
+ return 0
+}
+
+// Asynchronous message configuration.
+type OfpAsyncConfig struct {
+ //ofp_header header; /* OFPT_GET_ASYNC_REPLY or OFPT_SET_ASYNC. */
+ PacketInMask []uint32 `protobuf:"varint,1,rep,packed,name=packet_in_mask,json=packetInMask,proto3" json:"packet_in_mask,omitempty"`
+ PortStatusMask []uint32 `protobuf:"varint,2,rep,packed,name=port_status_mask,json=portStatusMask,proto3" json:"port_status_mask,omitempty"`
+ FlowRemovedMask []uint32 `protobuf:"varint,3,rep,packed,name=flow_removed_mask,json=flowRemovedMask,proto3" json:"flow_removed_mask,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfpAsyncConfig) Reset() { *m = OfpAsyncConfig{} }
+func (m *OfpAsyncConfig) String() string { return proto.CompactTextString(m) }
+func (*OfpAsyncConfig) ProtoMessage() {}
+func (*OfpAsyncConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{84}
+}
+
+func (m *OfpAsyncConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfpAsyncConfig.Unmarshal(m, b)
+}
+func (m *OfpAsyncConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfpAsyncConfig.Marshal(b, m, deterministic)
+}
+func (m *OfpAsyncConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfpAsyncConfig.Merge(m, src)
+}
+func (m *OfpAsyncConfig) XXX_Size() int {
+ return xxx_messageInfo_OfpAsyncConfig.Size(m)
+}
+func (m *OfpAsyncConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfpAsyncConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfpAsyncConfig proto.InternalMessageInfo
+
+func (m *OfpAsyncConfig) GetPacketInMask() []uint32 {
+ if m != nil {
+ return m.PacketInMask
+ }
+ return nil
+}
+
+func (m *OfpAsyncConfig) GetPortStatusMask() []uint32 {
+ if m != nil {
+ return m.PortStatusMask
+ }
+ return nil
+}
+
+func (m *OfpAsyncConfig) GetFlowRemovedMask() []uint32 {
+ if m != nil {
+ return m.FlowRemovedMask
+ }
+ return nil
+}
+
+type MeterModUpdate struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ MeterMod *OfpMeterMod `protobuf:"bytes,2,opt,name=meter_mod,json=meterMod,proto3" json:"meter_mod,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MeterModUpdate) Reset() { *m = MeterModUpdate{} }
+func (m *MeterModUpdate) String() string { return proto.CompactTextString(m) }
+func (*MeterModUpdate) ProtoMessage() {}
+func (*MeterModUpdate) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{85}
+}
+
+func (m *MeterModUpdate) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MeterModUpdate.Unmarshal(m, b)
+}
+func (m *MeterModUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MeterModUpdate.Marshal(b, m, deterministic)
+}
+func (m *MeterModUpdate) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MeterModUpdate.Merge(m, src)
+}
+func (m *MeterModUpdate) XXX_Size() int {
+ return xxx_messageInfo_MeterModUpdate.Size(m)
+}
+func (m *MeterModUpdate) XXX_DiscardUnknown() {
+ xxx_messageInfo_MeterModUpdate.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MeterModUpdate proto.InternalMessageInfo
+
+func (m *MeterModUpdate) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *MeterModUpdate) GetMeterMod() *OfpMeterMod {
+ if m != nil {
+ return m.MeterMod
+ }
+ return nil
+}
+
+type MeterStatsReply struct {
+ MeterStats []*OfpMeterStats `protobuf:"bytes,1,rep,name=meter_stats,json=meterStats,proto3" json:"meter_stats,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MeterStatsReply) Reset() { *m = MeterStatsReply{} }
+func (m *MeterStatsReply) String() string { return proto.CompactTextString(m) }
+func (*MeterStatsReply) ProtoMessage() {}
+func (*MeterStatsReply) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{86}
+}
+
+func (m *MeterStatsReply) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MeterStatsReply.Unmarshal(m, b)
+}
+func (m *MeterStatsReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MeterStatsReply.Marshal(b, m, deterministic)
+}
+func (m *MeterStatsReply) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MeterStatsReply.Merge(m, src)
+}
+func (m *MeterStatsReply) XXX_Size() int {
+ return xxx_messageInfo_MeterStatsReply.Size(m)
+}
+func (m *MeterStatsReply) XXX_DiscardUnknown() {
+ xxx_messageInfo_MeterStatsReply.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MeterStatsReply proto.InternalMessageInfo
+
+func (m *MeterStatsReply) GetMeterStats() []*OfpMeterStats {
+ if m != nil {
+ return m.MeterStats
+ }
+ return nil
+}
+
+type FlowTableUpdate struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ FlowMod *OfpFlowMod `protobuf:"bytes,2,opt,name=flow_mod,json=flowMod,proto3" json:"flow_mod,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FlowTableUpdate) Reset() { *m = FlowTableUpdate{} }
+func (m *FlowTableUpdate) String() string { return proto.CompactTextString(m) }
+func (*FlowTableUpdate) ProtoMessage() {}
+func (*FlowTableUpdate) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{87}
+}
+
+func (m *FlowTableUpdate) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FlowTableUpdate.Unmarshal(m, b)
+}
+func (m *FlowTableUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FlowTableUpdate.Marshal(b, m, deterministic)
+}
+func (m *FlowTableUpdate) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FlowTableUpdate.Merge(m, src)
+}
+func (m *FlowTableUpdate) XXX_Size() int {
+ return xxx_messageInfo_FlowTableUpdate.Size(m)
+}
+func (m *FlowTableUpdate) XXX_DiscardUnknown() {
+ xxx_messageInfo_FlowTableUpdate.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FlowTableUpdate proto.InternalMessageInfo
+
+func (m *FlowTableUpdate) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *FlowTableUpdate) GetFlowMod() *OfpFlowMod {
+ if m != nil {
+ return m.FlowMod
+ }
+ return nil
+}
+
+type FlowGroupTableUpdate struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ GroupMod *OfpGroupMod `protobuf:"bytes,2,opt,name=group_mod,json=groupMod,proto3" json:"group_mod,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FlowGroupTableUpdate) Reset() { *m = FlowGroupTableUpdate{} }
+func (m *FlowGroupTableUpdate) String() string { return proto.CompactTextString(m) }
+func (*FlowGroupTableUpdate) ProtoMessage() {}
+func (*FlowGroupTableUpdate) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{88}
+}
+
+func (m *FlowGroupTableUpdate) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FlowGroupTableUpdate.Unmarshal(m, b)
+}
+func (m *FlowGroupTableUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FlowGroupTableUpdate.Marshal(b, m, deterministic)
+}
+func (m *FlowGroupTableUpdate) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FlowGroupTableUpdate.Merge(m, src)
+}
+func (m *FlowGroupTableUpdate) XXX_Size() int {
+ return xxx_messageInfo_FlowGroupTableUpdate.Size(m)
+}
+func (m *FlowGroupTableUpdate) XXX_DiscardUnknown() {
+ xxx_messageInfo_FlowGroupTableUpdate.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FlowGroupTableUpdate proto.InternalMessageInfo
+
+func (m *FlowGroupTableUpdate) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *FlowGroupTableUpdate) GetGroupMod() *OfpGroupMod {
+ if m != nil {
+ return m.GroupMod
+ }
+ return nil
+}
+
+type Flows struct {
+ Items []*OfpFlowStats `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Flows) Reset() { *m = Flows{} }
+func (m *Flows) String() string { return proto.CompactTextString(m) }
+func (*Flows) ProtoMessage() {}
+func (*Flows) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{89}
+}
+
+func (m *Flows) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Flows.Unmarshal(m, b)
+}
+func (m *Flows) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Flows.Marshal(b, m, deterministic)
+}
+func (m *Flows) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Flows.Merge(m, src)
+}
+func (m *Flows) XXX_Size() int {
+ return xxx_messageInfo_Flows.Size(m)
+}
+func (m *Flows) XXX_DiscardUnknown() {
+ xxx_messageInfo_Flows.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Flows proto.InternalMessageInfo
+
+func (m *Flows) GetItems() []*OfpFlowStats {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type Meters struct {
+ Items []*OfpMeterEntry `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Meters) Reset() { *m = Meters{} }
+func (m *Meters) String() string { return proto.CompactTextString(m) }
+func (*Meters) ProtoMessage() {}
+func (*Meters) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{90}
+}
+
+func (m *Meters) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Meters.Unmarshal(m, b)
+}
+func (m *Meters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Meters.Marshal(b, m, deterministic)
+}
+func (m *Meters) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Meters.Merge(m, src)
+}
+func (m *Meters) XXX_Size() int {
+ return xxx_messageInfo_Meters.Size(m)
+}
+func (m *Meters) XXX_DiscardUnknown() {
+ xxx_messageInfo_Meters.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Meters proto.InternalMessageInfo
+
+func (m *Meters) GetItems() []*OfpMeterEntry {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type FlowGroups struct {
+ Items []*OfpGroupEntry `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FlowGroups) Reset() { *m = FlowGroups{} }
+func (m *FlowGroups) String() string { return proto.CompactTextString(m) }
+func (*FlowGroups) ProtoMessage() {}
+func (*FlowGroups) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{91}
+}
+
+func (m *FlowGroups) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FlowGroups.Unmarshal(m, b)
+}
+func (m *FlowGroups) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FlowGroups.Marshal(b, m, deterministic)
+}
+func (m *FlowGroups) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FlowGroups.Merge(m, src)
+}
+func (m *FlowGroups) XXX_Size() int {
+ return xxx_messageInfo_FlowGroups.Size(m)
+}
+func (m *FlowGroups) XXX_DiscardUnknown() {
+ xxx_messageInfo_FlowGroups.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FlowGroups proto.InternalMessageInfo
+
+func (m *FlowGroups) GetItems() []*OfpGroupEntry {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type FlowChanges struct {
+ ToAdd *Flows `protobuf:"bytes,1,opt,name=to_add,json=toAdd,proto3" json:"to_add,omitempty"`
+ ToRemove *Flows `protobuf:"bytes,2,opt,name=to_remove,json=toRemove,proto3" json:"to_remove,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FlowChanges) Reset() { *m = FlowChanges{} }
+func (m *FlowChanges) String() string { return proto.CompactTextString(m) }
+func (*FlowChanges) ProtoMessage() {}
+func (*FlowChanges) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{92}
+}
+
+func (m *FlowChanges) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FlowChanges.Unmarshal(m, b)
+}
+func (m *FlowChanges) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FlowChanges.Marshal(b, m, deterministic)
+}
+func (m *FlowChanges) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FlowChanges.Merge(m, src)
+}
+func (m *FlowChanges) XXX_Size() int {
+ return xxx_messageInfo_FlowChanges.Size(m)
+}
+func (m *FlowChanges) XXX_DiscardUnknown() {
+ xxx_messageInfo_FlowChanges.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FlowChanges proto.InternalMessageInfo
+
+func (m *FlowChanges) GetToAdd() *Flows {
+ if m != nil {
+ return m.ToAdd
+ }
+ return nil
+}
+
+func (m *FlowChanges) GetToRemove() *Flows {
+ if m != nil {
+ return m.ToRemove
+ }
+ return nil
+}
+
+type FlowGroupChanges struct {
+ ToAdd *FlowGroups `protobuf:"bytes,1,opt,name=to_add,json=toAdd,proto3" json:"to_add,omitempty"`
+ ToRemove *FlowGroups `protobuf:"bytes,2,opt,name=to_remove,json=toRemove,proto3" json:"to_remove,omitempty"`
+ ToUpdate *FlowGroups `protobuf:"bytes,3,opt,name=to_update,json=toUpdate,proto3" json:"to_update,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FlowGroupChanges) Reset() { *m = FlowGroupChanges{} }
+func (m *FlowGroupChanges) String() string { return proto.CompactTextString(m) }
+func (*FlowGroupChanges) ProtoMessage() {}
+func (*FlowGroupChanges) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{93}
+}
+
+func (m *FlowGroupChanges) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FlowGroupChanges.Unmarshal(m, b)
+}
+func (m *FlowGroupChanges) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FlowGroupChanges.Marshal(b, m, deterministic)
+}
+func (m *FlowGroupChanges) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FlowGroupChanges.Merge(m, src)
+}
+func (m *FlowGroupChanges) XXX_Size() int {
+ return xxx_messageInfo_FlowGroupChanges.Size(m)
+}
+func (m *FlowGroupChanges) XXX_DiscardUnknown() {
+ xxx_messageInfo_FlowGroupChanges.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FlowGroupChanges proto.InternalMessageInfo
+
+func (m *FlowGroupChanges) GetToAdd() *FlowGroups {
+ if m != nil {
+ return m.ToAdd
+ }
+ return nil
+}
+
+func (m *FlowGroupChanges) GetToRemove() *FlowGroups {
+ if m != nil {
+ return m.ToRemove
+ }
+ return nil
+}
+
+func (m *FlowGroupChanges) GetToUpdate() *FlowGroups {
+ if m != nil {
+ return m.ToUpdate
+ }
+ return nil
+}
+
+type PacketIn struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ PacketIn *OfpPacketIn `protobuf:"bytes,2,opt,name=packet_in,json=packetIn,proto3" json:"packet_in,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PacketIn) Reset() { *m = PacketIn{} }
+func (m *PacketIn) String() string { return proto.CompactTextString(m) }
+func (*PacketIn) ProtoMessage() {}
+func (*PacketIn) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{94}
+}
+
+func (m *PacketIn) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PacketIn.Unmarshal(m, b)
+}
+func (m *PacketIn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PacketIn.Marshal(b, m, deterministic)
+}
+func (m *PacketIn) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PacketIn.Merge(m, src)
+}
+func (m *PacketIn) XXX_Size() int {
+ return xxx_messageInfo_PacketIn.Size(m)
+}
+func (m *PacketIn) XXX_DiscardUnknown() {
+ xxx_messageInfo_PacketIn.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PacketIn proto.InternalMessageInfo
+
+func (m *PacketIn) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *PacketIn) GetPacketIn() *OfpPacketIn {
+ if m != nil {
+ return m.PacketIn
+ }
+ return nil
+}
+
+type PacketOut struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ PacketOut *OfpPacketOut `protobuf:"bytes,2,opt,name=packet_out,json=packetOut,proto3" json:"packet_out,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PacketOut) Reset() { *m = PacketOut{} }
+func (m *PacketOut) String() string { return proto.CompactTextString(m) }
+func (*PacketOut) ProtoMessage() {}
+func (*PacketOut) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{95}
+}
+
+func (m *PacketOut) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PacketOut.Unmarshal(m, b)
+}
+func (m *PacketOut) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PacketOut.Marshal(b, m, deterministic)
+}
+func (m *PacketOut) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PacketOut.Merge(m, src)
+}
+func (m *PacketOut) XXX_Size() int {
+ return xxx_messageInfo_PacketOut.Size(m)
+}
+func (m *PacketOut) XXX_DiscardUnknown() {
+ xxx_messageInfo_PacketOut.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PacketOut proto.InternalMessageInfo
+
+func (m *PacketOut) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *PacketOut) GetPacketOut() *OfpPacketOut {
+ if m != nil {
+ return m.PacketOut
+ }
+ return nil
+}
+
+type ChangeEvent struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // Types that are valid to be assigned to Event:
+ // *ChangeEvent_PortStatus
+ Event isChangeEvent_Event `protobuf_oneof:"event"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ChangeEvent) Reset() { *m = ChangeEvent{} }
+func (m *ChangeEvent) String() string { return proto.CompactTextString(m) }
+func (*ChangeEvent) ProtoMessage() {}
+func (*ChangeEvent) Descriptor() ([]byte, []int) {
+ return fileDescriptor_08e3a4e375aeddc7, []int{96}
+}
+
+func (m *ChangeEvent) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ChangeEvent.Unmarshal(m, b)
+}
+func (m *ChangeEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ChangeEvent.Marshal(b, m, deterministic)
+}
+func (m *ChangeEvent) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ChangeEvent.Merge(m, src)
+}
+func (m *ChangeEvent) XXX_Size() int {
+ return xxx_messageInfo_ChangeEvent.Size(m)
+}
+func (m *ChangeEvent) XXX_DiscardUnknown() {
+ xxx_messageInfo_ChangeEvent.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ChangeEvent proto.InternalMessageInfo
+
+func (m *ChangeEvent) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+type isChangeEvent_Event interface {
+ isChangeEvent_Event()
+}
+
+type ChangeEvent_PortStatus struct {
+ PortStatus *OfpPortStatus `protobuf:"bytes,2,opt,name=port_status,json=portStatus,proto3,oneof"`
+}
+
+func (*ChangeEvent_PortStatus) isChangeEvent_Event() {}
+
+func (m *ChangeEvent) GetEvent() isChangeEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (m *ChangeEvent) GetPortStatus() *OfpPortStatus {
+ if x, ok := m.GetEvent().(*ChangeEvent_PortStatus); ok {
+ return x.PortStatus
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*ChangeEvent) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*ChangeEvent_PortStatus)(nil),
+ }
+}
+
+func init() {
+ proto.RegisterEnum("openflow_13.OfpPortNo", OfpPortNo_name, OfpPortNo_value)
+ proto.RegisterEnum("openflow_13.OfpType", OfpType_name, OfpType_value)
+ proto.RegisterEnum("openflow_13.OfpHelloElemType", OfpHelloElemType_name, OfpHelloElemType_value)
+ proto.RegisterEnum("openflow_13.OfpConfigFlags", OfpConfigFlags_name, OfpConfigFlags_value)
+ proto.RegisterEnum("openflow_13.OfpTableConfig", OfpTableConfig_name, OfpTableConfig_value)
+ proto.RegisterEnum("openflow_13.OfpTable", OfpTable_name, OfpTable_value)
+ proto.RegisterEnum("openflow_13.OfpCapabilities", OfpCapabilities_name, OfpCapabilities_value)
+ proto.RegisterEnum("openflow_13.OfpPortConfig", OfpPortConfig_name, OfpPortConfig_value)
+ proto.RegisterEnum("openflow_13.OfpPortState", OfpPortState_name, OfpPortState_value)
+ proto.RegisterEnum("openflow_13.OfpPortFeatures", OfpPortFeatures_name, OfpPortFeatures_value)
+ proto.RegisterEnum("openflow_13.OfpPortReason", OfpPortReason_name, OfpPortReason_value)
+ proto.RegisterEnum("openflow_13.OfpMatchType", OfpMatchType_name, OfpMatchType_value)
+ proto.RegisterEnum("openflow_13.OfpOxmClass", OfpOxmClass_name, OfpOxmClass_value)
+ proto.RegisterEnum("openflow_13.OxmOfbFieldTypes", OxmOfbFieldTypes_name, OxmOfbFieldTypes_value)
+ proto.RegisterEnum("openflow_13.OfpVlanId", OfpVlanId_name, OfpVlanId_value)
+ proto.RegisterEnum("openflow_13.OfpIpv6ExthdrFlags", OfpIpv6ExthdrFlags_name, OfpIpv6ExthdrFlags_value)
+ proto.RegisterEnum("openflow_13.OfpActionType", OfpActionType_name, OfpActionType_value)
+ proto.RegisterEnum("openflow_13.OfpControllerMaxLen", OfpControllerMaxLen_name, OfpControllerMaxLen_value)
+ proto.RegisterEnum("openflow_13.OfpInstructionType", OfpInstructionType_name, OfpInstructionType_value)
+ proto.RegisterEnum("openflow_13.OfpFlowModCommand", OfpFlowModCommand_name, OfpFlowModCommand_value)
+ proto.RegisterEnum("openflow_13.OfpFlowModFlags", OfpFlowModFlags_name, OfpFlowModFlags_value)
+ proto.RegisterEnum("openflow_13.OfpGroup", OfpGroup_name, OfpGroup_value)
+ proto.RegisterEnum("openflow_13.OfpGroupModCommand", OfpGroupModCommand_name, OfpGroupModCommand_value)
+ proto.RegisterEnum("openflow_13.OfpGroupType", OfpGroupType_name, OfpGroupType_value)
+ proto.RegisterEnum("openflow_13.OfpPacketInReason", OfpPacketInReason_name, OfpPacketInReason_value)
+ proto.RegisterEnum("openflow_13.OfpFlowRemovedReason", OfpFlowRemovedReason_name, OfpFlowRemovedReason_value)
+ proto.RegisterEnum("openflow_13.OfpMeter", OfpMeter_name, OfpMeter_value)
+ proto.RegisterEnum("openflow_13.OfpMeterBandType", OfpMeterBandType_name, OfpMeterBandType_value)
+ proto.RegisterEnum("openflow_13.OfpMeterModCommand", OfpMeterModCommand_name, OfpMeterModCommand_value)
+ proto.RegisterEnum("openflow_13.OfpMeterFlags", OfpMeterFlags_name, OfpMeterFlags_value)
+ proto.RegisterEnum("openflow_13.OfpErrorType", OfpErrorType_name, OfpErrorType_value)
+ proto.RegisterEnum("openflow_13.OfpHelloFailedCode", OfpHelloFailedCode_name, OfpHelloFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpBadRequestCode", OfpBadRequestCode_name, OfpBadRequestCode_value)
+ proto.RegisterEnum("openflow_13.OfpBadActionCode", OfpBadActionCode_name, OfpBadActionCode_value)
+ proto.RegisterEnum("openflow_13.OfpBadInstructionCode", OfpBadInstructionCode_name, OfpBadInstructionCode_value)
+ proto.RegisterEnum("openflow_13.OfpBadMatchCode", OfpBadMatchCode_name, OfpBadMatchCode_value)
+ proto.RegisterEnum("openflow_13.OfpFlowModFailedCode", OfpFlowModFailedCode_name, OfpFlowModFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpGroupModFailedCode", OfpGroupModFailedCode_name, OfpGroupModFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpPortModFailedCode", OfpPortModFailedCode_name, OfpPortModFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpTableModFailedCode", OfpTableModFailedCode_name, OfpTableModFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpQueueOpFailedCode", OfpQueueOpFailedCode_name, OfpQueueOpFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpSwitchConfigFailedCode", OfpSwitchConfigFailedCode_name, OfpSwitchConfigFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpRoleRequestFailedCode", OfpRoleRequestFailedCode_name, OfpRoleRequestFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpMeterModFailedCode", OfpMeterModFailedCode_name, OfpMeterModFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpTableFeaturesFailedCode", OfpTableFeaturesFailedCode_name, OfpTableFeaturesFailedCode_value)
+ proto.RegisterEnum("openflow_13.OfpMultipartType", OfpMultipartType_name, OfpMultipartType_value)
+ proto.RegisterEnum("openflow_13.OfpMultipartRequestFlags", OfpMultipartRequestFlags_name, OfpMultipartRequestFlags_value)
+ proto.RegisterEnum("openflow_13.OfpMultipartReplyFlags", OfpMultipartReplyFlags_name, OfpMultipartReplyFlags_value)
+ proto.RegisterEnum("openflow_13.OfpTableFeaturePropType", OfpTableFeaturePropType_name, OfpTableFeaturePropType_value)
+ proto.RegisterEnum("openflow_13.OfpGroupCapabilities", OfpGroupCapabilities_name, OfpGroupCapabilities_value)
+ proto.RegisterEnum("openflow_13.OfpQueueProperties", OfpQueueProperties_name, OfpQueueProperties_value)
+ proto.RegisterEnum("openflow_13.OfpControllerRole", OfpControllerRole_name, OfpControllerRole_value)
+ proto.RegisterType((*OfpHeader)(nil), "openflow_13.ofp_header")
+ proto.RegisterType((*OfpHelloElemHeader)(nil), "openflow_13.ofp_hello_elem_header")
+ proto.RegisterType((*OfpHelloElemVersionbitmap)(nil), "openflow_13.ofp_hello_elem_versionbitmap")
+ proto.RegisterType((*OfpHello)(nil), "openflow_13.ofp_hello")
+ proto.RegisterType((*OfpSwitchConfig)(nil), "openflow_13.ofp_switch_config")
+ proto.RegisterType((*OfpTableMod)(nil), "openflow_13.ofp_table_mod")
+ proto.RegisterType((*OfpPort)(nil), "openflow_13.ofp_port")
+ proto.RegisterType((*OfpSwitchFeatures)(nil), "openflow_13.ofp_switch_features")
+ proto.RegisterType((*OfpPortStatus)(nil), "openflow_13.ofp_port_status")
+ proto.RegisterType((*OfpPortMod)(nil), "openflow_13.ofp_port_mod")
+ proto.RegisterType((*OfpMatch)(nil), "openflow_13.ofp_match")
+ proto.RegisterType((*OfpOxmField)(nil), "openflow_13.ofp_oxm_field")
+ proto.RegisterType((*OfpOxmOfbField)(nil), "openflow_13.ofp_oxm_ofb_field")
+ proto.RegisterType((*OfpOxmExperimenterField)(nil), "openflow_13.ofp_oxm_experimenter_field")
+ proto.RegisterType((*OfpAction)(nil), "openflow_13.ofp_action")
+ proto.RegisterType((*OfpActionOutput)(nil), "openflow_13.ofp_action_output")
+ proto.RegisterType((*OfpActionMplsTtl)(nil), "openflow_13.ofp_action_mpls_ttl")
+ proto.RegisterType((*OfpActionPush)(nil), "openflow_13.ofp_action_push")
+ proto.RegisterType((*OfpActionPopMpls)(nil), "openflow_13.ofp_action_pop_mpls")
+ proto.RegisterType((*OfpActionGroup)(nil), "openflow_13.ofp_action_group")
+ proto.RegisterType((*OfpActionNwTtl)(nil), "openflow_13.ofp_action_nw_ttl")
+ proto.RegisterType((*OfpActionSetField)(nil), "openflow_13.ofp_action_set_field")
+ proto.RegisterType((*OfpActionExperimenter)(nil), "openflow_13.ofp_action_experimenter")
+ proto.RegisterType((*OfpInstruction)(nil), "openflow_13.ofp_instruction")
+ proto.RegisterType((*OfpInstructionGotoTable)(nil), "openflow_13.ofp_instruction_goto_table")
+ proto.RegisterType((*OfpInstructionWriteMetadata)(nil), "openflow_13.ofp_instruction_write_metadata")
+ proto.RegisterType((*OfpInstructionActions)(nil), "openflow_13.ofp_instruction_actions")
+ proto.RegisterType((*OfpInstructionMeter)(nil), "openflow_13.ofp_instruction_meter")
+ proto.RegisterType((*OfpInstructionExperimenter)(nil), "openflow_13.ofp_instruction_experimenter")
+ proto.RegisterType((*OfpFlowMod)(nil), "openflow_13.ofp_flow_mod")
+ proto.RegisterType((*OfpBucket)(nil), "openflow_13.ofp_bucket")
+ proto.RegisterType((*OfpGroupMod)(nil), "openflow_13.ofp_group_mod")
+ proto.RegisterType((*OfpPacketOut)(nil), "openflow_13.ofp_packet_out")
+ proto.RegisterType((*OfpPacketIn)(nil), "openflow_13.ofp_packet_in")
+ proto.RegisterType((*OfpFlowRemoved)(nil), "openflow_13.ofp_flow_removed")
+ proto.RegisterType((*OfpMeterBandHeader)(nil), "openflow_13.ofp_meter_band_header")
+ proto.RegisterType((*OfpMeterBandDrop)(nil), "openflow_13.ofp_meter_band_drop")
+ proto.RegisterType((*OfpMeterBandDscpRemark)(nil), "openflow_13.ofp_meter_band_dscp_remark")
+ proto.RegisterType((*OfpMeterBandExperimenter)(nil), "openflow_13.ofp_meter_band_experimenter")
+ proto.RegisterType((*OfpMeterMod)(nil), "openflow_13.ofp_meter_mod")
+ proto.RegisterType((*OfpErrorMsg)(nil), "openflow_13.ofp_error_msg")
+ proto.RegisterType((*OfpErrorExperimenterMsg)(nil), "openflow_13.ofp_error_experimenter_msg")
+ proto.RegisterType((*OfpMultipartRequest)(nil), "openflow_13.ofp_multipart_request")
+ proto.RegisterType((*OfpMultipartReply)(nil), "openflow_13.ofp_multipart_reply")
+ proto.RegisterType((*OfpDesc)(nil), "openflow_13.ofp_desc")
+ proto.RegisterType((*OfpFlowStatsRequest)(nil), "openflow_13.ofp_flow_stats_request")
+ proto.RegisterType((*OfpFlowStats)(nil), "openflow_13.ofp_flow_stats")
+ proto.RegisterType((*OfpAggregateStatsRequest)(nil), "openflow_13.ofp_aggregate_stats_request")
+ proto.RegisterType((*OfpAggregateStatsReply)(nil), "openflow_13.ofp_aggregate_stats_reply")
+ proto.RegisterType((*OfpTableFeatureProperty)(nil), "openflow_13.ofp_table_feature_property")
+ proto.RegisterType((*OfpTableFeaturePropInstructions)(nil), "openflow_13.ofp_table_feature_prop_instructions")
+ proto.RegisterType((*OfpTableFeaturePropNextTables)(nil), "openflow_13.ofp_table_feature_prop_next_tables")
+ proto.RegisterType((*OfpTableFeaturePropActions)(nil), "openflow_13.ofp_table_feature_prop_actions")
+ proto.RegisterType((*OfpTableFeaturePropOxm)(nil), "openflow_13.ofp_table_feature_prop_oxm")
+ proto.RegisterType((*OfpTableFeaturePropExperimenter)(nil), "openflow_13.ofp_table_feature_prop_experimenter")
+ proto.RegisterType((*OfpTableFeatures)(nil), "openflow_13.ofp_table_features")
+ proto.RegisterType((*OfpTableStats)(nil), "openflow_13.ofp_table_stats")
+ proto.RegisterType((*OfpPortStatsRequest)(nil), "openflow_13.ofp_port_stats_request")
+ proto.RegisterType((*OfpPortStats)(nil), "openflow_13.ofp_port_stats")
+ proto.RegisterType((*OfpGroupStatsRequest)(nil), "openflow_13.ofp_group_stats_request")
+ proto.RegisterType((*OfpBucketCounter)(nil), "openflow_13.ofp_bucket_counter")
+ proto.RegisterType((*OfpGroupStats)(nil), "openflow_13.ofp_group_stats")
+ proto.RegisterType((*OfpGroupDesc)(nil), "openflow_13.ofp_group_desc")
+ proto.RegisterType((*OfpGroupEntry)(nil), "openflow_13.ofp_group_entry")
+ proto.RegisterType((*OfpGroupFeatures)(nil), "openflow_13.ofp_group_features")
+ proto.RegisterType((*OfpMeterMultipartRequest)(nil), "openflow_13.ofp_meter_multipart_request")
+ proto.RegisterType((*OfpMeterBandStats)(nil), "openflow_13.ofp_meter_band_stats")
+ proto.RegisterType((*OfpMeterStats)(nil), "openflow_13.ofp_meter_stats")
+ proto.RegisterType((*OfpMeterConfig)(nil), "openflow_13.ofp_meter_config")
+ proto.RegisterType((*OfpMeterFeatures)(nil), "openflow_13.ofp_meter_features")
+ proto.RegisterType((*OfpMeterEntry)(nil), "openflow_13.ofp_meter_entry")
+ proto.RegisterType((*OfpExperimenterMultipartHeader)(nil), "openflow_13.ofp_experimenter_multipart_header")
+ proto.RegisterType((*OfpExperimenterHeader)(nil), "openflow_13.ofp_experimenter_header")
+ proto.RegisterType((*OfpQueuePropHeader)(nil), "openflow_13.ofp_queue_prop_header")
+ proto.RegisterType((*OfpQueuePropMinRate)(nil), "openflow_13.ofp_queue_prop_min_rate")
+ proto.RegisterType((*OfpQueuePropMaxRate)(nil), "openflow_13.ofp_queue_prop_max_rate")
+ proto.RegisterType((*OfpQueuePropExperimenter)(nil), "openflow_13.ofp_queue_prop_experimenter")
+ proto.RegisterType((*OfpPacketQueue)(nil), "openflow_13.ofp_packet_queue")
+ proto.RegisterType((*OfpQueueGetConfigRequest)(nil), "openflow_13.ofp_queue_get_config_request")
+ proto.RegisterType((*OfpQueueGetConfigReply)(nil), "openflow_13.ofp_queue_get_config_reply")
+ proto.RegisterType((*OfpActionSetQueue)(nil), "openflow_13.ofp_action_set_queue")
+ proto.RegisterType((*OfpQueueStatsRequest)(nil), "openflow_13.ofp_queue_stats_request")
+ proto.RegisterType((*OfpQueueStats)(nil), "openflow_13.ofp_queue_stats")
+ proto.RegisterType((*OfpRoleRequest)(nil), "openflow_13.ofp_role_request")
+ proto.RegisterType((*OfpAsyncConfig)(nil), "openflow_13.ofp_async_config")
+ proto.RegisterType((*MeterModUpdate)(nil), "openflow_13.MeterModUpdate")
+ proto.RegisterType((*MeterStatsReply)(nil), "openflow_13.MeterStatsReply")
+ proto.RegisterType((*FlowTableUpdate)(nil), "openflow_13.FlowTableUpdate")
+ proto.RegisterType((*FlowGroupTableUpdate)(nil), "openflow_13.FlowGroupTableUpdate")
+ proto.RegisterType((*Flows)(nil), "openflow_13.Flows")
+ proto.RegisterType((*Meters)(nil), "openflow_13.Meters")
+ proto.RegisterType((*FlowGroups)(nil), "openflow_13.FlowGroups")
+ proto.RegisterType((*FlowChanges)(nil), "openflow_13.FlowChanges")
+ proto.RegisterType((*FlowGroupChanges)(nil), "openflow_13.FlowGroupChanges")
+ proto.RegisterType((*PacketIn)(nil), "openflow_13.PacketIn")
+ proto.RegisterType((*PacketOut)(nil), "openflow_13.PacketOut")
+ proto.RegisterType((*ChangeEvent)(nil), "openflow_13.ChangeEvent")
+}
+
+func init() { proto.RegisterFile("voltha_protos/openflow_13.proto", fileDescriptor_08e3a4e375aeddc7) }
+
+var fileDescriptor_08e3a4e375aeddc7 = []byte{
+ // 8456 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x7d, 0x5b, 0x8c, 0x1b, 0x4b,
+ 0x76, 0x98, 0xf8, 0x98, 0x19, 0xb2, 0x38, 0x33, 0x6a, 0xb5, 0x5e, 0x94, 0x46, 0xba, 0x92, 0x78,
+ 0x75, 0x77, 0xef, 0x72, 0xbd, 0x2b, 0x5d, 0x5d, 0xad, 0x76, 0xbd, 0x0f, 0x47, 0x4d, 0xb2, 0x39,
+ 0xe4, 0x15, 0x1f, 0xad, 0xee, 0x9e, 0x91, 0xb4, 0x81, 0xd3, 0xe0, 0x90, 0xad, 0x19, 0xfa, 0xf2,
+ 0xb5, 0xdd, 0x3d, 0xa3, 0x91, 0x13, 0x07, 0x8a, 0x8d, 0x20, 0x40, 0x12, 0xdb, 0x09, 0xfc, 0xb1,
+ 0x40, 0xe0, 0x00, 0x31, 0xe2, 0x7c, 0x04, 0x01, 0xf2, 0x11, 0x20, 0x40, 0x80, 0xfc, 0x26, 0x40,
+ 0x02, 0xe4, 0x01, 0x18, 0x08, 0xfc, 0x63, 0xff, 0x39, 0x3f, 0x01, 0xfc, 0x9d, 0xc4, 0xd9, 0xac,
+ 0x82, 0x53, 0xe7, 0x54, 0x75, 0x35, 0x1f, 0x73, 0x67, 0x37, 0x77, 0xf3, 0x91, 0x2f, 0xb1, 0xcf,
+ 0xab, 0x4e, 0x9d, 0x3a, 0xe7, 0xd4, 0xa9, 0xd3, 0xd5, 0x23, 0x76, 0xe7, 0x64, 0x3a, 0x8a, 0x8e,
+ 0x7a, 0xde, 0x2c, 0x98, 0x46, 0xd3, 0xf0, 0xc1, 0x74, 0xe6, 0x4f, 0x5e, 0x8f, 0xa6, 0x6f, 0xbc,
+ 0x4f, 0x3e, 0xfd, 0x26, 0x07, 0xe9, 0x05, 0x05, 0x74, 0xf3, 0xd6, 0xe1, 0x74, 0x7a, 0x38, 0xf2,
+ 0x1f, 0xf4, 0x66, 0xc3, 0x07, 0xbd, 0xc9, 0x64, 0x1a, 0xf5, 0xa2, 0xe1, 0x74, 0x12, 0x22, 0xe9,
+ 0xcd, 0xbb, 0x49, 0x59, 0x6f, 0x7b, 0x93, 0x43, 0x6f, 0x3a, 0x53, 0x28, 0x4a, 0x7d, 0xc6, 0xa6,
+ 0xaf, 0x67, 0xde, 0x91, 0xdf, 0x1b, 0xf8, 0x81, 0x5e, 0x64, 0x1b, 0x27, 0x7e, 0x10, 0x0e, 0xa7,
+ 0x93, 0x62, 0xea, 0x6e, 0xea, 0xe3, 0x2d, 0x5b, 0x3c, 0xea, 0x5f, 0x63, 0xd9, 0xe8, 0xed, 0xcc,
+ 0x2f, 0xa6, 0xef, 0xa6, 0x3e, 0xde, 0x7e, 0x74, 0xf5, 0x9b, 0xaa, 0x5a, 0x20, 0x00, 0x90, 0x36,
+ 0x27, 0xd1, 0x35, 0x96, 0x39, 0x1d, 0x0e, 0x8a, 0x19, 0x2e, 0x00, 0x7e, 0x96, 0xfe, 0x59, 0x8a,
+ 0x5d, 0xc5, 0x51, 0x46, 0xa3, 0xa9, 0xe7, 0x8f, 0xfc, 0xb1, 0x18, 0xf0, 0x31, 0x89, 0x4d, 0x71,
+ 0xb1, 0x77, 0x17, 0xc4, 0x2a, 0x1c, 0xca, 0x08, 0xcf, 0xd9, 0x16, 0xe9, 0x75, 0x30, 0x8c, 0xc6,
+ 0xbd, 0x19, 0xd7, 0xaa, 0xf0, 0xe8, 0x6b, 0x67, 0xb1, 0x27, 0x18, 0x1a, 0x17, 0xec, 0xa4, 0x84,
+ 0x4a, 0x9e, 0x6d, 0x00, 0x99, 0x3f, 0x89, 0x4a, 0xdf, 0x61, 0xb7, 0xce, 0xe2, 0x05, 0x23, 0xe1,
+ 0xaf, 0xb0, 0x98, 0xbe, 0x9b, 0x01, 0x23, 0xd1, 0x63, 0xe9, 0x19, 0xcb, 0x4b, 0x4e, 0xfd, 0x57,
+ 0x58, 0x8e, 0x24, 0x86, 0xc5, 0xd4, 0xdd, 0xcc, 0xc7, 0x85, 0x47, 0xa5, 0xb3, 0xf4, 0x43, 0x83,
+ 0xd8, 0x92, 0xa7, 0xd4, 0x66, 0x97, 0x80, 0x24, 0x7c, 0x33, 0x8c, 0xfa, 0x47, 0x5e, 0x7f, 0x3a,
+ 0x79, 0x3d, 0x3c, 0xd4, 0xaf, 0xb0, 0xb5, 0xd7, 0xa3, 0xde, 0x61, 0x48, 0xcb, 0x83, 0x0f, 0x7a,
+ 0x89, 0x6d, 0x8d, 0x87, 0x61, 0xe8, 0x85, 0xfe, 0x64, 0xe0, 0x8d, 0xfc, 0x09, 0xb7, 0xc7, 0x96,
+ 0x5d, 0x00, 0xa0, 0xe3, 0x4f, 0x06, 0x2d, 0x7f, 0x52, 0xaa, 0xb0, 0x2d, 0xbe, 0x4e, 0xbd, 0x83,
+ 0x91, 0xef, 0x8d, 0xa7, 0x03, 0xfd, 0x06, 0xcb, 0xe1, 0xc3, 0x70, 0x20, 0x16, 0x9b, 0x3f, 0x37,
+ 0x07, 0xfa, 0x35, 0xb6, 0x8e, 0xe3, 0x91, 0x20, 0x7a, 0x2a, 0xfd, 0xa3, 0x34, 0xcb, 0x81, 0x90,
+ 0xd9, 0x34, 0x88, 0xf4, 0xeb, 0x6c, 0x03, 0xfe, 0xf5, 0x26, 0x53, 0x62, 0x5f, 0x87, 0xc7, 0xce,
+ 0x14, 0x10, 0x47, 0x6f, 0xbc, 0xde, 0x60, 0x10, 0x90, 0x7d, 0xd6, 0x8f, 0xde, 0x18, 0x83, 0x41,
+ 0xa0, 0xeb, 0x2c, 0x3b, 0xe9, 0x8d, 0x7d, 0xee, 0x19, 0x79, 0x9b, 0xff, 0x56, 0x86, 0xca, 0xaa,
+ 0x43, 0xc1, 0x44, 0xc3, 0xa8, 0x17, 0xf9, 0xc5, 0x35, 0x9c, 0x28, 0x7f, 0x00, 0x09, 0xfd, 0xe3,
+ 0x20, 0x28, 0xae, 0x73, 0x20, 0xff, 0xad, 0x7f, 0xc0, 0x58, 0x6f, 0x70, 0xe2, 0x07, 0xd1, 0x30,
+ 0xf4, 0x07, 0xc5, 0x0d, 0x8e, 0x51, 0x20, 0xfa, 0x2d, 0x96, 0x0f, 0x8f, 0x67, 0xa0, 0x9b, 0x3f,
+ 0x28, 0xe6, 0x38, 0x3a, 0x06, 0x80, 0xc4, 0x99, 0xef, 0x07, 0xc5, 0x3c, 0x4a, 0x84, 0xdf, 0xfa,
+ 0x6d, 0xc6, 0x40, 0xb2, 0x17, 0xce, 0x7c, 0x7f, 0x50, 0x64, 0xc8, 0x02, 0x10, 0x07, 0x00, 0xfa,
+ 0x0e, 0xcb, 0x8f, 0x7b, 0xa7, 0x84, 0x2d, 0x70, 0x6c, 0x6e, 0xdc, 0x3b, 0xe5, 0xc8, 0xd2, 0xbf,
+ 0x4c, 0xb1, 0xcb, 0xca, 0xb2, 0xbd, 0xf6, 0x7b, 0xd1, 0x71, 0xe0, 0x87, 0xfa, 0x1d, 0x56, 0x18,
+ 0xf4, 0xa2, 0xde, 0xac, 0x17, 0x1d, 0x09, 0x83, 0x67, 0x6d, 0x26, 0x40, 0x4d, 0x2e, 0x75, 0xe2,
+ 0x1d, 0x1c, 0xbf, 0x7e, 0xed, 0x07, 0x21, 0x99, 0x3d, 0x37, 0xa9, 0xe0, 0x33, 0xac, 0xd5, 0x04,
+ 0x97, 0x2e, 0xa4, 0xb8, 0xda, 0x98, 0xb8, 0xfc, 0x51, 0xbf, 0xc7, 0x36, 0x7b, 0xc7, 0xa7, 0xc3,
+ 0xd1, 0xb0, 0x17, 0xbc, 0x05, 0xc9, 0x68, 0xc6, 0x82, 0x84, 0x35, 0x07, 0x7a, 0x89, 0x6d, 0xf6,
+ 0x7b, 0xb3, 0xde, 0xc1, 0x70, 0x34, 0x8c, 0x86, 0x7e, 0x48, 0x26, 0x4d, 0xc0, 0x4a, 0x01, 0xbb,
+ 0x28, 0x56, 0xd6, 0x03, 0x5b, 0x1f, 0x87, 0xfa, 0x63, 0xb6, 0x1e, 0xf8, 0xbd, 0x90, 0x72, 0xc1,
+ 0xf6, 0xa3, 0x5b, 0x0b, 0xee, 0xcb, 0xa9, 0x91, 0xc6, 0x26, 0x5a, 0x48, 0x14, 0x03, 0x3f, 0xec,
+ 0x53, 0x48, 0x5e, 0x5d, 0xca, 0x63, 0x73, 0x92, 0xd2, 0xdf, 0x4e, 0xb1, 0x4d, 0x29, 0x06, 0x5c,
+ 0xf2, 0x67, 0x77, 0xa9, 0xd8, 0x7d, 0x32, 0x09, 0xf7, 0xd1, 0x59, 0x76, 0xdc, 0x0b, 0x3f, 0x27,
+ 0x6b, 0xf0, 0xdf, 0xe0, 0x08, 0xd2, 0x2d, 0xc8, 0x06, 0x31, 0xa0, 0xf4, 0x06, 0x63, 0x77, 0xdc,
+ 0x8b, 0xfa, 0x47, 0xfa, 0x83, 0x44, 0x5a, 0xda, 0x59, 0x98, 0x04, 0xa7, 0x52, 0x33, 0xd2, 0x2f,
+ 0x33, 0x36, 0x3d, 0x1d, 0x7b, 0xaf, 0x87, 0xfe, 0x68, 0x80, 0x69, 0xa1, 0xf0, 0xe8, 0xe6, 0x02,
+ 0x9b, 0x24, 0xb1, 0xf3, 0xd3, 0xd3, 0x71, 0x9d, 0x13, 0x97, 0xfe, 0x5b, 0x0a, 0x23, 0x53, 0x22,
+ 0xf5, 0x6f, 0x33, 0x40, 0x7b, 0xfd, 0x51, 0x2f, 0x0c, 0x49, 0x85, 0xe5, 0xb2, 0x38, 0x85, 0x9d,
+ 0x9b, 0x9e, 0x8e, 0xab, 0xf0, 0x4b, 0xff, 0x01, 0xcc, 0xe1, 0x00, 0xa5, 0xf0, 0xa9, 0x17, 0x1e,
+ 0x7d, 0xb0, 0x94, 0x51, 0x52, 0x35, 0x2e, 0xd8, 0xb9, 0xe9, 0xeb, 0x03, 0xae, 0x8a, 0xfe, 0x92,
+ 0xe9, 0xfe, 0xe9, 0xcc, 0x0f, 0x86, 0x90, 0x80, 0xfc, 0x80, 0xe4, 0xac, 0x71, 0x39, 0x5f, 0x5d,
+ 0x2a, 0x67, 0x91, 0xbc, 0x71, 0xc1, 0xbe, 0xa4, 0x42, 0xb9, 0xe4, 0xca, 0x06, 0x5b, 0xe3, 0xd8,
+ 0xd2, 0x1f, 0x6f, 0x63, 0x56, 0x4b, 0x28, 0x71, 0xf6, 0x2e, 0xa0, 0x52, 0x72, 0x93, 0x87, 0x64,
+ 0xf3, 0x1b, 0x2c, 0x77, 0xd4, 0x0b, 0x3d, 0xbe, 0xce, 0xe0, 0x6d, 0x39, 0x7b, 0xe3, 0xa8, 0x17,
+ 0xb6, 0x61, 0xa9, 0xaf, 0xb0, 0x2c, 0x78, 0x0e, 0x3a, 0x45, 0xe3, 0x82, 0xcd, 0x9f, 0xf4, 0x8f,
+ 0xd8, 0xd6, 0xec, 0xe8, 0x6d, 0x38, 0xec, 0xf7, 0x46, 0xdc, 0xe7, 0xd0, 0x3b, 0x1a, 0x17, 0xec,
+ 0x4d, 0x01, 0xb6, 0x80, 0xec, 0xab, 0x6c, 0x9b, 0xb2, 0xa4, 0x1f, 0xf5, 0x20, 0x42, 0xb9, 0x09,
+ 0xb2, 0xb0, 0x67, 0x70, 0x78, 0x9b, 0xc0, 0xfa, 0x0d, 0xb6, 0xe1, 0x47, 0x47, 0xde, 0x20, 0x8c,
+ 0x78, 0x42, 0xda, 0x6c, 0x5c, 0xb0, 0xd7, 0xfd, 0xe8, 0xa8, 0x16, 0x46, 0x02, 0x15, 0x06, 0x7d,
+ 0x9e, 0x91, 0x04, 0xca, 0x09, 0xfa, 0xfa, 0x0e, 0xcb, 0x01, 0x8a, 0x4f, 0x38, 0x47, 0x0a, 0x00,
+ 0xb1, 0x0b, 0x73, 0xda, 0x61, 0xb9, 0x93, 0x51, 0x6f, 0xe2, 0x9d, 0x0c, 0x07, 0x98, 0x92, 0x00,
+ 0x09, 0x90, 0xfd, 0xe1, 0x40, 0x22, 0x67, 0xfd, 0x19, 0x66, 0x25, 0x81, 0xb4, 0xfa, 0x33, 0x18,
+ 0x71, 0x38, 0xf3, 0x06, 0x61, 0x7f, 0x86, 0x39, 0x09, 0x46, 0x1c, 0xce, 0x6a, 0x61, 0x7f, 0xa6,
+ 0x5f, 0x67, 0xeb, 0xc3, 0x99, 0xe7, 0xf7, 0x27, 0xc5, 0x4d, 0xc2, 0xac, 0x0d, 0x67, 0x66, 0x7f,
+ 0x02, 0x02, 0x87, 0x33, 0x2c, 0x0e, 0x8a, 0x5b, 0x42, 0xe0, 0x70, 0x66, 0xf1, 0x32, 0x83, 0x23,
+ 0x4f, 0x1e, 0xf3, 0x39, 0x6c, 0xc7, 0xc8, 0x93, 0xc7, 0x34, 0x09, 0x8e, 0x84, 0xb9, 0x5f, 0x54,
+ 0x91, 0x34, 0xf9, 0xa8, 0x3f, 0xe3, 0x8c, 0x9a, 0x50, 0x25, 0xea, 0xcf, 0x80, 0x8f, 0x50, 0xc0,
+ 0x76, 0x49, 0x41, 0x11, 0xd7, 0xf1, 0x00, 0xb9, 0x74, 0x81, 0x3a, 0x1e, 0x08, 0x2e, 0x40, 0x01,
+ 0xd7, 0x65, 0x05, 0x05, 0x5c, 0x3b, 0x2c, 0x17, 0xf6, 0x23, 0x64, 0xbb, 0x22, 0x14, 0x01, 0x08,
+ 0x69, 0xc9, 0x91, 0xc0, 0x78, 0x55, 0x45, 0x02, 0xe7, 0x3d, 0x56, 0x18, 0xf6, 0xc7, 0x30, 0x09,
+ 0xbe, 0x14, 0xd7, 0x08, 0xcf, 0x10, 0xc8, 0x57, 0x23, 0x26, 0xe9, 0x4f, 0x07, 0x7e, 0xf1, 0x7a,
+ 0x92, 0xa4, 0x3a, 0x1d, 0xf8, 0x60, 0xdb, 0x5e, 0x30, 0xf3, 0xa6, 0xb3, 0x62, 0x51, 0xd8, 0xb6,
+ 0x17, 0xcc, 0xba, 0x7c, 0x3d, 0x00, 0x11, 0xce, 0x7a, 0xc5, 0x1b, 0x42, 0xe7, 0x5e, 0x30, 0x73,
+ 0x66, 0x3d, 0x81, 0x8a, 0x66, 0xbd, 0xe2, 0x4d, 0x05, 0xe5, 0xc6, 0xa8, 0xf0, 0xa8, 0x57, 0xdc,
+ 0x11, 0x7e, 0x03, 0x5c, 0x47, 0x31, 0xd7, 0x51, 0xaf, 0x78, 0x4b, 0x41, 0xb9, 0x47, 0x3d, 0x5a,
+ 0x8d, 0x27, 0xdc, 0x08, 0xb7, 0x09, 0x07, 0xab, 0xf1, 0x24, 0x5e, 0xaa, 0x27, 0xdc, 0x08, 0x1f,
+ 0xa8, 0x48, 0x61, 0x04, 0x40, 0xbe, 0x1e, 0xf5, 0x0e, 0xfc, 0x51, 0xf1, 0x8e, 0x9c, 0xe1, 0xec,
+ 0xe4, 0x49, 0x9d, 0xc3, 0xa4, 0x11, 0x9e, 0xa0, 0x9d, 0xee, 0x26, 0x8c, 0xf0, 0x24, 0x61, 0xa7,
+ 0x27, 0x68, 0xa7, 0x7b, 0x49, 0x12, 0x6e, 0xa7, 0xaf, 0xb0, 0x6d, 0x3e, 0xd0, 0x64, 0xe0, 0x45,
+ 0xbd, 0xe0, 0xd0, 0x8f, 0x8a, 0x25, 0xd2, 0x65, 0x13, 0xe0, 0x9d, 0x81, 0xcb, 0xa1, 0xfa, 0x5d,
+ 0x52, 0x68, 0x32, 0xf0, 0xc2, 0x70, 0x54, 0xfc, 0x90, 0x88, 0xf2, 0x48, 0xe4, 0x84, 0x23, 0x95,
+ 0x22, 0x1a, 0x8d, 0x8a, 0xf7, 0x93, 0x14, 0xee, 0x68, 0xa4, 0xdf, 0x61, 0x6c, 0x3c, 0x1b, 0x85,
+ 0x1e, 0xce, 0xe9, 0x23, 0xd2, 0x26, 0x0f, 0xb0, 0x16, 0x9f, 0xd2, 0x0d, 0xb6, 0xc1, 0x09, 0xa2,
+ 0x7e, 0xf1, 0x2b, 0x62, 0x01, 0x00, 0xe0, 0x72, 0x6b, 0x71, 0xd4, 0xc1, 0x34, 0x2c, 0x7e, 0x55,
+ 0xb8, 0x0c, 0x40, 0x2a, 0xd3, 0x10, 0x90, 0xb3, 0x83, 0x03, 0x6f, 0x18, 0x0e, 0x07, 0xc5, 0x8f,
+ 0x05, 0x72, 0x76, 0x70, 0xd0, 0x0c, 0x87, 0x03, 0xfd, 0x36, 0xcb, 0x47, 0xc7, 0x93, 0x89, 0x3f,
+ 0x82, 0x5d, 0xf8, 0x6b, 0x94, 0x31, 0x72, 0x08, 0x6a, 0x0e, 0xa4, 0xa5, 0xfd, 0xd3, 0xe8, 0x68,
+ 0x10, 0x14, 0xcb, 0xaa, 0xa5, 0x4d, 0x0e, 0xd3, 0x1f, 0xb2, 0xcb, 0xc9, 0xc4, 0x83, 0xb9, 0x6d,
+ 0xc8, 0x65, 0xa5, 0xec, 0x4b, 0x89, 0xec, 0xc3, 0xf3, 0x5c, 0x89, 0x6d, 0x52, 0x06, 0x42, 0xd2,
+ 0x5f, 0xe3, 0xc6, 0x48, 0xd9, 0x0c, 0xd3, 0x90, 0x4a, 0x13, 0x06, 0x7d, 0xa4, 0xf9, 0x5c, 0xa1,
+ 0x71, 0x82, 0x3e, 0xa7, 0xb9, 0xcf, 0xb6, 0x44, 0xda, 0x41, 0xa2, 0x31, 0x57, 0x2f, 0x65, 0x17,
+ 0x28, 0xf7, 0x08, 0x2a, 0x91, 0x11, 0x90, 0x2a, 0x10, 0x54, 0x94, 0x16, 0x12, 0x54, 0x52, 0xa9,
+ 0x50, 0xa5, 0x52, 0xb4, 0xa2, 0xf0, 0x40, 0xa2, 0xdf, 0x20, 0x22, 0x86, 0x31, 0xa2, 0xd2, 0x44,
+ 0x82, 0xe6, 0xaf, 0x2b, 0x34, 0x2e, 0xd1, 0x7c, 0xc4, 0x47, 0x7b, 0x12, 0xeb, 0xf4, 0x37, 0x52,
+ 0x34, 0xbf, 0x02, 0x05, 0x40, 0x82, 0x4c, 0x2a, 0xf5, 0x9b, 0x09, 0x32, 0xa1, 0xd5, 0xd7, 0x99,
+ 0xa6, 0x84, 0x03, 0x52, 0xfe, 0x56, 0x8a, 0x86, 0xdd, 0x8e, 0x83, 0x42, 0xc8, 0x14, 0xde, 0x80,
+ 0x94, 0x7f, 0x57, 0x50, 0x16, 0xc8, 0x27, 0x38, 0x19, 0x6c, 0x27, 0xc2, 0x2f, 0x90, 0xee, 0xb7,
+ 0x53, 0xb4, 0xa2, 0x9b, 0xc2, 0x3b, 0x12, 0x83, 0xa3, 0x87, 0x20, 0xe9, 0xef, 0x24, 0x06, 0x47,
+ 0x3f, 0x01, 0x62, 0xd8, 0x51, 0x4f, 0x7a, 0xa3, 0x63, 0xbf, 0xb2, 0x8e, 0x95, 0x4e, 0xc9, 0x63,
+ 0x37, 0x57, 0xef, 0xca, 0x50, 0xd2, 0x02, 0x06, 0x0f, 0x19, 0x54, 0x5c, 0x41, 0x91, 0xd1, 0xc0,
+ 0x63, 0x18, 0xf8, 0x88, 0xc2, 0x44, 0xf5, 0x67, 0x02, 0x56, 0xfa, 0x17, 0x59, 0x3c, 0x2a, 0xf6,
+ 0xfa, 0x70, 0x7e, 0xd4, 0x1f, 0x26, 0xf6, 0xec, 0xc5, 0xda, 0x10, 0xc9, 0xd4, 0x1a, 0xe9, 0x3b,
+ 0x6c, 0x7d, 0x7a, 0x1c, 0xcd, 0x8e, 0x23, 0xaa, 0x0d, 0x3f, 0x58, 0xc5, 0x83, 0x54, 0x10, 0x94,
+ 0xf8, 0x4b, 0xff, 0x01, 0x05, 0x65, 0x14, 0x8d, 0xf8, 0x96, 0x5e, 0x58, 0x72, 0x52, 0x24, 0x5e,
+ 0x41, 0x27, 0xc2, 0xd6, 0x8d, 0x46, 0xfa, 0x23, 0x96, 0x9d, 0x1d, 0x87, 0x47, 0x54, 0x11, 0xad,
+ 0x54, 0x15, 0x68, 0x78, 0xad, 0x70, 0x1c, 0x1e, 0xc1, 0x90, 0xb3, 0xe9, 0x8c, 0x8b, 0xa3, 0x0a,
+ 0x68, 0xe5, 0x90, 0x82, 0x8e, 0x27, 0x83, 0xe9, 0xac, 0x3d, 0x1b, 0x85, 0xfa, 0xb7, 0xd8, 0xda,
+ 0x61, 0x30, 0x3d, 0x9e, 0xf1, 0xc2, 0xa0, 0xf0, 0xe8, 0xf6, 0x2a, 0x5e, 0x4e, 0x04, 0x9b, 0x06,
+ 0xff, 0xa1, 0x7f, 0x9b, 0xad, 0x4f, 0xde, 0xf0, 0x69, 0x6e, 0x9c, 0x6d, 0x22, 0xa4, 0x02, 0xc6,
+ 0xc9, 0x1b, 0x98, 0xe2, 0x53, 0x96, 0x0f, 0xfd, 0x88, 0x2a, 0xb6, 0x1c, 0xe7, 0xbd, 0xb7, 0x8a,
+ 0x57, 0x12, 0x42, 0x7e, 0x0a, 0xfd, 0x08, 0x8b, 0xbf, 0xcf, 0xe6, 0x5c, 0x20, 0xcf, 0x85, 0xdc,
+ 0x5f, 0x25, 0x44, 0xa5, 0x85, 0x24, 0xae, 0x3e, 0x57, 0x72, 0x6c, 0x1d, 0xc9, 0x4a, 0x4f, 0xb1,
+ 0xdc, 0x4b, 0x2c, 0x2c, 0x3f, 0x73, 0x41, 0xf9, 0x95, 0xa2, 0x33, 0x17, 0x9d, 0x26, 0xe1, 0x50,
+ 0x15, 0x1f, 0x5e, 0xd7, 0xc7, 0xbd, 0x53, 0x38, 0xb7, 0x3e, 0xc4, 0xf3, 0xd4, 0xdc, 0xf2, 0x42,
+ 0xf1, 0x27, 0x5d, 0x82, 0x4e, 0xaf, 0xb4, 0xdc, 0xa5, 0x07, 0x78, 0x94, 0x51, 0x56, 0x15, 0x4a,
+ 0x7f, 0x3f, 0x3a, 0xf2, 0x03, 0xe9, 0xb1, 0x5b, 0x76, 0x0c, 0x28, 0x7d, 0x9a, 0x18, 0x42, 0x2c,
+ 0xe7, 0x17, 0x30, 0x7d, 0x83, 0x69, 0xf3, 0xeb, 0x08, 0x4a, 0xf1, 0x1f, 0xca, 0x91, 0x9a, 0x3f,
+ 0x37, 0x07, 0xa5, 0x72, 0xc2, 0x10, 0xb8, 0x7c, 0xfa, 0x55, 0xb9, 0xdc, 0x74, 0x9c, 0xe7, 0x8b,
+ 0x59, 0x6a, 0xb0, 0x2b, 0xcb, 0x96, 0x4b, 0x7f, 0x48, 0x55, 0x34, 0xa7, 0x3e, 0xfb, 0x7c, 0x41,
+ 0xe5, 0xf6, 0x73, 0x76, 0x7d, 0xc5, 0x9a, 0x2d, 0x84, 0x7c, 0x6a, 0x31, 0xe4, 0x61, 0xa1, 0x78,
+ 0xfd, 0x0b, 0x2b, 0xb2, 0x69, 0xf3, 0xdf, 0xa5, 0xdf, 0xcf, 0xa0, 0x79, 0x87, 0x93, 0x30, 0x0a,
+ 0x8e, 0x31, 0x17, 0xe8, 0x4a, 0x2e, 0xd8, 0xa2, 0x68, 0x6f, 0x30, 0x76, 0x38, 0x8d, 0xa6, 0x78,
+ 0x6a, 0xa5, 0x88, 0x5f, 0x3c, 0x44, 0x28, 0x52, 0xbc, 0x98, 0x1c, 0x76, 0x6b, 0x78, 0xe2, 0x47,
+ 0x5c, 0xdd, 0x65, 0xdb, 0x6f, 0x82, 0x61, 0xa4, 0xd4, 0xe3, 0x98, 0x03, 0xbe, 0x7e, 0xa6, 0xb4,
+ 0x24, 0x0b, 0x14, 0xef, 0x1c, 0x22, 0x8b, 0xf7, 0xa7, 0x6c, 0x03, 0xcd, 0x12, 0x52, 0x5e, 0xb8,
+ 0x7f, 0xa6, 0x38, 0xa2, 0x85, 0x18, 0xa7, 0x9f, 0xfa, 0x77, 0xd9, 0xda, 0xd8, 0x07, 0xd3, 0x61,
+ 0x7e, 0x28, 0x9d, 0xc9, 0xcf, 0x29, 0x21, 0x5e, 0xf9, 0x0f, 0xbd, 0x3b, 0x67, 0xfd, 0xf5, 0x15,
+ 0x0d, 0x2c, 0x55, 0xc4, 0x99, 0x21, 0xb7, 0x8e, 0x4b, 0x55, 0xfa, 0x36, 0x6e, 0x03, 0xcb, 0xed,
+ 0x7a, 0x46, 0xcf, 0xa7, 0xd4, 0x63, 0x1f, 0x9c, 0x6d, 0x42, 0xfd, 0x26, 0xcb, 0xc9, 0x15, 0xc0,
+ 0xfe, 0x85, 0x7c, 0xd6, 0x3f, 0x64, 0x5b, 0xc9, 0xa2, 0x25, 0xcd, 0x09, 0x36, 0xc7, 0x4a, 0xb5,
+ 0x52, 0x6a, 0xa1, 0x37, 0x2e, 0x31, 0xab, 0xfe, 0x49, 0xbc, 0x1a, 0xd8, 0x2b, 0xbb, 0xbe, 0x22,
+ 0xf1, 0x48, 0xf3, 0x97, 0x1e, 0x61, 0x4f, 0x71, 0xc1, 0xc8, 0x3c, 0x35, 0xc0, 0x0f, 0x65, 0x92,
+ 0xfc, 0xb9, 0x39, 0x28, 0xed, 0x63, 0x6b, 0x6f, 0x95, 0x55, 0x7f, 0xee, 0xa0, 0xf8, 0x93, 0x0c,
+ 0x76, 0x32, 0xb8, 0xbe, 0xe3, 0x29, 0x75, 0xd0, 0xa6, 0x9f, 0x0f, 0x7d, 0xb2, 0x14, 0x3d, 0xe9,
+ 0x77, 0x58, 0x01, 0x7f, 0xa9, 0x56, 0x62, 0x08, 0xe2, 0x45, 0x80, 0xba, 0x42, 0x99, 0x64, 0x57,
+ 0xee, 0x7b, 0x6c, 0xa3, 0x3f, 0x1d, 0x8f, 0x7b, 0x13, 0x3c, 0xdb, 0x6f, 0x2f, 0xc9, 0xf0, 0x62,
+ 0x7c, 0x8f, 0x08, 0x6d, 0xc1, 0xa1, 0xdf, 0x63, 0x9b, 0xc3, 0xc1, 0xc8, 0xf7, 0xa2, 0xe1, 0xd8,
+ 0x9f, 0x1e, 0x47, 0xd4, 0xff, 0x28, 0x00, 0xcc, 0x45, 0x10, 0x90, 0x1c, 0xf5, 0x82, 0x81, 0x24,
+ 0xc1, 0x26, 0x5b, 0x01, 0x60, 0x82, 0xe4, 0x26, 0xcb, 0xcd, 0x82, 0xe1, 0x34, 0x18, 0x46, 0x6f,
+ 0xa9, 0xd3, 0x26, 0x9f, 0xf5, 0x1d, 0x96, 0xc7, 0xf6, 0x15, 0xa8, 0x8e, 0x7d, 0xb6, 0x1c, 0x02,
+ 0x9a, 0xbc, 0xd9, 0x38, 0x3d, 0x8e, 0xf0, 0xd4, 0x8d, 0xad, 0xb6, 0x8d, 0xe9, 0x71, 0xc4, 0x8f,
+ 0xdb, 0x3b, 0x2c, 0x0f, 0x28, 0xdc, 0x2e, 0xb1, 0xd9, 0x06, 0xb4, 0xbb, 0x3c, 0xa3, 0xca, 0x7e,
+ 0x67, 0x41, 0xed, 0x77, 0xfe, 0x12, 0x5b, 0xe3, 0x1d, 0x18, 0x7e, 0x9e, 0x2d, 0x3c, 0xba, 0xb6,
+ 0xbc, 0x3f, 0x63, 0x23, 0x91, 0xfe, 0x94, 0x6d, 0x2a, 0x0b, 0x1e, 0x16, 0xb7, 0xb8, 0x83, 0xdd,
+ 0x3a, 0x2b, 0xd6, 0xec, 0x04, 0x47, 0xe9, 0xc7, 0x29, 0x2c, 0x7d, 0x0e, 0x8e, 0xfb, 0x9f, 0xfb,
+ 0x11, 0x2c, 0xee, 0x1b, 0x7f, 0x78, 0x78, 0x24, 0x76, 0x30, 0x7a, 0x82, 0x22, 0xeb, 0x0d, 0x6f,
+ 0x0c, 0xf1, 0x69, 0xe2, 0x36, 0x96, 0xe7, 0x10, 0x3e, 0xd1, 0x3b, 0xac, 0x80, 0x68, 0x9c, 0x2a,
+ 0xae, 0x2e, 0x72, 0xe0, 0x64, 0x3f, 0x51, 0x53, 0xd2, 0xf9, 0x82, 0xe0, 0x3f, 0x50, 0xf3, 0x08,
+ 0xb7, 0x1d, 0xf0, 0xbc, 0xef, 0xc7, 0x5e, 0x82, 0xa5, 0xd9, 0x62, 0x5e, 0x92, 0xc4, 0x8b, 0x6e,
+ 0xf2, 0x20, 0xd1, 0xe6, 0xdf, 0x59, 0xc1, 0xaa, 0x14, 0x75, 0xea, 0x96, 0x97, 0x49, 0x6c, 0x79,
+ 0x30, 0x1d, 0x34, 0xd8, 0xea, 0xe9, 0x20, 0xde, 0x16, 0x74, 0xa5, 0xdf, 0x4e, 0xb1, 0x6d, 0xde,
+ 0x11, 0xec, 0xc1, 0x33, 0xd4, 0x0b, 0x49, 0xb7, 0x4a, 0xcd, 0xb9, 0xd5, 0x75, 0xb6, 0x31, 0x9c,
+ 0xa8, 0xe6, 0x5e, 0x1f, 0x4e, 0xb8, 0xad, 0x15, 0x53, 0x66, 0xce, 0x67, 0x4a, 0x19, 0xd7, 0x59,
+ 0x35, 0xae, 0xc9, 0xbc, 0xa4, 0xcf, 0x70, 0x72, 0xb6, 0x3a, 0xbf, 0x2c, 0x3b, 0xa6, 0xe9, 0x15,
+ 0x01, 0x2a, 0x05, 0xcd, 0xb7, 0x4d, 0xcf, 0x88, 0xfb, 0x38, 0x97, 0x64, 0x13, 0xb9, 0x44, 0x46,
+ 0xc1, 0xda, 0x79, 0xa2, 0x40, 0x4c, 0x6f, 0x5d, 0x99, 0xde, 0x3f, 0xcc, 0x60, 0x11, 0xc3, 0x99,
+ 0x02, 0x7f, 0x3c, 0x3d, 0xf1, 0x57, 0xa7, 0x2e, 0x35, 0xf6, 0xd3, 0x73, 0xb1, 0xff, 0x7d, 0x39,
+ 0xf1, 0x0c, 0x9f, 0xf8, 0xfd, 0xe5, 0x99, 0x89, 0x86, 0x38, 0x6b, 0xee, 0xd9, 0xe4, 0xdc, 0xef,
+ 0xb1, 0xcd, 0xc1, 0x71, 0xd0, 0xa3, 0x42, 0xa8, 0x2f, 0xd2, 0x96, 0x80, 0x39, 0x7e, 0x1f, 0xb6,
+ 0x1e, 0x49, 0x32, 0x01, 0x1a, 0xcc, 0x5b, 0x92, 0xaf, 0x13, 0xfa, 0xfd, 0x85, 0xf4, 0xb7, 0xf1,
+ 0xc5, 0xe9, 0x2f, 0xb7, 0x98, 0xfe, 0xee, 0xb1, 0x4d, 0x5a, 0xc0, 0xfe, 0xf4, 0x78, 0x82, 0x99,
+ 0x2c, 0x6b, 0x17, 0x10, 0x56, 0x05, 0x10, 0xe4, 0x80, 0x83, 0xb7, 0x91, 0x4f, 0x04, 0x8c, 0x13,
+ 0xe4, 0x01, 0x82, 0x68, 0xb9, 0x66, 0x6f, 0xcf, 0xb1, 0x66, 0xa5, 0x3f, 0x49, 0xe3, 0x1e, 0x87,
+ 0xdb, 0xd9, 0x41, 0x6f, 0x32, 0x38, 0xef, 0x7b, 0x33, 0x85, 0x43, 0x09, 0x56, 0x9d, 0x65, 0x83,
+ 0x5e, 0xe4, 0xd3, 0xf2, 0xf1, 0xdf, 0x5c, 0xe1, 0xe3, 0x20, 0x8c, 0xbc, 0x70, 0xf8, 0xeb, 0x3e,
+ 0xb9, 0x5e, 0x9e, 0x43, 0x9c, 0xe1, 0xaf, 0xfb, 0xfa, 0x13, 0x96, 0x1d, 0x04, 0xd3, 0x19, 0xd5,
+ 0x48, 0x67, 0x0e, 0x04, 0x74, 0x70, 0x7e, 0x82, 0x7f, 0xf5, 0xcf, 0x58, 0x61, 0x10, 0xf6, 0x67,
+ 0xb0, 0xe4, 0xbd, 0xe0, 0xf3, 0x95, 0x4d, 0x64, 0x95, 0x3d, 0x26, 0x6f, 0x5c, 0xb0, 0x19, 0x3c,
+ 0xda, 0xfc, 0x49, 0xef, 0x2c, 0x2d, 0x96, 0x3e, 0x3e, 0x4b, 0xd8, 0xb9, 0x6a, 0xa5, 0xab, 0x58,
+ 0xf7, 0xcf, 0x4d, 0xa1, 0xf4, 0x3d, 0x2c, 0xa1, 0x96, 0xab, 0x06, 0xf6, 0x9a, 0x05, 0x7e, 0xdf,
+ 0x1b, 0xf9, 0x27, 0xbe, 0xa8, 0xdb, 0xf3, 0x00, 0x69, 0x01, 0xa0, 0x64, 0xb0, 0x9d, 0x33, 0x54,
+ 0x39, 0x4f, 0x81, 0x51, 0xfa, 0x57, 0x94, 0x74, 0x50, 0xc6, 0x39, 0x73, 0xba, 0x24, 0x5e, 0xcc,
+ 0xe9, 0x72, 0x0f, 0x4d, 0xab, 0x7b, 0xa8, 0x5a, 0x25, 0x65, 0x12, 0x55, 0x92, 0xfe, 0x1d, 0xb6,
+ 0x06, 0x9a, 0x8b, 0xb4, 0x5d, 0x3a, 0xcb, 0xd0, 0xf4, 0xda, 0x12, 0x19, 0x4a, 0xcf, 0x50, 0x73,
+ 0x3f, 0x08, 0xa6, 0x81, 0x37, 0x0e, 0x0f, 0x97, 0x9e, 0x0c, 0x74, 0x96, 0xe5, 0x6d, 0x42, 0xf2,
+ 0x42, 0xf8, 0x2d, 0xb3, 0x53, 0x46, 0xc9, 0x4e, 0xbf, 0x95, 0xc2, 0x85, 0x40, 0x69, 0x89, 0xa6,
+ 0xc6, 0x2a, 0xd1, 0x37, 0x58, 0xce, 0x3f, 0xc5, 0xfd, 0x89, 0xc4, 0x6f, 0xf8, 0xa7, 0x33, 0xde,
+ 0xa3, 0x9c, 0xb7, 0x7c, 0xe6, 0x8c, 0xd2, 0x4e, 0xdd, 0x02, 0x4e, 0x28, 0x04, 0x8f, 0x47, 0xd1,
+ 0x70, 0xd6, 0xe3, 0xef, 0xbb, 0x7e, 0x74, 0xec, 0x87, 0x91, 0xfe, 0x69, 0x22, 0x04, 0xef, 0x2c,
+ 0x1a, 0x49, 0x72, 0x28, 0x11, 0xb8, 0x7c, 0x2d, 0x74, 0x96, 0x3d, 0x98, 0x0e, 0xde, 0x8a, 0xd9,
+ 0xc3, 0xef, 0x52, 0x44, 0xce, 0xa9, 0x8c, 0x3b, 0x1b, 0xbd, 0xfd, 0x45, 0x8f, 0xfa, 0xbb, 0x29,
+ 0x7c, 0xc3, 0x3b, 0xf0, 0xc3, 0x3e, 0x77, 0x91, 0xd7, 0x01, 0xff, 0xcd, 0xc7, 0xcb, 0xdb, 0x1b,
+ 0xe3, 0xd7, 0x41, 0x0d, 0x50, 0xf8, 0x42, 0x4e, 0xbe, 0xe8, 0xcb, 0xdb, 0xeb, 0x47, 0x6f, 0x04,
+ 0x22, 0x24, 0x04, 0xbe, 0xe6, 0x5d, 0x0f, 0x11, 0x71, 0x9b, 0xb1, 0xd0, 0x0f, 0x86, 0xbd, 0x91,
+ 0x37, 0x39, 0x1e, 0x73, 0x0b, 0xe7, 0xed, 0x3c, 0x42, 0x3a, 0xc7, 0x63, 0xe0, 0x1b, 0xe0, 0xb0,
+ 0x3c, 0x57, 0xe4, 0xed, 0xf5, 0xc1, 0x0c, 0xf8, 0x4a, 0x7f, 0x94, 0x62, 0xd7, 0xe4, 0x06, 0x12,
+ 0x46, 0xbd, 0x28, 0x94, 0x2b, 0x70, 0xc6, 0x1b, 0x6c, 0xb5, 0xde, 0x4c, 0x9f, 0x51, 0x6f, 0x66,
+ 0xe6, 0xea, 0xcd, 0x55, 0x7b, 0xed, 0x5c, 0xdd, 0xbe, 0xb6, 0x50, 0xb7, 0xcb, 0xc4, 0xbe, 0x7e,
+ 0x9e, 0xc4, 0xfe, 0x6f, 0x33, 0x58, 0xe7, 0xc4, 0x93, 0xd2, 0xb7, 0x59, 0x7a, 0x38, 0xe0, 0x2f,
+ 0x5a, 0xb2, 0x76, 0x7a, 0x78, 0xe6, 0xeb, 0xf9, 0xf9, 0x4d, 0x31, 0x7d, 0x8e, 0x4d, 0x31, 0xb3,
+ 0x64, 0x53, 0x54, 0x77, 0xf4, 0xec, 0xdc, 0x8e, 0xfe, 0xe5, 0x9c, 0x17, 0xa4, 0xe3, 0x6d, 0xa8,
+ 0x8e, 0x17, 0x1b, 0x39, 0x97, 0x30, 0xf2, 0x97, 0xb8, 0xbd, 0xfe, 0x3f, 0x3a, 0x18, 0xfc, 0x71,
+ 0x0a, 0xd3, 0x7d, 0xef, 0xf0, 0x30, 0xf0, 0x0f, 0x7b, 0x91, 0xff, 0xff, 0x8d, 0x87, 0xfe, 0x35,
+ 0x76, 0x63, 0xf9, 0xc4, 0x20, 0x09, 0xcd, 0x2f, 0x54, 0xea, 0x8b, 0x16, 0x2a, 0x3d, 0xbf, 0x50,
+ 0xb7, 0x19, 0xe3, 0x43, 0x23, 0x9a, 0xaa, 0x0e, 0x80, 0x70, 0x74, 0xe9, 0xcf, 0x33, 0x98, 0xfa,
+ 0xd1, 0x78, 0x74, 0x89, 0xc2, 0x9b, 0x05, 0xd3, 0x99, 0x1f, 0xf0, 0x72, 0x53, 0x4d, 0x82, 0x8b,
+ 0x85, 0xc0, 0x22, 0x9b, 0x9a, 0x0d, 0xf7, 0xe7, 0x96, 0x1d, 0x7b, 0x53, 0x0f, 0xcf, 0x23, 0x45,
+ 0xe5, 0xe3, 0xaf, 0xae, 0x94, 0x67, 0xdd, 0x66, 0x85, 0x89, 0x7f, 0x1a, 0xa9, 0xf7, 0x34, 0x0a,
+ 0x8f, 0x1e, 0x9c, 0x47, 0xac, 0xc2, 0x06, 0xa5, 0x0f, 0x3c, 0xd2, 0xed, 0x8e, 0xdd, 0xf9, 0x2e,
+ 0xd5, 0xd7, 0xcf, 0x23, 0x6f, 0x49, 0xb3, 0xea, 0x7b, 0x2c, 0x33, 0x3d, 0x1d, 0xaf, 0xac, 0xc3,
+ 0x96, 0x08, 0x99, 0x9e, 0x8e, 0x1b, 0x17, 0x6c, 0xe0, 0x02, 0x8b, 0x2d, 0x29, 0xc0, 0xce, 0x65,
+ 0xb1, 0x33, 0x0b, 0x31, 0xf1, 0x12, 0xa3, 0x74, 0xc8, 0x3e, 0x3c, 0x87, 0xc5, 0x17, 0x02, 0x36,
+ 0xf5, 0x33, 0x07, 0xec, 0x67, 0xac, 0xf4, 0xc5, 0x6b, 0xa0, 0xdf, 0x67, 0xdb, 0xf1, 0xa3, 0x37,
+ 0x1c, 0xe0, 0x48, 0x5b, 0xf6, 0xa6, 0x5c, 0x99, 0xe6, 0x20, 0x2c, 0x39, 0xd8, 0x31, 0x5b, 0x6d,
+ 0xff, 0x9f, 0xa7, 0xab, 0xf5, 0xad, 0x55, 0x8e, 0x0f, 0xeb, 0x01, 0xbb, 0xe4, 0xf4, 0x74, 0xcc,
+ 0x35, 0xca, 0xe0, 0x3d, 0x98, 0xe9, 0xe9, 0x18, 0x74, 0xf9, 0xfb, 0xa9, 0x95, 0x16, 0x3c, 0xb3,
+ 0xfe, 0x5c, 0xf2, 0xa2, 0x27, 0x51, 0x44, 0x65, 0x92, 0x45, 0xd4, 0xd7, 0x59, 0xe2, 0x72, 0x87,
+ 0x47, 0xd5, 0x12, 0x68, 0xa2, 0xa9, 0x88, 0x1a, 0x54, 0x4e, 0xbf, 0x97, 0x66, 0xfa, 0x82, 0x4e,
+ 0xe1, 0x59, 0x39, 0x51, 0x5c, 0x10, 0x4b, 0x2b, 0x17, 0xc4, 0x3e, 0x62, 0xdb, 0x4a, 0x67, 0x11,
+ 0xf2, 0x57, 0x86, 0x27, 0x93, 0xad, 0xb8, 0xb5, 0x08, 0xb9, 0x5c, 0x25, 0xe3, 0x7d, 0x4b, 0x4a,
+ 0x8f, 0x92, 0xec, 0x05, 0x00, 0x95, 0xfb, 0x42, 0x6b, 0x89, 0xfb, 0x42, 0x77, 0x58, 0x61, 0xdc,
+ 0x3b, 0xf5, 0xfc, 0x49, 0x14, 0x0c, 0xfd, 0x90, 0xb6, 0x32, 0x36, 0xee, 0x9d, 0x9a, 0x08, 0xd1,
+ 0x77, 0xa1, 0xec, 0xe7, 0xe9, 0x07, 0xf0, 0x1b, 0x7c, 0x35, 0xcf, 0x13, 0x46, 0x90, 0xaf, 0x6c,
+ 0x85, 0xb5, 0xf4, 0xe3, 0x14, 0xf6, 0xcf, 0x91, 0x14, 0xf7, 0xfe, 0xb3, 0xf7, 0x7a, 0x70, 0x8d,
+ 0x13, 0x35, 0x93, 0x6e, 0xd9, 0x05, 0x84, 0x61, 0x2e, 0xbd, 0xc7, 0x36, 0x47, 0xd3, 0xe9, 0xe7,
+ 0xc7, 0x33, 0x25, 0x9b, 0x66, 0xed, 0x02, 0xc2, 0x90, 0xe4, 0x43, 0xb6, 0xc5, 0x6d, 0xe7, 0x0f,
+ 0x88, 0x26, 0x4b, 0xed, 0x59, 0x04, 0x62, 0xd2, 0xfd, 0x04, 0x0b, 0x2d, 0x79, 0x05, 0x2c, 0xde,
+ 0xc6, 0x56, 0xdd, 0xcb, 0x2a, 0xfd, 0x29, 0xd5, 0x31, 0x31, 0xcf, 0xea, 0x3b, 0x5c, 0xb7, 0x19,
+ 0x0b, 0x4e, 0xa9, 0x01, 0x12, 0x8a, 0x1d, 0x21, 0x38, 0xb5, 0x10, 0x00, 0xe8, 0x28, 0x46, 0xe3,
+ 0x1c, 0xf2, 0x91, 0x44, 0xdf, 0x60, 0xb9, 0xe0, 0xd4, 0x83, 0x0d, 0x24, 0x24, 0xe5, 0x37, 0x82,
+ 0xd3, 0x0a, 0x3c, 0x72, 0xeb, 0x09, 0x14, 0x6e, 0x7b, 0x1b, 0x11, 0xa1, 0x70, 0x4c, 0x38, 0xd5,
+ 0xcd, 0xfc, 0x01, 0x5f, 0x55, 0x3e, 0x66, 0x0d, 0x01, 0x34, 0xa6, 0x40, 0x6f, 0x88, 0x31, 0x05,
+ 0x7a, 0x87, 0xe5, 0x83, 0x53, 0x3c, 0x7e, 0x84, 0x54, 0xaa, 0xe4, 0x82, 0x53, 0x93, 0x3f, 0x03,
+ 0x32, 0x92, 0x48, 0xac, 0x54, 0x72, 0x91, 0x40, 0xde, 0x65, 0x9b, 0xc1, 0xa9, 0xf7, 0x3a, 0xe8,
+ 0x8d, 0x7d, 0x20, 0xa1, 0x42, 0x85, 0x05, 0xa7, 0x75, 0x00, 0x99, 0xfc, 0xd6, 0x62, 0x21, 0x38,
+ 0xf5, 0xa6, 0x27, 0x7e, 0xc0, 0x09, 0x0a, 0x42, 0xb5, 0xee, 0x89, 0x1f, 0x00, 0xfe, 0x16, 0xd7,
+ 0xbc, 0x1f, 0xf4, 0x39, 0x7a, 0x53, 0x0c, 0x5e, 0x0d, 0xfa, 0xc8, 0xcd, 0xfa, 0xd3, 0xd1, 0x68,
+ 0x18, 0x52, 0xdd, 0x42, 0x7b, 0xbd, 0x80, 0x2c, 0x54, 0x88, 0xdb, 0xe7, 0xa8, 0x10, 0x2f, 0x2e,
+ 0x56, 0x88, 0xa5, 0xc7, 0xd8, 0xb1, 0xc7, 0x0e, 0xdf, 0x42, 0x69, 0xb3, 0xea, 0x5d, 0xd7, 0x3e,
+ 0xc6, 0x3d, 0x36, 0xf5, 0xd0, 0xe1, 0xfc, 0xe0, 0xff, 0xbe, 0x68, 0x28, 0xfd, 0x38, 0x8d, 0xa1,
+ 0xa3, 0xa8, 0x73, 0x86, 0x1a, 0x7c, 0xf9, 0xfc, 0xd7, 0x89, 0xb8, 0xc9, 0x05, 0xfe, 0x6b, 0x19,
+ 0x34, 0x09, 0x6d, 0x32, 0x5f, 0xa4, 0x4d, 0x76, 0xbe, 0x84, 0xf9, 0xb2, 0x5a, 0x53, 0x15, 0xb6,
+ 0x49, 0x96, 0xe2, 0x33, 0xa2, 0xdc, 0x72, 0x67, 0x45, 0xaf, 0x54, 0x98, 0xd3, 0x2e, 0xe0, 0xb3,
+ 0x03, 0x3c, 0x70, 0x6c, 0xdb, 0x8e, 0x2d, 0xc3, 0x0f, 0x6f, 0x5f, 0x74, 0x85, 0xf1, 0xcc, 0x4e,
+ 0x6e, 0x7a, 0x65, 0x27, 0x37, 0x73, 0xce, 0x4e, 0xee, 0x1f, 0xa6, 0xd4, 0xb5, 0x82, 0xbc, 0xfa,
+ 0x56, 0xff, 0x55, 0xba, 0x1a, 0x8a, 0xaf, 0x2f, 0x57, 0xa9, 0x04, 0x24, 0x95, 0x5f, 0xfa, 0xcd,
+ 0xff, 0xfe, 0x1f, 0x6f, 0xaf, 0x23, 0x3d, 0xfc, 0xbc, 0xa5, 0xdf, 0x54, 0xa8, 0xbf, 0x91, 0xa4,
+ 0xc6, 0xeb, 0xa4, 0xfa, 0x23, 0xbc, 0x32, 0x2c, 0x0a, 0xba, 0x5b, 0x2b, 0xe4, 0x73, 0x1a, 0xbc,
+ 0x50, 0x1c, 0x96, 0xfe, 0x56, 0x0a, 0x7d, 0x15, 0x51, 0x72, 0x8f, 0xba, 0xc2, 0xd6, 0xf8, 0x4d,
+ 0x43, 0xf1, 0x5e, 0x96, 0x3f, 0x2c, 0xdc, 0xa3, 0x4d, 0x2f, 0xde, 0xa3, 0x05, 0xa7, 0x81, 0x8d,
+ 0x84, 0xcb, 0x13, 0x9b, 0x74, 0x7e, 0xdc, 0x3b, 0xe5, 0xc5, 0x7b, 0xa8, 0x17, 0x93, 0x2d, 0xfe,
+ 0xad, 0x78, 0xe3, 0xff, 0x8e, 0xda, 0x38, 0x5a, 0xec, 0x36, 0x9c, 0xf1, 0x52, 0xeb, 0xd7, 0xf0,
+ 0x75, 0xb1, 0xd2, 0x94, 0xc1, 0xd0, 0x28, 0xb3, 0x4b, 0xe4, 0xe2, 0x1c, 0xa8, 0x46, 0xdd, 0x45,
+ 0x44, 0x54, 0x7a, 0x13, 0xcc, 0xfd, 0xfa, 0x57, 0xd8, 0x45, 0xee, 0xeb, 0x0a, 0x25, 0x86, 0xdf,
+ 0x16, 0x80, 0x25, 0x5d, 0xe9, 0x0f, 0x28, 0x04, 0x71, 0x30, 0x19, 0x82, 0x2b, 0x54, 0x9b, 0x2b,
+ 0xf3, 0xd3, 0x73, 0x65, 0x3e, 0x8c, 0x1a, 0x37, 0xc4, 0xd5, 0x38, 0xdc, 0x42, 0x70, 0x73, 0x82,
+ 0x74, 0x25, 0xc6, 0xd5, 0x88, 0xa9, 0x30, 0x18, 0x0b, 0x00, 0x14, 0x34, 0x5f, 0x56, 0x38, 0x3e,
+ 0x65, 0x2c, 0xb6, 0x21, 0x05, 0xe3, 0xbd, 0xb3, 0x3a, 0x60, 0xe8, 0x4f, 0x79, 0xf8, 0x8d, 0xc1,
+ 0xf8, 0x1b, 0xd8, 0x54, 0x47, 0x92, 0x33, 0xef, 0xed, 0xab, 0x96, 0x4b, 0xaf, 0xe8, 0xc1, 0x65,
+ 0x7e, 0xd6, 0x1e, 0xdc, 0x3f, 0x27, 0x97, 0x46, 0x02, 0xe9, 0xd2, 0x74, 0x6b, 0x1d, 0xdf, 0x58,
+ 0xa7, 0xe4, 0xad, 0xf5, 0x36, 0x7f, 0x65, 0x7a, 0x9b, 0x26, 0x8d, 0x4e, 0x4f, 0xeb, 0x04, 0x10,
+ 0x77, 0xa9, 0xe3, 0x67, 0x96, 0x38, 0x3e, 0xc9, 0x17, 0x8d, 0x43, 0x21, 0x1f, 0x5c, 0x47, 0x22,
+ 0xfb, 0xd3, 0xd1, 0x34, 0xa0, 0x95, 0x01, 0x64, 0x15, 0x9e, 0x41, 0x61, 0xc5, 0xa7, 0x30, 0x55,
+ 0x1c, 0xca, 0x3a, 0x2d, 0xb5, 0xe2, 0x02, 0x8d, 0x6a, 0xde, 0xca, 0x43, 0xc8, 0x11, 0x39, 0xc1,
+ 0x03, 0x0f, 0x1f, 0xe8, 0xb7, 0xe6, 0x13, 0x86, 0xca, 0x21, 0x0b, 0xbf, 0x2f, 0x4c, 0x1a, 0x8a,
+ 0xa7, 0x8b, 0xa4, 0x71, 0xc2, 0xee, 0xf1, 0xbe, 0x64, 0xa2, 0x23, 0x29, 0x23, 0xf6, 0x68, 0xf9,
+ 0x95, 0xaa, 0xd4, 0x17, 0x54, 0xda, 0x73, 0xed, 0xca, 0x65, 0x0d, 0xd1, 0x11, 0xee, 0xc6, 0x89,
+ 0x71, 0x7f, 0x71, 0xa3, 0x99, 0xd8, 0xf8, 0xfc, 0xd1, 0xb1, 0x7f, 0x4c, 0x27, 0x09, 0x1a, 0x8b,
+ 0xb7, 0x8d, 0xb0, 0xb2, 0x15, 0x8e, 0x24, 0x4f, 0xe6, 0x1a, 0xcb, 0xc4, 0x57, 0x78, 0xe0, 0x67,
+ 0x29, 0x40, 0xa5, 0x15, 0x31, 0xe3, 0xe1, 0xc4, 0xe3, 0xaf, 0x1e, 0xaa, 0xac, 0xa0, 0xc8, 0xa5,
+ 0x95, 0x5e, 0xf4, 0xf4, 0x05, 0x0d, 0xb0, 0x9e, 0xa6, 0xab, 0x6b, 0x4b, 0xde, 0x69, 0x2c, 0x1b,
+ 0xb3, 0x77, 0xfa, 0x0b, 0x1e, 0xf3, 0x1f, 0x50, 0x2b, 0x48, 0xe1, 0x4c, 0x58, 0xff, 0x4b, 0x19,
+ 0xf8, 0x3c, 0xc7, 0xb7, 0x65, 0x6b, 0xf9, 0x37, 0x53, 0x98, 0x93, 0x28, 0xdb, 0xf2, 0x41, 0xc0,
+ 0x1f, 0x70, 0xb4, 0x38, 0x6f, 0xf3, 0x67, 0x3c, 0x88, 0x29, 0x8d, 0x29, 0xbc, 0xa1, 0x55, 0x49,
+ 0x9c, 0x80, 0x56, 0xbd, 0x1a, 0x58, 0xa1, 0x3f, 0x1d, 0x7e, 0x1e, 0xe1, 0xfd, 0x0b, 0x24, 0x3a,
+ 0xe4, 0xd5, 0x0c, 0x44, 0xa1, 0xdc, 0xe5, 0x96, 0xdc, 0x0c, 0x2b, 0x1d, 0xe2, 0x89, 0x78, 0x09,
+ 0xcf, 0x6c, 0xf4, 0x76, 0xe9, 0x5d, 0xb2, 0x6f, 0xb1, 0x75, 0x4e, 0x2d, 0x3e, 0xc4, 0xb8, 0xbd,
+ 0xea, 0x35, 0x2c, 0xa7, 0xb2, 0x89, 0xb8, 0x64, 0x2e, 0x5c, 0xbb, 0x42, 0x3b, 0xad, 0x78, 0xd1,
+ 0x20, 0x6d, 0x97, 0x49, 0xd8, 0xae, 0xd4, 0x56, 0x9d, 0xef, 0x7c, 0xe7, 0xa8, 0x84, 0xb8, 0x74,
+ 0x52, 0xdc, 0x9f, 0x51, 0x76, 0x54, 0xe4, 0xfd, 0x3c, 0x72, 0x12, 0xa7, 0xa4, 0xcc, 0xc2, 0x29,
+ 0x49, 0x39, 0x7a, 0x65, 0xe7, 0x8f, 0x5e, 0x89, 0x93, 0xce, 0xda, 0xdc, 0x49, 0x67, 0x7e, 0xdb,
+ 0x5d, 0x3f, 0xc7, 0xb6, 0xbb, 0xb1, 0xe4, 0xa4, 0x31, 0x46, 0x07, 0x0d, 0xa6, 0x23, 0x5f, 0x9a,
+ 0xeb, 0x31, 0xcb, 0xc2, 0xf3, 0xca, 0x97, 0x9c, 0xfd, 0xe9, 0x24, 0x0a, 0xa6, 0xa3, 0x91, 0x1f,
+ 0x70, 0x3e, 0x9b, 0x53, 0xc3, 0x70, 0x87, 0xfe, 0xc4, 0xa7, 0x01, 0xc9, 0x10, 0x59, 0x7b, 0x33,
+ 0x06, 0x36, 0x07, 0xa5, 0xdf, 0xa1, 0x80, 0xe8, 0x85, 0x6f, 0x27, 0x7d, 0xb1, 0x49, 0xdf, 0x67,
+ 0xdb, 0x71, 0x39, 0xc2, 0xbb, 0xa8, 0xd4, 0xf6, 0x11, 0xd5, 0x08, 0xef, 0xa3, 0x7e, 0xcc, 0x34,
+ 0xe5, 0x2b, 0x29, 0x71, 0x8f, 0x07, 0xe8, 0xb6, 0x01, 0xee, 0x70, 0x30, 0xa7, 0x2c, 0xb3, 0x4b,
+ 0x89, 0xd7, 0xde, 0x9c, 0x14, 0x4b, 0xc2, 0x8b, 0x80, 0xb0, 0x11, 0xce, 0xef, 0x46, 0xbd, 0x62,
+ 0xdb, 0x7c, 0x2b, 0x6e, 0x4f, 0x07, 0x7b, 0xb3, 0x01, 0x64, 0x2a, 0x7c, 0x21, 0x80, 0xef, 0x5d,
+ 0xd2, 0x43, 0xfe, 0x55, 0x90, 0x7c, 0xc9, 0x47, 0xbb, 0xd5, 0xcd, 0xd5, 0xaf, 0x01, 0x6d, 0xac,
+ 0x2c, 0xda, 0xd3, 0x41, 0xc9, 0x62, 0x17, 0xb9, 0x68, 0x5e, 0x9d, 0xd8, 0x3c, 0x6a, 0x7e, 0xc0,
+ 0x0a, 0xca, 0xbe, 0xb6, 0xb2, 0x8f, 0xa6, 0xee, 0x7d, 0x6c, 0x2c, 0x65, 0x94, 0x5e, 0xb0, 0x8b,
+ 0xf5, 0xd1, 0xf4, 0x0d, 0xef, 0x84, 0xad, 0xd0, 0xf6, 0x31, 0xcb, 0x89, 0xcb, 0x48, 0xa4, 0xec,
+ 0x8d, 0x95, 0xb7, 0x95, 0xec, 0x0d, 0xf8, 0x05, 0xaa, 0x7a, 0xec, 0x0a, 0x08, 0xe6, 0xc5, 0xf2,
+ 0x59, 0xd2, 0xbf, 0xcd, 0xf2, 0xf2, 0x12, 0xcb, 0x4a, 0x5b, 0x48, 0x0a, 0x1b, 0x0f, 0x36, 0x30,
+ 0xc0, 0x77, 0xd9, 0x1a, 0x0c, 0x10, 0xea, 0x9f, 0xb0, 0xb5, 0x61, 0xe4, 0x8f, 0xc5, 0xdc, 0x77,
+ 0x96, 0x2b, 0x47, 0xdb, 0x3e, 0xa7, 0x2c, 0x7d, 0x9f, 0xad, 0x73, 0x3b, 0x86, 0x50, 0x34, 0xa8,
+ 0xcc, 0xab, 0x0c, 0xc7, 0x4b, 0x19, 0xc1, 0xfd, 0x94, 0x31, 0x39, 0xb5, 0x73, 0x48, 0x50, 0xce,
+ 0x4d, 0x42, 0xc2, 0x90, 0x15, 0x40, 0x42, 0xf5, 0xa8, 0x37, 0x39, 0xf4, 0x43, 0xfd, 0x6b, 0x6c,
+ 0x3d, 0x9a, 0x7a, 0xbd, 0x81, 0xb8, 0x0e, 0xaa, 0x27, 0x64, 0xf0, 0x59, 0xda, 0x6b, 0xd1, 0xd4,
+ 0x18, 0x0c, 0xf4, 0x07, 0x2c, 0x1f, 0x4d, 0xc9, 0x0d, 0xc9, 0x5c, 0xcb, 0xa8, 0x73, 0xd1, 0x14,
+ 0x5d, 0x12, 0x4a, 0x32, 0x4d, 0x6a, 0x2b, 0x06, 0xfc, 0xe6, 0xdc, 0x80, 0xd7, 0x17, 0x44, 0xe0,
+ 0xe4, 0xc4, 0xa8, 0x8f, 0x17, 0x47, 0x5d, 0xc9, 0x22, 0x87, 0x26, 0xae, 0x63, 0xbe, 0xee, 0xd4,
+ 0x43, 0x3f, 0x8b, 0x0b, 0x1d, 0xa4, 0xe4, 0xb0, 0x9c, 0x45, 0x41, 0xba, 0xcc, 0x59, 0x64, 0x58,
+ 0xaf, 0x74, 0x16, 0x49, 0x61, 0xe7, 0x44, 0xb4, 0x97, 0x5e, 0xb0, 0x3c, 0x0a, 0xed, 0x1e, 0x47,
+ 0x0b, 0x52, 0xbf, 0xcb, 0x58, 0x7c, 0x4b, 0x89, 0xc4, 0xee, 0xac, 0x12, 0x3b, 0x3d, 0x8e, 0x6c,
+ 0x52, 0xa2, 0x7b, 0x0c, 0x5b, 0x5a, 0x01, 0x8d, 0x6a, 0x9e, 0xf8, 0x93, 0x45, 0xd1, 0x7f, 0x89,
+ 0x15, 0x94, 0x0c, 0xb3, 0xb2, 0x32, 0x55, 0x68, 0x1a, 0x17, 0x6c, 0x16, 0x27, 0x9f, 0xca, 0x06,
+ 0x5b, 0xf3, 0x41, 0x72, 0xf9, 0xbf, 0xa4, 0x58, 0x41, 0x92, 0x4e, 0xa6, 0xba, 0xc6, 0x36, 0xbb,
+ 0x75, 0xcb, 0xf2, 0x9a, 0x9d, 0x7d, 0xa3, 0xd5, 0xac, 0x69, 0x17, 0x74, 0x8d, 0xe5, 0x38, 0xa4,
+ 0x6d, 0xbc, 0xd4, 0xde, 0xfd, 0xf4, 0xfd, 0xfb, 0x0d, 0xfd, 0x8a, 0xa4, 0xf1, 0xac, 0xae, 0xed,
+ 0x6a, 0xff, 0xe3, 0x3d, 0x40, 0x75, 0xc6, 0x38, 0xd4, 0x35, 0x2a, 0x2d, 0x53, 0xfb, 0x9f, 0x1c,
+ 0x76, 0x99, 0x15, 0x38, 0xac, 0xd3, 0xb5, 0xdb, 0x46, 0x4b, 0xfb, 0x8b, 0x04, 0x61, 0xbd, 0xd5,
+ 0xed, 0xd6, 0xb4, 0xff, 0xc5, 0x61, 0x62, 0x10, 0xa3, 0xd5, 0xd2, 0x7e, 0xc2, 0x21, 0xd7, 0xd9,
+ 0x45, 0x0e, 0xa9, 0x76, 0x3b, 0xae, 0xdd, 0x6d, 0xb5, 0x4c, 0x5b, 0xfb, 0xdf, 0x09, 0xf6, 0x56,
+ 0xb7, 0x6a, 0xb4, 0xb4, 0x9f, 0x26, 0xd9, 0x3b, 0xaf, 0xb4, 0xf7, 0x00, 0x29, 0xff, 0xbb, 0x35,
+ 0x7c, 0x4d, 0xcd, 0xf7, 0xe2, 0x6d, 0xce, 0xe2, 0x7a, 0x0d, 0xb3, 0xd5, 0xea, 0x6a, 0x17, 0xe4,
+ 0xb3, 0x69, 0xdb, 0x5d, 0x5b, 0x4b, 0xe9, 0x57, 0xd9, 0x25, 0x7c, 0xae, 0x36, 0xba, 0x9e, 0x6d,
+ 0x3e, 0xdf, 0x33, 0x1d, 0x57, 0x4b, 0xeb, 0x97, 0xb9, 0x0a, 0x12, 0x6c, 0xb5, 0x5e, 0x69, 0x99,
+ 0x98, 0xf6, 0xa5, 0x65, 0xda, 0xcd, 0xb6, 0xd9, 0x71, 0x4d, 0x5b, 0xcb, 0xea, 0x37, 0xd8, 0x55,
+ 0x0e, 0xae, 0x9b, 0x86, 0xbb, 0x67, 0x9b, 0x8e, 0x14, 0xb3, 0xa6, 0x5f, 0x67, 0x97, 0xe7, 0x51,
+ 0x20, 0x6a, 0x5d, 0xdf, 0x61, 0xd7, 0x39, 0x62, 0xd7, 0x74, 0x61, 0x9a, 0xf5, 0xe6, 0xae, 0xe4,
+ 0xda, 0x90, 0x02, 0x13, 0x48, 0xe0, 0xcb, 0x49, 0xbd, 0x1c, 0x89, 0xd2, 0xf2, 0xba, 0xce, 0xb6,
+ 0x39, 0xd0, 0x32, 0xaa, 0xcf, 0x4c, 0xd7, 0x6b, 0x76, 0x34, 0x26, 0x75, 0xad, 0xb7, 0xba, 0x2f,
+ 0x3c, 0xdb, 0x6c, 0x77, 0xf7, 0xcd, 0x9a, 0x56, 0xd0, 0xaf, 0x30, 0x0d, 0x49, 0xbb, 0xb6, 0xeb,
+ 0x39, 0xae, 0xe1, 0xee, 0x39, 0xda, 0xa6, 0x94, 0x4a, 0x02, 0xba, 0x7b, 0xae, 0xb6, 0xa5, 0x5f,
+ 0x62, 0x5b, 0xb1, 0x84, 0x76, 0xb7, 0xa6, 0x6d, 0xcb, 0x81, 0x76, 0xed, 0xee, 0x9e, 0xc5, 0x61,
+ 0x17, 0x25, 0x19, 0x97, 0x08, 0x20, 0x4d, 0x92, 0x71, 0x77, 0xe0, 0xb0, 0x4b, 0xfa, 0x4d, 0x76,
+ 0x8d, 0xc3, 0xda, 0x7b, 0x2d, 0xb7, 0x69, 0x19, 0xb6, 0x2b, 0xe7, 0xab, 0xeb, 0x45, 0x76, 0x65,
+ 0x01, 0x07, 0xd3, 0xbd, 0x2c, 0x31, 0x15, 0xc3, 0xb6, 0x9b, 0xa6, 0x2d, 0x79, 0xae, 0xe8, 0xd7,
+ 0x98, 0x3e, 0x87, 0x01, 0x8e, 0xab, 0xfa, 0x3d, 0x76, 0x9b, 0xc3, 0x9f, 0xef, 0x99, 0x7b, 0xe6,
+ 0x32, 0xf3, 0x5e, 0xd3, 0xef, 0xb0, 0x9d, 0x55, 0x24, 0x20, 0xe3, 0xba, 0xb4, 0x9d, 0xdd, 0x6d,
+ 0x99, 0x92, 0xaf, 0x28, 0xad, 0x44, 0x60, 0xa0, 0xbd, 0x21, 0xe7, 0x05, 0x62, 0x0c, 0xe7, 0x55,
+ 0xa7, 0x2a, 0x19, 0x6e, 0x4a, 0xed, 0x55, 0x1c, 0x70, 0xed, 0x48, 0x0b, 0x39, 0x02, 0xa3, 0xdd,
+ 0x92, 0xb0, 0xb6, 0xe9, 0x9a, 0x36, 0xb7, 0xda, 0xed, 0x72, 0x15, 0xef, 0x79, 0xcc, 0xfd, 0xa1,
+ 0x03, 0x22, 0x6d, 0xf0, 0xb5, 0x16, 0xb1, 0x8a, 0x83, 0x01, 0x6c, 0xdf, 0xb4, 0x9d, 0x66, 0xb7,
+ 0x53, 0x69, 0xba, 0x6d, 0xc3, 0xd2, 0x52, 0x65, 0x1f, 0xab, 0x19, 0xaa, 0x8c, 0xb1, 0xb9, 0x80,
+ 0x7e, 0x50, 0xf5, 0xea, 0xb6, 0xb1, 0x2b, 0x42, 0xf4, 0x02, 0xc9, 0x25, 0x68, 0xcd, 0xee, 0x5a,
+ 0x5a, 0x8a, 0x66, 0x4d, 0x30, 0xdb, 0x34, 0x9c, 0xb6, 0x96, 0x4e, 0x12, 0xb6, 0x0d, 0xe7, 0x99,
+ 0x96, 0x29, 0x3f, 0xc5, 0x61, 0xf0, 0x5d, 0x05, 0x15, 0x4d, 0xe4, 0x1c, 0x55, 0x45, 0x4f, 0x72,
+ 0xee, 0xaa, 0x57, 0x33, 0x2d, 0xdb, 0xac, 0x1a, 0xae, 0x59, 0x13, 0x12, 0x7e, 0x05, 0xbf, 0xb2,
+ 0xc6, 0xdb, 0xe8, 0xc4, 0xaa, 0x4e, 0x71, 0x9b, 0xe5, 0x11, 0x04, 0xf9, 0xe8, 0xa7, 0xa9, 0xf8,
+ 0x19, 0x52, 0xc7, 0xfb, 0x54, 0xf9, 0x5f, 0x53, 0xdd, 0x96, 0x68, 0x3d, 0x60, 0x56, 0x53, 0x35,
+ 0x90, 0x33, 0x02, 0xc7, 0x86, 0x18, 0x70, 0xb4, 0x94, 0x34, 0x08, 0xfa, 0x2c, 0x42, 0xd3, 0x92,
+ 0x54, 0x86, 0x8b, 0xa3, 0x65, 0x25, 0x29, 0x46, 0x01, 0x42, 0x73, 0xa4, 0x6f, 0xd5, 0x6b, 0x5a,
+ 0x64, 0xa5, 0xbb, 0x92, 0x10, 0x1d, 0x0d, 0x09, 0x9f, 0xea, 0xd7, 0xb8, 0x77, 0x91, 0xcc, 0x4a,
+ 0xab, 0x5b, 0x7d, 0x66, 0xd6, 0xb4, 0x77, 0xe9, 0xf2, 0x89, 0xf2, 0x91, 0x7d, 0xc2, 0x7c, 0x4b,
+ 0x94, 0x17, 0xec, 0xb5, 0xee, 0x8b, 0x8e, 0x96, 0x8a, 0xe9, 0x3a, 0x90, 0xac, 0xaa, 0xfb, 0x5a,
+ 0x56, 0x24, 0x73, 0x0e, 0xaa, 0xbf, 0xa8, 0x69, 0x77, 0x29, 0x62, 0x10, 0x12, 0x67, 0x8a, 0xa7,
+ 0xe5, 0xbf, 0x3c, 0xf7, 0x96, 0x46, 0x98, 0xde, 0x72, 0x16, 0x87, 0x75, 0xbc, 0x56, 0xb3, 0xf3,
+ 0x6c, 0x6e, 0x58, 0x47, 0xce, 0x22, 0x4d, 0xe9, 0x95, 0xd3, 0xed, 0x9b, 0x5a, 0xb6, 0xfc, 0xa7,
+ 0x69, 0xfc, 0xb4, 0x85, 0x4b, 0x97, 0xed, 0x26, 0x62, 0xac, 0x2b, 0x03, 0x48, 0xd0, 0x27, 0x0f,
+ 0xdb, 0x15, 0xaf, 0x51, 0x8b, 0xc5, 0x13, 0xa8, 0x5e, 0x93, 0x7e, 0xc7, 0x41, 0x44, 0x96, 0x9d,
+ 0x87, 0xd5, 0x6b, 0x5a, 0x4e, 0xcc, 0xbe, 0xee, 0x7d, 0xb2, 0xcb, 0xa9, 0xb4, 0x24, 0xa4, 0x0e,
+ 0xf6, 0x50, 0xc4, 0x23, 0xe8, 0xa9, 0xae, 0x0b, 0xd0, 0x63, 0x02, 0xbd, 0x03, 0xff, 0x8f, 0xc5,
+ 0x13, 0x30, 0xad, 0x5f, 0x92, 0xd2, 0x5c, 0x04, 0x81, 0xc1, 0x0b, 0x08, 0xea, 0xba, 0x0d, 0xd3,
+ 0xd6, 0xde, 0xe5, 0x62, 0xa2, 0x6a, 0xd7, 0xb2, 0x00, 0xa4, 0xc5, 0x44, 0xf5, 0x66, 0x05, 0x20,
+ 0x77, 0xe3, 0x21, 0x8d, 0x3d, 0xb7, 0xdb, 0x31, 0x77, 0xb5, 0x77, 0x4f, 0xf5, 0x4b, 0x82, 0xca,
+ 0x32, 0xf6, 0x1c, 0x53, 0x7b, 0xf7, 0x2e, 0xa5, 0x5f, 0xe3, 0xae, 0x24, 0x40, 0x90, 0x33, 0xda,
+ 0xda, 0xbb, 0x77, 0xe9, 0x72, 0x4d, 0x71, 0x1a, 0xba, 0x30, 0xbb, 0xc5, 0xa3, 0xc2, 0xb2, 0x3d,
+ 0xa3, 0x86, 0x7b, 0xf8, 0x26, 0x3e, 0xd6, 0xcc, 0x96, 0xe9, 0x9a, 0x5a, 0x2a, 0x86, 0xb4, 0xbb,
+ 0xb5, 0x66, 0xfd, 0x95, 0x96, 0x2e, 0x7f, 0x8a, 0x2e, 0x10, 0xff, 0xe1, 0x02, 0x32, 0x6a, 0x9b,
+ 0x3b, 0x7d, 0xa7, 0x66, 0xd8, 0x20, 0x09, 0x05, 0xb7, 0x5d, 0xaf, 0xfb, 0xb2, 0xad, 0xa5, 0xca,
+ 0x9f, 0xc7, 0x7f, 0x99, 0x80, 0xff, 0xa9, 0x01, 0x92, 0xfb, 0xb2, 0x5d, 0xf5, 0x3a, 0x2f, 0xdb,
+ 0xde, 0x43, 0x39, 0xb6, 0x80, 0x7c, 0xa2, 0xa5, 0xf4, 0x1d, 0x1e, 0xfd, 0x00, 0xe9, 0x5a, 0x66,
+ 0x87, 0x47, 0x60, 0xc5, 0x70, 0x9a, 0x55, 0x98, 0x8c, 0x7e, 0x83, 0xef, 0x96, 0x80, 0x4c, 0xec,
+ 0xb0, 0xef, 0xdf, 0x67, 0xca, 0x7f, 0x2f, 0xc7, 0x2e, 0x2f, 0xf9, 0xd8, 0x9f, 0x9c, 0xfa, 0x25,
+ 0x28, 0x55, 0xaf, 0xc8, 0xaa, 0xe4, 0x02, 0xa5, 0x65, 0x15, 0xde, 0x78, 0x85, 0xb8, 0x14, 0x6d,
+ 0xca, 0x02, 0xd7, 0x36, 0x5d, 0xa3, 0x66, 0xb8, 0x86, 0x96, 0x9e, 0x13, 0x66, 0xba, 0x0d, 0xaf,
+ 0xe6, 0xb8, 0x5a, 0x66, 0x09, 0xdc, 0xb1, 0xab, 0x5a, 0x76, 0x4e, 0x10, 0xc0, 0xdd, 0x57, 0x96,
+ 0x29, 0xb7, 0x7d, 0x81, 0xd8, 0x6f, 0x19, 0x1d, 0x6f, 0xbf, 0x59, 0xd3, 0xd6, 0x97, 0x21, 0xac,
+ 0xaa, 0xa5, 0x6d, 0xcc, 0xcf, 0xc3, 0xf2, 0x6a, 0x4e, 0xd5, 0xd2, 0x72, 0xb4, 0x15, 0x29, 0x70,
+ 0xb3, 0xda, 0xd1, 0xf2, 0x73, 0x72, 0x9a, 0x96, 0x67, 0xd9, 0x5d, 0xb7, 0xab, 0xb1, 0x05, 0xc4,
+ 0xfe, 0x63, 0xae, 0x6b, 0x61, 0x19, 0x02, 0x26, 0xb7, 0x39, 0x37, 0xb2, 0x5b, 0xb5, 0x38, 0xc3,
+ 0xd6, 0x12, 0x38, 0xd0, 0x6f, 0xcf, 0xc1, 0xf7, 0x6a, 0x48, 0x7f, 0x71, 0x09, 0x1c, 0xe8, 0xb5,
+ 0xb9, 0x81, 0x9d, 0xaa, 0x8b, 0x0c, 0x97, 0x96, 0x21, 0x6a, 0xbc, 0x1c, 0x98, 0x5b, 0xbb, 0x6a,
+ 0x1b, 0x94, 0xe5, 0x96, 0xbd, 0xbc, 0x1c, 0x57, 0xed, 0xd6, 0x4c, 0xed, 0xca, 0x9c, 0xad, 0x0c,
+ 0xdb, 0xf2, 0xba, 0x96, 0x76, 0x75, 0x4e, 0x31, 0x00, 0x3b, 0x96, 0xa1, 0x5d, 0x5b, 0x02, 0x77,
+ 0x2d, 0x43, 0xbb, 0xbe, 0x8c, 0xbe, 0x61, 0x68, 0xc5, 0x65, 0xf4, 0x0d, 0x43, 0xbb, 0xb1, 0x68,
+ 0xd9, 0x27, 0x7c, 0x82, 0x37, 0x97, 0x21, 0x60, 0x82, 0x3b, 0xf3, 0x93, 0x00, 0x44, 0xbd, 0x65,
+ 0x54, 0xcc, 0x96, 0x76, 0x6b, 0xd9, 0x04, 0x9f, 0xe0, 0xe4, 0x6f, 0x2f, 0xc7, 0xf1, 0xc9, 0x7f,
+ 0xa0, 0xdf, 0x66, 0x37, 0xe6, 0x65, 0x76, 0x6a, 0x9e, 0x6b, 0xd8, 0xbb, 0xa6, 0xab, 0xdd, 0x59,
+ 0x36, 0x64, 0xa7, 0xe6, 0x39, 0xad, 0x96, 0x76, 0x77, 0x05, 0xce, 0x6d, 0xb5, 0xb4, 0x7b, 0xb4,
+ 0x5b, 0xcb, 0x58, 0xb1, 0x5a, 0x8e, 0x87, 0x9a, 0x96, 0xe6, 0xec, 0xc1, 0x51, 0x6e, 0x55, 0xfb,
+ 0x70, 0x3e, 0xbc, 0x00, 0x5e, 0xe9, 0x3a, 0xda, 0xfd, 0x39, 0x84, 0x55, 0xa9, 0x78, 0x4d, 0xa7,
+ 0x59, 0xd3, 0x3e, 0xa2, 0xd2, 0x45, 0xba, 0xda, 0x5e, 0xa7, 0x63, 0xb6, 0xbc, 0x66, 0x4d, 0xfb,
+ 0xca, 0x32, 0xd5, 0xcc, 0x97, 0x6e, 0xa3, 0x66, 0x6b, 0x5f, 0x2d, 0x7f, 0x8a, 0xa7, 0x17, 0xfe,
+ 0x69, 0xfa, 0x70, 0xa0, 0x5f, 0xe4, 0x49, 0x73, 0xbf, 0x59, 0xf3, 0x3a, 0xdd, 0x8e, 0xc9, 0xb7,
+ 0xac, 0x6d, 0x02, 0x58, 0xb6, 0xe9, 0x98, 0x1d, 0x57, 0x7b, 0x77, 0xb7, 0xfc, 0xef, 0x53, 0xd8,
+ 0xc7, 0x1b, 0xce, 0x4e, 0x9e, 0xd0, 0xa7, 0xd4, 0xe2, 0xbe, 0x2b, 0x50, 0x37, 0xcd, 0xc6, 0xc2,
+ 0x9e, 0x04, 0x30, 0x10, 0xf9, 0x12, 0x72, 0x07, 0xee, 0x6f, 0x00, 0x32, 0x1d, 0x4b, 0x4b, 0xd3,
+ 0xa8, 0xf0, 0x6c, 0xec, 0xb9, 0x0d, 0x2d, 0xab, 0x00, 0x6a, 0x50, 0x04, 0xe6, 0x14, 0x00, 0x14,
+ 0x4b, 0x9a, 0xa6, 0x48, 0xb5, 0xbb, 0x7b, 0x90, 0xdf, 0xee, 0x2a, 0x52, 0x1b, 0x5d, 0x4b, 0x7b,
+ 0x4a, 0x3b, 0x07, 0x3c, 0xef, 0x75, 0x6c, 0xd3, 0x82, 0x6d, 0x48, 0x05, 0x39, 0xe6, 0x73, 0x28,
+ 0x18, 0x7e, 0x92, 0x4e, 0x7c, 0xcb, 0x4a, 0x7f, 0x5e, 0x0b, 0xc8, 0x0c, 0x5e, 0xc3, 0x5b, 0x7b,
+ 0x90, 0x09, 0x71, 0x99, 0x0c, 0x28, 0x72, 0xad, 0x57, 0x9e, 0xeb, 0xb6, 0x78, 0x79, 0x5f, 0xa0,
+ 0x68, 0x51, 0xe1, 0xcd, 0x8e, 0x4c, 0x07, 0x06, 0x96, 0xa6, 0xb8, 0xa8, 0x6e, 0x4b, 0x86, 0xb7,
+ 0xe1, 0x7a, 0x35, 0xb3, 0x1a, 0xc3, 0x35, 0x2a, 0x0c, 0x0c, 0xd7, 0xb3, 0xf6, 0x9c, 0x06, 0xcf,
+ 0x68, 0xda, 0x25, 0x32, 0x26, 0x00, 0xbb, 0x16, 0xc2, 0xf4, 0x39, 0x42, 0x90, 0xa0, 0x5d, 0x4e,
+ 0x12, 0x72, 0xd8, 0x95, 0x98, 0x10, 0x34, 0xe0, 0xa5, 0x93, 0x76, 0x95, 0xac, 0x68, 0xd0, 0xd1,
+ 0x43, 0xbb, 0x46, 0xb5, 0x15, 0x51, 0x75, 0x5e, 0x70, 0x6d, 0xae, 0xc7, 0x50, 0xd0, 0x92, 0xa0,
+ 0xc5, 0xa4, 0xc4, 0x7a, 0xd3, 0x6c, 0xd5, 0xb4, 0x1b, 0xca, 0xd0, 0xa0, 0x8f, 0x55, 0xa9, 0x68,
+ 0x37, 0x69, 0x69, 0x48, 0x1d, 0x00, 0xed, 0xe8, 0x45, 0x31, 0xef, 0x85, 0x2d, 0x69, 0x1f, 0x6f,
+ 0xc4, 0x28, 0x7d, 0x46, 0xfa, 0x46, 0x59, 0x54, 0xc7, 0xed, 0x56, 0xe2, 0x28, 0xcd, 0x08, 0x06,
+ 0xc5, 0xeb, 0x7f, 0x7d, 0x9f, 0xa1, 0x2d, 0x1d, 0x20, 0x9d, 0xae, 0x57, 0xd9, 0xab, 0xd7, 0x49,
+ 0xee, 0x7f, 0x16, 0x2e, 0xaa, 0x7c, 0x87, 0xc8, 0xd7, 0x96, 0x1c, 0x47, 0xad, 0x88, 0x71, 0xbe,
+ 0x4d, 0xd7, 0xdb, 0xed, 0xba, 0x5d, 0x3a, 0x7e, 0xa7, 0x28, 0x9e, 0x9a, 0xae, 0xf7, 0xc2, 0x6e,
+ 0xba, 0xa6, 0xba, 0xc3, 0x61, 0x08, 0x4a, 0x8c, 0x51, 0x75, 0x9b, 0xdd, 0x8e, 0xa3, 0x65, 0x62,
+ 0x84, 0x61, 0x59, 0xad, 0x57, 0x12, 0x91, 0x8d, 0x11, 0xd5, 0x96, 0x69, 0xd8, 0x12, 0xb1, 0x26,
+ 0xfc, 0x9a, 0xce, 0x2b, 0xda, 0x3a, 0x59, 0xaa, 0xb9, 0xc4, 0x52, 0x7f, 0x15, 0x27, 0x34, 0xff,
+ 0xfd, 0x21, 0x15, 0x14, 0xf5, 0x6a, 0xa2, 0x52, 0xa9, 0x57, 0x45, 0x5d, 0x22, 0x76, 0x6a, 0x09,
+ 0xf1, 0x1c, 0xd7, 0x6e, 0x56, 0xe1, 0x78, 0x2e, 0x49, 0xa9, 0xa8, 0xc9, 0xc4, 0xa4, 0x08, 0x11,
+ 0xa4, 0xd9, 0xf2, 0x3f, 0xa6, 0x37, 0x9e, 0x72, 0x74, 0x8c, 0x77, 0x34, 0x66, 0x5d, 0x2d, 0x41,
+ 0x49, 0x44, 0xdd, 0x73, 0xcc, 0x4e, 0x4d, 0x1e, 0x9c, 0x63, 0x35, 0xea, 0x5e, 0xb5, 0x61, 0x56,
+ 0x9f, 0x79, 0xdd, 0x7d, 0xd3, 0x6e, 0x19, 0x96, 0x2c, 0x18, 0xea, 0x75, 0x0f, 0x12, 0x0c, 0x44,
+ 0xd2, 0x5e, 0xc7, 0x8d, 0x8d, 0x56, 0xaf, 0xf3, 0x52, 0xfb, 0x99, 0x44, 0xe4, 0x12, 0x88, 0xca,
+ 0x2b, 0x89, 0xd0, 0xca, 0x0e, 0x1e, 0x7d, 0xf0, 0x4b, 0x71, 0x9c, 0xdd, 0xee, 0x42, 0x23, 0x66,
+ 0x57, 0x69, 0xc4, 0x08, 0x48, 0xdc, 0x35, 0x91, 0x10, 0xd9, 0x08, 0xf9, 0x0c, 0x5f, 0xd2, 0x2d,
+ 0x7c, 0xd1, 0x47, 0x86, 0xdf, 0x4d, 0x1a, 0x7e, 0x57, 0x31, 0xbc, 0x84, 0x90, 0x7d, 0xd3, 0x65,
+ 0x47, 0xbd, 0x43, 0xc2, 0xdd, 0x91, 0x84, 0xe0, 0xe9, 0x4b, 0x0a, 0x81, 0x20, 0x6b, 0x99, 0x55,
+ 0xc8, 0x95, 0x18, 0x06, 0xbb, 0xe0, 0xaf, 0xb5, 0xa6, 0x6d, 0xf2, 0x85, 0xdb, 0x44, 0x25, 0x5d,
+ 0xaf, 0x5e, 0xd7, 0x32, 0x65, 0x0b, 0x1d, 0x63, 0xfe, 0xbb, 0x37, 0x5a, 0x1c, 0x1b, 0xac, 0xd4,
+ 0x36, 0xdc, 0x6a, 0x43, 0xbb, 0x40, 0xee, 0x26, 0x1c, 0x50, 0x1e, 0xd8, 0x6c, 0x61, 0x24, 0x1e,
+ 0xea, 0xe9, 0xf2, 0xdf, 0x49, 0xe1, 0x0b, 0x96, 0x25, 0x5f, 0x94, 0xd1, 0x6a, 0xd9, 0xb6, 0xd7,
+ 0xac, 0xb5, 0x4c, 0xcf, 0x6d, 0xb6, 0xcd, 0xae, 0x92, 0x21, 0x6d, 0xdb, 0x6b, 0x18, 0x76, 0x4d,
+ 0xc2, 0x85, 0x11, 0x6c, 0x59, 0x39, 0xa7, 0x63, 0x4a, 0x3c, 0xfa, 0x49, 0xe7, 0x93, 0x70, 0x3c,
+ 0xbb, 0x13, 0x3c, 0x5b, 0x9e, 0xd0, 0x9f, 0x0d, 0xe3, 0xaf, 0xd1, 0xa9, 0x7c, 0xf6, 0x7e, 0x68,
+ 0xda, 0x5d, 0xb9, 0xa4, 0x6d, 0x5c, 0xd2, 0x77, 0x3f, 0x79, 0xbf, 0xa1, 0x5f, 0xe5, 0xb3, 0x6e,
+ 0x7b, 0x4e, 0xab, 0xfb, 0xc2, 0x32, 0xdc, 0x06, 0x35, 0xbd, 0xb0, 0x1b, 0xd6, 0x56, 0xbb, 0x61,
+ 0x6a, 0xe7, 0xab, 0x8d, 0xa7, 0x5f, 0xbe, 0xe0, 0xe3, 0x85, 0x6f, 0x96, 0xd4, 0x62, 0xbe, 0xa2,
+ 0x66, 0x0e, 0xb4, 0x27, 0xc0, 0xe8, 0x9c, 0x8f, 0x73, 0xe0, 0x00, 0xa7, 0x0a, 0x67, 0xd8, 0xb6,
+ 0x61, 0x3f, 0xd3, 0x44, 0x51, 0x0e, 0xf0, 0x85, 0xb8, 0xfe, 0x4c, 0xfd, 0x00, 0x6d, 0xd1, 0xbf,
+ 0xda, 0x49, 0xff, 0x6a, 0x2f, 0xf8, 0x57, 0x5b, 0xf1, 0xaf, 0x43, 0xf5, 0x35, 0xbf, 0x1a, 0xa2,
+ 0xed, 0x7a, 0xa2, 0x03, 0xc0, 0x10, 0xf4, 0xac, 0x62, 0xc1, 0xa9, 0x9d, 0x66, 0x51, 0x87, 0x28,
+ 0xb3, 0x1c, 0xb9, 0x1f, 0xb7, 0xeb, 0x5e, 0x65, 0xcf, 0x76, 0x5c, 0xb9, 0x1f, 0xb7, 0xeb, 0xe2,
+ 0x9c, 0x5e, 0xfe, 0x43, 0xba, 0x95, 0x88, 0x1f, 0x0e, 0x71, 0xfb, 0xe0, 0xd4, 0x4d, 0x6a, 0x12,
+ 0x7a, 0x75, 0xa3, 0xd9, 0x32, 0x61, 0x34, 0xdc, 0x22, 0x4d, 0xd7, 0xab, 0x18, 0x35, 0xd9, 0xd6,
+ 0x11, 0x9e, 0x47, 0x60, 0xf2, 0xc7, 0x34, 0x55, 0x4a, 0x04, 0x6d, 0x76, 0x1c, 0xd7, 0xde, 0x43,
+ 0x54, 0x86, 0xf6, 0x1f, 0x42, 0xa1, 0x43, 0x67, 0x63, 0x7a, 0xd1, 0x5f, 0x13, 0xe3, 0xae, 0x51,
+ 0xd5, 0x63, 0x2a, 0x7d, 0x36, 0x81, 0x5b, 0x8f, 0xd9, 0x44, 0xbf, 0x4d, 0xa0, 0x36, 0x62, 0x36,
+ 0xd9, 0x77, 0x13, 0xb8, 0x5c, 0xcc, 0x86, 0xbd, 0x88, 0xae, 0x25, 0x50, 0x79, 0xfd, 0x03, 0x76,
+ 0x13, 0x51, 0xce, 0x8b, 0xa6, 0x5b, 0x6d, 0x88, 0x66, 0x18, 0xe1, 0x19, 0x55, 0x96, 0x66, 0xb2,
+ 0x1d, 0x26, 0xd0, 0x85, 0x78, 0x54, 0xd9, 0xb7, 0x12, 0xb8, 0x4d, 0xea, 0xb4, 0x49, 0x8d, 0x64,
+ 0x17, 0x94, 0x08, 0xb6, 0x68, 0xcf, 0x30, 0x97, 0xf8, 0x56, 0x45, 0xfd, 0xa3, 0xa0, 0xaf, 0x7b,
+ 0xc3, 0x11, 0xbf, 0x9d, 0xca, 0xff, 0xa6, 0x16, 0xf8, 0x63, 0xa3, 0x5e, 0xf5, 0x9a, 0x9d, 0x6a,
+ 0xb7, 0x6d, 0x19, 0x6e, 0x13, 0x76, 0x3d, 0xe1, 0x65, 0x80, 0x30, 0x2d, 0xd3, 0x86, 0x13, 0xea,
+ 0x9f, 0xa7, 0x31, 0xbf, 0x1c, 0xf4, 0x06, 0xe2, 0xb5, 0x21, 0xca, 0xc0, 0x05, 0xaf, 0xd8, 0x55,
+ 0xbe, 0x22, 0xd4, 0x2f, 0x93, 0x5d, 0x0e, 0x01, 0xe7, 0x55, 0xb7, 0xd8, 0x4d, 0x05, 0x50, 0xf6,
+ 0x28, 0xb5, 0x34, 0x35, 0x71, 0x05, 0x26, 0x31, 0x05, 0xb1, 0x21, 0x29, 0x48, 0x94, 0x27, 0x3a,
+ 0x33, 0x80, 0x40, 0x3d, 0xd7, 0x28, 0x3e, 0x05, 0x69, 0xcb, 0xec, 0xc8, 0x93, 0x22, 0x87, 0xf1,
+ 0xd2, 0xc0, 0x33, 0xdb, 0x96, 0xfb, 0x4a, 0x36, 0x87, 0x15, 0xc4, 0x5e, 0xe7, 0x59, 0xa7, 0xfb,
+ 0xa2, 0x23, 0x77, 0x17, 0xa9, 0x3e, 0xb7, 0x79, 0x13, 0x96, 0x38, 0x9e, 0x57, 0xd3, 0xf1, 0x9c,
+ 0x96, 0xb1, 0x6f, 0x6a, 0x6c, 0x6e, 0xb2, 0xfc, 0x6c, 0x2c, 0xaa, 0x42, 0x09, 0xe4, 0x6d, 0x22,
+ 0x6d, 0x53, 0xbf, 0xcf, 0xee, 0x12, 0x38, 0xee, 0xd1, 0xd2, 0xf0, 0xb0, 0x1b, 0x82, 0x0b, 0x6b,
+ 0x5b, 0xe5, 0xdf, 0xcf, 0x60, 0xfe, 0x01, 0x7b, 0x53, 0x51, 0xca, 0xcd, 0x4d, 0x23, 0x19, 0x8a,
+ 0x59, 0x45, 0xaf, 0x51, 0x00, 0x61, 0xd2, 0x29, 0x61, 0x50, 0x63, 0x89, 0x41, 0x45, 0xed, 0xa2,
+ 0x20, 0x51, 0x52, 0x66, 0x0e, 0xd1, 0xdd, 0xc3, 0xd8, 0x90, 0xdb, 0xb0, 0x40, 0x18, 0xf6, 0xee,
+ 0x1e, 0x08, 0xd3, 0xd6, 0xc4, 0x12, 0x18, 0x62, 0x09, 0xd6, 0x15, 0x15, 0xdd, 0x2e, 0x6c, 0x3a,
+ 0x1d, 0x30, 0x35, 0x06, 0xba, 0xe0, 0xc7, 0x52, 0x34, 0x27, 0xfc, 0x41, 0x19, 0x0e, 0x6b, 0xd2,
+ 0x3c, 0x45, 0x0a, 0x60, 0x78, 0x90, 0x73, 0x07, 0xed, 0x38, 0x4d, 0xc7, 0x85, 0x51, 0x99, 0x7e,
+ 0x8b, 0x15, 0x09, 0xbd, 0xd7, 0x71, 0xf6, 0x2c, 0x50, 0xd2, 0xac, 0x79, 0x5d, 0xbb, 0x66, 0xda,
+ 0x5a, 0x61, 0xce, 0x1e, 0xae, 0xb1, 0xab, 0x6d, 0xce, 0x4d, 0x00, 0x4a, 0x0c, 0x3e, 0x65, 0x71,
+ 0x38, 0x57, 0x11, 0x60, 0xc0, 0xed, 0x39, 0x03, 0xf2, 0xee, 0xb2, 0x98, 0xf5, 0xc5, 0xf2, 0x5f,
+ 0xa4, 0x58, 0x51, 0x2c, 0x8f, 0x5a, 0x5c, 0x2a, 0x61, 0x55, 0x69, 0x56, 0x85, 0x3f, 0xf1, 0x1c,
+ 0x26, 0x93, 0x20, 0x22, 0x9c, 0x3d, 0x0b, 0xc1, 0x29, 0x85, 0x3e, 0xe1, 0x6b, 0x22, 0x0f, 0xc6,
+ 0xf4, 0xb2, 0xfa, 0xcc, 0x50, 0xa6, 0x59, 0x44, 0x61, 0xff, 0x37, 0x2b, 0xb4, 0x6f, 0x2e, 0x59,
+ 0xfe, 0xb5, 0xb9, 0x01, 0xe5, 0xf2, 0xaf, 0x0b, 0xc3, 0x35, 0x63, 0x47, 0xda, 0x10, 0x0b, 0xdc,
+ 0x14, 0x0b, 0x9c, 0x2b, 0xff, 0x13, 0xfa, 0xde, 0x00, 0x26, 0x8f, 0x7d, 0x2e, 0xd5, 0x35, 0xdb,
+ 0xcb, 0x5c, 0xb3, 0xad, 0xba, 0x66, 0x12, 0x06, 0xcb, 0x23, 0xe3, 0x9f, 0x60, 0xb5, 0x16, 0x6c,
+ 0x77, 0x36, 0x35, 0xb3, 0xe7, 0x90, 0x9d, 0x17, 0x0a, 0x32, 0x2b, 0x7c, 0x88, 0x90, 0x2f, 0x9a,
+ 0xad, 0x5a, 0xd5, 0xb0, 0x6b, 0x50, 0x56, 0x93, 0xcf, 0x11, 0x06, 0x0f, 0x2b, 0xeb, 0x73, 0xd0,
+ 0x7d, 0xa3, 0xb5, 0x67, 0x6a, 0x1b, 0x73, 0xca, 0x73, 0xd1, 0xa2, 0x63, 0x24, 0x80, 0x96, 0x6d,
+ 0xda, 0xe6, 0x73, 0x2d, 0xaf, 0x48, 0xa8, 0xed, 0x59, 0x24, 0x97, 0x09, 0x3b, 0xb5, 0x85, 0x9d,
+ 0x0a, 0xe5, 0x3f, 0x22, 0x27, 0x89, 0xcb, 0x65, 0x25, 0xf7, 0xe2, 0x80, 0xf5, 0x76, 0x5d, 0x7a,
+ 0x89, 0x2c, 0x9f, 0x38, 0x90, 0xd2, 0xfc, 0x5e, 0xab, 0x25, 0xf3, 0x26, 0x87, 0xcf, 0xb9, 0x88,
+ 0x22, 0x46, 0xd4, 0xd2, 0x19, 0x51, 0x90, 0xb7, 0x65, 0xfe, 0x96, 0x65, 0xb4, 0x94, 0x40, 0x95,
+ 0xd9, 0xda, 0x3c, 0xa2, 0xda, 0x6d, 0xb7, 0x8d, 0x0e, 0xd8, 0x09, 0x27, 0x2f, 0x11, 0xf5, 0x96,
+ 0xb1, 0xeb, 0x68, 0x1b, 0xe5, 0x3f, 0xc8, 0xe0, 0x07, 0x6b, 0x71, 0x25, 0xac, 0xce, 0x0a, 0x15,
+ 0xdd, 0x05, 0x26, 0xdc, 0x70, 0xcd, 0x97, 0x4d, 0xc7, 0x75, 0xe4, 0xbb, 0x0a, 0x8e, 0x11, 0x65,
+ 0x26, 0xc6, 0x7a, 0x8a, 0x7c, 0x99, 0xa3, 0x5e, 0x98, 0xcd, 0xdd, 0x86, 0xab, 0x06, 0xb5, 0x0c,
+ 0x03, 0x8e, 0x87, 0x14, 0xd1, 0xad, 0x23, 0x27, 0x9c, 0xb5, 0x70, 0xc7, 0x54, 0x51, 0x95, 0x3d,
+ 0xc8, 0xb3, 0x70, 0x72, 0xb8, 0xcb, 0x6e, 0x09, 0x5c, 0xb5, 0x61, 0x34, 0x3b, 0xcd, 0xce, 0x6e,
+ 0x42, 0xf0, 0x1a, 0x25, 0x19, 0x1c, 0x98, 0x67, 0x19, 0x15, 0xbd, 0x2e, 0xca, 0x70, 0x40, 0xb7,
+ 0xba, 0x5d, 0x4b, 0x6e, 0x18, 0xbb, 0xca, 0xa2, 0xd1, 0x24, 0x72, 0x2a, 0x8a, 0x8f, 0x66, 0xd6,
+ 0x64, 0x2e, 0x43, 0x7f, 0xd9, 0x95, 0xb6, 0x87, 0xc8, 0x10, 0xed, 0xc5, 0xdd, 0x79, 0xc3, 0x17,
+ 0xc8, 0x09, 0x24, 0x02, 0x27, 0xa4, 0x6d, 0xd2, 0x82, 0x48, 0x38, 0xd7, 0x58, 0xbe, 0x5b, 0xdc,
+ 0x8d, 0x17, 0x7b, 0xbb, 0xfc, 0xbb, 0xe4, 0x78, 0xe2, 0xef, 0xfd, 0x26, 0x96, 0x08, 0xb5, 0xb1,
+ 0x84, 0x18, 0x6a, 0xf2, 0xa2, 0x36, 0x12, 0xda, 0xc0, 0x18, 0x93, 0xb5, 0xac, 0x15, 0xab, 0xc9,
+ 0x5f, 0x94, 0x8a, 0x45, 0x91, 0x70, 0xa3, 0xb6, 0x6f, 0xda, 0x6e, 0xd3, 0x31, 0xa5, 0xfb, 0x59,
+ 0x8a, 0xfb, 0x95, 0x7f, 0x15, 0x9d, 0x46, 0xfe, 0x51, 0xec, 0x84, 0x46, 0xf4, 0x8e, 0x30, 0xe1,
+ 0xdd, 0x32, 0x18, 0xdc, 0xb9, 0x91, 0xc5, 0xbb, 0x0c, 0x37, 0x16, 0x9f, 0x2e, 0xff, 0x10, 0xe7,
+ 0x8b, 0x57, 0xb2, 0xa6, 0xb3, 0x25, 0xf3, 0x7d, 0xde, 0x4d, 0xce, 0x17, 0xc7, 0x94, 0x50, 0xdc,
+ 0x90, 0x84, 0x6c, 0x0e, 0x16, 0xb2, 0xff, 0x0a, 0xbb, 0xbd, 0xf0, 0xe7, 0xc1, 0x97, 0xa8, 0xef,
+ 0x54, 0x13, 0x81, 0x22, 0x0a, 0x20, 0x09, 0xc6, 0xd4, 0x87, 0xf2, 0x39, 0x30, 0xd6, 0xfd, 0xd6,
+ 0xfc, 0x85, 0xac, 0x84, 0x78, 0x3a, 0xc0, 0xd9, 0xf5, 0x2a, 0xd4, 0xdd, 0xdc, 0x32, 0x0a, 0x88,
+ 0x7b, 0x6c, 0x7c, 0x84, 0xb3, 0x69, 0x34, 0xa8, 0x2f, 0xb5, 0x74, 0xf9, 0xdf, 0xa4, 0xd1, 0xee,
+ 0xf1, 0xb1, 0x62, 0x31, 0x05, 0xb5, 0x93, 0x29, 0x08, 0x23, 0x98, 0x03, 0xb1, 0x0a, 0xa5, 0x08,
+ 0x4e, 0xd1, 0x8a, 0xb7, 0xd5, 0x08, 0xc6, 0x7e, 0x45, 0x5a, 0x45, 0x89, 0xb8, 0x40, 0x94, 0xa8,
+ 0x28, 0xda, 0xf3, 0x6e, 0x9e, 0x25, 0xb3, 0xb5, 0x93, 0xf9, 0x45, 0x24, 0x6d, 0x09, 0xb6, 0x0d,
+ 0xd7, 0x94, 0xc9, 0xa8, 0x1d, 0xc7, 0x84, 0xcd, 0xdf, 0xee, 0xcf, 0x11, 0x57, 0x40, 0x72, 0x8e,
+ 0x92, 0x42, 0x02, 0x4a, 0x79, 0x3e, 0xaf, 0x6a, 0x4a, 0x09, 0x83, 0x2b, 0xea, 0x68, 0x4c, 0x9d,
+ 0xb9, 0xc8, 0x25, 0x46, 0xa7, 0xe6, 0x68, 0x85, 0xf2, 0x3f, 0x4d, 0x2d, 0xf9, 0x02, 0x31, 0x5c,
+ 0xe6, 0xc3, 0xf5, 0x39, 0x1f, 0xa6, 0xd7, 0xd6, 0x02, 0x2c, 0x37, 0x70, 0xb1, 0x60, 0x31, 0x03,
+ 0x24, 0x05, 0x79, 0x57, 0xa2, 0xae, 0x38, 0x4d, 0x66, 0x5e, 0x88, 0x2c, 0x43, 0xb2, 0x22, 0x14,
+ 0xea, 0xd2, 0x9d, 0xd6, 0xca, 0xff, 0x89, 0x36, 0xe7, 0xe4, 0xdf, 0x27, 0x10, 0xa7, 0x3d, 0x38,
+ 0x68, 0x3b, 0xd5, 0xf8, 0xf4, 0xc7, 0xaf, 0x8f, 0xbc, 0x90, 0xaf, 0xa6, 0xdb, 0x96, 0x67, 0xec,
+ 0xee, 0xda, 0xe6, 0xae, 0xc1, 0xcf, 0xe8, 0x74, 0xe0, 0x13, 0x97, 0x51, 0x32, 0xc2, 0xde, 0x56,
+ 0xf2, 0x25, 0xae, 0x24, 0xc3, 0x28, 0x5a, 0x8b, 0x01, 0x98, 0x01, 0xd7, 0x63, 0x3e, 0x71, 0xd8,
+ 0x77, 0xaa, 0xda, 0x86, 0x30, 0xb8, 0x80, 0x8a, 0x23, 0x8d, 0x6c, 0xf4, 0xb6, 0x2d, 0xf2, 0xa2,
+ 0xbc, 0x38, 0x51, 0x13, 0x40, 0xe4, 0x02, 0x16, 0x8b, 0x40, 0xb8, 0x14, 0x51, 0x88, 0x31, 0xc9,
+ 0xf3, 0x92, 0xbc, 0xa1, 0x21, 0x26, 0xc1, 0x75, 0x11, 0xa7, 0xa7, 0xb6, 0xb5, 0xec, 0x64, 0xbe,
+ 0xb3, 0xf4, 0xef, 0x52, 0x78, 0xe2, 0x1b, 0x7b, 0x64, 0xac, 0xc3, 0x71, 0x6e, 0xe1, 0x2d, 0xaf,
+ 0x80, 0xb7, 0xbb, 0xb6, 0xa9, 0xa5, 0xca, 0x2d, 0x0a, 0xc7, 0xe4, 0xdf, 0x9a, 0x20, 0x49, 0x42,
+ 0xe3, 0x3a, 0x5e, 0x6d, 0x50, 0x64, 0x91, 0xf7, 0x4b, 0x0c, 0x49, 0xfb, 0xb3, 0x0c, 0xaa, 0xb6,
+ 0xe2, 0x2b, 0x6c, 0xe9, 0x37, 0x96, 0xab, 0x1e, 0xa2, 0x21, 0x37, 0xe1, 0xc6, 0xb7, 0x80, 0xf1,
+ 0xda, 0x4d, 0xc7, 0x91, 0x05, 0x29, 0x47, 0x77, 0xcc, 0x97, 0x74, 0xe4, 0x74, 0xb4, 0x34, 0x95,
+ 0xdd, 0xf3, 0x08, 0x64, 0xcb, 0x88, 0xeb, 0x08, 0x80, 0x4d, 0xf6, 0x44, 0xb3, 0xb4, 0xc5, 0x2f,
+ 0xa2, 0x90, 0x75, 0x4d, 0x65, 0x4d, 0x76, 0x4d, 0xd7, 0x55, 0xd6, 0x04, 0x0a, 0x59, 0x37, 0x64,
+ 0x0c, 0x58, 0x2e, 0xf5, 0x03, 0x72, 0x32, 0x18, 0x61, 0x34, 0x59, 0x0f, 0x32, 0x71, 0xbf, 0x24,
+ 0x56, 0xc2, 0x31, 0x5d, 0xac, 0xde, 0xc4, 0xf1, 0x7a, 0x09, 0x0e, 0x87, 0xd9, 0x52, 0x99, 0x51,
+ 0x0d, 0xc9, 0xbc, 0xad, 0x32, 0x27, 0x71, 0xc8, 0x7c, 0x51, 0xbf, 0x19, 0xaf, 0x44, 0xc2, 0xbf,
+ 0x7e, 0xfa, 0x3e, 0xa3, 0xdf, 0x89, 0xd7, 0x42, 0xc5, 0x21, 0x2b, 0x38, 0xe0, 0xef, 0xd1, 0x1f,
+ 0xe6, 0xc0, 0x8a, 0x2b, 0x71, 0x21, 0x83, 0xda, 0x82, 0xf5, 0xea, 0xc2, 0xe5, 0x15, 0x80, 0x61,
+ 0xf7, 0x90, 0x6a, 0x2a, 0x2d, 0x25, 0x8a, 0xa5, 0x18, 0xd3, 0x6a, 0xee, 0x9b, 0x1d, 0xd3, 0x89,
+ 0x6f, 0x67, 0xec, 0x2a, 0xb5, 0x92, 0x96, 0x55, 0x18, 0x64, 0x01, 0xc5, 0xdb, 0xb6, 0x8e, 0x96,
+ 0x2b, 0x7f, 0x8e, 0xfd, 0x80, 0xf8, 0x1a, 0x3a, 0xde, 0x3c, 0x17, 0x3b, 0xa8, 0xda, 0x1f, 0x43,
+ 0x2d, 0x9f, 0xbb, 0x5e, 0xbb, 0xd9, 0xc1, 0x84, 0x9e, 0x52, 0x60, 0xc6, 0x4b, 0x84, 0xa5, 0x29,
+ 0x06, 0x9f, 0x2f, 0xe9, 0x60, 0xfc, 0x08, 0x0f, 0xc3, 0x73, 0xf7, 0x90, 0xc9, 0x4f, 0xab, 0x36,
+ 0xb6, 0x53, 0x3a, 0xdd, 0x6a, 0xc3, 0xe8, 0xec, 0x9a, 0xb2, 0x97, 0x2f, 0x10, 0xe6, 0xf3, 0x3d,
+ 0xa3, 0x25, 0xef, 0xa7, 0x09, 0x68, 0xdb, 0x70, 0x70, 0xf3, 0x4a, 0x12, 0xe3, 0x91, 0x3e, 0x53,
+ 0x79, 0xf4, 0xc3, 0x87, 0x87, 0xc3, 0xe8, 0xe8, 0xf8, 0xe0, 0x9b, 0xfd, 0xe9, 0x98, 0xff, 0xe7,
+ 0x30, 0xfd, 0x69, 0x30, 0x78, 0x80, 0xff, 0xcf, 0xcb, 0x37, 0xe8, 0xff, 0x79, 0x39, 0x9c, 0xaa,
+ 0xff, 0x6d, 0x8c, 0x95, 0x3a, 0x58, 0xe7, 0x88, 0x4f, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0x90, 0x3e, 0x10, 0x56, 0x5c, 0x66, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/voltha/adapter.pb.go b/vendor/github.com/opencord/voltha-protos/go/voltha/adapter.pb.go
new file mode 100644
index 0000000..6f98ee0
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/voltha/adapter.pb.go
@@ -0,0 +1,231 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/adapter.proto
+
+package voltha
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ any "github.com/golang/protobuf/ptypes/any"
+ common "github.com/opencord/voltha-protos/go/common"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type AdapterConfig struct {
+ // Common adapter config attributes here
+ LogLevel common.LogLevel_LogLevel `protobuf:"varint,1,opt,name=log_level,json=logLevel,proto3,enum=common.LogLevel_LogLevel" json:"log_level,omitempty"`
+ // Custom (vendor-specific) configuration attributes
+ AdditionalConfig *any.Any `protobuf:"bytes,64,opt,name=additional_config,json=additionalConfig,proto3" json:"additional_config,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AdapterConfig) Reset() { *m = AdapterConfig{} }
+func (m *AdapterConfig) String() string { return proto.CompactTextString(m) }
+func (*AdapterConfig) ProtoMessage() {}
+func (*AdapterConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_7e998ce153307274, []int{0}
+}
+
+func (m *AdapterConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AdapterConfig.Unmarshal(m, b)
+}
+func (m *AdapterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AdapterConfig.Marshal(b, m, deterministic)
+}
+func (m *AdapterConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AdapterConfig.Merge(m, src)
+}
+func (m *AdapterConfig) XXX_Size() int {
+ return xxx_messageInfo_AdapterConfig.Size(m)
+}
+func (m *AdapterConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_AdapterConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AdapterConfig proto.InternalMessageInfo
+
+func (m *AdapterConfig) GetLogLevel() common.LogLevel_LogLevel {
+ if m != nil {
+ return m.LogLevel
+ }
+ return common.LogLevel_DEBUG
+}
+
+func (m *AdapterConfig) GetAdditionalConfig() *any.Any {
+ if m != nil {
+ return m.AdditionalConfig
+ }
+ return nil
+}
+
+// Adapter (software plugin)
+type Adapter struct {
+ // Unique name of adapter, matching the python package name under
+ // voltha/adapters.
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Vendor string `protobuf:"bytes,2,opt,name=vendor,proto3" json:"vendor,omitempty"`
+ Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
+ // Adapter configuration
+ Config *AdapterConfig `protobuf:"bytes,16,opt,name=config,proto3" json:"config,omitempty"`
+ // Custom descriptors and custom configuration
+ AdditionalDescription *any.Any `protobuf:"bytes,64,opt,name=additional_description,json=additionalDescription,proto3" json:"additional_description,omitempty"`
+ LogicalDeviceIds []string `protobuf:"bytes,4,rep,name=logical_device_ids,json=logicalDeviceIds,proto3" json:"logical_device_ids,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Adapter) Reset() { *m = Adapter{} }
+func (m *Adapter) String() string { return proto.CompactTextString(m) }
+func (*Adapter) ProtoMessage() {}
+func (*Adapter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_7e998ce153307274, []int{1}
+}
+
+func (m *Adapter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Adapter.Unmarshal(m, b)
+}
+func (m *Adapter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Adapter.Marshal(b, m, deterministic)
+}
+func (m *Adapter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Adapter.Merge(m, src)
+}
+func (m *Adapter) XXX_Size() int {
+ return xxx_messageInfo_Adapter.Size(m)
+}
+func (m *Adapter) XXX_DiscardUnknown() {
+ xxx_messageInfo_Adapter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Adapter proto.InternalMessageInfo
+
+func (m *Adapter) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *Adapter) GetVendor() string {
+ if m != nil {
+ return m.Vendor
+ }
+ return ""
+}
+
+func (m *Adapter) GetVersion() string {
+ if m != nil {
+ return m.Version
+ }
+ return ""
+}
+
+func (m *Adapter) GetConfig() *AdapterConfig {
+ if m != nil {
+ return m.Config
+ }
+ return nil
+}
+
+func (m *Adapter) GetAdditionalDescription() *any.Any {
+ if m != nil {
+ return m.AdditionalDescription
+ }
+ return nil
+}
+
+func (m *Adapter) GetLogicalDeviceIds() []string {
+ if m != nil {
+ return m.LogicalDeviceIds
+ }
+ return nil
+}
+
+type Adapters struct {
+ Items []*Adapter `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Adapters) Reset() { *m = Adapters{} }
+func (m *Adapters) String() string { return proto.CompactTextString(m) }
+func (*Adapters) ProtoMessage() {}
+func (*Adapters) Descriptor() ([]byte, []int) {
+ return fileDescriptor_7e998ce153307274, []int{2}
+}
+
+func (m *Adapters) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Adapters.Unmarshal(m, b)
+}
+func (m *Adapters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Adapters.Marshal(b, m, deterministic)
+}
+func (m *Adapters) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Adapters.Merge(m, src)
+}
+func (m *Adapters) XXX_Size() int {
+ return xxx_messageInfo_Adapters.Size(m)
+}
+func (m *Adapters) XXX_DiscardUnknown() {
+ xxx_messageInfo_Adapters.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Adapters proto.InternalMessageInfo
+
+func (m *Adapters) GetItems() []*Adapter {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+func init() {
+ proto.RegisterType((*AdapterConfig)(nil), "voltha.AdapterConfig")
+ proto.RegisterType((*Adapter)(nil), "voltha.Adapter")
+ proto.RegisterType((*Adapters)(nil), "voltha.Adapters")
+}
+
+func init() { proto.RegisterFile("voltha_protos/adapter.proto", fileDescriptor_7e998ce153307274) }
+
+var fileDescriptor_7e998ce153307274 = []byte{
+ // 378 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xc1, 0x6e, 0xe2, 0x30,
+ 0x10, 0x86, 0x95, 0xb0, 0x04, 0x30, 0xda, 0x5d, 0xd6, 0x5a, 0x56, 0x81, 0x15, 0x6a, 0x84, 0x54,
+ 0x29, 0x52, 0x4b, 0xa2, 0x52, 0xa9, 0xe7, 0x42, 0xb9, 0x54, 0xe2, 0x94, 0x63, 0x2f, 0x51, 0x88,
+ 0x8d, 0xb1, 0xe4, 0x78, 0xa2, 0x24, 0x44, 0xe2, 0x15, 0x7a, 0xeb, 0x83, 0xf5, 0x3d, 0xfa, 0x04,
+ 0x3d, 0x57, 0xd8, 0xa6, 0x40, 0x0f, 0xbd, 0xd9, 0xff, 0x37, 0x33, 0xff, 0xef, 0x49, 0xd0, 0xff,
+ 0x1a, 0x44, 0xb5, 0x49, 0xe2, 0xbc, 0x80, 0x0a, 0xca, 0x30, 0x21, 0x49, 0x5e, 0xd1, 0x22, 0x50,
+ 0x57, 0xec, 0x68, 0x38, 0x1c, 0x30, 0x00, 0x26, 0x68, 0xa8, 0xd4, 0xd5, 0x76, 0x1d, 0x26, 0x72,
+ 0xa7, 0x4b, 0x86, 0xc3, 0xf3, 0xfe, 0x14, 0xb2, 0x0c, 0xa4, 0x61, 0xee, 0x39, 0xcb, 0x68, 0x95,
+ 0x68, 0x32, 0x7e, 0xb6, 0xd0, 0xcf, 0x99, 0xb6, 0x7a, 0x00, 0xb9, 0xe6, 0x0c, 0xdf, 0xa1, 0x8e,
+ 0x00, 0x16, 0x0b, 0x5a, 0x53, 0xe1, 0x5a, 0x9e, 0xe5, 0xff, 0x9a, 0x0e, 0x02, 0x33, 0x6d, 0x09,
+ 0x6c, 0xb9, 0xd7, 0x3f, 0x0f, 0x51, 0x5b, 0x98, 0x13, 0x9e, 0xa1, 0x3f, 0x09, 0x21, 0xbc, 0xe2,
+ 0x20, 0x13, 0x11, 0xa7, 0x6a, 0x98, 0x7b, 0xef, 0x59, 0x7e, 0x77, 0xfa, 0x37, 0xd0, 0xb1, 0x83,
+ 0x43, 0xec, 0x60, 0x26, 0x77, 0x51, 0xef, 0x58, 0xae, 0xad, 0xc7, 0x2f, 0x36, 0x6a, 0x99, 0x30,
+ 0xb8, 0x8f, 0x6c, 0x4e, 0x94, 0x7f, 0x67, 0xde, 0x7c, 0x7b, 0x7f, 0x1d, 0x59, 0x91, 0xcd, 0x09,
+ 0x1e, 0x21, 0xa7, 0xa6, 0x92, 0x40, 0xe1, 0xda, 0xa7, 0xc8, 0x88, 0xf8, 0x02, 0xb5, 0x6a, 0x5a,
+ 0x94, 0x1c, 0xa4, 0xdb, 0x38, 0xe5, 0x07, 0x15, 0x4f, 0x90, 0x63, 0xa2, 0xf5, 0x54, 0xb4, 0x7e,
+ 0xa0, 0x57, 0x13, 0x9c, 0x2d, 0x21, 0x32, 0x45, 0x38, 0x42, 0xff, 0x4e, 0x1e, 0x45, 0x68, 0x99,
+ 0x16, 0x3c, 0xdf, 0xdf, 0xbe, 0x7b, 0xd9, 0xc1, 0xb4, 0x7f, 0x6c, 0x5d, 0x1c, 0x3b, 0xf1, 0x35,
+ 0xc2, 0x02, 0x18, 0x4f, 0xd5, 0xc0, 0x9a, 0xa7, 0x34, 0xe6, 0xa4, 0x74, 0x7f, 0x78, 0x0d, 0xbf,
+ 0x13, 0xf5, 0x0c, 0x59, 0x28, 0xf0, 0x48, 0xca, 0xf1, 0x0d, 0x6a, 0x9b, 0x68, 0x25, 0xbe, 0x44,
+ 0x4d, 0x5e, 0xd1, 0xac, 0x74, 0x2d, 0xaf, 0xe1, 0x77, 0xa7, 0xbf, 0xbf, 0x64, 0x8f, 0x34, 0x9d,
+ 0x4f, 0x9e, 0xae, 0x18, 0xaf, 0x36, 0xdb, 0xd5, 0xfe, 0xb3, 0x85, 0x90, 0x53, 0x99, 0x42, 0x41,
+ 0x42, 0x5d, 0x3c, 0x31, 0xff, 0x00, 0x03, 0x23, 0xac, 0x1c, 0xa5, 0xdc, 0x7e, 0x04, 0x00, 0x00,
+ 0xff, 0xff, 0x27, 0xb1, 0x00, 0x9e, 0x81, 0x02, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/voltha/device.pb.go b/vendor/github.com/opencord/voltha-protos/go/voltha/device.pb.go
new file mode 100644
index 0000000..de0e1a8
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/voltha/device.pb.go
@@ -0,0 +1,1866 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/device.proto
+
+package voltha
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ any "github.com/golang/protobuf/ptypes/any"
+ common "github.com/opencord/voltha-protos/go/common"
+ openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type PmConfig_PmType int32
+
+const (
+ PmConfig_COUNTER PmConfig_PmType = 0
+ PmConfig_GAUGE PmConfig_PmType = 1
+ PmConfig_STATE PmConfig_PmType = 2
+ PmConfig_CONTEXT PmConfig_PmType = 3
+)
+
+var PmConfig_PmType_name = map[int32]string{
+ 0: "COUNTER",
+ 1: "GAUGE",
+ 2: "STATE",
+ 3: "CONTEXT",
+}
+
+var PmConfig_PmType_value = map[string]int32{
+ "COUNTER": 0,
+ "GAUGE": 1,
+ "STATE": 2,
+ "CONTEXT": 3,
+}
+
+func (x PmConfig_PmType) String() string {
+ return proto.EnumName(PmConfig_PmType_name, int32(x))
+}
+
+func (PmConfig_PmType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{2, 0}
+}
+
+type ImageDownload_ImageDownloadState int32
+
+const (
+ ImageDownload_DOWNLOAD_UNKNOWN ImageDownload_ImageDownloadState = 0
+ ImageDownload_DOWNLOAD_SUCCEEDED ImageDownload_ImageDownloadState = 1
+ ImageDownload_DOWNLOAD_REQUESTED ImageDownload_ImageDownloadState = 2
+ ImageDownload_DOWNLOAD_STARTED ImageDownload_ImageDownloadState = 3
+ ImageDownload_DOWNLOAD_FAILED ImageDownload_ImageDownloadState = 4
+ ImageDownload_DOWNLOAD_UNSUPPORTED ImageDownload_ImageDownloadState = 5
+ ImageDownload_DOWNLOAD_CANCELLED ImageDownload_ImageDownloadState = 6
+)
+
+var ImageDownload_ImageDownloadState_name = map[int32]string{
+ 0: "DOWNLOAD_UNKNOWN",
+ 1: "DOWNLOAD_SUCCEEDED",
+ 2: "DOWNLOAD_REQUESTED",
+ 3: "DOWNLOAD_STARTED",
+ 4: "DOWNLOAD_FAILED",
+ 5: "DOWNLOAD_UNSUPPORTED",
+ 6: "DOWNLOAD_CANCELLED",
+}
+
+var ImageDownload_ImageDownloadState_value = map[string]int32{
+ "DOWNLOAD_UNKNOWN": 0,
+ "DOWNLOAD_SUCCEEDED": 1,
+ "DOWNLOAD_REQUESTED": 2,
+ "DOWNLOAD_STARTED": 3,
+ "DOWNLOAD_FAILED": 4,
+ "DOWNLOAD_UNSUPPORTED": 5,
+ "DOWNLOAD_CANCELLED": 6,
+}
+
+func (x ImageDownload_ImageDownloadState) String() string {
+ return proto.EnumName(ImageDownload_ImageDownloadState_name, int32(x))
+}
+
+func (ImageDownload_ImageDownloadState) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{7, 0}
+}
+
+type ImageDownload_ImageDownloadFailureReason int32
+
+const (
+ ImageDownload_NO_ERROR ImageDownload_ImageDownloadFailureReason = 0
+ ImageDownload_INVALID_URL ImageDownload_ImageDownloadFailureReason = 1
+ ImageDownload_DEVICE_BUSY ImageDownload_ImageDownloadFailureReason = 2
+ ImageDownload_INSUFFICIENT_SPACE ImageDownload_ImageDownloadFailureReason = 3
+ ImageDownload_UNKNOWN_ERROR ImageDownload_ImageDownloadFailureReason = 4
+ ImageDownload_CANCELLED ImageDownload_ImageDownloadFailureReason = 5
+)
+
+var ImageDownload_ImageDownloadFailureReason_name = map[int32]string{
+ 0: "NO_ERROR",
+ 1: "INVALID_URL",
+ 2: "DEVICE_BUSY",
+ 3: "INSUFFICIENT_SPACE",
+ 4: "UNKNOWN_ERROR",
+ 5: "CANCELLED",
+}
+
+var ImageDownload_ImageDownloadFailureReason_value = map[string]int32{
+ "NO_ERROR": 0,
+ "INVALID_URL": 1,
+ "DEVICE_BUSY": 2,
+ "INSUFFICIENT_SPACE": 3,
+ "UNKNOWN_ERROR": 4,
+ "CANCELLED": 5,
+}
+
+func (x ImageDownload_ImageDownloadFailureReason) String() string {
+ return proto.EnumName(ImageDownload_ImageDownloadFailureReason_name, int32(x))
+}
+
+func (ImageDownload_ImageDownloadFailureReason) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{7, 1}
+}
+
+type ImageDownload_ImageActivateState int32
+
+const (
+ ImageDownload_IMAGE_UNKNOWN ImageDownload_ImageActivateState = 0
+ ImageDownload_IMAGE_INACTIVE ImageDownload_ImageActivateState = 1
+ ImageDownload_IMAGE_ACTIVATING ImageDownload_ImageActivateState = 2
+ ImageDownload_IMAGE_ACTIVE ImageDownload_ImageActivateState = 3
+ ImageDownload_IMAGE_REVERTING ImageDownload_ImageActivateState = 4
+ ImageDownload_IMAGE_REVERTED ImageDownload_ImageActivateState = 5
+)
+
+var ImageDownload_ImageActivateState_name = map[int32]string{
+ 0: "IMAGE_UNKNOWN",
+ 1: "IMAGE_INACTIVE",
+ 2: "IMAGE_ACTIVATING",
+ 3: "IMAGE_ACTIVE",
+ 4: "IMAGE_REVERTING",
+ 5: "IMAGE_REVERTED",
+}
+
+var ImageDownload_ImageActivateState_value = map[string]int32{
+ "IMAGE_UNKNOWN": 0,
+ "IMAGE_INACTIVE": 1,
+ "IMAGE_ACTIVATING": 2,
+ "IMAGE_ACTIVE": 3,
+ "IMAGE_REVERTING": 4,
+ "IMAGE_REVERTED": 5,
+}
+
+func (x ImageDownload_ImageActivateState) String() string {
+ return proto.EnumName(ImageDownload_ImageActivateState_name, int32(x))
+}
+
+func (ImageDownload_ImageActivateState) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{7, 2}
+}
+
+type Port_PortType int32
+
+const (
+ Port_UNKNOWN Port_PortType = 0
+ Port_ETHERNET_NNI Port_PortType = 1
+ Port_ETHERNET_UNI Port_PortType = 2
+ Port_PON_OLT Port_PortType = 3
+ Port_PON_ONU Port_PortType = 4
+ Port_VENET_OLT Port_PortType = 5
+ Port_VENET_ONU Port_PortType = 6
+)
+
+var Port_PortType_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "ETHERNET_NNI",
+ 2: "ETHERNET_UNI",
+ 3: "PON_OLT",
+ 4: "PON_ONU",
+ 5: "VENET_OLT",
+ 6: "VENET_ONU",
+}
+
+var Port_PortType_value = map[string]int32{
+ "UNKNOWN": 0,
+ "ETHERNET_NNI": 1,
+ "ETHERNET_UNI": 2,
+ "PON_OLT": 3,
+ "PON_ONU": 4,
+ "VENET_OLT": 5,
+ "VENET_ONU": 6,
+}
+
+func (x Port_PortType) String() string {
+ return proto.EnumName(Port_PortType_name, int32(x))
+}
+
+func (Port_PortType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{9, 0}
+}
+
+type SimulateAlarmRequest_OperationType int32
+
+const (
+ SimulateAlarmRequest_RAISE SimulateAlarmRequest_OperationType = 0
+ SimulateAlarmRequest_CLEAR SimulateAlarmRequest_OperationType = 1
+)
+
+var SimulateAlarmRequest_OperationType_name = map[int32]string{
+ 0: "RAISE",
+ 1: "CLEAR",
+}
+
+var SimulateAlarmRequest_OperationType_value = map[string]int32{
+ "RAISE": 0,
+ "CLEAR": 1,
+}
+
+func (x SimulateAlarmRequest_OperationType) String() string {
+ return proto.EnumName(SimulateAlarmRequest_OperationType_name, int32(x))
+}
+
+func (SimulateAlarmRequest_OperationType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{13, 0}
+}
+
+// A Device Type
+type DeviceType struct {
+ // Unique name for the device type
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // Unique vendor id for the device type applicable to ONU
+ // 4 bytes of vendor id from ONU serial number
+ VendorId string `protobuf:"bytes,5,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
+ VendorIds []string `protobuf:"bytes,6,rep,name=vendor_ids,json=vendorIds,proto3" json:"vendor_ids,omitempty"`
+ // Name of the adapter that handles device type
+ Adapter string `protobuf:"bytes,2,opt,name=adapter,proto3" json:"adapter,omitempty"`
+ // Capabilities
+ AcceptsBulkFlowUpdate bool `protobuf:"varint,3,opt,name=accepts_bulk_flow_update,json=acceptsBulkFlowUpdate,proto3" json:"accepts_bulk_flow_update,omitempty"`
+ AcceptsAddRemoveFlowUpdates bool `protobuf:"varint,4,opt,name=accepts_add_remove_flow_updates,json=acceptsAddRemoveFlowUpdates,proto3" json:"accepts_add_remove_flow_updates,omitempty"`
+ AcceptsDirectLogicalFlowsUpdate bool `protobuf:"varint,7,opt,name=accepts_direct_logical_flows_update,json=acceptsDirectLogicalFlowsUpdate,proto3" json:"accepts_direct_logical_flows_update,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DeviceType) Reset() { *m = DeviceType{} }
+func (m *DeviceType) String() string { return proto.CompactTextString(m) }
+func (*DeviceType) ProtoMessage() {}
+func (*DeviceType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{0}
+}
+
+func (m *DeviceType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeviceType.Unmarshal(m, b)
+}
+func (m *DeviceType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeviceType.Marshal(b, m, deterministic)
+}
+func (m *DeviceType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeviceType.Merge(m, src)
+}
+func (m *DeviceType) XXX_Size() int {
+ return xxx_messageInfo_DeviceType.Size(m)
+}
+func (m *DeviceType) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeviceType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceType proto.InternalMessageInfo
+
+func (m *DeviceType) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *DeviceType) GetVendorId() string {
+ if m != nil {
+ return m.VendorId
+ }
+ return ""
+}
+
+func (m *DeviceType) GetVendorIds() []string {
+ if m != nil {
+ return m.VendorIds
+ }
+ return nil
+}
+
+func (m *DeviceType) GetAdapter() string {
+ if m != nil {
+ return m.Adapter
+ }
+ return ""
+}
+
+func (m *DeviceType) GetAcceptsBulkFlowUpdate() bool {
+ if m != nil {
+ return m.AcceptsBulkFlowUpdate
+ }
+ return false
+}
+
+func (m *DeviceType) GetAcceptsAddRemoveFlowUpdates() bool {
+ if m != nil {
+ return m.AcceptsAddRemoveFlowUpdates
+ }
+ return false
+}
+
+func (m *DeviceType) GetAcceptsDirectLogicalFlowsUpdate() bool {
+ if m != nil {
+ return m.AcceptsDirectLogicalFlowsUpdate
+ }
+ return false
+}
+
+// A plurality of device types
+type DeviceTypes struct {
+ Items []*DeviceType `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DeviceTypes) Reset() { *m = DeviceTypes{} }
+func (m *DeviceTypes) String() string { return proto.CompactTextString(m) }
+func (*DeviceTypes) ProtoMessage() {}
+func (*DeviceTypes) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{1}
+}
+
+func (m *DeviceTypes) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeviceTypes.Unmarshal(m, b)
+}
+func (m *DeviceTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeviceTypes.Marshal(b, m, deterministic)
+}
+func (m *DeviceTypes) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeviceTypes.Merge(m, src)
+}
+func (m *DeviceTypes) XXX_Size() int {
+ return xxx_messageInfo_DeviceTypes.Size(m)
+}
+func (m *DeviceTypes) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeviceTypes.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceTypes proto.InternalMessageInfo
+
+func (m *DeviceTypes) GetItems() []*DeviceType {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type PmConfig struct {
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Type PmConfig_PmType `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.PmConfig_PmType" json:"type,omitempty"`
+ Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
+ SampleFreq uint32 `protobuf:"varint,4,opt,name=sample_freq,json=sampleFreq,proto3" json:"sample_freq,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PmConfig) Reset() { *m = PmConfig{} }
+func (m *PmConfig) String() string { return proto.CompactTextString(m) }
+func (*PmConfig) ProtoMessage() {}
+func (*PmConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{2}
+}
+
+func (m *PmConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PmConfig.Unmarshal(m, b)
+}
+func (m *PmConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PmConfig.Marshal(b, m, deterministic)
+}
+func (m *PmConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PmConfig.Merge(m, src)
+}
+func (m *PmConfig) XXX_Size() int {
+ return xxx_messageInfo_PmConfig.Size(m)
+}
+func (m *PmConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_PmConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PmConfig proto.InternalMessageInfo
+
+func (m *PmConfig) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *PmConfig) GetType() PmConfig_PmType {
+ if m != nil {
+ return m.Type
+ }
+ return PmConfig_COUNTER
+}
+
+func (m *PmConfig) GetEnabled() bool {
+ if m != nil {
+ return m.Enabled
+ }
+ return false
+}
+
+func (m *PmConfig) GetSampleFreq() uint32 {
+ if m != nil {
+ return m.SampleFreq
+ }
+ return 0
+}
+
+type PmGroupConfig struct {
+ GroupName string `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
+ GroupFreq uint32 `protobuf:"varint,2,opt,name=group_freq,json=groupFreq,proto3" json:"group_freq,omitempty"`
+ Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
+ Metrics []*PmConfig `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PmGroupConfig) Reset() { *m = PmGroupConfig{} }
+func (m *PmGroupConfig) String() string { return proto.CompactTextString(m) }
+func (*PmGroupConfig) ProtoMessage() {}
+func (*PmGroupConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{3}
+}
+
+func (m *PmGroupConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PmGroupConfig.Unmarshal(m, b)
+}
+func (m *PmGroupConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PmGroupConfig.Marshal(b, m, deterministic)
+}
+func (m *PmGroupConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PmGroupConfig.Merge(m, src)
+}
+func (m *PmGroupConfig) XXX_Size() int {
+ return xxx_messageInfo_PmGroupConfig.Size(m)
+}
+func (m *PmGroupConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_PmGroupConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PmGroupConfig proto.InternalMessageInfo
+
+func (m *PmGroupConfig) GetGroupName() string {
+ if m != nil {
+ return m.GroupName
+ }
+ return ""
+}
+
+func (m *PmGroupConfig) GetGroupFreq() uint32 {
+ if m != nil {
+ return m.GroupFreq
+ }
+ return 0
+}
+
+func (m *PmGroupConfig) GetEnabled() bool {
+ if m != nil {
+ return m.Enabled
+ }
+ return false
+}
+
+func (m *PmGroupConfig) GetMetrics() []*PmConfig {
+ if m != nil {
+ return m.Metrics
+ }
+ return nil
+}
+
+type PmConfigs struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ DefaultFreq uint32 `protobuf:"varint,2,opt,name=default_freq,json=defaultFreq,proto3" json:"default_freq,omitempty"`
+ // Forces group names and group semantics
+ Grouped bool `protobuf:"varint,3,opt,name=grouped,proto3" json:"grouped,omitempty"`
+ // Allows Pm to set an individual sample frequency
+ FreqOverride bool `protobuf:"varint,4,opt,name=freq_override,json=freqOverride,proto3" json:"freq_override,omitempty"`
+ Groups []*PmGroupConfig `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"`
+ Metrics []*PmConfig `protobuf:"bytes,6,rep,name=metrics,proto3" json:"metrics,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PmConfigs) Reset() { *m = PmConfigs{} }
+func (m *PmConfigs) String() string { return proto.CompactTextString(m) }
+func (*PmConfigs) ProtoMessage() {}
+func (*PmConfigs) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{4}
+}
+
+func (m *PmConfigs) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PmConfigs.Unmarshal(m, b)
+}
+func (m *PmConfigs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PmConfigs.Marshal(b, m, deterministic)
+}
+func (m *PmConfigs) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PmConfigs.Merge(m, src)
+}
+func (m *PmConfigs) XXX_Size() int {
+ return xxx_messageInfo_PmConfigs.Size(m)
+}
+func (m *PmConfigs) XXX_DiscardUnknown() {
+ xxx_messageInfo_PmConfigs.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PmConfigs proto.InternalMessageInfo
+
+func (m *PmConfigs) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *PmConfigs) GetDefaultFreq() uint32 {
+ if m != nil {
+ return m.DefaultFreq
+ }
+ return 0
+}
+
+func (m *PmConfigs) GetGrouped() bool {
+ if m != nil {
+ return m.Grouped
+ }
+ return false
+}
+
+func (m *PmConfigs) GetFreqOverride() bool {
+ if m != nil {
+ return m.FreqOverride
+ }
+ return false
+}
+
+func (m *PmConfigs) GetGroups() []*PmGroupConfig {
+ if m != nil {
+ return m.Groups
+ }
+ return nil
+}
+
+func (m *PmConfigs) GetMetrics() []*PmConfig {
+ if m != nil {
+ return m.Metrics
+ }
+ return nil
+}
+
+// Describes instance of software image on the device
+type Image struct {
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
+ Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
+ InstallDatetime string `protobuf:"bytes,4,opt,name=install_datetime,json=installDatetime,proto3" json:"install_datetime,omitempty"`
+ // The active software image is one that is currently loaded and executing
+ // in the ONU or circuit pack. Under normal operation, one software image
+ // is always active while the other is inactive. Under no circumstances are
+ // both software images allowed to be active at the same time
+ IsActive bool `protobuf:"varint,5,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
+ // The committed software image is loaded and executed upon reboot of the
+ // ONU and/or circuit pack. During normal operation, one software image is
+ // always committed, while the other is uncommitted.
+ IsCommitted bool `protobuf:"varint,6,opt,name=is_committed,json=isCommitted,proto3" json:"is_committed,omitempty"`
+ // A software image is valid if it has been verified to be an executable
+ // code image. The verification mechanism is not subject to standardization;
+ // however, it should include at least a data integrity (e.g., CRC) check of
+ // the entire code image.
+ IsValid bool `protobuf:"varint,7,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Image) Reset() { *m = Image{} }
+func (m *Image) String() string { return proto.CompactTextString(m) }
+func (*Image) ProtoMessage() {}
+func (*Image) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{5}
+}
+
+func (m *Image) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Image.Unmarshal(m, b)
+}
+func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Image.Marshal(b, m, deterministic)
+}
+func (m *Image) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Image.Merge(m, src)
+}
+func (m *Image) XXX_Size() int {
+ return xxx_messageInfo_Image.Size(m)
+}
+func (m *Image) XXX_DiscardUnknown() {
+ xxx_messageInfo_Image.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Image proto.InternalMessageInfo
+
+func (m *Image) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *Image) GetVersion() string {
+ if m != nil {
+ return m.Version
+ }
+ return ""
+}
+
+func (m *Image) GetHash() string {
+ if m != nil {
+ return m.Hash
+ }
+ return ""
+}
+
+func (m *Image) GetInstallDatetime() string {
+ if m != nil {
+ return m.InstallDatetime
+ }
+ return ""
+}
+
+func (m *Image) GetIsActive() bool {
+ if m != nil {
+ return m.IsActive
+ }
+ return false
+}
+
+func (m *Image) GetIsCommitted() bool {
+ if m != nil {
+ return m.IsCommitted
+ }
+ return false
+}
+
+func (m *Image) GetIsValid() bool {
+ if m != nil {
+ return m.IsValid
+ }
+ return false
+}
+
+// List of software on the device
+type Images struct {
+ Image []*Image `protobuf:"bytes,1,rep,name=image,proto3" json:"image,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Images) Reset() { *m = Images{} }
+func (m *Images) String() string { return proto.CompactTextString(m) }
+func (*Images) ProtoMessage() {}
+func (*Images) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{6}
+}
+
+func (m *Images) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Images.Unmarshal(m, b)
+}
+func (m *Images) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Images.Marshal(b, m, deterministic)
+}
+func (m *Images) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Images.Merge(m, src)
+}
+func (m *Images) XXX_Size() int {
+ return xxx_messageInfo_Images.Size(m)
+}
+func (m *Images) XXX_DiscardUnknown() {
+ xxx_messageInfo_Images.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Images proto.InternalMessageInfo
+
+func (m *Images) GetImage() []*Image {
+ if m != nil {
+ return m.Image
+ }
+ return nil
+}
+
+type ImageDownload struct {
+ // Device Identifier
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // Image unique identifier
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+ // URL where the image is available
+ // should include username password
+ Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
+ // CRC of the image to be verified aginst
+ Crc uint32 `protobuf:"varint,4,opt,name=crc,proto3" json:"crc,omitempty"`
+ // Download state
+ DownloadState ImageDownload_ImageDownloadState `protobuf:"varint,5,opt,name=download_state,json=downloadState,proto3,enum=voltha.ImageDownload_ImageDownloadState" json:"download_state,omitempty"`
+ // Downloaded version
+ ImageVersion string `protobuf:"bytes,6,opt,name=image_version,json=imageVersion,proto3" json:"image_version,omitempty"`
+ // Bytes downloaded
+ DownloadedBytes uint32 `protobuf:"varint,7,opt,name=downloaded_bytes,json=downloadedBytes,proto3" json:"downloaded_bytes,omitempty"`
+ // Download failure reason
+ Reason ImageDownload_ImageDownloadFailureReason `protobuf:"varint,8,opt,name=reason,proto3,enum=voltha.ImageDownload_ImageDownloadFailureReason" json:"reason,omitempty"`
+ // Additional info
+ AdditionalInfo string `protobuf:"bytes,9,opt,name=additional_info,json=additionalInfo,proto3" json:"additional_info,omitempty"`
+ // Save current configuration
+ SaveConfig bool `protobuf:"varint,10,opt,name=save_config,json=saveConfig,proto3" json:"save_config,omitempty"`
+ // Image local location
+ LocalDir string `protobuf:"bytes,11,opt,name=local_dir,json=localDir,proto3" json:"local_dir,omitempty"`
+ // Image activation state
+ ImageState ImageDownload_ImageActivateState `protobuf:"varint,12,opt,name=image_state,json=imageState,proto3,enum=voltha.ImageDownload_ImageActivateState" json:"image_state,omitempty"`
+ // Image file size
+ FileSize uint32 `protobuf:"varint,13,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ImageDownload) Reset() { *m = ImageDownload{} }
+func (m *ImageDownload) String() string { return proto.CompactTextString(m) }
+func (*ImageDownload) ProtoMessage() {}
+func (*ImageDownload) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{7}
+}
+
+func (m *ImageDownload) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ImageDownload.Unmarshal(m, b)
+}
+func (m *ImageDownload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ImageDownload.Marshal(b, m, deterministic)
+}
+func (m *ImageDownload) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ImageDownload.Merge(m, src)
+}
+func (m *ImageDownload) XXX_Size() int {
+ return xxx_messageInfo_ImageDownload.Size(m)
+}
+func (m *ImageDownload) XXX_DiscardUnknown() {
+ xxx_messageInfo_ImageDownload.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ImageDownload proto.InternalMessageInfo
+
+func (m *ImageDownload) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *ImageDownload) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *ImageDownload) GetUrl() string {
+ if m != nil {
+ return m.Url
+ }
+ return ""
+}
+
+func (m *ImageDownload) GetCrc() uint32 {
+ if m != nil {
+ return m.Crc
+ }
+ return 0
+}
+
+func (m *ImageDownload) GetDownloadState() ImageDownload_ImageDownloadState {
+ if m != nil {
+ return m.DownloadState
+ }
+ return ImageDownload_DOWNLOAD_UNKNOWN
+}
+
+func (m *ImageDownload) GetImageVersion() string {
+ if m != nil {
+ return m.ImageVersion
+ }
+ return ""
+}
+
+func (m *ImageDownload) GetDownloadedBytes() uint32 {
+ if m != nil {
+ return m.DownloadedBytes
+ }
+ return 0
+}
+
+func (m *ImageDownload) GetReason() ImageDownload_ImageDownloadFailureReason {
+ if m != nil {
+ return m.Reason
+ }
+ return ImageDownload_NO_ERROR
+}
+
+func (m *ImageDownload) GetAdditionalInfo() string {
+ if m != nil {
+ return m.AdditionalInfo
+ }
+ return ""
+}
+
+func (m *ImageDownload) GetSaveConfig() bool {
+ if m != nil {
+ return m.SaveConfig
+ }
+ return false
+}
+
+func (m *ImageDownload) GetLocalDir() string {
+ if m != nil {
+ return m.LocalDir
+ }
+ return ""
+}
+
+func (m *ImageDownload) GetImageState() ImageDownload_ImageActivateState {
+ if m != nil {
+ return m.ImageState
+ }
+ return ImageDownload_IMAGE_UNKNOWN
+}
+
+func (m *ImageDownload) GetFileSize() uint32 {
+ if m != nil {
+ return m.FileSize
+ }
+ return 0
+}
+
+type ImageDownloads struct {
+ Items []*ImageDownload `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ImageDownloads) Reset() { *m = ImageDownloads{} }
+func (m *ImageDownloads) String() string { return proto.CompactTextString(m) }
+func (*ImageDownloads) ProtoMessage() {}
+func (*ImageDownloads) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{8}
+}
+
+func (m *ImageDownloads) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ImageDownloads.Unmarshal(m, b)
+}
+func (m *ImageDownloads) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ImageDownloads.Marshal(b, m, deterministic)
+}
+func (m *ImageDownloads) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ImageDownloads.Merge(m, src)
+}
+func (m *ImageDownloads) XXX_Size() int {
+ return xxx_messageInfo_ImageDownloads.Size(m)
+}
+func (m *ImageDownloads) XXX_DiscardUnknown() {
+ xxx_messageInfo_ImageDownloads.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ImageDownloads proto.InternalMessageInfo
+
+func (m *ImageDownloads) GetItems() []*ImageDownload {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type Port struct {
+ PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
+ Type Port_PortType `protobuf:"varint,3,opt,name=type,proto3,enum=voltha.Port_PortType" json:"type,omitempty"`
+ AdminState common.AdminState_AdminState `protobuf:"varint,5,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_AdminState" json:"admin_state,omitempty"`
+ OperStatus common.OperStatus_OperStatus `protobuf:"varint,6,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_OperStatus" json:"oper_status,omitempty"`
+ DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ Peers []*Port_PeerPort `protobuf:"bytes,8,rep,name=peers,proto3" json:"peers,omitempty"`
+ RxPackets uint64 `protobuf:"fixed64,9,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
+ RxBytes uint64 `protobuf:"fixed64,10,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
+ RxErrors uint64 `protobuf:"fixed64,11,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
+ TxPackets uint64 `protobuf:"fixed64,12,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
+ TxBytes uint64 `protobuf:"fixed64,13,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
+ TxErrors uint64 `protobuf:"fixed64,14,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Port) Reset() { *m = Port{} }
+func (m *Port) String() string { return proto.CompactTextString(m) }
+func (*Port) ProtoMessage() {}
+func (*Port) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{9}
+}
+
+func (m *Port) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Port.Unmarshal(m, b)
+}
+func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Port.Marshal(b, m, deterministic)
+}
+func (m *Port) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Port.Merge(m, src)
+}
+func (m *Port) XXX_Size() int {
+ return xxx_messageInfo_Port.Size(m)
+}
+func (m *Port) XXX_DiscardUnknown() {
+ xxx_messageInfo_Port.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Port proto.InternalMessageInfo
+
+func (m *Port) GetPortNo() uint32 {
+ if m != nil {
+ return m.PortNo
+ }
+ return 0
+}
+
+func (m *Port) GetLabel() string {
+ if m != nil {
+ return m.Label
+ }
+ return ""
+}
+
+func (m *Port) GetType() Port_PortType {
+ if m != nil {
+ return m.Type
+ }
+ return Port_UNKNOWN
+}
+
+func (m *Port) GetAdminState() common.AdminState_AdminState {
+ if m != nil {
+ return m.AdminState
+ }
+ return common.AdminState_UNKNOWN
+}
+
+func (m *Port) GetOperStatus() common.OperStatus_OperStatus {
+ if m != nil {
+ return m.OperStatus
+ }
+ return common.OperStatus_UNKNOWN
+}
+
+func (m *Port) GetDeviceId() string {
+ if m != nil {
+ return m.DeviceId
+ }
+ return ""
+}
+
+func (m *Port) GetPeers() []*Port_PeerPort {
+ if m != nil {
+ return m.Peers
+ }
+ return nil
+}
+
+func (m *Port) GetRxPackets() uint64 {
+ if m != nil {
+ return m.RxPackets
+ }
+ return 0
+}
+
+func (m *Port) GetRxBytes() uint64 {
+ if m != nil {
+ return m.RxBytes
+ }
+ return 0
+}
+
+func (m *Port) GetRxErrors() uint64 {
+ if m != nil {
+ return m.RxErrors
+ }
+ return 0
+}
+
+func (m *Port) GetTxPackets() uint64 {
+ if m != nil {
+ return m.TxPackets
+ }
+ return 0
+}
+
+func (m *Port) GetTxBytes() uint64 {
+ if m != nil {
+ return m.TxBytes
+ }
+ return 0
+}
+
+func (m *Port) GetTxErrors() uint64 {
+ if m != nil {
+ return m.TxErrors
+ }
+ return 0
+}
+
+type Port_PeerPort struct {
+ DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ PortNo uint32 `protobuf:"varint,2,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Port_PeerPort) Reset() { *m = Port_PeerPort{} }
+func (m *Port_PeerPort) String() string { return proto.CompactTextString(m) }
+func (*Port_PeerPort) ProtoMessage() {}
+func (*Port_PeerPort) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{9, 0}
+}
+
+func (m *Port_PeerPort) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Port_PeerPort.Unmarshal(m, b)
+}
+func (m *Port_PeerPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Port_PeerPort.Marshal(b, m, deterministic)
+}
+func (m *Port_PeerPort) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Port_PeerPort.Merge(m, src)
+}
+func (m *Port_PeerPort) XXX_Size() int {
+ return xxx_messageInfo_Port_PeerPort.Size(m)
+}
+func (m *Port_PeerPort) XXX_DiscardUnknown() {
+ xxx_messageInfo_Port_PeerPort.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Port_PeerPort proto.InternalMessageInfo
+
+func (m *Port_PeerPort) GetDeviceId() string {
+ if m != nil {
+ return m.DeviceId
+ }
+ return ""
+}
+
+func (m *Port_PeerPort) GetPortNo() uint32 {
+ if m != nil {
+ return m.PortNo
+ }
+ return 0
+}
+
+type Ports struct {
+ Items []*Port `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Ports) Reset() { *m = Ports{} }
+func (m *Ports) String() string { return proto.CompactTextString(m) }
+func (*Ports) ProtoMessage() {}
+func (*Ports) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{10}
+}
+
+func (m *Ports) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Ports.Unmarshal(m, b)
+}
+func (m *Ports) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Ports.Marshal(b, m, deterministic)
+}
+func (m *Ports) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Ports.Merge(m, src)
+}
+func (m *Ports) XXX_Size() int {
+ return xxx_messageInfo_Ports.Size(m)
+}
+func (m *Ports) XXX_DiscardUnknown() {
+ xxx_messageInfo_Ports.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Ports proto.InternalMessageInfo
+
+func (m *Ports) GetItems() []*Port {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+// A Physical Device instance
+type Device struct {
+ // Voltha's device identifier
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // Device type, refers to one of the registered device types
+ Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
+ // Is this device a root device. Each logical switch has one root
+ // device that is associated with the logical flow switch.
+ Root bool `protobuf:"varint,3,opt,name=root,proto3" json:"root,omitempty"`
+ // Parent device id, in the device tree (for a root device, the parent_id
+ // is the logical_device.id)
+ ParentId string `protobuf:"bytes,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
+ ParentPortNo uint32 `protobuf:"varint,20,opt,name=parent_port_no,json=parentPortNo,proto3" json:"parent_port_no,omitempty"`
+ // Vendor, version, serial number, etc.
+ Vendor string `protobuf:"bytes,5,opt,name=vendor,proto3" json:"vendor,omitempty"`
+ Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
+ HardwareVersion string `protobuf:"bytes,7,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
+ FirmwareVersion string `protobuf:"bytes,8,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
+ // List of software on the device
+ Images *Images `protobuf:"bytes,9,opt,name=images,proto3" json:"images,omitempty"`
+ SerialNumber string `protobuf:"bytes,10,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
+ VendorId string `protobuf:"bytes,24,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
+ // Addapter that takes care of device
+ Adapter string `protobuf:"bytes,11,opt,name=adapter,proto3" json:"adapter,omitempty"`
+ // Device contact on vlan (if 0, no vlan)
+ Vlan uint32 `protobuf:"varint,12,opt,name=vlan,proto3" json:"vlan,omitempty"`
+ // Device contact MAC address (format: "xx:xx:xx:xx:xx:xx")
+ MacAddress string `protobuf:"bytes,13,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
+ // Types that are valid to be assigned to Address:
+ // *Device_Ipv4Address
+ // *Device_Ipv6Address
+ // *Device_HostAndPort
+ Address isDevice_Address `protobuf_oneof:"address"`
+ ExtraArgs string `protobuf:"bytes,23,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"`
+ ProxyAddress *Device_ProxyAddress `protobuf:"bytes,19,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
+ AdminState common.AdminState_AdminState `protobuf:"varint,16,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_AdminState" json:"admin_state,omitempty"`
+ OperStatus common.OperStatus_OperStatus `protobuf:"varint,17,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_OperStatus" json:"oper_status,omitempty"`
+ Reason string `protobuf:"bytes,22,opt,name=reason,proto3" json:"reason,omitempty"`
+ ConnectStatus common.ConnectStatus_ConnectStatus `protobuf:"varint,18,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_ConnectStatus" json:"connect_status,omitempty"`
+ // Device type specific attributes
+ Custom *any.Any `protobuf:"bytes,64,opt,name=custom,proto3" json:"custom,omitempty"`
+ Ports []*Port `protobuf:"bytes,128,rep,name=ports,proto3" json:"ports,omitempty"`
+ Flows *openflow_13.Flows `protobuf:"bytes,129,opt,name=flows,proto3" json:"flows,omitempty"`
+ FlowGroups *openflow_13.FlowGroups `protobuf:"bytes,130,opt,name=flow_groups,json=flowGroups,proto3" json:"flow_groups,omitempty"`
+ // PmConfigs will eventually converted to a child node of the
+ // device to falicitata callbacks and to simplify manipulation.
+ PmConfigs *PmConfigs `protobuf:"bytes,131,opt,name=pm_configs,json=pmConfigs,proto3" json:"pm_configs,omitempty"`
+ ImageDownloads []*ImageDownload `protobuf:"bytes,133,rep,name=image_downloads,json=imageDownloads,proto3" json:"image_downloads,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Device) Reset() { *m = Device{} }
+func (m *Device) String() string { return proto.CompactTextString(m) }
+func (*Device) ProtoMessage() {}
+func (*Device) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{11}
+}
+
+func (m *Device) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Device.Unmarshal(m, b)
+}
+func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Device.Marshal(b, m, deterministic)
+}
+func (m *Device) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Device.Merge(m, src)
+}
+func (m *Device) XXX_Size() int {
+ return xxx_messageInfo_Device.Size(m)
+}
+func (m *Device) XXX_DiscardUnknown() {
+ xxx_messageInfo_Device.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Device proto.InternalMessageInfo
+
+func (m *Device) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *Device) GetType() string {
+ if m != nil {
+ return m.Type
+ }
+ return ""
+}
+
+func (m *Device) GetRoot() bool {
+ if m != nil {
+ return m.Root
+ }
+ return false
+}
+
+func (m *Device) GetParentId() string {
+ if m != nil {
+ return m.ParentId
+ }
+ return ""
+}
+
+func (m *Device) GetParentPortNo() uint32 {
+ if m != nil {
+ return m.ParentPortNo
+ }
+ return 0
+}
+
+func (m *Device) GetVendor() string {
+ if m != nil {
+ return m.Vendor
+ }
+ return ""
+}
+
+func (m *Device) GetModel() string {
+ if m != nil {
+ return m.Model
+ }
+ return ""
+}
+
+func (m *Device) GetHardwareVersion() string {
+ if m != nil {
+ return m.HardwareVersion
+ }
+ return ""
+}
+
+func (m *Device) GetFirmwareVersion() string {
+ if m != nil {
+ return m.FirmwareVersion
+ }
+ return ""
+}
+
+func (m *Device) GetImages() *Images {
+ if m != nil {
+ return m.Images
+ }
+ return nil
+}
+
+func (m *Device) GetSerialNumber() string {
+ if m != nil {
+ return m.SerialNumber
+ }
+ return ""
+}
+
+func (m *Device) GetVendorId() string {
+ if m != nil {
+ return m.VendorId
+ }
+ return ""
+}
+
+func (m *Device) GetAdapter() string {
+ if m != nil {
+ return m.Adapter
+ }
+ return ""
+}
+
+func (m *Device) GetVlan() uint32 {
+ if m != nil {
+ return m.Vlan
+ }
+ return 0
+}
+
+func (m *Device) GetMacAddress() string {
+ if m != nil {
+ return m.MacAddress
+ }
+ return ""
+}
+
+type isDevice_Address interface {
+ isDevice_Address()
+}
+
+type Device_Ipv4Address struct {
+ Ipv4Address string `protobuf:"bytes,14,opt,name=ipv4_address,json=ipv4Address,proto3,oneof"`
+}
+
+type Device_Ipv6Address struct {
+ Ipv6Address string `protobuf:"bytes,15,opt,name=ipv6_address,json=ipv6Address,proto3,oneof"`
+}
+
+type Device_HostAndPort struct {
+ HostAndPort string `protobuf:"bytes,21,opt,name=host_and_port,json=hostAndPort,proto3,oneof"`
+}
+
+func (*Device_Ipv4Address) isDevice_Address() {}
+
+func (*Device_Ipv6Address) isDevice_Address() {}
+
+func (*Device_HostAndPort) isDevice_Address() {}
+
+func (m *Device) GetAddress() isDevice_Address {
+ if m != nil {
+ return m.Address
+ }
+ return nil
+}
+
+func (m *Device) GetIpv4Address() string {
+ if x, ok := m.GetAddress().(*Device_Ipv4Address); ok {
+ return x.Ipv4Address
+ }
+ return ""
+}
+
+func (m *Device) GetIpv6Address() string {
+ if x, ok := m.GetAddress().(*Device_Ipv6Address); ok {
+ return x.Ipv6Address
+ }
+ return ""
+}
+
+func (m *Device) GetHostAndPort() string {
+ if x, ok := m.GetAddress().(*Device_HostAndPort); ok {
+ return x.HostAndPort
+ }
+ return ""
+}
+
+func (m *Device) GetExtraArgs() string {
+ if m != nil {
+ return m.ExtraArgs
+ }
+ return ""
+}
+
+func (m *Device) GetProxyAddress() *Device_ProxyAddress {
+ if m != nil {
+ return m.ProxyAddress
+ }
+ return nil
+}
+
+func (m *Device) GetAdminState() common.AdminState_AdminState {
+ if m != nil {
+ return m.AdminState
+ }
+ return common.AdminState_UNKNOWN
+}
+
+func (m *Device) GetOperStatus() common.OperStatus_OperStatus {
+ if m != nil {
+ return m.OperStatus
+ }
+ return common.OperStatus_UNKNOWN
+}
+
+func (m *Device) GetReason() string {
+ if m != nil {
+ return m.Reason
+ }
+ return ""
+}
+
+func (m *Device) GetConnectStatus() common.ConnectStatus_ConnectStatus {
+ if m != nil {
+ return m.ConnectStatus
+ }
+ return common.ConnectStatus_UNKNOWN
+}
+
+func (m *Device) GetCustom() *any.Any {
+ if m != nil {
+ return m.Custom
+ }
+ return nil
+}
+
+func (m *Device) GetPorts() []*Port {
+ if m != nil {
+ return m.Ports
+ }
+ return nil
+}
+
+func (m *Device) GetFlows() *openflow_13.Flows {
+ if m != nil {
+ return m.Flows
+ }
+ return nil
+}
+
+func (m *Device) GetFlowGroups() *openflow_13.FlowGroups {
+ if m != nil {
+ return m.FlowGroups
+ }
+ return nil
+}
+
+func (m *Device) GetPmConfigs() *PmConfigs {
+ if m != nil {
+ return m.PmConfigs
+ }
+ return nil
+}
+
+func (m *Device) GetImageDownloads() []*ImageDownload {
+ if m != nil {
+ return m.ImageDownloads
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*Device) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*Device_Ipv4Address)(nil),
+ (*Device_Ipv6Address)(nil),
+ (*Device_HostAndPort)(nil),
+ }
+}
+
+type Device_ProxyAddress struct {
+ DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ DeviceType string `protobuf:"bytes,2,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
+ ChannelId uint32 `protobuf:"varint,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
+ ChannelGroupId uint32 `protobuf:"varint,4,opt,name=channel_group_id,json=channelGroupId,proto3" json:"channel_group_id,omitempty"`
+ ChannelTermination string `protobuf:"bytes,5,opt,name=channel_termination,json=channelTermination,proto3" json:"channel_termination,omitempty"`
+ OnuId uint32 `protobuf:"varint,6,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ OnuSessionId uint32 `protobuf:"varint,7,opt,name=onu_session_id,json=onuSessionId,proto3" json:"onu_session_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Device_ProxyAddress) Reset() { *m = Device_ProxyAddress{} }
+func (m *Device_ProxyAddress) String() string { return proto.CompactTextString(m) }
+func (*Device_ProxyAddress) ProtoMessage() {}
+func (*Device_ProxyAddress) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{11, 0}
+}
+
+func (m *Device_ProxyAddress) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Device_ProxyAddress.Unmarshal(m, b)
+}
+func (m *Device_ProxyAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Device_ProxyAddress.Marshal(b, m, deterministic)
+}
+func (m *Device_ProxyAddress) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Device_ProxyAddress.Merge(m, src)
+}
+func (m *Device_ProxyAddress) XXX_Size() int {
+ return xxx_messageInfo_Device_ProxyAddress.Size(m)
+}
+func (m *Device_ProxyAddress) XXX_DiscardUnknown() {
+ xxx_messageInfo_Device_ProxyAddress.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Device_ProxyAddress proto.InternalMessageInfo
+
+func (m *Device_ProxyAddress) GetDeviceId() string {
+ if m != nil {
+ return m.DeviceId
+ }
+ return ""
+}
+
+func (m *Device_ProxyAddress) GetDeviceType() string {
+ if m != nil {
+ return m.DeviceType
+ }
+ return ""
+}
+
+func (m *Device_ProxyAddress) GetChannelId() uint32 {
+ if m != nil {
+ return m.ChannelId
+ }
+ return 0
+}
+
+func (m *Device_ProxyAddress) GetChannelGroupId() uint32 {
+ if m != nil {
+ return m.ChannelGroupId
+ }
+ return 0
+}
+
+func (m *Device_ProxyAddress) GetChannelTermination() string {
+ if m != nil {
+ return m.ChannelTermination
+ }
+ return ""
+}
+
+func (m *Device_ProxyAddress) GetOnuId() uint32 {
+ if m != nil {
+ return m.OnuId
+ }
+ return 0
+}
+
+func (m *Device_ProxyAddress) GetOnuSessionId() uint32 {
+ if m != nil {
+ return m.OnuSessionId
+ }
+ return 0
+}
+
+type Devices struct {
+ Items []*Device `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Devices) Reset() { *m = Devices{} }
+func (m *Devices) String() string { return proto.CompactTextString(m) }
+func (*Devices) ProtoMessage() {}
+func (*Devices) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{12}
+}
+
+func (m *Devices) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Devices.Unmarshal(m, b)
+}
+func (m *Devices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Devices.Marshal(b, m, deterministic)
+}
+func (m *Devices) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Devices.Merge(m, src)
+}
+func (m *Devices) XXX_Size() int {
+ return xxx_messageInfo_Devices.Size(m)
+}
+func (m *Devices) XXX_DiscardUnknown() {
+ xxx_messageInfo_Devices.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Devices proto.InternalMessageInfo
+
+func (m *Devices) GetItems() []*Device {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type SimulateAlarmRequest struct {
+ // Device Identifier
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Indicator string `protobuf:"bytes,2,opt,name=indicator,proto3" json:"indicator,omitempty"`
+ IntfId string `protobuf:"bytes,3,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ PortTypeName string `protobuf:"bytes,4,opt,name=port_type_name,json=portTypeName,proto3" json:"port_type_name,omitempty"`
+ OnuDeviceId string `protobuf:"bytes,5,opt,name=onu_device_id,json=onuDeviceId,proto3" json:"onu_device_id,omitempty"`
+ InverseBitErrorRate int32 `protobuf:"varint,6,opt,name=inverse_bit_error_rate,json=inverseBitErrorRate,proto3" json:"inverse_bit_error_rate,omitempty"`
+ Drift int32 `protobuf:"varint,7,opt,name=drift,proto3" json:"drift,omitempty"`
+ NewEqd int32 `protobuf:"varint,8,opt,name=new_eqd,json=newEqd,proto3" json:"new_eqd,omitempty"`
+ OnuSerialNumber string `protobuf:"bytes,9,opt,name=onu_serial_number,json=onuSerialNumber,proto3" json:"onu_serial_number,omitempty"`
+ Operation SimulateAlarmRequest_OperationType `protobuf:"varint,10,opt,name=operation,proto3,enum=voltha.SimulateAlarmRequest_OperationType" json:"operation,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *SimulateAlarmRequest) Reset() { *m = SimulateAlarmRequest{} }
+func (m *SimulateAlarmRequest) String() string { return proto.CompactTextString(m) }
+func (*SimulateAlarmRequest) ProtoMessage() {}
+func (*SimulateAlarmRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{13}
+}
+
+func (m *SimulateAlarmRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_SimulateAlarmRequest.Unmarshal(m, b)
+}
+func (m *SimulateAlarmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_SimulateAlarmRequest.Marshal(b, m, deterministic)
+}
+func (m *SimulateAlarmRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_SimulateAlarmRequest.Merge(m, src)
+}
+func (m *SimulateAlarmRequest) XXX_Size() int {
+ return xxx_messageInfo_SimulateAlarmRequest.Size(m)
+}
+func (m *SimulateAlarmRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_SimulateAlarmRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SimulateAlarmRequest proto.InternalMessageInfo
+
+func (m *SimulateAlarmRequest) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *SimulateAlarmRequest) GetIndicator() string {
+ if m != nil {
+ return m.Indicator
+ }
+ return ""
+}
+
+func (m *SimulateAlarmRequest) GetIntfId() string {
+ if m != nil {
+ return m.IntfId
+ }
+ return ""
+}
+
+func (m *SimulateAlarmRequest) GetPortTypeName() string {
+ if m != nil {
+ return m.PortTypeName
+ }
+ return ""
+}
+
+func (m *SimulateAlarmRequest) GetOnuDeviceId() string {
+ if m != nil {
+ return m.OnuDeviceId
+ }
+ return ""
+}
+
+func (m *SimulateAlarmRequest) GetInverseBitErrorRate() int32 {
+ if m != nil {
+ return m.InverseBitErrorRate
+ }
+ return 0
+}
+
+func (m *SimulateAlarmRequest) GetDrift() int32 {
+ if m != nil {
+ return m.Drift
+ }
+ return 0
+}
+
+func (m *SimulateAlarmRequest) GetNewEqd() int32 {
+ if m != nil {
+ return m.NewEqd
+ }
+ return 0
+}
+
+func (m *SimulateAlarmRequest) GetOnuSerialNumber() string {
+ if m != nil {
+ return m.OnuSerialNumber
+ }
+ return ""
+}
+
+func (m *SimulateAlarmRequest) GetOperation() SimulateAlarmRequest_OperationType {
+ if m != nil {
+ return m.Operation
+ }
+ return SimulateAlarmRequest_RAISE
+}
+
+func init() {
+ proto.RegisterEnum("voltha.PmConfig_PmType", PmConfig_PmType_name, PmConfig_PmType_value)
+ proto.RegisterEnum("voltha.ImageDownload_ImageDownloadState", ImageDownload_ImageDownloadState_name, ImageDownload_ImageDownloadState_value)
+ proto.RegisterEnum("voltha.ImageDownload_ImageDownloadFailureReason", ImageDownload_ImageDownloadFailureReason_name, ImageDownload_ImageDownloadFailureReason_value)
+ proto.RegisterEnum("voltha.ImageDownload_ImageActivateState", ImageDownload_ImageActivateState_name, ImageDownload_ImageActivateState_value)
+ proto.RegisterEnum("voltha.Port_PortType", Port_PortType_name, Port_PortType_value)
+ proto.RegisterEnum("voltha.SimulateAlarmRequest_OperationType", SimulateAlarmRequest_OperationType_name, SimulateAlarmRequest_OperationType_value)
+ proto.RegisterType((*DeviceType)(nil), "voltha.DeviceType")
+ proto.RegisterType((*DeviceTypes)(nil), "voltha.DeviceTypes")
+ proto.RegisterType((*PmConfig)(nil), "voltha.PmConfig")
+ proto.RegisterType((*PmGroupConfig)(nil), "voltha.PmGroupConfig")
+ proto.RegisterType((*PmConfigs)(nil), "voltha.PmConfigs")
+ proto.RegisterType((*Image)(nil), "voltha.Image")
+ proto.RegisterType((*Images)(nil), "voltha.Images")
+ proto.RegisterType((*ImageDownload)(nil), "voltha.ImageDownload")
+ proto.RegisterType((*ImageDownloads)(nil), "voltha.ImageDownloads")
+ proto.RegisterType((*Port)(nil), "voltha.Port")
+ proto.RegisterType((*Port_PeerPort)(nil), "voltha.Port.PeerPort")
+ proto.RegisterType((*Ports)(nil), "voltha.Ports")
+ proto.RegisterType((*Device)(nil), "voltha.Device")
+ proto.RegisterType((*Device_ProxyAddress)(nil), "voltha.Device.ProxyAddress")
+ proto.RegisterType((*Devices)(nil), "voltha.Devices")
+ proto.RegisterType((*SimulateAlarmRequest)(nil), "voltha.SimulateAlarmRequest")
+}
+
+func init() { proto.RegisterFile("voltha_protos/device.proto", fileDescriptor_200940f73d155856) }
+
+var fileDescriptor_200940f73d155856 = []byte{
+ // 2378 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0xcb, 0x6e, 0x1b, 0xc9,
+ 0xd5, 0x36, 0x29, 0x75, 0x93, 0x7d, 0x78, 0x51, 0xbb, 0x2c, 0xdb, 0x6d, 0xe9, 0x17, 0xe4, 0x9f,
+ 0x9e, 0x20, 0xb2, 0x1d, 0x4b, 0x8e, 0x1d, 0xcc, 0x0c, 0x02, 0x24, 0x30, 0x45, 0xb6, 0x6c, 0x22,
+ 0x0a, 0xa9, 0x29, 0x92, 0x9a, 0x24, 0x9b, 0x46, 0x8b, 0x5d, 0x94, 0x1a, 0xee, 0x0b, 0x5d, 0xd5,
+ 0xd4, 0x65, 0x56, 0x49, 0x06, 0xc9, 0x2a, 0xbb, 0x00, 0x79, 0x86, 0xbc, 0x41, 0x96, 0xc9, 0x0b,
+ 0x18, 0x79, 0x81, 0xac, 0xb2, 0x08, 0x82, 0xac, 0xb2, 0xf2, 0x3a, 0xa8, 0x1b, 0xd9, 0x2d, 0x3b,
+ 0x9e, 0xc9, 0xa6, 0x51, 0xf5, 0x9d, 0x4b, 0x55, 0x7d, 0x55, 0x75, 0xce, 0xa9, 0x86, 0x8d, 0xf3,
+ 0x34, 0xca, 0xce, 0x7c, 0x6f, 0x46, 0xd3, 0x2c, 0x65, 0x7b, 0x01, 0x39, 0x0f, 0x27, 0x64, 0x57,
+ 0xf4, 0x90, 0x29, 0x65, 0x1b, 0xf7, 0x4e, 0xd3, 0xf4, 0x34, 0x22, 0x7b, 0x02, 0x3d, 0x99, 0x4f,
+ 0xf7, 0xfc, 0xe4, 0x4a, 0xaa, 0x6c, 0x5c, 0x33, 0x9f, 0xa4, 0x71, 0x9c, 0x26, 0x4a, 0xe6, 0x14,
+ 0x65, 0x31, 0xc9, 0x7c, 0x25, 0xd9, 0x2e, 0x4a, 0xd2, 0x19, 0x49, 0xa6, 0x51, 0x7a, 0xe1, 0x7d,
+ 0xff, 0xb9, 0x52, 0xb8, 0x5f, 0x54, 0xb8, 0xf2, 0x93, 0x53, 0x2f, 0x9d, 0x65, 0x61, 0x9a, 0x30,
+ 0xa9, 0xd1, 0xfa, 0x73, 0x19, 0xa0, 0x2b, 0x26, 0x3b, 0xba, 0x9a, 0x11, 0xd4, 0x84, 0x72, 0x18,
+ 0x38, 0xa5, 0xfb, 0xa5, 0x1d, 0x0b, 0x97, 0xc3, 0x00, 0x6d, 0x82, 0x75, 0x4e, 0x92, 0x20, 0xa5,
+ 0x5e, 0x18, 0x38, 0x86, 0x80, 0xab, 0x12, 0xe8, 0x05, 0x68, 0x0b, 0x60, 0x21, 0x64, 0x8e, 0x79,
+ 0x7f, 0x65, 0xc7, 0xc2, 0x96, 0x96, 0x32, 0xe4, 0x40, 0xc5, 0x0f, 0xfc, 0x59, 0x46, 0xa8, 0x53,
+ 0x16, 0x96, 0xba, 0x8b, 0x3e, 0x03, 0xc7, 0x9f, 0x4c, 0xc8, 0x2c, 0x63, 0xde, 0xc9, 0x3c, 0x7a,
+ 0xed, 0x89, 0x49, 0xcf, 0x67, 0x81, 0x9f, 0x11, 0x67, 0xe5, 0x7e, 0x69, 0xa7, 0x8a, 0x6f, 0x2b,
+ 0xf9, 0xfe, 0x3c, 0x7a, 0x7d, 0x10, 0xa5, 0x17, 0x63, 0x21, 0x44, 0x5d, 0xd8, 0xd6, 0x86, 0x7e,
+ 0x10, 0x78, 0x94, 0xc4, 0xe9, 0x39, 0xc9, 0x9b, 0x33, 0x67, 0x55, 0xd8, 0x6f, 0x2a, 0xb5, 0x76,
+ 0x10, 0x60, 0xa1, 0xb4, 0x74, 0xc2, 0xd0, 0x21, 0x3c, 0xd0, 0x5e, 0x82, 0x90, 0x92, 0x49, 0xe6,
+ 0x45, 0xe9, 0x69, 0x38, 0xf1, 0x23, 0xe1, 0x89, 0xe9, 0x99, 0x54, 0x84, 0x27, 0x3d, 0x60, 0x57,
+ 0x68, 0x1e, 0x4a, 0x45, 0xee, 0x8d, 0x49, 0x77, 0xad, 0xcf, 0xa0, 0xb6, 0x24, 0x90, 0xa1, 0x1d,
+ 0x30, 0xc2, 0x8c, 0xc4, 0xcc, 0x29, 0xdd, 0x5f, 0xd9, 0xa9, 0x3d, 0x43, 0xbb, 0x72, 0x0b, 0x76,
+ 0x97, 0x3a, 0x58, 0x2a, 0xb4, 0xfe, 0x52, 0x82, 0xea, 0x51, 0xdc, 0x49, 0x93, 0x69, 0x78, 0x8a,
+ 0x10, 0xac, 0x26, 0x7e, 0x4c, 0x14, 0xf5, 0xa2, 0x8d, 0x1e, 0xc3, 0x6a, 0x76, 0x35, 0x23, 0x82,
+ 0xbd, 0xe6, 0xb3, 0xbb, 0xda, 0x93, 0xb6, 0xd9, 0x3d, 0x8a, 0x85, 0x3b, 0xa1, 0xc4, 0xd9, 0x26,
+ 0x89, 0x7f, 0x12, 0x91, 0x40, 0x51, 0xa8, 0xbb, 0x68, 0x1b, 0x6a, 0xcc, 0x8f, 0x67, 0x11, 0xf1,
+ 0xa6, 0x94, 0xbc, 0x11, 0x04, 0x35, 0x30, 0x48, 0xe8, 0x80, 0x92, 0x37, 0xad, 0xcf, 0xc1, 0x94,
+ 0xae, 0x50, 0x0d, 0x2a, 0x9d, 0xc1, 0xb8, 0x3f, 0x72, 0xb1, 0x7d, 0x03, 0x59, 0x60, 0xbc, 0x6c,
+ 0x8f, 0x5f, 0xba, 0x76, 0x89, 0x37, 0x87, 0xa3, 0xf6, 0xc8, 0xb5, 0xcb, 0x52, 0xa5, 0x3f, 0x72,
+ 0x7f, 0x36, 0xb2, 0x57, 0x5a, 0xbf, 0x2f, 0x41, 0xe3, 0x28, 0x7e, 0x49, 0xd3, 0xf9, 0x4c, 0xad,
+ 0x63, 0x0b, 0xe0, 0x94, 0x77, 0xbd, 0xdc, 0x6a, 0x2c, 0x81, 0xf4, 0xf9, 0x92, 0x16, 0x62, 0x31,
+ 0x95, 0xb2, 0x98, 0x8a, 0x14, 0xf3, 0x99, 0x7c, 0x64, 0x11, 0x8f, 0xa0, 0x12, 0x93, 0x8c, 0x86,
+ 0x13, 0xbe, 0xc3, 0x9c, 0x58, 0xfb, 0x3a, 0x1d, 0x58, 0x2b, 0xb4, 0xfe, 0x51, 0x02, 0x4b, 0xa3,
+ 0xec, 0xbd, 0x23, 0xfd, 0xff, 0x50, 0x0f, 0xc8, 0xd4, 0x9f, 0x47, 0x59, 0x7e, 0x12, 0x35, 0x85,
+ 0x89, 0x69, 0x6c, 0x43, 0x45, 0xcc, 0x49, 0x4f, 0x63, 0xdf, 0xf8, 0xe7, 0xbb, 0xb7, 0x5b, 0x25,
+ 0xac, 0x51, 0xf4, 0x08, 0x1a, 0xdc, 0xd6, 0x4b, 0xcf, 0x09, 0xa5, 0x61, 0x40, 0xe4, 0xa9, 0xd3,
+ 0x6a, 0x75, 0x2e, 0x1b, 0x28, 0x11, 0x7a, 0x02, 0xa6, 0x30, 0x63, 0x8e, 0x21, 0x26, 0x7e, 0x7b,
+ 0x39, 0xf1, 0x1c, 0x71, 0x58, 0x29, 0xe5, 0x17, 0x6a, 0x7e, 0xd3, 0x42, 0xff, 0x5a, 0x02, 0xa3,
+ 0x17, 0xfb, 0xa7, 0xe4, 0x83, 0xc7, 0xc7, 0x81, 0xca, 0x39, 0xa1, 0x2c, 0x4c, 0x13, 0x7d, 0xff,
+ 0x54, 0x97, 0x6b, 0x9f, 0xf9, 0xec, 0x4c, 0x2c, 0xce, 0xc2, 0xa2, 0x8d, 0x1e, 0x82, 0x1d, 0x26,
+ 0x2c, 0xf3, 0xa3, 0xc8, 0xe3, 0xc7, 0x3a, 0x0b, 0x63, 0xb9, 0x2a, 0x0b, 0xaf, 0x29, 0xbc, 0xab,
+ 0x60, 0x1e, 0x14, 0x42, 0xe6, 0xf9, 0x93, 0x2c, 0x3c, 0x27, 0x22, 0x28, 0x54, 0x71, 0x35, 0x64,
+ 0x6d, 0xd1, 0xe7, 0xf4, 0x86, 0xcc, 0xe3, 0x01, 0x2c, 0xcc, 0x32, 0x12, 0x38, 0xa6, 0x90, 0xd7,
+ 0x42, 0xd6, 0xd1, 0x10, 0xba, 0x07, 0xd5, 0x90, 0x79, 0xe7, 0x7e, 0x14, 0x06, 0xea, 0x92, 0x55,
+ 0x42, 0x76, 0xcc, 0xbb, 0xad, 0x27, 0x60, 0x8a, 0x05, 0x31, 0xf4, 0x00, 0x8c, 0x90, 0xb7, 0xd4,
+ 0x3d, 0x6a, 0x68, 0x16, 0x84, 0x18, 0x4b, 0x59, 0xeb, 0x5f, 0x15, 0x68, 0x08, 0xa0, 0x9b, 0x5e,
+ 0x24, 0x51, 0xea, 0x07, 0xef, 0xed, 0xb6, 0x26, 0xa6, 0x9c, 0x23, 0xc6, 0x86, 0x95, 0x39, 0x8d,
+ 0xd4, 0xea, 0x79, 0x93, 0x23, 0x13, 0x3a, 0x51, 0x57, 0x83, 0x37, 0xd1, 0x00, 0x9a, 0x81, 0xf2,
+ 0xe9, 0xb1, 0x8c, 0x87, 0x03, 0x43, 0xdc, 0xc2, 0x9d, 0xc2, 0x3c, 0xf4, 0xb0, 0xc5, 0xde, 0x90,
+ 0xeb, 0xe3, 0x46, 0x90, 0xef, 0xa2, 0x07, 0xd0, 0x10, 0x73, 0xf6, 0xf4, 0x9e, 0x98, 0x62, 0xf8,
+ 0xba, 0x00, 0x8f, 0xd5, 0xc6, 0x3c, 0x04, 0x5b, 0x5b, 0x91, 0xc0, 0x3b, 0xb9, 0xe2, 0x01, 0xad,
+ 0x22, 0x26, 0xb5, 0xb6, 0xc4, 0xf7, 0x39, 0x8c, 0x5e, 0x81, 0x49, 0x89, 0xcf, 0xd2, 0xc4, 0xa9,
+ 0x8a, 0x89, 0x3d, 0xfd, 0x16, 0x13, 0x3b, 0xf0, 0xc3, 0x68, 0x4e, 0x09, 0x16, 0x76, 0x58, 0xd9,
+ 0xa3, 0xef, 0xc2, 0x9a, 0x1f, 0x04, 0x21, 0xcf, 0x0a, 0x7e, 0xe4, 0x85, 0xc9, 0x34, 0x75, 0x2c,
+ 0x31, 0xb7, 0xe6, 0x12, 0xee, 0x25, 0xd3, 0x54, 0x06, 0x92, 0x73, 0xe2, 0x4d, 0xc4, 0x31, 0x74,
+ 0x40, 0x6c, 0x1d, 0x70, 0x48, 0x5d, 0xfe, 0x4d, 0xb0, 0xa2, 0x94, 0xc7, 0xd1, 0x20, 0xa4, 0x4e,
+ 0x4d, 0x66, 0x0b, 0x01, 0x74, 0x43, 0x8a, 0x7a, 0x50, 0x93, 0x04, 0x48, 0x3a, 0xeb, 0xdf, 0x48,
+ 0xa7, 0x38, 0x50, 0x7e, 0x46, 0x24, 0x9d, 0x20, 0x8c, 0x25, 0x97, 0x9b, 0x60, 0x4d, 0xc3, 0x88,
+ 0x78, 0x2c, 0xfc, 0x8a, 0x38, 0x0d, 0xc1, 0x4f, 0x95, 0x03, 0xc3, 0xf0, 0x2b, 0xd2, 0xfa, 0x53,
+ 0x09, 0xd0, 0xfb, 0xdb, 0x81, 0xd6, 0xc1, 0xee, 0x0e, 0xbe, 0xec, 0x1f, 0x0e, 0xda, 0x5d, 0x6f,
+ 0xdc, 0xff, 0x49, 0x7f, 0xf0, 0x65, 0xdf, 0xbe, 0x81, 0xee, 0x00, 0x5a, 0xa0, 0xc3, 0x71, 0xa7,
+ 0xe3, 0xba, 0x5d, 0xb7, 0x6b, 0x97, 0x0a, 0x38, 0x76, 0xbf, 0x18, 0xbb, 0xc3, 0x91, 0xdb, 0xb5,
+ 0xcb, 0x05, 0x2f, 0xc3, 0x51, 0x1b, 0x73, 0x74, 0x05, 0xdd, 0x82, 0xb5, 0x05, 0x7a, 0xd0, 0xee,
+ 0x1d, 0xba, 0x5d, 0x7b, 0x15, 0x39, 0xb0, 0x9e, 0x1b, 0x70, 0x38, 0x3e, 0x3a, 0x1a, 0x08, 0x75,
+ 0xa3, 0xe0, 0xbc, 0xd3, 0xee, 0x77, 0xdc, 0x43, 0x6e, 0x61, 0xb6, 0x7e, 0x5b, 0x82, 0x8d, 0xff,
+ 0xbe, 0x5f, 0xa8, 0x0e, 0xd5, 0xfe, 0xc0, 0x73, 0x31, 0x1e, 0xf0, 0xe8, 0xbc, 0x06, 0xb5, 0x5e,
+ 0xff, 0xb8, 0x7d, 0xd8, 0xeb, 0x7a, 0x63, 0x7c, 0x68, 0x97, 0x38, 0xd0, 0x75, 0x8f, 0x7b, 0x1d,
+ 0xd7, 0xdb, 0x1f, 0x0f, 0x7f, 0x6e, 0x97, 0xf9, 0x30, 0xbd, 0xfe, 0x70, 0x7c, 0x70, 0xd0, 0xeb,
+ 0xf4, 0xdc, 0xfe, 0xc8, 0x1b, 0x1e, 0xb5, 0x3b, 0xae, 0xbd, 0x82, 0x6e, 0x42, 0x43, 0x11, 0xa0,
+ 0x9c, 0xad, 0xa2, 0x06, 0x58, 0xcb, 0x89, 0x18, 0xad, 0xdf, 0x69, 0x0a, 0x0b, 0x5b, 0xc0, 0x0d,
+ 0x7b, 0x3f, 0x6d, 0xbf, 0x74, 0x73, 0xfc, 0x21, 0x68, 0x4a, 0xa8, 0xd7, 0x6f, 0x77, 0x46, 0xbd,
+ 0x63, 0x9e, 0x2c, 0xd6, 0xc1, 0x96, 0x98, 0x40, 0xda, 0xa3, 0x5e, 0xff, 0xa5, 0x5d, 0x46, 0x36,
+ 0xd4, 0x73, 0xa8, 0x2b, 0x59, 0x93, 0x08, 0x76, 0x8f, 0x5d, 0x2c, 0xd4, 0x56, 0x97, 0x0e, 0x25,
+ 0xc8, 0xa7, 0xf3, 0x43, 0xe3, 0xdf, 0xef, 0xde, 0x6e, 0xdd, 0x68, 0xfd, 0x08, 0x9a, 0x05, 0x76,
+ 0x18, 0x7a, 0xac, 0x73, 0x6d, 0xb9, 0x18, 0x59, 0x0b, 0x6a, 0x3a, 0xdd, 0xfe, 0xc1, 0x80, 0xd5,
+ 0xa3, 0x94, 0x66, 0xe8, 0x2e, 0x54, 0x66, 0x29, 0xcd, 0xbc, 0x24, 0x15, 0x71, 0xa2, 0x81, 0x4d,
+ 0xde, 0xed, 0xa7, 0x68, 0x1d, 0x8c, 0xc8, 0x3f, 0x21, 0x91, 0x0a, 0x16, 0xb2, 0x83, 0x1e, 0xaa,
+ 0x2c, 0xbc, 0x22, 0x0e, 0xec, 0x32, 0x7a, 0xa7, 0x34, 0x13, 0x9f, 0x5c, 0x0e, 0xfe, 0x31, 0xd4,
+ 0xfc, 0x20, 0x0e, 0x93, 0x42, 0xc4, 0xd8, 0xda, 0x55, 0xd5, 0x5c, 0x9b, 0x8b, 0x04, 0x93, 0xb9,
+ 0x26, 0x06, 0x7f, 0xd1, 0xe6, 0xf6, 0xe9, 0x8c, 0x50, 0x61, 0x3e, 0x67, 0x22, 0x42, 0xe4, 0xec,
+ 0x07, 0x33, 0x42, 0x87, 0x42, 0x92, 0x6b, 0x62, 0x48, 0x17, 0x6d, 0x7e, 0x2f, 0x64, 0xe1, 0xe9,
+ 0xa9, 0xc8, 0x6a, 0xe1, 0xaa, 0x04, 0x7a, 0x01, 0x27, 0x6b, 0x46, 0x08, 0x65, 0x4e, 0xf5, 0x5a,
+ 0x1a, 0x12, 0x0b, 0x21, 0x84, 0xf2, 0x06, 0x96, 0x3a, 0x3c, 0x4f, 0xd3, 0x4b, 0x6f, 0xe6, 0x4f,
+ 0x5e, 0x93, 0x8c, 0x89, 0x70, 0x60, 0x62, 0x8b, 0x5e, 0x1e, 0x49, 0x80, 0x47, 0x70, 0x7a, 0xa9,
+ 0xe2, 0x13, 0x08, 0x61, 0x85, 0x5e, 0xca, 0xb8, 0xb4, 0x09, 0x16, 0xbd, 0xf4, 0x08, 0xa5, 0x29,
+ 0x65, 0x22, 0x06, 0x98, 0xb8, 0x4a, 0x2f, 0x5d, 0xd1, 0xe7, 0x6e, 0xb3, 0xa5, 0xdb, 0xba, 0x74,
+ 0x9b, 0xe5, 0xdd, 0x66, 0xda, 0x6d, 0x43, 0xba, 0xcd, 0x96, 0x6e, 0xb3, 0x85, 0xdb, 0xa6, 0x74,
+ 0x9b, 0x29, 0xb7, 0x1b, 0x2f, 0xa0, 0xaa, 0x17, 0x50, 0xe4, 0xa0, 0x74, 0x8d, 0x83, 0xdc, 0xd6,
+ 0x97, 0xf3, 0x5b, 0xdf, 0x62, 0x50, 0xd5, 0x7b, 0xc9, 0x2b, 0x9c, 0xe5, 0x01, 0xb7, 0xa1, 0xee,
+ 0x8e, 0x5e, 0xb9, 0xb8, 0xef, 0x8e, 0xbc, 0x7e, 0xbf, 0x67, 0x97, 0x0a, 0xc8, 0xb8, 0xdf, 0x93,
+ 0x25, 0xd1, 0xd1, 0xa0, 0xef, 0x0d, 0x0e, 0x47, 0xf6, 0xca, 0xa2, 0xd3, 0x1f, 0xcb, 0x7b, 0x75,
+ 0xec, 0x72, 0x45, 0x2e, 0x33, 0x72, 0xdd, 0xfe, 0xd8, 0x36, 0xf5, 0xb9, 0x7e, 0x0c, 0x06, 0x1f,
+ 0x9b, 0xa1, 0x56, 0xb1, 0x74, 0xac, 0xe7, 0x77, 0x48, 0x9f, 0xe2, 0xbf, 0xd5, 0xc1, 0x94, 0xa5,
+ 0x24, 0xba, 0xbd, 0x4c, 0x75, 0xba, 0xf2, 0xe0, 0x19, 0xef, 0x5e, 0xae, 0x6a, 0x5c, 0x08, 0xe4,
+ 0xf9, 0xbc, 0x07, 0xab, 0x34, 0x4d, 0xb3, 0x62, 0x51, 0x23, 0x20, 0xd4, 0x02, 0x6b, 0xe6, 0x53,
+ 0x92, 0x64, 0x9c, 0xb6, 0xd5, 0xbc, 0x69, 0x55, 0xe2, 0xe2, 0x04, 0x35, 0x95, 0x8e, 0x26, 0x71,
+ 0x9d, 0x93, 0xb8, 0x28, 0x7b, 0xa4, 0xf0, 0x48, 0x5e, 0xa6, 0x2d, 0x30, 0xe5, 0x53, 0x40, 0x3e,
+ 0x1b, 0xb4, 0x92, 0x02, 0xd1, 0x26, 0x18, 0x71, 0x1a, 0x90, 0x48, 0xa6, 0x41, 0x2d, 0x95, 0x18,
+ 0x7a, 0x0a, 0xf6, 0x99, 0x4f, 0x83, 0x0b, 0x9f, 0x2e, 0xd3, 0x65, 0x25, 0xaf, 0xb7, 0xa6, 0xc5,
+ 0x3a, 0x71, 0x3e, 0x05, 0x7b, 0x1a, 0xd2, 0xb8, 0x60, 0x51, 0x2d, 0x58, 0x68, 0xb1, 0xb6, 0x78,
+ 0x02, 0xa6, 0xc8, 0x28, 0xf2, 0x74, 0xd7, 0x9e, 0x35, 0x0b, 0xc1, 0x83, 0x2d, 0xe6, 0x2b, 0x95,
+ 0x78, 0xc5, 0xc7, 0x08, 0x0d, 0xfd, 0xc8, 0x4b, 0xe6, 0xf1, 0x09, 0xa1, 0xe2, 0xd8, 0x2f, 0xbc,
+ 0xd7, 0xa5, 0xac, 0x2f, 0x44, 0x9c, 0xcb, 0xe5, 0xa3, 0xc9, 0x29, 0x70, 0xb9, 0x78, 0x3b, 0x6d,
+ 0x2f, 0x1f, 0x47, 0xb5, 0xbc, 0xc6, 0xe2, 0x8d, 0x84, 0x60, 0xf5, 0x3c, 0xf2, 0x13, 0x71, 0x49,
+ 0x1a, 0x58, 0xb4, 0x79, 0x02, 0x8e, 0xfd, 0x09, 0x7f, 0xfa, 0x50, 0xc2, 0xe4, 0x15, 0xb1, 0x30,
+ 0xc4, 0xfe, 0xa4, 0x2d, 0x11, 0xf4, 0x00, 0xea, 0xe1, 0xec, 0xfc, 0x07, 0x0b, 0x0d, 0x7e, 0x51,
+ 0xac, 0x57, 0x37, 0x70, 0x8d, 0xa3, 0x45, 0xa5, 0x4f, 0x17, 0x4a, 0x6b, 0x39, 0xa5, 0x4f, 0xb5,
+ 0xd2, 0x27, 0xd0, 0x38, 0x4b, 0x59, 0xe6, 0xf9, 0x49, 0x20, 0x76, 0xdb, 0xb9, 0xad, 0xb5, 0x38,
+ 0xdc, 0x4e, 0x02, 0x71, 0xd9, 0xb6, 0x00, 0xc8, 0x65, 0x46, 0x7d, 0xcf, 0xa7, 0xa7, 0xcc, 0xb9,
+ 0x2b, 0xab, 0x7d, 0x81, 0xb4, 0xe9, 0x29, 0x43, 0x2f, 0xa0, 0x31, 0xa3, 0xe9, 0xe5, 0xd5, 0x62,
+ 0xa8, 0x5b, 0x82, 0xea, 0xcd, 0xe2, 0x9b, 0x68, 0xf7, 0x88, 0xeb, 0xa8, 0x81, 0x71, 0x7d, 0x96,
+ 0xeb, 0x5d, 0x8f, 0xa8, 0xf6, 0xff, 0x1a, 0x51, 0xdd, 0x62, 0x44, 0xbd, 0xf9, 0x2d, 0x22, 0xaa,
+ 0xde, 0x89, 0x7c, 0x60, 0xdd, 0x5a, 0x14, 0x5b, 0x77, 0x0a, 0x87, 0x59, 0x55, 0x50, 0x5f, 0x40,
+ 0x73, 0x92, 0x26, 0x09, 0x7f, 0x49, 0xaa, 0x81, 0x90, 0x18, 0xe8, 0x81, 0x1e, 0xa8, 0x23, 0xa5,
+ 0x6a, 0xac, 0x42, 0x4f, 0xfb, 0x6a, 0x4c, 0xf2, 0x28, 0xfa, 0x1e, 0x98, 0x93, 0x39, 0xcb, 0xd2,
+ 0xd8, 0x79, 0x21, 0x38, 0x5b, 0xdf, 0x95, 0x3f, 0x0f, 0x76, 0xf5, 0xcf, 0x83, 0xdd, 0x76, 0x72,
+ 0x85, 0x95, 0x0e, 0x7a, 0x0e, 0x06, 0xdf, 0x24, 0xe6, 0xfc, 0xf2, 0x03, 0xa1, 0x63, 0xbf, 0xf9,
+ 0xf7, 0x77, 0x6f, 0xb7, 0xac, 0x45, 0xe8, 0xc3, 0x52, 0x17, 0x3d, 0x05, 0x43, 0xbc, 0x77, 0x9d,
+ 0x5f, 0x95, 0xc4, 0x10, 0x68, 0x37, 0xff, 0x03, 0x41, 0x3c, 0x71, 0xf7, 0x0d, 0x6e, 0x7a, 0x03,
+ 0x4b, 0x45, 0xf4, 0x02, 0x6a, 0x42, 0xac, 0xde, 0x33, 0xbf, 0x96, 0x76, 0x77, 0xdf, 0xb3, 0x13,
+ 0xef, 0x9a, 0x85, 0x31, 0x4c, 0x17, 0x10, 0xfa, 0x1c, 0x60, 0x16, 0xab, 0x02, 0x92, 0x39, 0x5f,
+ 0x4b, 0x07, 0x37, 0xaf, 0xbf, 0x70, 0x16, 0xa6, 0xd6, 0x6c, 0xf1, 0x8c, 0x3b, 0x84, 0x35, 0x59,
+ 0x3e, 0xea, 0x42, 0x98, 0x39, 0xbf, 0x29, 0x7d, 0x24, 0xed, 0xef, 0xd7, 0xb8, 0x0b, 0x53, 0x96,
+ 0xff, 0xb8, 0x19, 0x16, 0x2a, 0x87, 0x8d, 0xaf, 0xcb, 0x50, 0xcf, 0x1f, 0xbb, 0x8f, 0xa7, 0x8d,
+ 0x6d, 0xa8, 0x29, 0xe1, 0x32, 0xb2, 0x62, 0x08, 0x96, 0xbf, 0x4d, 0xb6, 0x00, 0x26, 0x67, 0x7e,
+ 0x92, 0x90, 0x88, 0x9b, 0xaf, 0xc8, 0x67, 0xad, 0x42, 0x7a, 0x01, 0xda, 0x01, 0x5b, 0x8b, 0xe5,
+ 0xeb, 0x57, 0xc5, 0xd8, 0x06, 0x6e, 0x2a, 0x5c, 0xd0, 0xd3, 0x0b, 0xd0, 0x1e, 0xdc, 0xd2, 0x9a,
+ 0x19, 0xa1, 0x71, 0x98, 0xf8, 0xbc, 0xfe, 0x56, 0x7f, 0x5e, 0x90, 0x12, 0x8d, 0x96, 0x12, 0x74,
+ 0x1b, 0xcc, 0x34, 0x99, 0x73, 0x87, 0xa6, 0x70, 0x68, 0xa4, 0xc9, 0xbc, 0x17, 0xa0, 0x4f, 0xa0,
+ 0xc9, 0x61, 0x46, 0x18, 0x0f, 0x76, 0xba, 0x1c, 0x68, 0xe0, 0x7a, 0x9a, 0xcc, 0x87, 0x12, 0xec,
+ 0x05, 0x2a, 0x01, 0xed, 0x5b, 0x3c, 0x16, 0x09, 0x1a, 0x5a, 0x7b, 0x50, 0x91, 0x97, 0x92, 0x47,
+ 0x80, 0x42, 0x36, 0x6a, 0x16, 0x2f, 0xad, 0xce, 0x47, 0x7f, 0x5c, 0x81, 0xf5, 0x61, 0x18, 0xcf,
+ 0x23, 0x3f, 0x23, 0xed, 0xc8, 0xa7, 0x31, 0x26, 0x6f, 0xe6, 0x84, 0x65, 0xef, 0x3d, 0xc4, 0xfe,
+ 0x0f, 0xac, 0x30, 0x09, 0xc2, 0x89, 0x9f, 0xa5, 0xfa, 0x7f, 0xd0, 0x12, 0xe0, 0x89, 0x39, 0x4c,
+ 0xb2, 0xa9, 0x66, 0xcf, 0xc2, 0x26, 0xef, 0xca, 0x85, 0x88, 0x63, 0xcb, 0x89, 0x97, 0xff, 0x14,
+ 0xe4, 0xa3, 0xb4, 0x3e, 0x53, 0xe9, 0x5a, 0xfc, 0x56, 0x68, 0x41, 0x83, 0x2f, 0x77, 0xb9, 0x83,
+ 0x92, 0xb0, 0x5a, 0x9a, 0xcc, 0xbb, 0x7a, 0x13, 0x9f, 0xc3, 0x9d, 0x30, 0xe1, 0xb9, 0x81, 0x78,
+ 0x27, 0x61, 0x26, 0x4b, 0x09, 0x8f, 0xf2, 0xa8, 0xc2, 0x99, 0x33, 0xf0, 0x2d, 0x25, 0xdd, 0x0f,
+ 0x33, 0x51, 0x56, 0x60, 0xf9, 0x6a, 0x30, 0x02, 0x1a, 0x4e, 0x33, 0x41, 0x9f, 0x81, 0x65, 0x87,
+ 0xcf, 0x36, 0x21, 0x17, 0x1e, 0x79, 0x13, 0x88, 0x24, 0x63, 0x60, 0x33, 0x21, 0x17, 0xee, 0x9b,
+ 0x00, 0x3d, 0x82, 0x9b, 0x92, 0xf6, 0x7c, 0xa6, 0x90, 0x8f, 0xa9, 0x35, 0xc1, 0x7c, 0x2e, 0x4b,
+ 0xbc, 0x02, 0x8b, 0x47, 0x18, 0xb9, 0xc1, 0x20, 0xe2, 0xc5, 0x23, 0xcd, 0xf1, 0x87, 0x18, 0x15,
+ 0x21, 0x4a, 0x68, 0x8b, 0x8a, 0x73, 0x69, 0xdc, 0xfa, 0x0e, 0x34, 0x0a, 0x32, 0x64, 0x81, 0x81,
+ 0xdb, 0xbd, 0xa1, 0x2b, 0x7f, 0xe2, 0x74, 0x0e, 0xdd, 0x36, 0xb6, 0x4b, 0xfb, 0x4f, 0x7e, 0xf1,
+ 0xf8, 0x34, 0xcc, 0xce, 0xe6, 0x27, 0x3c, 0x2a, 0x89, 0x9f, 0x85, 0x93, 0x94, 0x06, 0x7b, 0x72,
+ 0xc8, 0x27, 0xea, 0x17, 0xe1, 0x69, 0xaa, 0x80, 0x13, 0x53, 0x20, 0xcf, 0xff, 0x13, 0x00, 0x00,
+ 0xff, 0xff, 0x55, 0xf2, 0x46, 0x65, 0xda, 0x14, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/voltha/events.pb.go b/vendor/github.com/opencord/voltha-protos/go/voltha/events.pb.go
new file mode 100644
index 0000000..0a43011
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/voltha/events.pb.go
@@ -0,0 +1,1539 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/events.proto
+
+package voltha
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ _ "github.com/opencord/voltha-protos/go/common"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type ConfigEventType_ConfigEventType int32
+
+const (
+ ConfigEventType_add ConfigEventType_ConfigEventType = 0
+ ConfigEventType_remove ConfigEventType_ConfigEventType = 1
+ ConfigEventType_update ConfigEventType_ConfigEventType = 2
+)
+
+var ConfigEventType_ConfigEventType_name = map[int32]string{
+ 0: "add",
+ 1: "remove",
+ 2: "update",
+}
+
+var ConfigEventType_ConfigEventType_value = map[string]int32{
+ "add": 0,
+ "remove": 1,
+ "update": 2,
+}
+
+func (x ConfigEventType_ConfigEventType) String() string {
+ return proto.EnumName(ConfigEventType_ConfigEventType_name, int32(x))
+}
+
+func (ConfigEventType_ConfigEventType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{0, 0}
+}
+
+type KpiEventType_KpiEventType int32
+
+const (
+ KpiEventType_slice KpiEventType_KpiEventType = 0
+ KpiEventType_ts KpiEventType_KpiEventType = 1
+)
+
+var KpiEventType_KpiEventType_name = map[int32]string{
+ 0: "slice",
+ 1: "ts",
+}
+
+var KpiEventType_KpiEventType_value = map[string]int32{
+ "slice": 0,
+ "ts": 1,
+}
+
+func (x KpiEventType_KpiEventType) String() string {
+ return proto.EnumName(KpiEventType_KpiEventType_name, int32(x))
+}
+
+func (KpiEventType_KpiEventType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{2, 0}
+}
+
+type AlarmEventType_AlarmEventType int32
+
+const (
+ AlarmEventType_COMMUNICATION AlarmEventType_AlarmEventType = 0
+ AlarmEventType_ENVIRONMENT AlarmEventType_AlarmEventType = 1
+ AlarmEventType_EQUIPMENT AlarmEventType_AlarmEventType = 2
+ AlarmEventType_SERVICE AlarmEventType_AlarmEventType = 3
+ AlarmEventType_PROCESSING AlarmEventType_AlarmEventType = 4
+ AlarmEventType_SECURITY AlarmEventType_AlarmEventType = 5
+)
+
+var AlarmEventType_AlarmEventType_name = map[int32]string{
+ 0: "COMMUNICATION",
+ 1: "ENVIRONMENT",
+ 2: "EQUIPMENT",
+ 3: "SERVICE",
+ 4: "PROCESSING",
+ 5: "SECURITY",
+}
+
+var AlarmEventType_AlarmEventType_value = map[string]int32{
+ "COMMUNICATION": 0,
+ "ENVIRONMENT": 1,
+ "EQUIPMENT": 2,
+ "SERVICE": 3,
+ "PROCESSING": 4,
+ "SECURITY": 5,
+}
+
+func (x AlarmEventType_AlarmEventType) String() string {
+ return proto.EnumName(AlarmEventType_AlarmEventType_name, int32(x))
+}
+
+func (AlarmEventType_AlarmEventType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{8, 0}
+}
+
+type AlarmEventCategory_AlarmEventCategory int32
+
+const (
+ AlarmEventCategory_PON AlarmEventCategory_AlarmEventCategory = 0
+ AlarmEventCategory_OLT AlarmEventCategory_AlarmEventCategory = 1
+ AlarmEventCategory_ONT AlarmEventCategory_AlarmEventCategory = 2
+ AlarmEventCategory_ONU AlarmEventCategory_AlarmEventCategory = 3
+ AlarmEventCategory_NNI AlarmEventCategory_AlarmEventCategory = 4
+)
+
+var AlarmEventCategory_AlarmEventCategory_name = map[int32]string{
+ 0: "PON",
+ 1: "OLT",
+ 2: "ONT",
+ 3: "ONU",
+ 4: "NNI",
+}
+
+var AlarmEventCategory_AlarmEventCategory_value = map[string]int32{
+ "PON": 0,
+ "OLT": 1,
+ "ONT": 2,
+ "ONU": 3,
+ "NNI": 4,
+}
+
+func (x AlarmEventCategory_AlarmEventCategory) String() string {
+ return proto.EnumName(AlarmEventCategory_AlarmEventCategory_name, int32(x))
+}
+
+func (AlarmEventCategory_AlarmEventCategory) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{9, 0}
+}
+
+type AlarmEventState_AlarmEventState int32
+
+const (
+ AlarmEventState_RAISED AlarmEventState_AlarmEventState = 0
+ AlarmEventState_CLEARED AlarmEventState_AlarmEventState = 1
+)
+
+var AlarmEventState_AlarmEventState_name = map[int32]string{
+ 0: "RAISED",
+ 1: "CLEARED",
+}
+
+var AlarmEventState_AlarmEventState_value = map[string]int32{
+ "RAISED": 0,
+ "CLEARED": 1,
+}
+
+func (x AlarmEventState_AlarmEventState) String() string {
+ return proto.EnumName(AlarmEventState_AlarmEventState_name, int32(x))
+}
+
+func (AlarmEventState_AlarmEventState) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{10, 0}
+}
+
+type AlarmEventSeverity_AlarmEventSeverity int32
+
+const (
+ AlarmEventSeverity_INDETERMINATE AlarmEventSeverity_AlarmEventSeverity = 0
+ AlarmEventSeverity_WARNING AlarmEventSeverity_AlarmEventSeverity = 1
+ AlarmEventSeverity_MINOR AlarmEventSeverity_AlarmEventSeverity = 2
+ AlarmEventSeverity_MAJOR AlarmEventSeverity_AlarmEventSeverity = 3
+ AlarmEventSeverity_CRITICAL AlarmEventSeverity_AlarmEventSeverity = 4
+)
+
+var AlarmEventSeverity_AlarmEventSeverity_name = map[int32]string{
+ 0: "INDETERMINATE",
+ 1: "WARNING",
+ 2: "MINOR",
+ 3: "MAJOR",
+ 4: "CRITICAL",
+}
+
+var AlarmEventSeverity_AlarmEventSeverity_value = map[string]int32{
+ "INDETERMINATE": 0,
+ "WARNING": 1,
+ "MINOR": 2,
+ "MAJOR": 3,
+ "CRITICAL": 4,
+}
+
+func (x AlarmEventSeverity_AlarmEventSeverity) String() string {
+ return proto.EnumName(AlarmEventSeverity_AlarmEventSeverity_name, int32(x))
+}
+
+func (AlarmEventSeverity_AlarmEventSeverity) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{11, 0}
+}
+
+type EventCategory_EventCategory int32
+
+const (
+ EventCategory_COMMUNICATION EventCategory_EventCategory = 0
+ EventCategory_ENVIRONMENT EventCategory_EventCategory = 1
+ EventCategory_EQUIPMENT EventCategory_EventCategory = 2
+ EventCategory_SERVICE EventCategory_EventCategory = 3
+ EventCategory_PROCESSING EventCategory_EventCategory = 4
+ EventCategory_SECURITY EventCategory_EventCategory = 5
+)
+
+var EventCategory_EventCategory_name = map[int32]string{
+ 0: "COMMUNICATION",
+ 1: "ENVIRONMENT",
+ 2: "EQUIPMENT",
+ 3: "SERVICE",
+ 4: "PROCESSING",
+ 5: "SECURITY",
+}
+
+var EventCategory_EventCategory_value = map[string]int32{
+ "COMMUNICATION": 0,
+ "ENVIRONMENT": 1,
+ "EQUIPMENT": 2,
+ "SERVICE": 3,
+ "PROCESSING": 4,
+ "SECURITY": 5,
+}
+
+func (x EventCategory_EventCategory) String() string {
+ return proto.EnumName(EventCategory_EventCategory_name, int32(x))
+}
+
+func (EventCategory_EventCategory) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{14, 0}
+}
+
+type EventSubCategory_EventSubCategory int32
+
+const (
+ EventSubCategory_PON EventSubCategory_EventSubCategory = 0
+ EventSubCategory_OLT EventSubCategory_EventSubCategory = 1
+ EventSubCategory_ONT EventSubCategory_EventSubCategory = 2
+ EventSubCategory_ONU EventSubCategory_EventSubCategory = 3
+ EventSubCategory_NNI EventSubCategory_EventSubCategory = 4
+)
+
+var EventSubCategory_EventSubCategory_name = map[int32]string{
+ 0: "PON",
+ 1: "OLT",
+ 2: "ONT",
+ 3: "ONU",
+ 4: "NNI",
+}
+
+var EventSubCategory_EventSubCategory_value = map[string]int32{
+ "PON": 0,
+ "OLT": 1,
+ "ONT": 2,
+ "ONU": 3,
+ "NNI": 4,
+}
+
+func (x EventSubCategory_EventSubCategory) String() string {
+ return proto.EnumName(EventSubCategory_EventSubCategory_name, int32(x))
+}
+
+func (EventSubCategory_EventSubCategory) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{15, 0}
+}
+
+type EventType_EventType int32
+
+const (
+ EventType_CONFIG_EVENT EventType_EventType = 0
+ EventType_KPI_EVENT EventType_EventType = 1
+ EventType_KPI_EVENT2 EventType_EventType = 2
+ EventType_DEVICE_EVENT EventType_EventType = 3
+)
+
+var EventType_EventType_name = map[int32]string{
+ 0: "CONFIG_EVENT",
+ 1: "KPI_EVENT",
+ 2: "KPI_EVENT2",
+ 3: "DEVICE_EVENT",
+}
+
+var EventType_EventType_value = map[string]int32{
+ "CONFIG_EVENT": 0,
+ "KPI_EVENT": 1,
+ "KPI_EVENT2": 2,
+ "DEVICE_EVENT": 3,
+}
+
+func (x EventType_EventType) String() string {
+ return proto.EnumName(EventType_EventType_name, int32(x))
+}
+
+func (EventType_EventType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{16, 0}
+}
+
+type ConfigEventType struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ConfigEventType) Reset() { *m = ConfigEventType{} }
+func (m *ConfigEventType) String() string { return proto.CompactTextString(m) }
+func (*ConfigEventType) ProtoMessage() {}
+func (*ConfigEventType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{0}
+}
+
+func (m *ConfigEventType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ConfigEventType.Unmarshal(m, b)
+}
+func (m *ConfigEventType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ConfigEventType.Marshal(b, m, deterministic)
+}
+func (m *ConfigEventType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ConfigEventType.Merge(m, src)
+}
+func (m *ConfigEventType) XXX_Size() int {
+ return xxx_messageInfo_ConfigEventType.Size(m)
+}
+func (m *ConfigEventType) XXX_DiscardUnknown() {
+ xxx_messageInfo_ConfigEventType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ConfigEventType proto.InternalMessageInfo
+
+type ConfigEvent struct {
+ Type ConfigEventType_ConfigEventType `protobuf:"varint,1,opt,name=type,proto3,enum=voltha.ConfigEventType_ConfigEventType" json:"type,omitempty"`
+ Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
+ Data string `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ConfigEvent) Reset() { *m = ConfigEvent{} }
+func (m *ConfigEvent) String() string { return proto.CompactTextString(m) }
+func (*ConfigEvent) ProtoMessage() {}
+func (*ConfigEvent) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{1}
+}
+
+func (m *ConfigEvent) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ConfigEvent.Unmarshal(m, b)
+}
+func (m *ConfigEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ConfigEvent.Marshal(b, m, deterministic)
+}
+func (m *ConfigEvent) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ConfigEvent.Merge(m, src)
+}
+func (m *ConfigEvent) XXX_Size() int {
+ return xxx_messageInfo_ConfigEvent.Size(m)
+}
+func (m *ConfigEvent) XXX_DiscardUnknown() {
+ xxx_messageInfo_ConfigEvent.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ConfigEvent proto.InternalMessageInfo
+
+func (m *ConfigEvent) GetType() ConfigEventType_ConfigEventType {
+ if m != nil {
+ return m.Type
+ }
+ return ConfigEventType_add
+}
+
+func (m *ConfigEvent) GetHash() string {
+ if m != nil {
+ return m.Hash
+ }
+ return ""
+}
+
+func (m *ConfigEvent) GetData() string {
+ if m != nil {
+ return m.Data
+ }
+ return ""
+}
+
+type KpiEventType struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *KpiEventType) Reset() { *m = KpiEventType{} }
+func (m *KpiEventType) String() string { return proto.CompactTextString(m) }
+func (*KpiEventType) ProtoMessage() {}
+func (*KpiEventType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{2}
+}
+
+func (m *KpiEventType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_KpiEventType.Unmarshal(m, b)
+}
+func (m *KpiEventType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_KpiEventType.Marshal(b, m, deterministic)
+}
+func (m *KpiEventType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_KpiEventType.Merge(m, src)
+}
+func (m *KpiEventType) XXX_Size() int {
+ return xxx_messageInfo_KpiEventType.Size(m)
+}
+func (m *KpiEventType) XXX_DiscardUnknown() {
+ xxx_messageInfo_KpiEventType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KpiEventType proto.InternalMessageInfo
+
+//
+// Struct to convey a dictionary of metric metadata.
+type MetricMetaData struct {
+ Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
+ Ts float64 `protobuf:"fixed64,2,opt,name=ts,proto3" json:"ts,omitempty"`
+ LogicalDeviceId string `protobuf:"bytes,3,opt,name=logical_device_id,json=logicalDeviceId,proto3" json:"logical_device_id,omitempty"`
+ // (equivalent to the DPID that ONOS has
+ // for the VOLTHA device without the
+ // 'of:' prefix
+ SerialNo string `protobuf:"bytes,4,opt,name=serial_no,json=serialNo,proto3" json:"serial_no,omitempty"`
+ DeviceId string `protobuf:"bytes,5,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ Context map[string]string `protobuf:"bytes,6,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MetricMetaData) Reset() { *m = MetricMetaData{} }
+func (m *MetricMetaData) String() string { return proto.CompactTextString(m) }
+func (*MetricMetaData) ProtoMessage() {}
+func (*MetricMetaData) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{3}
+}
+
+func (m *MetricMetaData) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MetricMetaData.Unmarshal(m, b)
+}
+func (m *MetricMetaData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MetricMetaData.Marshal(b, m, deterministic)
+}
+func (m *MetricMetaData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MetricMetaData.Merge(m, src)
+}
+func (m *MetricMetaData) XXX_Size() int {
+ return xxx_messageInfo_MetricMetaData.Size(m)
+}
+func (m *MetricMetaData) XXX_DiscardUnknown() {
+ xxx_messageInfo_MetricMetaData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MetricMetaData proto.InternalMessageInfo
+
+func (m *MetricMetaData) GetTitle() string {
+ if m != nil {
+ return m.Title
+ }
+ return ""
+}
+
+func (m *MetricMetaData) GetTs() float64 {
+ if m != nil {
+ return m.Ts
+ }
+ return 0
+}
+
+func (m *MetricMetaData) GetLogicalDeviceId() string {
+ if m != nil {
+ return m.LogicalDeviceId
+ }
+ return ""
+}
+
+func (m *MetricMetaData) GetSerialNo() string {
+ if m != nil {
+ return m.SerialNo
+ }
+ return ""
+}
+
+func (m *MetricMetaData) GetDeviceId() string {
+ if m != nil {
+ return m.DeviceId
+ }
+ return ""
+}
+
+func (m *MetricMetaData) GetContext() map[string]string {
+ if m != nil {
+ return m.Context
+ }
+ return nil
+}
+
+//
+// Struct to convey a dictionary of metric->value pairs. Typically used in
+// pure shared-timestamp or shared-timestamp + shared object prefix situations.
+type MetricValuePairs struct {
+ // Metric / value pairs.
+ Metrics map[string]float32 `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MetricValuePairs) Reset() { *m = MetricValuePairs{} }
+func (m *MetricValuePairs) String() string { return proto.CompactTextString(m) }
+func (*MetricValuePairs) ProtoMessage() {}
+func (*MetricValuePairs) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{4}
+}
+
+func (m *MetricValuePairs) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MetricValuePairs.Unmarshal(m, b)
+}
+func (m *MetricValuePairs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MetricValuePairs.Marshal(b, m, deterministic)
+}
+func (m *MetricValuePairs) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MetricValuePairs.Merge(m, src)
+}
+func (m *MetricValuePairs) XXX_Size() int {
+ return xxx_messageInfo_MetricValuePairs.Size(m)
+}
+func (m *MetricValuePairs) XXX_DiscardUnknown() {
+ xxx_messageInfo_MetricValuePairs.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MetricValuePairs proto.InternalMessageInfo
+
+func (m *MetricValuePairs) GetMetrics() map[string]float32 {
+ if m != nil {
+ return m.Metrics
+ }
+ return nil
+}
+
+//
+// Struct to group metadata for a metric (or group of metrics) with the key-value
+// pairs of collected metrics
+type MetricInformation struct {
+ Metadata *MetricMetaData `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
+ Metrics map[string]float32 `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MetricInformation) Reset() { *m = MetricInformation{} }
+func (m *MetricInformation) String() string { return proto.CompactTextString(m) }
+func (*MetricInformation) ProtoMessage() {}
+func (*MetricInformation) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{5}
+}
+
+func (m *MetricInformation) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MetricInformation.Unmarshal(m, b)
+}
+func (m *MetricInformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MetricInformation.Marshal(b, m, deterministic)
+}
+func (m *MetricInformation) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MetricInformation.Merge(m, src)
+}
+func (m *MetricInformation) XXX_Size() int {
+ return xxx_messageInfo_MetricInformation.Size(m)
+}
+func (m *MetricInformation) XXX_DiscardUnknown() {
+ xxx_messageInfo_MetricInformation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MetricInformation proto.InternalMessageInfo
+
+func (m *MetricInformation) GetMetadata() *MetricMetaData {
+ if m != nil {
+ return m.Metadata
+ }
+ return nil
+}
+
+func (m *MetricInformation) GetMetrics() map[string]float32 {
+ if m != nil {
+ return m.Metrics
+ }
+ return nil
+}
+
+//
+// Legacy KPI Event structured. In mid-August, the KPI event format was updated
+// to a more easily parsable format. See VOL-1140
+// for more information.
+type KpiEvent struct {
+ Type KpiEventType_KpiEventType `protobuf:"varint,1,opt,name=type,proto3,enum=voltha.KpiEventType_KpiEventType" json:"type,omitempty"`
+ Ts float32 `protobuf:"fixed32,2,opt,name=ts,proto3" json:"ts,omitempty"`
+ Prefixes map[string]*MetricValuePairs `protobuf:"bytes,3,rep,name=prefixes,proto3" json:"prefixes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *KpiEvent) Reset() { *m = KpiEvent{} }
+func (m *KpiEvent) String() string { return proto.CompactTextString(m) }
+func (*KpiEvent) ProtoMessage() {}
+func (*KpiEvent) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{6}
+}
+
+func (m *KpiEvent) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_KpiEvent.Unmarshal(m, b)
+}
+func (m *KpiEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_KpiEvent.Marshal(b, m, deterministic)
+}
+func (m *KpiEvent) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_KpiEvent.Merge(m, src)
+}
+func (m *KpiEvent) XXX_Size() int {
+ return xxx_messageInfo_KpiEvent.Size(m)
+}
+func (m *KpiEvent) XXX_DiscardUnknown() {
+ xxx_messageInfo_KpiEvent.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KpiEvent proto.InternalMessageInfo
+
+func (m *KpiEvent) GetType() KpiEventType_KpiEventType {
+ if m != nil {
+ return m.Type
+ }
+ return KpiEventType_slice
+}
+
+func (m *KpiEvent) GetTs() float32 {
+ if m != nil {
+ return m.Ts
+ }
+ return 0
+}
+
+func (m *KpiEvent) GetPrefixes() map[string]*MetricValuePairs {
+ if m != nil {
+ return m.Prefixes
+ }
+ return nil
+}
+
+type KpiEvent2 struct {
+ // Type of KPI Event
+ Type KpiEventType_KpiEventType `protobuf:"varint,1,opt,name=type,proto3,enum=voltha.KpiEventType_KpiEventType" json:"type,omitempty"`
+ // Fields used when for slice:
+ Ts float64 `protobuf:"fixed64,2,opt,name=ts,proto3" json:"ts,omitempty"`
+ SliceData []*MetricInformation `protobuf:"bytes,3,rep,name=slice_data,json=sliceData,proto3" json:"slice_data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *KpiEvent2) Reset() { *m = KpiEvent2{} }
+func (m *KpiEvent2) String() string { return proto.CompactTextString(m) }
+func (*KpiEvent2) ProtoMessage() {}
+func (*KpiEvent2) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{7}
+}
+
+func (m *KpiEvent2) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_KpiEvent2.Unmarshal(m, b)
+}
+func (m *KpiEvent2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_KpiEvent2.Marshal(b, m, deterministic)
+}
+func (m *KpiEvent2) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_KpiEvent2.Merge(m, src)
+}
+func (m *KpiEvent2) XXX_Size() int {
+ return xxx_messageInfo_KpiEvent2.Size(m)
+}
+func (m *KpiEvent2) XXX_DiscardUnknown() {
+ xxx_messageInfo_KpiEvent2.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KpiEvent2 proto.InternalMessageInfo
+
+func (m *KpiEvent2) GetType() KpiEventType_KpiEventType {
+ if m != nil {
+ return m.Type
+ }
+ return KpiEventType_slice
+}
+
+func (m *KpiEvent2) GetTs() float64 {
+ if m != nil {
+ return m.Ts
+ }
+ return 0
+}
+
+func (m *KpiEvent2) GetSliceData() []*MetricInformation {
+ if m != nil {
+ return m.SliceData
+ }
+ return nil
+}
+
+//
+// Identify to the area of the system impacted by the alarm
+// To be deprecated once python version of OpenOLT adapter
+// moves to the new event defination for device alarms
+type AlarmEventType struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmEventType) Reset() { *m = AlarmEventType{} }
+func (m *AlarmEventType) String() string { return proto.CompactTextString(m) }
+func (*AlarmEventType) ProtoMessage() {}
+func (*AlarmEventType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{8}
+}
+
+func (m *AlarmEventType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmEventType.Unmarshal(m, b)
+}
+func (m *AlarmEventType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmEventType.Marshal(b, m, deterministic)
+}
+func (m *AlarmEventType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmEventType.Merge(m, src)
+}
+func (m *AlarmEventType) XXX_Size() int {
+ return xxx_messageInfo_AlarmEventType.Size(m)
+}
+func (m *AlarmEventType) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmEventType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmEventType proto.InternalMessageInfo
+
+//
+// Identify to the functional category originating the alarm
+// To be deprecated once python version of OpenOLT adapter
+// as well as OpenONU adapter moves to the new event
+// defination for device alarms
+type AlarmEventCategory struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmEventCategory) Reset() { *m = AlarmEventCategory{} }
+func (m *AlarmEventCategory) String() string { return proto.CompactTextString(m) }
+func (*AlarmEventCategory) ProtoMessage() {}
+func (*AlarmEventCategory) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{9}
+}
+
+func (m *AlarmEventCategory) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmEventCategory.Unmarshal(m, b)
+}
+func (m *AlarmEventCategory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmEventCategory.Marshal(b, m, deterministic)
+}
+func (m *AlarmEventCategory) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmEventCategory.Merge(m, src)
+}
+func (m *AlarmEventCategory) XXX_Size() int {
+ return xxx_messageInfo_AlarmEventCategory.Size(m)
+}
+func (m *AlarmEventCategory) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmEventCategory.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmEventCategory proto.InternalMessageInfo
+
+//
+// Active state of the alarm
+// To be deprecated once python version of OpenOLT adapter
+// as well as OpenONU adapter moves to the new event
+// defination for device alarms
+type AlarmEventState struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmEventState) Reset() { *m = AlarmEventState{} }
+func (m *AlarmEventState) String() string { return proto.CompactTextString(m) }
+func (*AlarmEventState) ProtoMessage() {}
+func (*AlarmEventState) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{10}
+}
+
+func (m *AlarmEventState) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmEventState.Unmarshal(m, b)
+}
+func (m *AlarmEventState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmEventState.Marshal(b, m, deterministic)
+}
+func (m *AlarmEventState) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmEventState.Merge(m, src)
+}
+func (m *AlarmEventState) XXX_Size() int {
+ return xxx_messageInfo_AlarmEventState.Size(m)
+}
+func (m *AlarmEventState) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmEventState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmEventState proto.InternalMessageInfo
+
+//
+// Identify the overall impact of the alarm on the system
+// To be deprecated once python version of OpenOLT adapter
+// as well as OpenONU adapter moves to the new event
+// defination for device alarms
+type AlarmEventSeverity struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmEventSeverity) Reset() { *m = AlarmEventSeverity{} }
+func (m *AlarmEventSeverity) String() string { return proto.CompactTextString(m) }
+func (*AlarmEventSeverity) ProtoMessage() {}
+func (*AlarmEventSeverity) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{11}
+}
+
+func (m *AlarmEventSeverity) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmEventSeverity.Unmarshal(m, b)
+}
+func (m *AlarmEventSeverity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmEventSeverity.Marshal(b, m, deterministic)
+}
+func (m *AlarmEventSeverity) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmEventSeverity.Merge(m, src)
+}
+func (m *AlarmEventSeverity) XXX_Size() int {
+ return xxx_messageInfo_AlarmEventSeverity.Size(m)
+}
+func (m *AlarmEventSeverity) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmEventSeverity.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmEventSeverity proto.InternalMessageInfo
+
+//
+// To be deprecated once python version of OpenOLT adapter
+// as well as OpenONU adapter moves to the new event
+// defination for device alarms
+type AlarmEvent struct {
+ // Unique ID for this alarm. e.g. voltha.some_olt.1234
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // Refers to the area of the system impacted by the alarm
+ Type AlarmEventType_AlarmEventType `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.AlarmEventType_AlarmEventType" json:"type,omitempty"`
+ // Refers to functional category of the alarm
+ Category AlarmEventCategory_AlarmEventCategory `protobuf:"varint,3,opt,name=category,proto3,enum=voltha.AlarmEventCategory_AlarmEventCategory" json:"category,omitempty"`
+ // Current active state of the alarm
+ State AlarmEventState_AlarmEventState `protobuf:"varint,4,opt,name=state,proto3,enum=voltha.AlarmEventState_AlarmEventState" json:"state,omitempty"`
+ // Overall impact of the alarm on the system
+ Severity AlarmEventSeverity_AlarmEventSeverity `protobuf:"varint,5,opt,name=severity,proto3,enum=voltha.AlarmEventSeverity_AlarmEventSeverity" json:"severity,omitempty"`
+ // Timestamp at which the alarm was first raised
+ RaisedTs float32 `protobuf:"fixed32,6,opt,name=raised_ts,json=raisedTs,proto3" json:"raised_ts,omitempty"`
+ // Timestamp at which the alarm was reported
+ ReportedTs float32 `protobuf:"fixed32,7,opt,name=reported_ts,json=reportedTs,proto3" json:"reported_ts,omitempty"`
+ // Timestamp at which the alarm has changed since it was raised
+ ChangedTs float32 `protobuf:"fixed32,8,opt,name=changed_ts,json=changedTs,proto3" json:"changed_ts,omitempty"`
+ // Identifier of the originating resource of the alarm
+ ResourceId string `protobuf:"bytes,9,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
+ // Textual explanation of the alarm
+ Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"`
+ // Key/Value storage for extra information that may give context to the alarm
+ Context map[string]string `protobuf:"bytes,11,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // logical device id
+ LogicalDeviceId string `protobuf:"bytes,12,opt,name=logical_device_id,json=logicalDeviceId,proto3" json:"logical_device_id,omitempty"`
+ // alarm_type name indicates clearly the name of the alarm
+ AlarmTypeName string `protobuf:"bytes,13,opt,name=alarm_type_name,json=alarmTypeName,proto3" json:"alarm_type_name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmEvent) Reset() { *m = AlarmEvent{} }
+func (m *AlarmEvent) String() string { return proto.CompactTextString(m) }
+func (*AlarmEvent) ProtoMessage() {}
+func (*AlarmEvent) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{12}
+}
+
+func (m *AlarmEvent) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmEvent.Unmarshal(m, b)
+}
+func (m *AlarmEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmEvent.Marshal(b, m, deterministic)
+}
+func (m *AlarmEvent) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmEvent.Merge(m, src)
+}
+func (m *AlarmEvent) XXX_Size() int {
+ return xxx_messageInfo_AlarmEvent.Size(m)
+}
+func (m *AlarmEvent) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmEvent.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmEvent proto.InternalMessageInfo
+
+func (m *AlarmEvent) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *AlarmEvent) GetType() AlarmEventType_AlarmEventType {
+ if m != nil {
+ return m.Type
+ }
+ return AlarmEventType_COMMUNICATION
+}
+
+func (m *AlarmEvent) GetCategory() AlarmEventCategory_AlarmEventCategory {
+ if m != nil {
+ return m.Category
+ }
+ return AlarmEventCategory_PON
+}
+
+func (m *AlarmEvent) GetState() AlarmEventState_AlarmEventState {
+ if m != nil {
+ return m.State
+ }
+ return AlarmEventState_RAISED
+}
+
+func (m *AlarmEvent) GetSeverity() AlarmEventSeverity_AlarmEventSeverity {
+ if m != nil {
+ return m.Severity
+ }
+ return AlarmEventSeverity_INDETERMINATE
+}
+
+func (m *AlarmEvent) GetRaisedTs() float32 {
+ if m != nil {
+ return m.RaisedTs
+ }
+ return 0
+}
+
+func (m *AlarmEvent) GetReportedTs() float32 {
+ if m != nil {
+ return m.ReportedTs
+ }
+ return 0
+}
+
+func (m *AlarmEvent) GetChangedTs() float32 {
+ if m != nil {
+ return m.ChangedTs
+ }
+ return 0
+}
+
+func (m *AlarmEvent) GetResourceId() string {
+ if m != nil {
+ return m.ResourceId
+ }
+ return ""
+}
+
+func (m *AlarmEvent) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
+func (m *AlarmEvent) GetContext() map[string]string {
+ if m != nil {
+ return m.Context
+ }
+ return nil
+}
+
+func (m *AlarmEvent) GetLogicalDeviceId() string {
+ if m != nil {
+ return m.LogicalDeviceId
+ }
+ return ""
+}
+
+func (m *AlarmEvent) GetAlarmTypeName() string {
+ if m != nil {
+ return m.AlarmTypeName
+ }
+ return ""
+}
+
+//
+// Describes the events specific to device
+type DeviceEvent struct {
+ // Identifier of the originating resource of the event, for ex: device_id
+ ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
+ // device_event_name indicates clearly the name of the device event
+ DeviceEventName string `protobuf:"bytes,2,opt,name=device_event_name,json=deviceEventName,proto3" json:"device_event_name,omitempty"`
+ // Textual explanation of the device event
+ Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
+ // Key/Value storage for extra information that may give context to the event
+ Context map[string]string `protobuf:"bytes,4,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DeviceEvent) Reset() { *m = DeviceEvent{} }
+func (m *DeviceEvent) String() string { return proto.CompactTextString(m) }
+func (*DeviceEvent) ProtoMessage() {}
+func (*DeviceEvent) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{13}
+}
+
+func (m *DeviceEvent) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeviceEvent.Unmarshal(m, b)
+}
+func (m *DeviceEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeviceEvent.Marshal(b, m, deterministic)
+}
+func (m *DeviceEvent) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeviceEvent.Merge(m, src)
+}
+func (m *DeviceEvent) XXX_Size() int {
+ return xxx_messageInfo_DeviceEvent.Size(m)
+}
+func (m *DeviceEvent) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeviceEvent.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceEvent proto.InternalMessageInfo
+
+func (m *DeviceEvent) GetResourceId() string {
+ if m != nil {
+ return m.ResourceId
+ }
+ return ""
+}
+
+func (m *DeviceEvent) GetDeviceEventName() string {
+ if m != nil {
+ return m.DeviceEventName
+ }
+ return ""
+}
+
+func (m *DeviceEvent) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
+func (m *DeviceEvent) GetContext() map[string]string {
+ if m != nil {
+ return m.Context
+ }
+ return nil
+}
+
+//
+// Identify the area of the system impacted by the event.
+type EventCategory struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *EventCategory) Reset() { *m = EventCategory{} }
+func (m *EventCategory) String() string { return proto.CompactTextString(m) }
+func (*EventCategory) ProtoMessage() {}
+func (*EventCategory) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{14}
+}
+
+func (m *EventCategory) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EventCategory.Unmarshal(m, b)
+}
+func (m *EventCategory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EventCategory.Marshal(b, m, deterministic)
+}
+func (m *EventCategory) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EventCategory.Merge(m, src)
+}
+func (m *EventCategory) XXX_Size() int {
+ return xxx_messageInfo_EventCategory.Size(m)
+}
+func (m *EventCategory) XXX_DiscardUnknown() {
+ xxx_messageInfo_EventCategory.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EventCategory proto.InternalMessageInfo
+
+//
+// Identify the functional category originating the event
+type EventSubCategory struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *EventSubCategory) Reset() { *m = EventSubCategory{} }
+func (m *EventSubCategory) String() string { return proto.CompactTextString(m) }
+func (*EventSubCategory) ProtoMessage() {}
+func (*EventSubCategory) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{15}
+}
+
+func (m *EventSubCategory) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EventSubCategory.Unmarshal(m, b)
+}
+func (m *EventSubCategory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EventSubCategory.Marshal(b, m, deterministic)
+}
+func (m *EventSubCategory) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EventSubCategory.Merge(m, src)
+}
+func (m *EventSubCategory) XXX_Size() int {
+ return xxx_messageInfo_EventSubCategory.Size(m)
+}
+func (m *EventSubCategory) XXX_DiscardUnknown() {
+ xxx_messageInfo_EventSubCategory.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EventSubCategory proto.InternalMessageInfo
+
+//
+// Identify the type of event
+type EventType struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *EventType) Reset() { *m = EventType{} }
+func (m *EventType) String() string { return proto.CompactTextString(m) }
+func (*EventType) ProtoMessage() {}
+func (*EventType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{16}
+}
+
+func (m *EventType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EventType.Unmarshal(m, b)
+}
+func (m *EventType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EventType.Marshal(b, m, deterministic)
+}
+func (m *EventType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EventType.Merge(m, src)
+}
+func (m *EventType) XXX_Size() int {
+ return xxx_messageInfo_EventType.Size(m)
+}
+func (m *EventType) XXX_DiscardUnknown() {
+ xxx_messageInfo_EventType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EventType proto.InternalMessageInfo
+
+//
+// Identify the functional category originating the event
+type EventHeader struct {
+ // Unique ID for this event. e.g. voltha.some_olt.1234
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // Refers to the functional area affect by the event
+ Category EventCategory_EventCategory `protobuf:"varint,2,opt,name=category,proto3,enum=voltha.EventCategory_EventCategory" json:"category,omitempty"`
+ // Refers to functional category of the event
+ SubCategory EventSubCategory_EventSubCategory `protobuf:"varint,3,opt,name=sub_category,json=subCategory,proto3,enum=voltha.EventSubCategory_EventSubCategory" json:"sub_category,omitempty"`
+ // Refers to the type of the event
+ Type EventType_EventType `protobuf:"varint,4,opt,name=type,proto3,enum=voltha.EventType_EventType" json:"type,omitempty"`
+ // The version identifier for this event type, thus allowing each
+ // event type to evolve independently. The version should be in the
+ // format “MAJOR.MINOR” format and minor changes must only be additive
+ // and non-breaking.
+ TypeVersion string `protobuf:"bytes,5,opt,name=type_version,json=typeVersion,proto3" json:"type_version,omitempty"`
+ // Timestamp at which the event was first raised.
+ // This represents the UTC time stamp since epoch (in seconds) when the
+ // the event was first raised from the source entity.
+ // If the source entity doesn't send the raised_ts, this shall be set
+ // to timestamp when the event was received.
+ RaisedTs float32 `protobuf:"fixed32,6,opt,name=raised_ts,json=raisedTs,proto3" json:"raised_ts,omitempty"`
+ // Timestamp at which the event was reported.
+ // This represents the UTC time stamp since epoch (in seconds) when the
+ // the event was reported (this time stamp is >= raised_ts).
+ // If the source entity that reported this event doesn't send the
+ // reported_ts, this shall be set to the same value as raised_ts.
+ ReportedTs float32 `protobuf:"fixed32,7,opt,name=reported_ts,json=reportedTs,proto3" json:"reported_ts,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *EventHeader) Reset() { *m = EventHeader{} }
+func (m *EventHeader) String() string { return proto.CompactTextString(m) }
+func (*EventHeader) ProtoMessage() {}
+func (*EventHeader) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{17}
+}
+
+func (m *EventHeader) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EventHeader.Unmarshal(m, b)
+}
+func (m *EventHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EventHeader.Marshal(b, m, deterministic)
+}
+func (m *EventHeader) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EventHeader.Merge(m, src)
+}
+func (m *EventHeader) XXX_Size() int {
+ return xxx_messageInfo_EventHeader.Size(m)
+}
+func (m *EventHeader) XXX_DiscardUnknown() {
+ xxx_messageInfo_EventHeader.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EventHeader proto.InternalMessageInfo
+
+func (m *EventHeader) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *EventHeader) GetCategory() EventCategory_EventCategory {
+ if m != nil {
+ return m.Category
+ }
+ return EventCategory_COMMUNICATION
+}
+
+func (m *EventHeader) GetSubCategory() EventSubCategory_EventSubCategory {
+ if m != nil {
+ return m.SubCategory
+ }
+ return EventSubCategory_PON
+}
+
+func (m *EventHeader) GetType() EventType_EventType {
+ if m != nil {
+ return m.Type
+ }
+ return EventType_CONFIG_EVENT
+}
+
+func (m *EventHeader) GetTypeVersion() string {
+ if m != nil {
+ return m.TypeVersion
+ }
+ return ""
+}
+
+func (m *EventHeader) GetRaisedTs() float32 {
+ if m != nil {
+ return m.RaisedTs
+ }
+ return 0
+}
+
+func (m *EventHeader) GetReportedTs() float32 {
+ if m != nil {
+ return m.ReportedTs
+ }
+ return 0
+}
+
+//
+// Event Structure
+type Event struct {
+ // event header
+ Header *EventHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
+ // oneof event types referred by EventType.
+ //
+ // Types that are valid to be assigned to EventType:
+ // *Event_ConfigEvent
+ // *Event_KpiEvent
+ // *Event_KpiEvent2
+ // *Event_DeviceEvent
+ EventType isEvent_EventType `protobuf_oneof:"event_type"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Event) Reset() { *m = Event{} }
+func (m *Event) String() string { return proto.CompactTextString(m) }
+func (*Event) ProtoMessage() {}
+func (*Event) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e63e6c07044fd2c4, []int{18}
+}
+
+func (m *Event) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Event.Unmarshal(m, b)
+}
+func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Event.Marshal(b, m, deterministic)
+}
+func (m *Event) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Event.Merge(m, src)
+}
+func (m *Event) XXX_Size() int {
+ return xxx_messageInfo_Event.Size(m)
+}
+func (m *Event) XXX_DiscardUnknown() {
+ xxx_messageInfo_Event.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Event proto.InternalMessageInfo
+
+func (m *Event) GetHeader() *EventHeader {
+ if m != nil {
+ return m.Header
+ }
+ return nil
+}
+
+type isEvent_EventType interface {
+ isEvent_EventType()
+}
+
+type Event_ConfigEvent struct {
+ ConfigEvent *ConfigEvent `protobuf:"bytes,2,opt,name=config_event,json=configEvent,proto3,oneof"`
+}
+
+type Event_KpiEvent struct {
+ KpiEvent *KpiEvent `protobuf:"bytes,3,opt,name=kpi_event,json=kpiEvent,proto3,oneof"`
+}
+
+type Event_KpiEvent2 struct {
+ KpiEvent2 *KpiEvent2 `protobuf:"bytes,4,opt,name=kpi_event2,json=kpiEvent2,proto3,oneof"`
+}
+
+type Event_DeviceEvent struct {
+ DeviceEvent *DeviceEvent `protobuf:"bytes,5,opt,name=device_event,json=deviceEvent,proto3,oneof"`
+}
+
+func (*Event_ConfigEvent) isEvent_EventType() {}
+
+func (*Event_KpiEvent) isEvent_EventType() {}
+
+func (*Event_KpiEvent2) isEvent_EventType() {}
+
+func (*Event_DeviceEvent) isEvent_EventType() {}
+
+func (m *Event) GetEventType() isEvent_EventType {
+ if m != nil {
+ return m.EventType
+ }
+ return nil
+}
+
+func (m *Event) GetConfigEvent() *ConfigEvent {
+ if x, ok := m.GetEventType().(*Event_ConfigEvent); ok {
+ return x.ConfigEvent
+ }
+ return nil
+}
+
+func (m *Event) GetKpiEvent() *KpiEvent {
+ if x, ok := m.GetEventType().(*Event_KpiEvent); ok {
+ return x.KpiEvent
+ }
+ return nil
+}
+
+func (m *Event) GetKpiEvent2() *KpiEvent2 {
+ if x, ok := m.GetEventType().(*Event_KpiEvent2); ok {
+ return x.KpiEvent2
+ }
+ return nil
+}
+
+func (m *Event) GetDeviceEvent() *DeviceEvent {
+ if x, ok := m.GetEventType().(*Event_DeviceEvent); ok {
+ return x.DeviceEvent
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*Event) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*Event_ConfigEvent)(nil),
+ (*Event_KpiEvent)(nil),
+ (*Event_KpiEvent2)(nil),
+ (*Event_DeviceEvent)(nil),
+ }
+}
+
+func init() {
+ proto.RegisterEnum("voltha.ConfigEventType_ConfigEventType", ConfigEventType_ConfigEventType_name, ConfigEventType_ConfigEventType_value)
+ proto.RegisterEnum("voltha.KpiEventType_KpiEventType", KpiEventType_KpiEventType_name, KpiEventType_KpiEventType_value)
+ proto.RegisterEnum("voltha.AlarmEventType_AlarmEventType", AlarmEventType_AlarmEventType_name, AlarmEventType_AlarmEventType_value)
+ proto.RegisterEnum("voltha.AlarmEventCategory_AlarmEventCategory", AlarmEventCategory_AlarmEventCategory_name, AlarmEventCategory_AlarmEventCategory_value)
+ proto.RegisterEnum("voltha.AlarmEventState_AlarmEventState", AlarmEventState_AlarmEventState_name, AlarmEventState_AlarmEventState_value)
+ proto.RegisterEnum("voltha.AlarmEventSeverity_AlarmEventSeverity", AlarmEventSeverity_AlarmEventSeverity_name, AlarmEventSeverity_AlarmEventSeverity_value)
+ proto.RegisterEnum("voltha.EventCategory_EventCategory", EventCategory_EventCategory_name, EventCategory_EventCategory_value)
+ proto.RegisterEnum("voltha.EventSubCategory_EventSubCategory", EventSubCategory_EventSubCategory_name, EventSubCategory_EventSubCategory_value)
+ proto.RegisterEnum("voltha.EventType_EventType", EventType_EventType_name, EventType_EventType_value)
+ proto.RegisterType((*ConfigEventType)(nil), "voltha.ConfigEventType")
+ proto.RegisterType((*ConfigEvent)(nil), "voltha.ConfigEvent")
+ proto.RegisterType((*KpiEventType)(nil), "voltha.KpiEventType")
+ proto.RegisterType((*MetricMetaData)(nil), "voltha.MetricMetaData")
+ proto.RegisterMapType((map[string]string)(nil), "voltha.MetricMetaData.ContextEntry")
+ proto.RegisterType((*MetricValuePairs)(nil), "voltha.MetricValuePairs")
+ proto.RegisterMapType((map[string]float32)(nil), "voltha.MetricValuePairs.MetricsEntry")
+ proto.RegisterType((*MetricInformation)(nil), "voltha.MetricInformation")
+ proto.RegisterMapType((map[string]float32)(nil), "voltha.MetricInformation.MetricsEntry")
+ proto.RegisterType((*KpiEvent)(nil), "voltha.KpiEvent")
+ proto.RegisterMapType((map[string]*MetricValuePairs)(nil), "voltha.KpiEvent.PrefixesEntry")
+ proto.RegisterType((*KpiEvent2)(nil), "voltha.KpiEvent2")
+ proto.RegisterType((*AlarmEventType)(nil), "voltha.AlarmEventType")
+ proto.RegisterType((*AlarmEventCategory)(nil), "voltha.AlarmEventCategory")
+ proto.RegisterType((*AlarmEventState)(nil), "voltha.AlarmEventState")
+ proto.RegisterType((*AlarmEventSeverity)(nil), "voltha.AlarmEventSeverity")
+ proto.RegisterType((*AlarmEvent)(nil), "voltha.AlarmEvent")
+ proto.RegisterMapType((map[string]string)(nil), "voltha.AlarmEvent.ContextEntry")
+ proto.RegisterType((*DeviceEvent)(nil), "voltha.DeviceEvent")
+ proto.RegisterMapType((map[string]string)(nil), "voltha.DeviceEvent.ContextEntry")
+ proto.RegisterType((*EventCategory)(nil), "voltha.EventCategory")
+ proto.RegisterType((*EventSubCategory)(nil), "voltha.EventSubCategory")
+ proto.RegisterType((*EventType)(nil), "voltha.EventType")
+ proto.RegisterType((*EventHeader)(nil), "voltha.EventHeader")
+ proto.RegisterType((*Event)(nil), "voltha.Event")
+}
+
+func init() { proto.RegisterFile("voltha_protos/events.proto", fileDescriptor_e63e6c07044fd2c4) }
+
+var fileDescriptor_e63e6c07044fd2c4 = []byte{
+ // 1350 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xdb, 0x6e, 0xdb, 0x46,
+ 0x13, 0x16, 0xa9, 0x83, 0xa5, 0xa1, 0x6c, 0xd3, 0x9b, 0x1f, 0x3f, 0xf4, 0x3b, 0x7f, 0x1b, 0x87,
+ 0x45, 0xd3, 0x34, 0x41, 0x2c, 0x54, 0x45, 0x01, 0xc7, 0x45, 0x90, 0x2a, 0x32, 0x1b, 0xb3, 0xb1,
+ 0x28, 0x77, 0x25, 0x3b, 0x3d, 0x5c, 0x08, 0x6b, 0x71, 0x23, 0x13, 0x96, 0x48, 0x81, 0x5c, 0x0b,
+ 0xf1, 0x4d, 0xd1, 0x07, 0x28, 0xd0, 0xcb, 0x5c, 0xf4, 0x5d, 0x7a, 0xd7, 0x37, 0xe9, 0x23, 0xf4,
+ 0x01, 0x8a, 0x3d, 0x48, 0x3c, 0x48, 0x41, 0x51, 0x04, 0xb9, 0xdb, 0xfd, 0x76, 0x66, 0xf8, 0xcd,
+ 0xec, 0xec, 0xb7, 0x4b, 0xd8, 0x9d, 0x87, 0x13, 0x76, 0x49, 0x86, 0xb3, 0x28, 0x64, 0x61, 0xdc,
+ 0xa4, 0x73, 0x1a, 0xb0, 0x78, 0x5f, 0xcc, 0x50, 0x45, 0xae, 0xed, 0x36, 0xb2, 0x36, 0x53, 0xca,
+ 0x88, 0xb4, 0xd8, 0xfd, 0xff, 0x38, 0x0c, 0xc7, 0x13, 0xda, 0x24, 0x33, 0xbf, 0x49, 0x82, 0x20,
+ 0x64, 0x84, 0xf9, 0x61, 0xa0, 0xfc, 0x2d, 0x1b, 0xb6, 0x3b, 0x61, 0xf0, 0xca, 0x1f, 0xdb, 0x3c,
+ 0xea, 0xe0, 0x66, 0x46, 0xad, 0xd6, 0x0a, 0x84, 0x36, 0xa0, 0x48, 0x3c, 0xcf, 0x2c, 0x20, 0x80,
+ 0x4a, 0x44, 0xa7, 0xe1, 0x9c, 0x9a, 0x1a, 0x1f, 0x5f, 0xcf, 0x3c, 0xc2, 0xa8, 0xa9, 0x5b, 0x11,
+ 0x18, 0x29, 0x1f, 0xf4, 0x25, 0x94, 0xd8, 0xcd, 0x8c, 0x36, 0xb4, 0x3d, 0xed, 0xfe, 0x56, 0xeb,
+ 0x93, 0x7d, 0x49, 0x6e, 0x3f, 0x17, 0x36, 0x3f, 0xc7, 0xc2, 0x09, 0x21, 0x28, 0x5d, 0x92, 0xf8,
+ 0xb2, 0xa1, 0xef, 0x69, 0xf7, 0x6b, 0x58, 0x8c, 0x39, 0xe6, 0x11, 0x46, 0x1a, 0x45, 0x89, 0xf1,
+ 0xb1, 0xf5, 0x19, 0xd4, 0x5f, 0xcc, 0xfc, 0x84, 0xf7, 0xdd, 0xec, 0x1c, 0xd5, 0xa0, 0x1c, 0x4f,
+ 0xfc, 0x11, 0x35, 0x0b, 0xa8, 0x02, 0x3a, 0x8b, 0x4d, 0xcd, 0x7a, 0xa3, 0xc3, 0x56, 0x97, 0xb2,
+ 0xc8, 0x1f, 0x75, 0x29, 0x23, 0x47, 0x84, 0x11, 0xf4, 0x1f, 0x28, 0x33, 0x9f, 0x4d, 0x24, 0xd7,
+ 0x1a, 0x96, 0x13, 0xb4, 0xc5, 0x1d, 0x04, 0x03, 0x0d, 0xeb, 0x2c, 0x46, 0x0f, 0x60, 0x67, 0x12,
+ 0x8e, 0xfd, 0x11, 0x99, 0x0c, 0x3d, 0x3a, 0xf7, 0x47, 0x74, 0xe8, 0x7b, 0x8a, 0xcc, 0xb6, 0x5a,
+ 0x38, 0x12, 0xb8, 0xe3, 0xa1, 0xdb, 0x50, 0x8b, 0x69, 0xe4, 0x93, 0xc9, 0x30, 0x08, 0x1b, 0x25,
+ 0x61, 0x53, 0x95, 0x80, 0x1b, 0xf2, 0xc5, 0x24, 0x40, 0x59, 0x2e, 0x7a, 0x0b, 0xcf, 0x27, 0xb0,
+ 0x31, 0x0a, 0x03, 0x46, 0x5f, 0xb3, 0x46, 0x65, 0xaf, 0x78, 0xdf, 0x68, 0x7d, 0xb4, 0xa8, 0x5c,
+ 0x96, 0x34, 0x2f, 0x1c, 0xb7, 0xb2, 0x03, 0x16, 0xdd, 0xe0, 0x85, 0xcf, 0xee, 0x21, 0xd4, 0xd3,
+ 0x0b, 0xc8, 0x84, 0xe2, 0x15, 0xbd, 0x51, 0x89, 0xf1, 0x21, 0x4f, 0x76, 0x4e, 0x26, 0xd7, 0x54,
+ 0xd5, 0x56, 0x4e, 0x0e, 0xf5, 0x03, 0xcd, 0xfa, 0x55, 0x03, 0x53, 0x7e, 0xe4, 0x9c, 0x63, 0xa7,
+ 0xc4, 0x8f, 0x62, 0xf4, 0x14, 0x36, 0xa6, 0x02, 0x8b, 0x1b, 0x9a, 0xe0, 0xf3, 0x71, 0x96, 0x4f,
+ 0x62, 0xaa, 0x80, 0x58, 0x31, 0x52, 0x5e, 0x9c, 0x51, 0x7a, 0xe1, 0x9f, 0x18, 0xe9, 0x69, 0x46,
+ 0x7f, 0x68, 0xb0, 0x23, 0x9d, 0x9d, 0xe0, 0x55, 0x18, 0x4d, 0x45, 0xdb, 0xa2, 0x16, 0x54, 0x79,
+ 0x6f, 0x8b, 0x66, 0xe0, 0x61, 0x8c, 0xd6, 0x7f, 0xd7, 0xd7, 0x08, 0x2f, 0xed, 0xd0, 0x57, 0x49,
+ 0x1a, 0xba, 0x48, 0xe3, 0x5e, 0xd6, 0x25, 0x15, 0xff, 0x3d, 0xe4, 0xf1, 0xa7, 0x06, 0xd5, 0x45,
+ 0x5f, 0xa2, 0x2f, 0x32, 0x07, 0xe3, 0xee, 0x82, 0x47, 0xba, 0x6f, 0x33, 0x13, 0x75, 0x24, 0x92,
+ 0x76, 0xd4, 0x45, 0x3b, 0x1e, 0x42, 0x75, 0x16, 0xd1, 0x57, 0xfe, 0x6b, 0x1a, 0x37, 0x8a, 0x22,
+ 0xa5, 0x0f, 0xf3, 0xa1, 0xf6, 0x4f, 0x95, 0x81, 0x4c, 0x65, 0x69, 0xbf, 0x7b, 0x06, 0x9b, 0x99,
+ 0xa5, 0x35, 0xc9, 0xec, 0xa7, 0x93, 0x31, 0x5a, 0x8d, 0xb7, 0xed, 0x7a, 0x3a, 0xcd, 0x5f, 0x34,
+ 0xa8, 0x2d, 0xbe, 0xdd, 0x7a, 0xf7, 0x3c, 0xe5, 0xb1, 0x3b, 0x00, 0x10, 0x47, 0x78, 0xa8, 0x0e,
+ 0x3f, 0xcf, 0xf4, 0x7f, 0x6f, 0xdd, 0x3c, 0x5c, 0x13, 0xc6, 0x7c, 0xf7, 0xad, 0x9f, 0x35, 0xd8,
+ 0x6a, 0x4f, 0x48, 0x34, 0x4d, 0xf4, 0x21, 0xc8, 0x23, 0x68, 0x07, 0x36, 0x3b, 0xbd, 0x6e, 0xf7,
+ 0xcc, 0x75, 0x3a, 0xed, 0x81, 0xd3, 0x73, 0xcd, 0x02, 0xda, 0x06, 0xc3, 0x76, 0xcf, 0x1d, 0xdc,
+ 0x73, 0xbb, 0xb6, 0x3b, 0x30, 0x35, 0xb4, 0x09, 0x35, 0xfb, 0xdb, 0x33, 0xe7, 0x54, 0x4c, 0x75,
+ 0x64, 0xc0, 0x46, 0xdf, 0xc6, 0xe7, 0x4e, 0xc7, 0x36, 0x8b, 0x68, 0x0b, 0xe0, 0x14, 0xf7, 0x3a,
+ 0x76, 0xbf, 0xef, 0xb8, 0xcf, 0xcd, 0x12, 0xaa, 0x43, 0xb5, 0x6f, 0x77, 0xce, 0xb0, 0x33, 0xf8,
+ 0xde, 0x2c, 0x5b, 0x2f, 0x01, 0x25, 0xdf, 0xeb, 0x10, 0x46, 0xc7, 0x61, 0x74, 0x63, 0xb5, 0xd7,
+ 0xa1, 0x5c, 0x60, 0x4f, 0xc5, 0xf7, 0x37, 0xa0, 0xd8, 0x3b, 0xe1, 0xdf, 0xe5, 0x03, 0xf1, 0x45,
+ 0x31, 0x38, 0x33, 0x8b, 0x7c, 0xe0, 0xba, 0x8e, 0x59, 0xb2, 0x9e, 0xc0, 0x76, 0x12, 0xa2, 0xcf,
+ 0x08, 0xa3, 0xd6, 0x83, 0x15, 0x88, 0xcb, 0x33, 0x6e, 0x3b, 0x7d, 0xfb, 0xc8, 0x2c, 0x70, 0xd6,
+ 0x9d, 0x13, 0xbb, 0x8d, 0xed, 0x23, 0x53, 0xb3, 0x82, 0x34, 0x83, 0x3e, 0x9d, 0xd3, 0xc8, 0x67,
+ 0x37, 0xd6, 0x77, 0xeb, 0x50, 0x5e, 0x21, 0xc7, 0x3d, 0xb2, 0x07, 0x36, 0xee, 0x3a, 0x6e, 0x7b,
+ 0x60, 0xcb, 0x58, 0x2f, 0xdb, 0xd8, 0xe5, 0x19, 0x6b, 0x5c, 0x63, 0xbb, 0x8e, 0xdb, 0xc3, 0xa6,
+ 0x2e, 0x86, 0xed, 0x6f, 0x7a, 0xd8, 0x2c, 0xf2, 0x3a, 0x74, 0xb0, 0x33, 0x70, 0x3a, 0xed, 0x13,
+ 0xb3, 0x64, 0xbd, 0x29, 0x03, 0x24, 0xa1, 0xf9, 0x1e, 0xfb, 0x9e, 0xea, 0x36, 0xdd, 0xf7, 0xd0,
+ 0x63, 0xd5, 0x2a, 0xba, 0x68, 0x95, 0xa5, 0xc2, 0x64, 0xb7, 0x2a, 0x37, 0x55, 0xed, 0xe2, 0x40,
+ 0x75, 0xa4, 0x2a, 0x28, 0xc4, 0x78, 0xab, 0xf5, 0x68, 0xd5, 0x7d, 0x51, 0xe3, 0x35, 0x10, 0x5e,
+ 0xba, 0xa3, 0x27, 0x50, 0x8e, 0x79, 0xd9, 0x84, 0x60, 0xa7, 0xae, 0xac, 0x5c, 0x55, 0xf3, 0x73,
+ 0x2c, 0xbd, 0x38, 0x93, 0x58, 0xd5, 0x4c, 0xa8, 0xfa, 0x5a, 0x26, 0x8b, 0xaa, 0xae, 0x81, 0xf0,
+ 0xd2, 0x9d, 0xdf, 0x10, 0x11, 0xf1, 0x63, 0xea, 0x0d, 0x59, 0xdc, 0xa8, 0x88, 0x23, 0x5f, 0x95,
+ 0xc0, 0x20, 0x46, 0x77, 0xc0, 0x88, 0xe8, 0x2c, 0x8c, 0x98, 0x5c, 0xde, 0x10, 0xcb, 0xb0, 0x80,
+ 0x06, 0x31, 0xfa, 0x00, 0x60, 0x74, 0x49, 0x82, 0xb1, 0x5c, 0xaf, 0x8a, 0xf5, 0x9a, 0x42, 0x16,
+ 0xfe, 0x71, 0x78, 0x1d, 0xc9, 0x0b, 0xa8, 0x26, 0x76, 0x01, 0x16, 0x90, 0xe3, 0xa1, 0x3d, 0x30,
+ 0x3c, 0x1a, 0x8f, 0x22, 0x7f, 0xc6, 0x4f, 0x54, 0x03, 0x84, 0x41, 0x1a, 0x42, 0x8f, 0x93, 0x4b,
+ 0xca, 0x10, 0x07, 0xf2, 0xce, 0x6a, 0xa6, 0xeb, 0x2f, 0xa8, 0xf5, 0xb7, 0x68, 0x7d, 0xfd, 0x2d,
+ 0x7a, 0x0f, 0xb6, 0x09, 0x8f, 0x37, 0xe4, 0x3b, 0x3d, 0x0c, 0xc8, 0x94, 0x36, 0x36, 0x85, 0xe5,
+ 0xa6, 0x80, 0x79, 0x17, 0xb8, 0x64, 0x4a, 0xdf, 0xe9, 0xd2, 0xfb, 0x4b, 0x03, 0x43, 0x7e, 0x50,
+ 0xb6, 0x66, 0xae, 0x3a, 0xda, 0x4a, 0x75, 0x1e, 0xc0, 0x8e, 0x22, 0x2e, 0x1e, 0x61, 0x92, 0x96,
+ 0x0c, 0xbb, 0xed, 0x25, 0x81, 0x38, 0xb1, 0x7c, 0x25, 0x8b, 0xab, 0x95, 0x3c, 0x4c, 0x2a, 0x59,
+ 0x12, 0x95, 0xdc, 0x5b, 0x54, 0x32, 0x45, 0xea, 0x3d, 0xdc, 0xf5, 0x3f, 0xc1, 0x66, 0x56, 0x93,
+ 0xa6, 0x39, 0xe0, 0x3d, 0x0b, 0x63, 0x1f, 0x4c, 0xd9, 0xfc, 0xd7, 0x17, 0x4b, 0x0a, 0x4f, 0x57,
+ 0xb1, 0x7f, 0x27, 0x8a, 0x3f, 0x42, 0x2d, 0x91, 0x7a, 0x37, 0x35, 0x41, 0x26, 0xd4, 0x3b, 0x3d,
+ 0xf7, 0x6b, 0xe7, 0xf9, 0xd0, 0x3e, 0xe7, 0x5c, 0x0b, 0x9c, 0xfa, 0x8b, 0x53, 0x47, 0x4d, 0x35,
+ 0xce, 0x76, 0x39, 0x6d, 0x99, 0x3a, 0x77, 0x38, 0xb2, 0x79, 0x26, 0xca, 0xa2, 0x68, 0xfd, 0xae,
+ 0x83, 0x21, 0x02, 0x1e, 0x53, 0xe2, 0xd1, 0x68, 0x45, 0xc3, 0x9e, 0xa6, 0x84, 0x48, 0xea, 0xd8,
+ 0xf2, 0xe5, 0x96, 0xd5, 0xa0, 0xb7, 0xc9, 0xcf, 0x09, 0xd4, 0xe3, 0xeb, 0x8b, 0x61, 0x4e, 0xcd,
+ 0x3e, 0xcd, 0x04, 0x49, 0x95, 0x66, 0x05, 0xc0, 0x46, 0x9c, 0x2a, 0x5c, 0x53, 0x49, 0xaa, 0xd4,
+ 0xb2, 0xdb, 0x99, 0x28, 0x42, 0x4d, 0xf3, 0x42, 0x7a, 0x17, 0xea, 0xe2, 0x98, 0xcd, 0x69, 0x14,
+ 0xf3, 0x66, 0x95, 0x0f, 0x53, 0x83, 0x63, 0xe7, 0x12, 0x7a, 0x37, 0x59, 0xb2, 0x7e, 0xd3, 0xa1,
+ 0x2c, 0xcf, 0xd8, 0x43, 0xa8, 0x5c, 0x8a, 0x22, 0xaa, 0xe7, 0xdb, 0xad, 0x0c, 0x3b, 0x59, 0x5f,
+ 0xac, 0x4c, 0xd0, 0x01, 0xd4, 0x47, 0xe2, 0x1f, 0x41, 0x9e, 0x37, 0xf5, 0x1e, 0xb9, 0xb5, 0xe6,
+ 0x7f, 0xe2, 0xb8, 0x80, 0x8d, 0x51, 0xea, 0x0f, 0xa4, 0x09, 0xb5, 0xab, 0x99, 0xaf, 0xdc, 0x8a,
+ 0xc2, 0xcd, 0xcc, 0xbf, 0x42, 0x8e, 0x0b, 0xb8, 0x7a, 0xb5, 0x78, 0x99, 0xb5, 0x00, 0x96, 0x0e,
+ 0x2d, 0x51, 0x39, 0xa3, 0xb5, 0x93, 0xf7, 0x68, 0x1d, 0x17, 0x70, 0xed, 0x6a, 0xf9, 0xca, 0x39,
+ 0x80, 0x7a, 0x5a, 0x0e, 0x44, 0xd9, 0x52, 0xf4, 0x52, 0xa7, 0x98, 0xd3, 0x4b, 0x09, 0xc4, 0xb3,
+ 0x3a, 0x80, 0x54, 0x10, 0x5e, 0xe2, 0x67, 0x8f, 0x7e, 0x78, 0x38, 0xf6, 0xd9, 0xe5, 0xf5, 0xc5,
+ 0xfe, 0x28, 0x9c, 0x36, 0xc3, 0x19, 0x0d, 0x46, 0x61, 0xe4, 0x35, 0x65, 0x98, 0x47, 0xea, 0x97,
+ 0x6e, 0x1c, 0x2a, 0xe0, 0xa2, 0x22, 0x90, 0xcf, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xa8, 0xa0,
+ 0xf6, 0xcb, 0x18, 0x0e, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/voltha/health.pb.go b/vendor/github.com/opencord/voltha-protos/go/voltha/health.pb.go
new file mode 100644
index 0000000..e5a0cf5
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/voltha/health.pb.go
@@ -0,0 +1,200 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/health.proto
+
+package voltha
+
+import (
+ context "context"
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ empty "github.com/golang/protobuf/ptypes/empty"
+ _ "github.com/opencord/voltha-protos/go/common"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ grpc "google.golang.org/grpc"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Health states
+type HealthStatus_HealthState int32
+
+const (
+ HealthStatus_HEALTHY HealthStatus_HealthState = 0
+ HealthStatus_OVERLOADED HealthStatus_HealthState = 1
+ HealthStatus_DYING HealthStatus_HealthState = 2
+)
+
+var HealthStatus_HealthState_name = map[int32]string{
+ 0: "HEALTHY",
+ 1: "OVERLOADED",
+ 2: "DYING",
+}
+
+var HealthStatus_HealthState_value = map[string]int32{
+ "HEALTHY": 0,
+ "OVERLOADED": 1,
+ "DYING": 2,
+}
+
+func (x HealthStatus_HealthState) String() string {
+ return proto.EnumName(HealthStatus_HealthState_name, int32(x))
+}
+
+func (HealthStatus_HealthState) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_dd1fc2b2d96d69b8, []int{0, 0}
+}
+
+// Encode health status of a Voltha instance
+type HealthStatus struct {
+ // Current state of health of this Voltha instance
+ State HealthStatus_HealthState `protobuf:"varint,1,opt,name=state,proto3,enum=voltha.HealthStatus_HealthState" json:"state,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *HealthStatus) Reset() { *m = HealthStatus{} }
+func (m *HealthStatus) String() string { return proto.CompactTextString(m) }
+func (*HealthStatus) ProtoMessage() {}
+func (*HealthStatus) Descriptor() ([]byte, []int) {
+ return fileDescriptor_dd1fc2b2d96d69b8, []int{0}
+}
+
+func (m *HealthStatus) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_HealthStatus.Unmarshal(m, b)
+}
+func (m *HealthStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_HealthStatus.Marshal(b, m, deterministic)
+}
+func (m *HealthStatus) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_HealthStatus.Merge(m, src)
+}
+func (m *HealthStatus) XXX_Size() int {
+ return xxx_messageInfo_HealthStatus.Size(m)
+}
+func (m *HealthStatus) XXX_DiscardUnknown() {
+ xxx_messageInfo_HealthStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_HealthStatus proto.InternalMessageInfo
+
+func (m *HealthStatus) GetState() HealthStatus_HealthState {
+ if m != nil {
+ return m.State
+ }
+ return HealthStatus_HEALTHY
+}
+
+func init() {
+ proto.RegisterEnum("voltha.HealthStatus_HealthState", HealthStatus_HealthState_name, HealthStatus_HealthState_value)
+ proto.RegisterType((*HealthStatus)(nil), "voltha.HealthStatus")
+}
+
+func init() { proto.RegisterFile("voltha_protos/health.proto", fileDescriptor_dd1fc2b2d96d69b8) }
+
+var fileDescriptor_dd1fc2b2d96d69b8 = []byte{
+ // 289 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x2a, 0xcb, 0xcf, 0x29,
+ 0xc9, 0x48, 0x8c, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x2f, 0xd6, 0xcf, 0x48, 0x4d, 0xcc, 0x29, 0xc9,
+ 0xd0, 0x03, 0xf3, 0x84, 0xd8, 0x20, 0x72, 0x52, 0x32, 0xe9, 0xf9, 0xf9, 0xe9, 0x39, 0xa9, 0xfa,
+ 0x89, 0x05, 0x99, 0xfa, 0x89, 0x79, 0x79, 0xf9, 0x25, 0x89, 0x25, 0x99, 0xf9, 0x79, 0xc5, 0x10,
+ 0x55, 0x52, 0xd2, 0x50, 0x59, 0x30, 0x2f, 0xa9, 0x34, 0x4d, 0x3f, 0x35, 0xb7, 0xa0, 0xa4, 0x12,
+ 0x2a, 0x29, 0x81, 0x6a, 0x7c, 0x6e, 0x6a, 0x49, 0x22, 0x44, 0x46, 0xa9, 0x85, 0x91, 0x8b, 0xc7,
+ 0x03, 0x6c, 0x5b, 0x70, 0x49, 0x62, 0x49, 0x69, 0xb1, 0x90, 0x2d, 0x17, 0x6b, 0x71, 0x49, 0x62,
+ 0x49, 0xaa, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x9f, 0x91, 0x82, 0x1e, 0x44, 0xab, 0x1e, 0xb2, 0x22,
+ 0x24, 0x4e, 0xaa, 0x13, 0xeb, 0x8b, 0x6f, 0x67, 0x65, 0x19, 0x83, 0x20, 0xba, 0x94, 0x4c, 0xb9,
+ 0xb8, 0x91, 0x24, 0x85, 0xb8, 0xb9, 0xd8, 0x3d, 0x5c, 0x1d, 0x7d, 0x42, 0x3c, 0x22, 0x05, 0x18,
+ 0x84, 0xf8, 0xb8, 0xb8, 0xfc, 0xc3, 0x5c, 0x83, 0x7c, 0xfc, 0x1d, 0x5d, 0x5c, 0x5d, 0x04, 0x18,
+ 0x85, 0x38, 0xb9, 0x58, 0x5d, 0x22, 0x3d, 0xfd, 0xdc, 0x05, 0x98, 0x8c, 0x12, 0xb9, 0x78, 0xa1,
+ 0xda, 0x52, 0x8b, 0xca, 0x32, 0x93, 0x53, 0x85, 0x02, 0xb8, 0xf8, 0xdd, 0x53, 0x4b, 0x50, 0x5c,
+ 0x26, 0xa6, 0x07, 0xf1, 0xa2, 0x1e, 0xcc, 0x8b, 0x7a, 0xae, 0x20, 0x2f, 0x4a, 0x89, 0x60, 0x73,
+ 0xa2, 0x12, 0x7f, 0xd3, 0xe5, 0x27, 0x93, 0x99, 0x38, 0x85, 0xd8, 0xa1, 0x81, 0xe9, 0xa4, 0x1b,
+ 0xa5, 0x9d, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0x9f, 0x5f, 0x90, 0x9a,
+ 0x97, 0x9c, 0x5f, 0x94, 0xa2, 0x0f, 0xd1, 0xab, 0x0b, 0x0d, 0x99, 0xf4, 0x7c, 0xa8, 0x40, 0x12,
+ 0x1b, 0x58, 0xc4, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x06, 0x8f, 0xa7, 0x7d, 0x9a, 0x01, 0x00,
+ 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion4
+
+// HealthServiceClient is the client API for HealthService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type HealthServiceClient interface {
+ // Return current health status of a Voltha instance
+ GetHealthStatus(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*HealthStatus, error)
+}
+
+type healthServiceClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewHealthServiceClient(cc *grpc.ClientConn) HealthServiceClient {
+ return &healthServiceClient{cc}
+}
+
+func (c *healthServiceClient) GetHealthStatus(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*HealthStatus, error) {
+ out := new(HealthStatus)
+ err := c.cc.Invoke(ctx, "/voltha.HealthService/GetHealthStatus", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// HealthServiceServer is the server API for HealthService service.
+type HealthServiceServer interface {
+ // Return current health status of a Voltha instance
+ GetHealthStatus(context.Context, *empty.Empty) (*HealthStatus, error)
+}
+
+func RegisterHealthServiceServer(s *grpc.Server, srv HealthServiceServer) {
+ s.RegisterService(&_HealthService_serviceDesc, srv)
+}
+
+func _HealthService_GetHealthStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(HealthServiceServer).GetHealthStatus(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.HealthService/GetHealthStatus",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(HealthServiceServer).GetHealthStatus(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _HealthService_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "voltha.HealthService",
+ HandlerType: (*HealthServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "GetHealthStatus",
+ Handler: _HealthService_GetHealthStatus_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "voltha_protos/health.proto",
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/voltha/logical_device.pb.go b/vendor/github.com/opencord/voltha-protos/go/voltha/logical_device.pb.go
new file mode 100644
index 0000000..ea87a4c
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/voltha/logical_device.pb.go
@@ -0,0 +1,390 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/logical_device.proto
+
+package voltha
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ _ "github.com/opencord/voltha-protos/go/common"
+ openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type LogicalPortId struct {
+ // unique id of logical device
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // id of the port on the logical device
+ PortId string `protobuf:"bytes,2,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *LogicalPortId) Reset() { *m = LogicalPortId{} }
+func (m *LogicalPortId) String() string { return proto.CompactTextString(m) }
+func (*LogicalPortId) ProtoMessage() {}
+func (*LogicalPortId) Descriptor() ([]byte, []int) {
+ return fileDescriptor_caf139ab3abc8240, []int{0}
+}
+
+func (m *LogicalPortId) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_LogicalPortId.Unmarshal(m, b)
+}
+func (m *LogicalPortId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_LogicalPortId.Marshal(b, m, deterministic)
+}
+func (m *LogicalPortId) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_LogicalPortId.Merge(m, src)
+}
+func (m *LogicalPortId) XXX_Size() int {
+ return xxx_messageInfo_LogicalPortId.Size(m)
+}
+func (m *LogicalPortId) XXX_DiscardUnknown() {
+ xxx_messageInfo_LogicalPortId.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LogicalPortId proto.InternalMessageInfo
+
+func (m *LogicalPortId) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *LogicalPortId) GetPortId() string {
+ if m != nil {
+ return m.PortId
+ }
+ return ""
+}
+
+type LogicalPort struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ OfpPort *openflow_13.OfpPort `protobuf:"bytes,2,opt,name=ofp_port,json=ofpPort,proto3" json:"ofp_port,omitempty"`
+ DeviceId string `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ DevicePortNo uint32 `protobuf:"varint,4,opt,name=device_port_no,json=devicePortNo,proto3" json:"device_port_no,omitempty"`
+ RootPort bool `protobuf:"varint,5,opt,name=root_port,json=rootPort,proto3" json:"root_port,omitempty"`
+ OfpPortStats *openflow_13.OfpPortStats `protobuf:"bytes,6,opt,name=ofp_port_stats,json=ofpPortStats,proto3" json:"ofp_port_stats,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *LogicalPort) Reset() { *m = LogicalPort{} }
+func (m *LogicalPort) String() string { return proto.CompactTextString(m) }
+func (*LogicalPort) ProtoMessage() {}
+func (*LogicalPort) Descriptor() ([]byte, []int) {
+ return fileDescriptor_caf139ab3abc8240, []int{1}
+}
+
+func (m *LogicalPort) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_LogicalPort.Unmarshal(m, b)
+}
+func (m *LogicalPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_LogicalPort.Marshal(b, m, deterministic)
+}
+func (m *LogicalPort) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_LogicalPort.Merge(m, src)
+}
+func (m *LogicalPort) XXX_Size() int {
+ return xxx_messageInfo_LogicalPort.Size(m)
+}
+func (m *LogicalPort) XXX_DiscardUnknown() {
+ xxx_messageInfo_LogicalPort.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LogicalPort proto.InternalMessageInfo
+
+func (m *LogicalPort) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *LogicalPort) GetOfpPort() *openflow_13.OfpPort {
+ if m != nil {
+ return m.OfpPort
+ }
+ return nil
+}
+
+func (m *LogicalPort) GetDeviceId() string {
+ if m != nil {
+ return m.DeviceId
+ }
+ return ""
+}
+
+func (m *LogicalPort) GetDevicePortNo() uint32 {
+ if m != nil {
+ return m.DevicePortNo
+ }
+ return 0
+}
+
+func (m *LogicalPort) GetRootPort() bool {
+ if m != nil {
+ return m.RootPort
+ }
+ return false
+}
+
+func (m *LogicalPort) GetOfpPortStats() *openflow_13.OfpPortStats {
+ if m != nil {
+ return m.OfpPortStats
+ }
+ return nil
+}
+
+type LogicalPorts struct {
+ Items []*LogicalPort `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *LogicalPorts) Reset() { *m = LogicalPorts{} }
+func (m *LogicalPorts) String() string { return proto.CompactTextString(m) }
+func (*LogicalPorts) ProtoMessage() {}
+func (*LogicalPorts) Descriptor() ([]byte, []int) {
+ return fileDescriptor_caf139ab3abc8240, []int{2}
+}
+
+func (m *LogicalPorts) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_LogicalPorts.Unmarshal(m, b)
+}
+func (m *LogicalPorts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_LogicalPorts.Marshal(b, m, deterministic)
+}
+func (m *LogicalPorts) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_LogicalPorts.Merge(m, src)
+}
+func (m *LogicalPorts) XXX_Size() int {
+ return xxx_messageInfo_LogicalPorts.Size(m)
+}
+func (m *LogicalPorts) XXX_DiscardUnknown() {
+ xxx_messageInfo_LogicalPorts.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LogicalPorts proto.InternalMessageInfo
+
+func (m *LogicalPorts) GetItems() []*LogicalPort {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type LogicalDevice struct {
+ // unique id of logical device
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // unique datapath id for the logical device (used by the SDN controller)
+ DatapathId uint64 `protobuf:"varint,2,opt,name=datapath_id,json=datapathId,proto3" json:"datapath_id,omitempty"`
+ // device description
+ Desc *openflow_13.OfpDesc `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
+ // device features
+ SwitchFeatures *openflow_13.OfpSwitchFeatures `protobuf:"bytes,4,opt,name=switch_features,json=switchFeatures,proto3" json:"switch_features,omitempty"`
+ // name of the root device anchoring logical device
+ RootDeviceId string `protobuf:"bytes,5,opt,name=root_device_id,json=rootDeviceId,proto3" json:"root_device_id,omitempty"`
+ // logical device ports
+ Ports []*LogicalPort `protobuf:"bytes,128,rep,name=ports,proto3" json:"ports,omitempty"`
+ // flows configured on the logical device
+ Flows *openflow_13.Flows `protobuf:"bytes,129,opt,name=flows,proto3" json:"flows,omitempty"`
+ // flow groups configured on the logical device
+ FlowGroups *openflow_13.FlowGroups `protobuf:"bytes,130,opt,name=flow_groups,json=flowGroups,proto3" json:"flow_groups,omitempty"`
+ // meters configured on the logical device
+ Meters *openflow_13.Meters `protobuf:"bytes,131,opt,name=meters,proto3" json:"meters,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *LogicalDevice) Reset() { *m = LogicalDevice{} }
+func (m *LogicalDevice) String() string { return proto.CompactTextString(m) }
+func (*LogicalDevice) ProtoMessage() {}
+func (*LogicalDevice) Descriptor() ([]byte, []int) {
+ return fileDescriptor_caf139ab3abc8240, []int{3}
+}
+
+func (m *LogicalDevice) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_LogicalDevice.Unmarshal(m, b)
+}
+func (m *LogicalDevice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_LogicalDevice.Marshal(b, m, deterministic)
+}
+func (m *LogicalDevice) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_LogicalDevice.Merge(m, src)
+}
+func (m *LogicalDevice) XXX_Size() int {
+ return xxx_messageInfo_LogicalDevice.Size(m)
+}
+func (m *LogicalDevice) XXX_DiscardUnknown() {
+ xxx_messageInfo_LogicalDevice.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LogicalDevice proto.InternalMessageInfo
+
+func (m *LogicalDevice) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *LogicalDevice) GetDatapathId() uint64 {
+ if m != nil {
+ return m.DatapathId
+ }
+ return 0
+}
+
+func (m *LogicalDevice) GetDesc() *openflow_13.OfpDesc {
+ if m != nil {
+ return m.Desc
+ }
+ return nil
+}
+
+func (m *LogicalDevice) GetSwitchFeatures() *openflow_13.OfpSwitchFeatures {
+ if m != nil {
+ return m.SwitchFeatures
+ }
+ return nil
+}
+
+func (m *LogicalDevice) GetRootDeviceId() string {
+ if m != nil {
+ return m.RootDeviceId
+ }
+ return ""
+}
+
+func (m *LogicalDevice) GetPorts() []*LogicalPort {
+ if m != nil {
+ return m.Ports
+ }
+ return nil
+}
+
+func (m *LogicalDevice) GetFlows() *openflow_13.Flows {
+ if m != nil {
+ return m.Flows
+ }
+ return nil
+}
+
+func (m *LogicalDevice) GetFlowGroups() *openflow_13.FlowGroups {
+ if m != nil {
+ return m.FlowGroups
+ }
+ return nil
+}
+
+func (m *LogicalDevice) GetMeters() *openflow_13.Meters {
+ if m != nil {
+ return m.Meters
+ }
+ return nil
+}
+
+type LogicalDevices struct {
+ Items []*LogicalDevice `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *LogicalDevices) Reset() { *m = LogicalDevices{} }
+func (m *LogicalDevices) String() string { return proto.CompactTextString(m) }
+func (*LogicalDevices) ProtoMessage() {}
+func (*LogicalDevices) Descriptor() ([]byte, []int) {
+ return fileDescriptor_caf139ab3abc8240, []int{4}
+}
+
+func (m *LogicalDevices) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_LogicalDevices.Unmarshal(m, b)
+}
+func (m *LogicalDevices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_LogicalDevices.Marshal(b, m, deterministic)
+}
+func (m *LogicalDevices) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_LogicalDevices.Merge(m, src)
+}
+func (m *LogicalDevices) XXX_Size() int {
+ return xxx_messageInfo_LogicalDevices.Size(m)
+}
+func (m *LogicalDevices) XXX_DiscardUnknown() {
+ xxx_messageInfo_LogicalDevices.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LogicalDevices proto.InternalMessageInfo
+
+func (m *LogicalDevices) GetItems() []*LogicalDevice {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+func init() {
+ proto.RegisterType((*LogicalPortId)(nil), "voltha.LogicalPortId")
+ proto.RegisterType((*LogicalPort)(nil), "voltha.LogicalPort")
+ proto.RegisterType((*LogicalPorts)(nil), "voltha.LogicalPorts")
+ proto.RegisterType((*LogicalDevice)(nil), "voltha.LogicalDevice")
+ proto.RegisterType((*LogicalDevices)(nil), "voltha.LogicalDevices")
+}
+
+func init() { proto.RegisterFile("voltha_protos/logical_device.proto", fileDescriptor_caf139ab3abc8240) }
+
+var fileDescriptor_caf139ab3abc8240 = []byte{
+ // 532 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0xcd, 0x6a, 0xdb, 0x40,
+ 0x10, 0xae, 0x6c, 0xcb, 0xb1, 0x47, 0x8e, 0x0b, 0x1b, 0x42, 0x44, 0xd2, 0x12, 0x23, 0x7a, 0x70,
+ 0x08, 0xb1, 0x53, 0x9b, 0x42, 0x7b, 0x28, 0xb4, 0x26, 0xa4, 0x18, 0xda, 0x52, 0xb6, 0xb7, 0x5e,
+ 0xc4, 0x46, 0x5a, 0xcb, 0x02, 0xdb, 0x23, 0xb4, 0xeb, 0xe4, 0xda, 0x9f, 0xd7, 0xea, 0x2b, 0xf4,
+ 0x25, 0xfa, 0x08, 0x3d, 0xf4, 0x5c, 0x76, 0x56, 0x4a, 0xad, 0x38, 0x39, 0xea, 0xfb, 0x99, 0xf9,
+ 0xf6, 0x1b, 0x04, 0xc1, 0x35, 0x2e, 0xf4, 0x5c, 0x84, 0x59, 0x8e, 0x1a, 0xd5, 0x70, 0x81, 0x49,
+ 0x1a, 0x89, 0x45, 0x18, 0xcb, 0xeb, 0x34, 0x92, 0x03, 0x42, 0x59, 0xd3, 0x6a, 0x0e, 0x9f, 0x24,
+ 0x88, 0xc9, 0x42, 0x0e, 0x45, 0x96, 0x0e, 0xc5, 0x6a, 0x85, 0x5a, 0xe8, 0x14, 0x57, 0xca, 0xaa,
+ 0x0e, 0xfd, 0xea, 0xa4, 0xa5, 0xd4, 0xa2, 0x60, 0x8e, 0xab, 0x0c, 0x66, 0x72, 0x35, 0x5b, 0xe0,
+ 0x4d, 0xf8, 0x7c, 0x6c, 0x05, 0xc1, 0x4b, 0xd8, 0x7d, 0x6f, 0x17, 0x7f, 0xc2, 0x5c, 0x4f, 0x63,
+ 0xd6, 0x85, 0x5a, 0x1a, 0xfb, 0x4e, 0xcf, 0xe9, 0xb7, 0x79, 0x2d, 0x8d, 0xd9, 0x01, 0xec, 0x64,
+ 0x98, 0xeb, 0x30, 0x8d, 0xfd, 0x1a, 0x81, 0xcd, 0x8c, 0x84, 0xc1, 0x1f, 0x07, 0xbc, 0x0d, 0xeb,
+ 0x96, 0xf1, 0x1c, 0x5a, 0x38, 0xcb, 0x42, 0xa3, 0x26, 0xa7, 0x37, 0xda, 0x1f, 0x6c, 0xee, 0x2f,
+ 0x49, 0xbe, 0x83, 0xb3, 0x8c, 0x26, 0x1c, 0x41, 0xdb, 0x3e, 0xde, 0x2c, 0xab, 0xd3, 0xa0, 0x96,
+ 0x05, 0xa6, 0x31, 0x7b, 0x06, 0xdd, 0x82, 0xa4, 0x38, 0x2b, 0xf4, 0x1b, 0x3d, 0xa7, 0xbf, 0xcb,
+ 0x3b, 0x16, 0x35, 0x03, 0x3e, 0xa2, 0x19, 0x91, 0x23, 0x6a, 0xbb, 0xd5, 0xed, 0x39, 0xfd, 0x16,
+ 0x6f, 0x19, 0x80, 0xe6, 0xbf, 0x85, 0x6e, 0xb9, 0x34, 0x54, 0x5a, 0x68, 0xe5, 0x37, 0x29, 0xd7,
+ 0xd1, 0xbd, 0xb9, 0xac, 0x84, 0x77, 0x8a, 0x74, 0x9f, 0xcd, 0x57, 0xf0, 0x0a, 0x3a, 0x1b, 0x6f,
+ 0x56, 0xec, 0x04, 0xdc, 0x54, 0xcb, 0xa5, 0xf2, 0x9d, 0x5e, 0xbd, 0xef, 0x8d, 0xf6, 0x06, 0xb6,
+ 0xef, 0xc1, 0x86, 0x88, 0x5b, 0x45, 0xf0, 0xb3, 0x7e, 0x5b, 0xf5, 0x05, 0x45, 0xde, 0x6a, 0xec,
+ 0x18, 0xbc, 0x58, 0x68, 0x91, 0x09, 0x3d, 0x2f, 0xeb, 0x6e, 0x70, 0x28, 0xa1, 0x69, 0xcc, 0x4e,
+ 0xa0, 0x11, 0x4b, 0x15, 0x51, 0x37, 0xf7, 0xd5, 0x69, 0x48, 0x4e, 0x12, 0x36, 0x85, 0xc7, 0xea,
+ 0x26, 0xd5, 0xd1, 0x3c, 0x9c, 0x49, 0xa1, 0xd7, 0xb9, 0x54, 0xd4, 0x97, 0x37, 0xea, 0x6d, 0xb9,
+ 0xee, 0xe8, 0x78, 0xd7, 0x02, 0x97, 0xc5, 0xb7, 0x69, 0x9e, 0x3a, 0xfd, 0x7f, 0x1b, 0x97, 0x22,
+ 0x77, 0x0c, 0x7a, 0x51, 0xde, 0xe7, 0x05, 0xb8, 0xa6, 0x35, 0xe5, 0x7f, 0x7d, 0xb8, 0x8a, 0x49,
+ 0xfb, 0xf7, 0xdf, 0x5f, 0x4f, 0x1b, 0xe6, 0xd9, 0xdc, 0xaa, 0xd9, 0x39, 0xb8, 0x26, 0x8b, 0xf2,
+ 0xbf, 0x39, 0x14, 0x8f, 0x55, 0xe2, 0x5d, 0x1a, 0x6a, 0xe2, 0x1a, 0xd7, 0x23, 0x6e, 0x85, 0xec,
+ 0x0d, 0x78, 0x44, 0x27, 0x39, 0xae, 0x33, 0xe5, 0x7f, 0xb7, 0xbe, 0x83, 0x2d, 0xdf, 0x3b, 0xe2,
+ 0x4b, 0x33, 0xcc, 0x6e, 0x21, 0x36, 0x86, 0xe6, 0x52, 0x6a, 0x99, 0x2b, 0xff, 0x87, 0x35, 0xef,
+ 0x55, 0xcc, 0x1f, 0x88, 0x2b, 0x8d, 0x85, 0x34, 0x78, 0x0d, 0xdd, 0xca, 0xf5, 0x14, 0x3b, 0xad,
+ 0xde, 0x7e, 0xff, 0xce, 0x83, 0xad, 0xac, 0xb8, 0xfe, 0xe4, 0xec, 0xcb, 0x69, 0x92, 0xea, 0xf9,
+ 0xfa, 0x6a, 0x10, 0xe1, 0x92, 0xfe, 0xc3, 0x08, 0xf3, 0x78, 0x68, 0x2d, 0x67, 0xc5, 0xef, 0x99,
+ 0x60, 0x01, 0x5c, 0x35, 0x09, 0x19, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x36, 0x50, 0xf6, 0xd2,
+ 0x24, 0x04, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/voltha/ponsim.pb.go b/vendor/github.com/opencord/voltha-protos/go/voltha/ponsim.pb.go
new file mode 100644
index 0000000..7335bd8
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/voltha/ponsim.pb.go
@@ -0,0 +1,685 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/ponsim.proto
+
+package voltha
+
+import (
+ context "context"
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ empty "github.com/golang/protobuf/ptypes/empty"
+ openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
+ grpc "google.golang.org/grpc"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type PonSimOnuDeviceInfo struct {
+ UniPort int32 `protobuf:"varint,1,opt,name=uni_port,json=uniPort,proto3" json:"uni_port,omitempty"`
+ SerialNumber string `protobuf:"bytes,2,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PonSimOnuDeviceInfo) Reset() { *m = PonSimOnuDeviceInfo{} }
+func (m *PonSimOnuDeviceInfo) String() string { return proto.CompactTextString(m) }
+func (*PonSimOnuDeviceInfo) ProtoMessage() {}
+func (*PonSimOnuDeviceInfo) Descriptor() ([]byte, []int) {
+ return fileDescriptor_352253851b8ea7c0, []int{0}
+}
+
+func (m *PonSimOnuDeviceInfo) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PonSimOnuDeviceInfo.Unmarshal(m, b)
+}
+func (m *PonSimOnuDeviceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PonSimOnuDeviceInfo.Marshal(b, m, deterministic)
+}
+func (m *PonSimOnuDeviceInfo) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimOnuDeviceInfo.Merge(m, src)
+}
+func (m *PonSimOnuDeviceInfo) XXX_Size() int {
+ return xxx_messageInfo_PonSimOnuDeviceInfo.Size(m)
+}
+func (m *PonSimOnuDeviceInfo) XXX_DiscardUnknown() {
+ xxx_messageInfo_PonSimOnuDeviceInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonSimOnuDeviceInfo proto.InternalMessageInfo
+
+func (m *PonSimOnuDeviceInfo) GetUniPort() int32 {
+ if m != nil {
+ return m.UniPort
+ }
+ return 0
+}
+
+func (m *PonSimOnuDeviceInfo) GetSerialNumber() string {
+ if m != nil {
+ return m.SerialNumber
+ }
+ return ""
+}
+
+type PonSimDeviceInfo struct {
+ NniPort int32 `protobuf:"varint,1,opt,name=nni_port,json=nniPort,proto3" json:"nni_port,omitempty"`
+ Onus []*PonSimOnuDeviceInfo `protobuf:"bytes,2,rep,name=onus,proto3" json:"onus,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PonSimDeviceInfo) Reset() { *m = PonSimDeviceInfo{} }
+func (m *PonSimDeviceInfo) String() string { return proto.CompactTextString(m) }
+func (*PonSimDeviceInfo) ProtoMessage() {}
+func (*PonSimDeviceInfo) Descriptor() ([]byte, []int) {
+ return fileDescriptor_352253851b8ea7c0, []int{1}
+}
+
+func (m *PonSimDeviceInfo) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PonSimDeviceInfo.Unmarshal(m, b)
+}
+func (m *PonSimDeviceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PonSimDeviceInfo.Marshal(b, m, deterministic)
+}
+func (m *PonSimDeviceInfo) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimDeviceInfo.Merge(m, src)
+}
+func (m *PonSimDeviceInfo) XXX_Size() int {
+ return xxx_messageInfo_PonSimDeviceInfo.Size(m)
+}
+func (m *PonSimDeviceInfo) XXX_DiscardUnknown() {
+ xxx_messageInfo_PonSimDeviceInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonSimDeviceInfo proto.InternalMessageInfo
+
+func (m *PonSimDeviceInfo) GetNniPort() int32 {
+ if m != nil {
+ return m.NniPort
+ }
+ return 0
+}
+
+func (m *PonSimDeviceInfo) GetOnus() []*PonSimOnuDeviceInfo {
+ if m != nil {
+ return m.Onus
+ }
+ return nil
+}
+
+type FlowTable struct {
+ Port int32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
+ Flows []*openflow_13.OfpFlowStats `protobuf:"bytes,2,rep,name=flows,proto3" json:"flows,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FlowTable) Reset() { *m = FlowTable{} }
+func (m *FlowTable) String() string { return proto.CompactTextString(m) }
+func (*FlowTable) ProtoMessage() {}
+func (*FlowTable) Descriptor() ([]byte, []int) {
+ return fileDescriptor_352253851b8ea7c0, []int{2}
+}
+
+func (m *FlowTable) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FlowTable.Unmarshal(m, b)
+}
+func (m *FlowTable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FlowTable.Marshal(b, m, deterministic)
+}
+func (m *FlowTable) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FlowTable.Merge(m, src)
+}
+func (m *FlowTable) XXX_Size() int {
+ return xxx_messageInfo_FlowTable.Size(m)
+}
+func (m *FlowTable) XXX_DiscardUnknown() {
+ xxx_messageInfo_FlowTable.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FlowTable proto.InternalMessageInfo
+
+func (m *FlowTable) GetPort() int32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+func (m *FlowTable) GetFlows() []*openflow_13.OfpFlowStats {
+ if m != nil {
+ return m.Flows
+ }
+ return nil
+}
+
+type PonSimFrame struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
+ OutPort int32 `protobuf:"varint,3,opt,name=out_port,json=outPort,proto3" json:"out_port,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PonSimFrame) Reset() { *m = PonSimFrame{} }
+func (m *PonSimFrame) String() string { return proto.CompactTextString(m) }
+func (*PonSimFrame) ProtoMessage() {}
+func (*PonSimFrame) Descriptor() ([]byte, []int) {
+ return fileDescriptor_352253851b8ea7c0, []int{3}
+}
+
+func (m *PonSimFrame) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PonSimFrame.Unmarshal(m, b)
+}
+func (m *PonSimFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PonSimFrame.Marshal(b, m, deterministic)
+}
+func (m *PonSimFrame) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimFrame.Merge(m, src)
+}
+func (m *PonSimFrame) XXX_Size() int {
+ return xxx_messageInfo_PonSimFrame.Size(m)
+}
+func (m *PonSimFrame) XXX_DiscardUnknown() {
+ xxx_messageInfo_PonSimFrame.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonSimFrame proto.InternalMessageInfo
+
+func (m *PonSimFrame) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *PonSimFrame) GetPayload() []byte {
+ if m != nil {
+ return m.Payload
+ }
+ return nil
+}
+
+func (m *PonSimFrame) GetOutPort() int32 {
+ if m != nil {
+ return m.OutPort
+ }
+ return 0
+}
+
+type PonSimPacketCounter struct {
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PonSimPacketCounter) Reset() { *m = PonSimPacketCounter{} }
+func (m *PonSimPacketCounter) String() string { return proto.CompactTextString(m) }
+func (*PonSimPacketCounter) ProtoMessage() {}
+func (*PonSimPacketCounter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_352253851b8ea7c0, []int{4}
+}
+
+func (m *PonSimPacketCounter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PonSimPacketCounter.Unmarshal(m, b)
+}
+func (m *PonSimPacketCounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PonSimPacketCounter.Marshal(b, m, deterministic)
+}
+func (m *PonSimPacketCounter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimPacketCounter.Merge(m, src)
+}
+func (m *PonSimPacketCounter) XXX_Size() int {
+ return xxx_messageInfo_PonSimPacketCounter.Size(m)
+}
+func (m *PonSimPacketCounter) XXX_DiscardUnknown() {
+ xxx_messageInfo_PonSimPacketCounter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonSimPacketCounter proto.InternalMessageInfo
+
+func (m *PonSimPacketCounter) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *PonSimPacketCounter) GetValue() int64 {
+ if m != nil {
+ return m.Value
+ }
+ return 0
+}
+
+type PonSimPortMetrics struct {
+ PortName string `protobuf:"bytes,1,opt,name=port_name,json=portName,proto3" json:"port_name,omitempty"`
+ Packets []*PonSimPacketCounter `protobuf:"bytes,2,rep,name=packets,proto3" json:"packets,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PonSimPortMetrics) Reset() { *m = PonSimPortMetrics{} }
+func (m *PonSimPortMetrics) String() string { return proto.CompactTextString(m) }
+func (*PonSimPortMetrics) ProtoMessage() {}
+func (*PonSimPortMetrics) Descriptor() ([]byte, []int) {
+ return fileDescriptor_352253851b8ea7c0, []int{5}
+}
+
+func (m *PonSimPortMetrics) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PonSimPortMetrics.Unmarshal(m, b)
+}
+func (m *PonSimPortMetrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PonSimPortMetrics.Marshal(b, m, deterministic)
+}
+func (m *PonSimPortMetrics) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimPortMetrics.Merge(m, src)
+}
+func (m *PonSimPortMetrics) XXX_Size() int {
+ return xxx_messageInfo_PonSimPortMetrics.Size(m)
+}
+func (m *PonSimPortMetrics) XXX_DiscardUnknown() {
+ xxx_messageInfo_PonSimPortMetrics.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonSimPortMetrics proto.InternalMessageInfo
+
+func (m *PonSimPortMetrics) GetPortName() string {
+ if m != nil {
+ return m.PortName
+ }
+ return ""
+}
+
+func (m *PonSimPortMetrics) GetPackets() []*PonSimPacketCounter {
+ if m != nil {
+ return m.Packets
+ }
+ return nil
+}
+
+type PonSimMetrics struct {
+ Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
+ Metrics []*PonSimPortMetrics `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PonSimMetrics) Reset() { *m = PonSimMetrics{} }
+func (m *PonSimMetrics) String() string { return proto.CompactTextString(m) }
+func (*PonSimMetrics) ProtoMessage() {}
+func (*PonSimMetrics) Descriptor() ([]byte, []int) {
+ return fileDescriptor_352253851b8ea7c0, []int{6}
+}
+
+func (m *PonSimMetrics) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PonSimMetrics.Unmarshal(m, b)
+}
+func (m *PonSimMetrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PonSimMetrics.Marshal(b, m, deterministic)
+}
+func (m *PonSimMetrics) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimMetrics.Merge(m, src)
+}
+func (m *PonSimMetrics) XXX_Size() int {
+ return xxx_messageInfo_PonSimMetrics.Size(m)
+}
+func (m *PonSimMetrics) XXX_DiscardUnknown() {
+ xxx_messageInfo_PonSimMetrics.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonSimMetrics proto.InternalMessageInfo
+
+func (m *PonSimMetrics) GetDevice() string {
+ if m != nil {
+ return m.Device
+ }
+ return ""
+}
+
+func (m *PonSimMetrics) GetMetrics() []*PonSimPortMetrics {
+ if m != nil {
+ return m.Metrics
+ }
+ return nil
+}
+
+type PonSimMetricsRequest struct {
+ Port int32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PonSimMetricsRequest) Reset() { *m = PonSimMetricsRequest{} }
+func (m *PonSimMetricsRequest) String() string { return proto.CompactTextString(m) }
+func (*PonSimMetricsRequest) ProtoMessage() {}
+func (*PonSimMetricsRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_352253851b8ea7c0, []int{7}
+}
+
+func (m *PonSimMetricsRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PonSimMetricsRequest.Unmarshal(m, b)
+}
+func (m *PonSimMetricsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PonSimMetricsRequest.Marshal(b, m, deterministic)
+}
+func (m *PonSimMetricsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimMetricsRequest.Merge(m, src)
+}
+func (m *PonSimMetricsRequest) XXX_Size() int {
+ return xxx_messageInfo_PonSimMetricsRequest.Size(m)
+}
+func (m *PonSimMetricsRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_PonSimMetricsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonSimMetricsRequest proto.InternalMessageInfo
+
+func (m *PonSimMetricsRequest) GetPort() int32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+func init() {
+ proto.RegisterType((*PonSimOnuDeviceInfo)(nil), "voltha.PonSimOnuDeviceInfo")
+ proto.RegisterType((*PonSimDeviceInfo)(nil), "voltha.PonSimDeviceInfo")
+ proto.RegisterType((*FlowTable)(nil), "voltha.FlowTable")
+ proto.RegisterType((*PonSimFrame)(nil), "voltha.PonSimFrame")
+ proto.RegisterType((*PonSimPacketCounter)(nil), "voltha.PonSimPacketCounter")
+ proto.RegisterType((*PonSimPortMetrics)(nil), "voltha.PonSimPortMetrics")
+ proto.RegisterType((*PonSimMetrics)(nil), "voltha.PonSimMetrics")
+ proto.RegisterType((*PonSimMetricsRequest)(nil), "voltha.PonSimMetricsRequest")
+}
+
+func init() { proto.RegisterFile("voltha_protos/ponsim.proto", fileDescriptor_352253851b8ea7c0) }
+
+var fileDescriptor_352253851b8ea7c0 = []byte{
+ // 555 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x41, 0x6f, 0xd3, 0x4e,
+ 0x10, 0xc5, 0x93, 0xb4, 0x4d, 0x9b, 0x69, 0xf3, 0xff, 0xd3, 0x6d, 0xa9, 0xd2, 0xf4, 0x40, 0xb4,
+ 0x5c, 0x22, 0x50, 0x1d, 0xda, 0x88, 0x0b, 0x48, 0x80, 0x28, 0xb4, 0xe2, 0x40, 0x89, 0x36, 0xf4,
+ 0x82, 0x10, 0x96, 0x63, 0x4f, 0x52, 0x0b, 0x7b, 0xc7, 0xd8, 0xbb, 0xa9, 0xfa, 0x0d, 0xf9, 0x58,
+ 0xc8, 0xbb, 0x36, 0x89, 0xab, 0x84, 0xdb, 0xee, 0xf8, 0xe5, 0xf7, 0xe6, 0x8d, 0x27, 0x86, 0xee,
+ 0x9c, 0x22, 0x75, 0xeb, 0xb9, 0x49, 0x4a, 0x8a, 0xb2, 0x41, 0x42, 0x32, 0x0b, 0x63, 0xc7, 0xdc,
+ 0x58, 0xd3, 0x3e, 0xeb, 0x9e, 0xcc, 0x88, 0x66, 0x11, 0x0e, 0x4c, 0x75, 0xa2, 0xa7, 0x03, 0x8c,
+ 0x13, 0x75, 0x6f, 0x45, 0xdd, 0x27, 0x55, 0x00, 0x25, 0x28, 0xa7, 0x11, 0xdd, 0xb9, 0x67, 0x43,
+ 0x2b, 0xe0, 0x37, 0x70, 0x30, 0x22, 0x39, 0x0e, 0xe3, 0x2f, 0x52, 0x7f, 0xc0, 0x79, 0xe8, 0xe3,
+ 0x27, 0x39, 0x25, 0x76, 0x0c, 0x3b, 0x5a, 0x86, 0x6e, 0x42, 0xa9, 0xea, 0xd4, 0x7b, 0xf5, 0xfe,
+ 0x96, 0xd8, 0xd6, 0x32, 0x1c, 0x51, 0xaa, 0xd8, 0x53, 0x68, 0x67, 0x98, 0x86, 0x5e, 0xe4, 0x4a,
+ 0x1d, 0x4f, 0x30, 0xed, 0x34, 0x7a, 0xf5, 0x7e, 0x4b, 0xec, 0xd9, 0xe2, 0xb5, 0xa9, 0xf1, 0x1f,
+ 0xf0, 0xc8, 0x62, 0xab, 0x4c, 0xf9, 0x80, 0x29, 0x0b, 0xe6, 0x00, 0x36, 0x49, 0xea, 0xac, 0xd3,
+ 0xe8, 0x6d, 0xf4, 0x77, 0xcf, 0x4f, 0x1c, 0xdb, 0xb5, 0xb3, 0xa2, 0x33, 0x61, 0x84, 0x5c, 0x40,
+ 0xeb, 0x32, 0xa2, 0xbb, 0xaf, 0xde, 0x24, 0x42, 0xc6, 0x60, 0x73, 0x09, 0x6a, 0xce, 0xec, 0x0c,
+ 0xb6, 0xf2, 0xa0, 0x0b, 0xe4, 0x72, 0x74, 0x9a, 0x26, 0xae, 0x39, 0x67, 0xca, 0x53, 0x99, 0xb0,
+ 0x4a, 0x2e, 0x60, 0xd7, 0x1a, 0x5e, 0xa6, 0x5e, 0x8c, 0xec, 0x3f, 0x68, 0x84, 0x81, 0x61, 0xb6,
+ 0x44, 0x23, 0x0c, 0x58, 0x07, 0xb6, 0x13, 0xef, 0x3e, 0x22, 0x2f, 0x30, 0x89, 0xf7, 0x44, 0x79,
+ 0xcd, 0x83, 0x91, 0x56, 0x36, 0xd8, 0x86, 0x0d, 0x46, 0x5a, 0xe5, 0xc1, 0xf8, 0xdb, 0x72, 0xbc,
+ 0x23, 0xcf, 0xff, 0x89, 0xea, 0x82, 0xb4, 0x54, 0x98, 0xe6, 0x1d, 0x4b, 0x2f, 0xc6, 0x82, 0x6e,
+ 0xce, 0xec, 0x10, 0xb6, 0xe6, 0x5e, 0xa4, 0xd1, 0xd0, 0x37, 0x84, 0xbd, 0xf0, 0x19, 0xec, 0x17,
+ 0x00, 0x4a, 0xd5, 0x67, 0x54, 0x69, 0xe8, 0x67, 0xec, 0x04, 0x5a, 0xb9, 0x99, 0xbb, 0xc4, 0xd8,
+ 0xc9, 0x0b, 0xd7, 0x39, 0xe7, 0x65, 0xde, 0x67, 0x6e, 0xb6, 0x66, 0x9c, 0x95, 0x4e, 0x44, 0xa9,
+ 0xe5, 0xdf, 0xa1, 0x6d, 0x9f, 0x97, 0x26, 0x47, 0xd0, 0x0c, 0xcc, 0xd8, 0x0b, 0x87, 0xe2, 0xc6,
+ 0x86, 0xb0, 0x1d, 0x5b, 0x49, 0xc1, 0x3f, 0x7e, 0xc0, 0x5f, 0x34, 0x2a, 0x4a, 0x25, 0x7f, 0x06,
+ 0x87, 0x15, 0xba, 0xc0, 0x5f, 0x1a, 0x33, 0xb5, 0xea, 0xd5, 0x9d, 0xff, 0x6e, 0x40, 0xd3, 0x8a,
+ 0xd9, 0x2b, 0x68, 0x8d, 0x51, 0x06, 0xf6, 0x85, 0x1c, 0x54, 0x7d, 0x4c, 0xb1, 0x7b, 0xe4, 0xd8,
+ 0xf5, 0x77, 0xca, 0xf5, 0x77, 0x3e, 0xe6, 0xeb, 0xcf, 0x6b, 0xec, 0x1d, 0xb4, 0x05, 0xfa, 0x18,
+ 0xce, 0xd1, 0x28, 0x33, 0xb6, 0x46, 0xda, 0x5d, 0xc5, 0xe5, 0xb5, 0x17, 0x75, 0x76, 0x01, 0xed,
+ 0x2b, 0x54, 0x4b, 0x1b, 0xbc, 0x8e, 0xd0, 0xa9, 0x12, 0x16, 0xbf, 0xe0, 0x35, 0xf6, 0x06, 0xfe,
+ 0xbf, 0x49, 0x02, 0x4f, 0xe1, 0x62, 0x5f, 0xf7, 0x4b, 0xf9, 0xdf, 0xd2, 0x3f, 0x62, 0xbc, 0x86,
+ 0x9d, 0x2b, 0x54, 0xe3, 0x7c, 0x51, 0xd7, 0xfa, 0x3f, 0xae, 0xfa, 0x17, 0x33, 0xe6, 0xb5, 0xf7,
+ 0xa7, 0xdf, 0x9e, 0xcf, 0x42, 0x75, 0xab, 0x27, 0x8e, 0x4f, 0xb1, 0xf9, 0xf7, 0xfb, 0x94, 0x06,
+ 0x03, 0xab, 0x3e, 0x2d, 0x3e, 0x0a, 0x33, 0x2a, 0x0a, 0x93, 0xa6, 0xa9, 0x0c, 0xff, 0x04, 0x00,
+ 0x00, 0xff, 0xff, 0x62, 0xcb, 0x74, 0xbe, 0x77, 0x04, 0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion4
+
+// PonSimClient is the client API for PonSim service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type PonSimClient interface {
+ SendFrame(ctx context.Context, in *PonSimFrame, opts ...grpc.CallOption) (*empty.Empty, error)
+ ReceiveFrames(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (PonSim_ReceiveFramesClient, error)
+ GetDeviceInfo(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PonSimDeviceInfo, error)
+ UpdateFlowTable(ctx context.Context, in *FlowTable, opts ...grpc.CallOption) (*empty.Empty, error)
+ GetStats(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PonSimMetrics, error)
+}
+
+type ponSimClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewPonSimClient(cc *grpc.ClientConn) PonSimClient {
+ return &ponSimClient{cc}
+}
+
+func (c *ponSimClient) SendFrame(ctx context.Context, in *PonSimFrame, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.PonSim/SendFrame", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *ponSimClient) ReceiveFrames(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (PonSim_ReceiveFramesClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_PonSim_serviceDesc.Streams[0], "/voltha.PonSim/ReceiveFrames", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &ponSimReceiveFramesClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type PonSim_ReceiveFramesClient interface {
+ Recv() (*PonSimFrame, error)
+ grpc.ClientStream
+}
+
+type ponSimReceiveFramesClient struct {
+ grpc.ClientStream
+}
+
+func (x *ponSimReceiveFramesClient) Recv() (*PonSimFrame, error) {
+ m := new(PonSimFrame)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *ponSimClient) GetDeviceInfo(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PonSimDeviceInfo, error) {
+ out := new(PonSimDeviceInfo)
+ err := c.cc.Invoke(ctx, "/voltha.PonSim/GetDeviceInfo", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *ponSimClient) UpdateFlowTable(ctx context.Context, in *FlowTable, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.PonSim/UpdateFlowTable", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *ponSimClient) GetStats(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PonSimMetrics, error) {
+ out := new(PonSimMetrics)
+ err := c.cc.Invoke(ctx, "/voltha.PonSim/GetStats", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// PonSimServer is the server API for PonSim service.
+type PonSimServer interface {
+ SendFrame(context.Context, *PonSimFrame) (*empty.Empty, error)
+ ReceiveFrames(*empty.Empty, PonSim_ReceiveFramesServer) error
+ GetDeviceInfo(context.Context, *empty.Empty) (*PonSimDeviceInfo, error)
+ UpdateFlowTable(context.Context, *FlowTable) (*empty.Empty, error)
+ GetStats(context.Context, *empty.Empty) (*PonSimMetrics, error)
+}
+
+func RegisterPonSimServer(s *grpc.Server, srv PonSimServer) {
+ s.RegisterService(&_PonSim_serviceDesc, srv)
+}
+
+func _PonSim_SendFrame_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(PonSimFrame)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(PonSimServer).SendFrame(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.PonSim/SendFrame",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(PonSimServer).SendFrame(ctx, req.(*PonSimFrame))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _PonSim_ReceiveFrames_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(empty.Empty)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(PonSimServer).ReceiveFrames(m, &ponSimReceiveFramesServer{stream})
+}
+
+type PonSim_ReceiveFramesServer interface {
+ Send(*PonSimFrame) error
+ grpc.ServerStream
+}
+
+type ponSimReceiveFramesServer struct {
+ grpc.ServerStream
+}
+
+func (x *ponSimReceiveFramesServer) Send(m *PonSimFrame) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func _PonSim_GetDeviceInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(PonSimServer).GetDeviceInfo(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.PonSim/GetDeviceInfo",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(PonSimServer).GetDeviceInfo(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _PonSim_UpdateFlowTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(FlowTable)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(PonSimServer).UpdateFlowTable(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.PonSim/UpdateFlowTable",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(PonSimServer).UpdateFlowTable(ctx, req.(*FlowTable))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _PonSim_GetStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(PonSimServer).GetStats(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.PonSim/GetStats",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(PonSimServer).GetStats(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _PonSim_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "voltha.PonSim",
+ HandlerType: (*PonSimServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "SendFrame",
+ Handler: _PonSim_SendFrame_Handler,
+ },
+ {
+ MethodName: "GetDeviceInfo",
+ Handler: _PonSim_GetDeviceInfo_Handler,
+ },
+ {
+ MethodName: "UpdateFlowTable",
+ Handler: _PonSim_UpdateFlowTable_Handler,
+ },
+ {
+ MethodName: "GetStats",
+ Handler: _PonSim_GetStats_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "ReceiveFrames",
+ Handler: _PonSim_ReceiveFrames_Handler,
+ ServerStreams: true,
+ },
+ },
+ Metadata: "voltha_protos/ponsim.proto",
+}
diff --git a/vendor/github.com/opencord/voltha-protos/go/voltha/voltha.pb.go b/vendor/github.com/opencord/voltha-protos/go/voltha/voltha.pb.go
new file mode 100644
index 0000000..17eaecf
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/go/voltha/voltha.pb.go
@@ -0,0 +1,4358 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/voltha.proto
+
+package voltha
+
+import (
+ context "context"
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ empty "github.com/golang/protobuf/ptypes/empty"
+ common "github.com/opencord/voltha-protos/go/common"
+ omci "github.com/opencord/voltha-protos/go/omci"
+ openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ grpc "google.golang.org/grpc"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// ChildNode from public import voltha_protos/meta.proto
+type ChildNode = common.ChildNode
+
+// Access from public import voltha_protos/meta.proto
+type Access = common.Access
+
+var Access_name = common.Access_name
+var Access_value = common.Access_value
+
+const Access_CONFIG = Access(common.Access_CONFIG)
+const Access_READ_ONLY = Access(common.Access_READ_ONLY)
+const Access_REAL_TIME = Access(common.Access_REAL_TIME)
+
+var E_ChildNode = common.E_ChildNode
+
+var E_Access = common.E_Access
+
+// ID from public import voltha_protos/common.proto
+type ID = common.ID
+
+// IDs from public import voltha_protos/common.proto
+type IDs = common.IDs
+
+// LogLevel from public import voltha_protos/common.proto
+type LogLevel = common.LogLevel
+
+// Logging from public import voltha_protos/common.proto
+type Logging = common.Logging
+
+// LoggingComponent from public import voltha_protos/common.proto
+type LoggingComponent = common.LoggingComponent
+
+// Loggings from public import voltha_protos/common.proto
+type Loggings = common.Loggings
+
+// AdminState from public import voltha_protos/common.proto
+type AdminState = common.AdminState
+
+// OperStatus from public import voltha_protos/common.proto
+type OperStatus = common.OperStatus
+
+// ConnectStatus from public import voltha_protos/common.proto
+type ConnectStatus = common.ConnectStatus
+
+// OperationResp from public import voltha_protos/common.proto
+type OperationResp = common.OperationResp
+
+// TestModeKeys from public import voltha_protos/common.proto
+type TestModeKeys = common.TestModeKeys
+
+var TestModeKeys_name = common.TestModeKeys_name
+var TestModeKeys_value = common.TestModeKeys_value
+
+const TestModeKeys_api_test = TestModeKeys(common.TestModeKeys_api_test)
+
+// LogLevel_LogLevel from public import voltha_protos/common.proto
+type LogLevel_LogLevel = common.LogLevel_LogLevel
+
+var LogLevel_LogLevel_name = common.LogLevel_LogLevel_name
+var LogLevel_LogLevel_value = common.LogLevel_LogLevel_value
+
+const LogLevel_DEBUG = LogLevel_LogLevel(common.LogLevel_DEBUG)
+const LogLevel_INFO = LogLevel_LogLevel(common.LogLevel_INFO)
+const LogLevel_WARNING = LogLevel_LogLevel(common.LogLevel_WARNING)
+const LogLevel_ERROR = LogLevel_LogLevel(common.LogLevel_ERROR)
+const LogLevel_CRITICAL = LogLevel_LogLevel(common.LogLevel_CRITICAL)
+const LogLevel_FATAL = LogLevel_LogLevel(common.LogLevel_FATAL)
+
+// AdminState_AdminState from public import voltha_protos/common.proto
+type AdminState_AdminState = common.AdminState_AdminState
+
+var AdminState_AdminState_name = common.AdminState_AdminState_name
+var AdminState_AdminState_value = common.AdminState_AdminState_value
+
+const AdminState_UNKNOWN = AdminState_AdminState(common.AdminState_UNKNOWN)
+const AdminState_PREPROVISIONED = AdminState_AdminState(common.AdminState_PREPROVISIONED)
+const AdminState_ENABLED = AdminState_AdminState(common.AdminState_ENABLED)
+const AdminState_DISABLED = AdminState_AdminState(common.AdminState_DISABLED)
+const AdminState_DOWNLOADING_IMAGE = AdminState_AdminState(common.AdminState_DOWNLOADING_IMAGE)
+const AdminState_DELETED = AdminState_AdminState(common.AdminState_DELETED)
+
+// OperStatus_OperStatus from public import voltha_protos/common.proto
+type OperStatus_OperStatus = common.OperStatus_OperStatus
+
+var OperStatus_OperStatus_name = common.OperStatus_OperStatus_name
+var OperStatus_OperStatus_value = common.OperStatus_OperStatus_value
+
+const OperStatus_UNKNOWN = OperStatus_OperStatus(common.OperStatus_UNKNOWN)
+const OperStatus_DISCOVERED = OperStatus_OperStatus(common.OperStatus_DISCOVERED)
+const OperStatus_ACTIVATING = OperStatus_OperStatus(common.OperStatus_ACTIVATING)
+const OperStatus_TESTING = OperStatus_OperStatus(common.OperStatus_TESTING)
+const OperStatus_ACTIVE = OperStatus_OperStatus(common.OperStatus_ACTIVE)
+const OperStatus_FAILED = OperStatus_OperStatus(common.OperStatus_FAILED)
+
+// ConnectStatus_ConnectStatus from public import voltha_protos/common.proto
+type ConnectStatus_ConnectStatus = common.ConnectStatus_ConnectStatus
+
+var ConnectStatus_ConnectStatus_name = common.ConnectStatus_ConnectStatus_name
+var ConnectStatus_ConnectStatus_value = common.ConnectStatus_ConnectStatus_value
+
+const ConnectStatus_UNKNOWN = ConnectStatus_ConnectStatus(common.ConnectStatus_UNKNOWN)
+const ConnectStatus_UNREACHABLE = ConnectStatus_ConnectStatus(common.ConnectStatus_UNREACHABLE)
+const ConnectStatus_REACHABLE = ConnectStatus_ConnectStatus(common.ConnectStatus_REACHABLE)
+
+// OperationResp_OperationReturnCode from public import voltha_protos/common.proto
+type OperationResp_OperationReturnCode = common.OperationResp_OperationReturnCode
+
+var OperationResp_OperationReturnCode_name = common.OperationResp_OperationReturnCode_name
+var OperationResp_OperationReturnCode_value = common.OperationResp_OperationReturnCode_value
+
+const OperationResp_OPERATION_SUCCESS = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_SUCCESS)
+const OperationResp_OPERATION_FAILURE = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_FAILURE)
+const OperationResp_OPERATION_UNSUPPORTED = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_UNSUPPORTED)
+
+// OfpHeader from public import voltha_protos/openflow_13.proto
+type OfpHeader = openflow_13.OfpHeader
+
+// OfpHelloElemHeader from public import voltha_protos/openflow_13.proto
+type OfpHelloElemHeader = openflow_13.OfpHelloElemHeader
+type OfpHelloElemHeader_Versionbitmap = openflow_13.OfpHelloElemHeader_Versionbitmap
+
+// OfpHelloElemVersionbitmap from public import voltha_protos/openflow_13.proto
+type OfpHelloElemVersionbitmap = openflow_13.OfpHelloElemVersionbitmap
+
+// OfpHello from public import voltha_protos/openflow_13.proto
+type OfpHello = openflow_13.OfpHello
+
+// OfpSwitchConfig from public import voltha_protos/openflow_13.proto
+type OfpSwitchConfig = openflow_13.OfpSwitchConfig
+
+// OfpTableMod from public import voltha_protos/openflow_13.proto
+type OfpTableMod = openflow_13.OfpTableMod
+
+// OfpPort from public import voltha_protos/openflow_13.proto
+type OfpPort = openflow_13.OfpPort
+
+// OfpSwitchFeatures from public import voltha_protos/openflow_13.proto
+type OfpSwitchFeatures = openflow_13.OfpSwitchFeatures
+
+// OfpPortStatus from public import voltha_protos/openflow_13.proto
+type OfpPortStatus = openflow_13.OfpPortStatus
+
+// OfpPortMod from public import voltha_protos/openflow_13.proto
+type OfpPortMod = openflow_13.OfpPortMod
+
+// OfpMatch from public import voltha_protos/openflow_13.proto
+type OfpMatch = openflow_13.OfpMatch
+
+// OfpOxmField from public import voltha_protos/openflow_13.proto
+type OfpOxmField = openflow_13.OfpOxmField
+type OfpOxmField_OfbField = openflow_13.OfpOxmField_OfbField
+type OfpOxmField_ExperimenterField = openflow_13.OfpOxmField_ExperimenterField
+
+// OfpOxmOfbField from public import voltha_protos/openflow_13.proto
+type OfpOxmOfbField = openflow_13.OfpOxmOfbField
+type OfpOxmOfbField_Port = openflow_13.OfpOxmOfbField_Port
+type OfpOxmOfbField_PhysicalPort = openflow_13.OfpOxmOfbField_PhysicalPort
+type OfpOxmOfbField_TableMetadata = openflow_13.OfpOxmOfbField_TableMetadata
+type OfpOxmOfbField_EthDst = openflow_13.OfpOxmOfbField_EthDst
+type OfpOxmOfbField_EthSrc = openflow_13.OfpOxmOfbField_EthSrc
+type OfpOxmOfbField_EthType = openflow_13.OfpOxmOfbField_EthType
+type OfpOxmOfbField_VlanVid = openflow_13.OfpOxmOfbField_VlanVid
+type OfpOxmOfbField_VlanPcp = openflow_13.OfpOxmOfbField_VlanPcp
+type OfpOxmOfbField_IpDscp = openflow_13.OfpOxmOfbField_IpDscp
+type OfpOxmOfbField_IpEcn = openflow_13.OfpOxmOfbField_IpEcn
+type OfpOxmOfbField_IpProto = openflow_13.OfpOxmOfbField_IpProto
+type OfpOxmOfbField_Ipv4Src = openflow_13.OfpOxmOfbField_Ipv4Src
+type OfpOxmOfbField_Ipv4Dst = openflow_13.OfpOxmOfbField_Ipv4Dst
+type OfpOxmOfbField_TcpSrc = openflow_13.OfpOxmOfbField_TcpSrc
+type OfpOxmOfbField_TcpDst = openflow_13.OfpOxmOfbField_TcpDst
+type OfpOxmOfbField_UdpSrc = openflow_13.OfpOxmOfbField_UdpSrc
+type OfpOxmOfbField_UdpDst = openflow_13.OfpOxmOfbField_UdpDst
+type OfpOxmOfbField_SctpSrc = openflow_13.OfpOxmOfbField_SctpSrc
+type OfpOxmOfbField_SctpDst = openflow_13.OfpOxmOfbField_SctpDst
+type OfpOxmOfbField_Icmpv4Type = openflow_13.OfpOxmOfbField_Icmpv4Type
+type OfpOxmOfbField_Icmpv4Code = openflow_13.OfpOxmOfbField_Icmpv4Code
+type OfpOxmOfbField_ArpOp = openflow_13.OfpOxmOfbField_ArpOp
+type OfpOxmOfbField_ArpSpa = openflow_13.OfpOxmOfbField_ArpSpa
+type OfpOxmOfbField_ArpTpa = openflow_13.OfpOxmOfbField_ArpTpa
+type OfpOxmOfbField_ArpSha = openflow_13.OfpOxmOfbField_ArpSha
+type OfpOxmOfbField_ArpTha = openflow_13.OfpOxmOfbField_ArpTha
+type OfpOxmOfbField_Ipv6Src = openflow_13.OfpOxmOfbField_Ipv6Src
+type OfpOxmOfbField_Ipv6Dst = openflow_13.OfpOxmOfbField_Ipv6Dst
+type OfpOxmOfbField_Ipv6Flabel = openflow_13.OfpOxmOfbField_Ipv6Flabel
+type OfpOxmOfbField_Icmpv6Type = openflow_13.OfpOxmOfbField_Icmpv6Type
+type OfpOxmOfbField_Icmpv6Code = openflow_13.OfpOxmOfbField_Icmpv6Code
+type OfpOxmOfbField_Ipv6NdTarget = openflow_13.OfpOxmOfbField_Ipv6NdTarget
+type OfpOxmOfbField_Ipv6NdSsl = openflow_13.OfpOxmOfbField_Ipv6NdSsl
+type OfpOxmOfbField_Ipv6NdTll = openflow_13.OfpOxmOfbField_Ipv6NdTll
+type OfpOxmOfbField_MplsLabel = openflow_13.OfpOxmOfbField_MplsLabel
+type OfpOxmOfbField_MplsTc = openflow_13.OfpOxmOfbField_MplsTc
+type OfpOxmOfbField_MplsBos = openflow_13.OfpOxmOfbField_MplsBos
+type OfpOxmOfbField_PbbIsid = openflow_13.OfpOxmOfbField_PbbIsid
+type OfpOxmOfbField_TunnelId = openflow_13.OfpOxmOfbField_TunnelId
+type OfpOxmOfbField_Ipv6Exthdr = openflow_13.OfpOxmOfbField_Ipv6Exthdr
+type OfpOxmOfbField_TableMetadataMask = openflow_13.OfpOxmOfbField_TableMetadataMask
+type OfpOxmOfbField_EthDstMask = openflow_13.OfpOxmOfbField_EthDstMask
+type OfpOxmOfbField_EthSrcMask = openflow_13.OfpOxmOfbField_EthSrcMask
+type OfpOxmOfbField_VlanVidMask = openflow_13.OfpOxmOfbField_VlanVidMask
+type OfpOxmOfbField_Ipv4SrcMask = openflow_13.OfpOxmOfbField_Ipv4SrcMask
+type OfpOxmOfbField_Ipv4DstMask = openflow_13.OfpOxmOfbField_Ipv4DstMask
+type OfpOxmOfbField_ArpSpaMask = openflow_13.OfpOxmOfbField_ArpSpaMask
+type OfpOxmOfbField_ArpTpaMask = openflow_13.OfpOxmOfbField_ArpTpaMask
+type OfpOxmOfbField_Ipv6SrcMask = openflow_13.OfpOxmOfbField_Ipv6SrcMask
+type OfpOxmOfbField_Ipv6DstMask = openflow_13.OfpOxmOfbField_Ipv6DstMask
+type OfpOxmOfbField_Ipv6FlabelMask = openflow_13.OfpOxmOfbField_Ipv6FlabelMask
+type OfpOxmOfbField_PbbIsidMask = openflow_13.OfpOxmOfbField_PbbIsidMask
+type OfpOxmOfbField_TunnelIdMask = openflow_13.OfpOxmOfbField_TunnelIdMask
+type OfpOxmOfbField_Ipv6ExthdrMask = openflow_13.OfpOxmOfbField_Ipv6ExthdrMask
+
+// OfpOxmExperimenterField from public import voltha_protos/openflow_13.proto
+type OfpOxmExperimenterField = openflow_13.OfpOxmExperimenterField
+
+// OfpAction from public import voltha_protos/openflow_13.proto
+type OfpAction = openflow_13.OfpAction
+type OfpAction_Output = openflow_13.OfpAction_Output
+type OfpAction_MplsTtl = openflow_13.OfpAction_MplsTtl
+type OfpAction_Push = openflow_13.OfpAction_Push
+type OfpAction_PopMpls = openflow_13.OfpAction_PopMpls
+type OfpAction_Group = openflow_13.OfpAction_Group
+type OfpAction_NwTtl = openflow_13.OfpAction_NwTtl
+type OfpAction_SetField = openflow_13.OfpAction_SetField
+type OfpAction_Experimenter = openflow_13.OfpAction_Experimenter
+
+// OfpActionOutput from public import voltha_protos/openflow_13.proto
+type OfpActionOutput = openflow_13.OfpActionOutput
+
+// OfpActionMplsTtl from public import voltha_protos/openflow_13.proto
+type OfpActionMplsTtl = openflow_13.OfpActionMplsTtl
+
+// OfpActionPush from public import voltha_protos/openflow_13.proto
+type OfpActionPush = openflow_13.OfpActionPush
+
+// OfpActionPopMpls from public import voltha_protos/openflow_13.proto
+type OfpActionPopMpls = openflow_13.OfpActionPopMpls
+
+// OfpActionGroup from public import voltha_protos/openflow_13.proto
+type OfpActionGroup = openflow_13.OfpActionGroup
+
+// OfpActionNwTtl from public import voltha_protos/openflow_13.proto
+type OfpActionNwTtl = openflow_13.OfpActionNwTtl
+
+// OfpActionSetField from public import voltha_protos/openflow_13.proto
+type OfpActionSetField = openflow_13.OfpActionSetField
+
+// OfpActionExperimenter from public import voltha_protos/openflow_13.proto
+type OfpActionExperimenter = openflow_13.OfpActionExperimenter
+
+// OfpInstruction from public import voltha_protos/openflow_13.proto
+type OfpInstruction = openflow_13.OfpInstruction
+type OfpInstruction_GotoTable = openflow_13.OfpInstruction_GotoTable
+type OfpInstruction_WriteMetadata = openflow_13.OfpInstruction_WriteMetadata
+type OfpInstruction_Actions = openflow_13.OfpInstruction_Actions
+type OfpInstruction_Meter = openflow_13.OfpInstruction_Meter
+type OfpInstruction_Experimenter = openflow_13.OfpInstruction_Experimenter
+
+// OfpInstructionGotoTable from public import voltha_protos/openflow_13.proto
+type OfpInstructionGotoTable = openflow_13.OfpInstructionGotoTable
+
+// OfpInstructionWriteMetadata from public import voltha_protos/openflow_13.proto
+type OfpInstructionWriteMetadata = openflow_13.OfpInstructionWriteMetadata
+
+// OfpInstructionActions from public import voltha_protos/openflow_13.proto
+type OfpInstructionActions = openflow_13.OfpInstructionActions
+
+// OfpInstructionMeter from public import voltha_protos/openflow_13.proto
+type OfpInstructionMeter = openflow_13.OfpInstructionMeter
+
+// OfpInstructionExperimenter from public import voltha_protos/openflow_13.proto
+type OfpInstructionExperimenter = openflow_13.OfpInstructionExperimenter
+
+// OfpFlowMod from public import voltha_protos/openflow_13.proto
+type OfpFlowMod = openflow_13.OfpFlowMod
+
+// OfpBucket from public import voltha_protos/openflow_13.proto
+type OfpBucket = openflow_13.OfpBucket
+
+// OfpGroupMod from public import voltha_protos/openflow_13.proto
+type OfpGroupMod = openflow_13.OfpGroupMod
+
+// OfpPacketOut from public import voltha_protos/openflow_13.proto
+type OfpPacketOut = openflow_13.OfpPacketOut
+
+// OfpPacketIn from public import voltha_protos/openflow_13.proto
+type OfpPacketIn = openflow_13.OfpPacketIn
+
+// OfpFlowRemoved from public import voltha_protos/openflow_13.proto
+type OfpFlowRemoved = openflow_13.OfpFlowRemoved
+
+// OfpMeterBandHeader from public import voltha_protos/openflow_13.proto
+type OfpMeterBandHeader = openflow_13.OfpMeterBandHeader
+type OfpMeterBandHeader_Drop = openflow_13.OfpMeterBandHeader_Drop
+type OfpMeterBandHeader_DscpRemark = openflow_13.OfpMeterBandHeader_DscpRemark
+type OfpMeterBandHeader_Experimenter = openflow_13.OfpMeterBandHeader_Experimenter
+
+// OfpMeterBandDrop from public import voltha_protos/openflow_13.proto
+type OfpMeterBandDrop = openflow_13.OfpMeterBandDrop
+
+// OfpMeterBandDscpRemark from public import voltha_protos/openflow_13.proto
+type OfpMeterBandDscpRemark = openflow_13.OfpMeterBandDscpRemark
+
+// OfpMeterBandExperimenter from public import voltha_protos/openflow_13.proto
+type OfpMeterBandExperimenter = openflow_13.OfpMeterBandExperimenter
+
+// OfpMeterMod from public import voltha_protos/openflow_13.proto
+type OfpMeterMod = openflow_13.OfpMeterMod
+
+// OfpErrorMsg from public import voltha_protos/openflow_13.proto
+type OfpErrorMsg = openflow_13.OfpErrorMsg
+
+// OfpErrorExperimenterMsg from public import voltha_protos/openflow_13.proto
+type OfpErrorExperimenterMsg = openflow_13.OfpErrorExperimenterMsg
+
+// OfpMultipartRequest from public import voltha_protos/openflow_13.proto
+type OfpMultipartRequest = openflow_13.OfpMultipartRequest
+
+// OfpMultipartReply from public import voltha_protos/openflow_13.proto
+type OfpMultipartReply = openflow_13.OfpMultipartReply
+
+// OfpDesc from public import voltha_protos/openflow_13.proto
+type OfpDesc = openflow_13.OfpDesc
+
+// OfpFlowStatsRequest from public import voltha_protos/openflow_13.proto
+type OfpFlowStatsRequest = openflow_13.OfpFlowStatsRequest
+
+// OfpFlowStats from public import voltha_protos/openflow_13.proto
+type OfpFlowStats = openflow_13.OfpFlowStats
+
+// OfpAggregateStatsRequest from public import voltha_protos/openflow_13.proto
+type OfpAggregateStatsRequest = openflow_13.OfpAggregateStatsRequest
+
+// OfpAggregateStatsReply from public import voltha_protos/openflow_13.proto
+type OfpAggregateStatsReply = openflow_13.OfpAggregateStatsReply
+
+// OfpTableFeatureProperty from public import voltha_protos/openflow_13.proto
+type OfpTableFeatureProperty = openflow_13.OfpTableFeatureProperty
+type OfpTableFeatureProperty_Instructions = openflow_13.OfpTableFeatureProperty_Instructions
+type OfpTableFeatureProperty_NextTables = openflow_13.OfpTableFeatureProperty_NextTables
+type OfpTableFeatureProperty_Actions = openflow_13.OfpTableFeatureProperty_Actions
+type OfpTableFeatureProperty_Oxm = openflow_13.OfpTableFeatureProperty_Oxm
+type OfpTableFeatureProperty_Experimenter = openflow_13.OfpTableFeatureProperty_Experimenter
+
+// OfpTableFeaturePropInstructions from public import voltha_protos/openflow_13.proto
+type OfpTableFeaturePropInstructions = openflow_13.OfpTableFeaturePropInstructions
+
+// OfpTableFeaturePropNextTables from public import voltha_protos/openflow_13.proto
+type OfpTableFeaturePropNextTables = openflow_13.OfpTableFeaturePropNextTables
+
+// OfpTableFeaturePropActions from public import voltha_protos/openflow_13.proto
+type OfpTableFeaturePropActions = openflow_13.OfpTableFeaturePropActions
+
+// OfpTableFeaturePropOxm from public import voltha_protos/openflow_13.proto
+type OfpTableFeaturePropOxm = openflow_13.OfpTableFeaturePropOxm
+
+// OfpTableFeaturePropExperimenter from public import voltha_protos/openflow_13.proto
+type OfpTableFeaturePropExperimenter = openflow_13.OfpTableFeaturePropExperimenter
+
+// OfpTableFeatures from public import voltha_protos/openflow_13.proto
+type OfpTableFeatures = openflow_13.OfpTableFeatures
+
+// OfpTableStats from public import voltha_protos/openflow_13.proto
+type OfpTableStats = openflow_13.OfpTableStats
+
+// OfpPortStatsRequest from public import voltha_protos/openflow_13.proto
+type OfpPortStatsRequest = openflow_13.OfpPortStatsRequest
+
+// OfpPortStats from public import voltha_protos/openflow_13.proto
+type OfpPortStats = openflow_13.OfpPortStats
+
+// OfpGroupStatsRequest from public import voltha_protos/openflow_13.proto
+type OfpGroupStatsRequest = openflow_13.OfpGroupStatsRequest
+
+// OfpBucketCounter from public import voltha_protos/openflow_13.proto
+type OfpBucketCounter = openflow_13.OfpBucketCounter
+
+// OfpGroupStats from public import voltha_protos/openflow_13.proto
+type OfpGroupStats = openflow_13.OfpGroupStats
+
+// OfpGroupDesc from public import voltha_protos/openflow_13.proto
+type OfpGroupDesc = openflow_13.OfpGroupDesc
+
+// OfpGroupEntry from public import voltha_protos/openflow_13.proto
+type OfpGroupEntry = openflow_13.OfpGroupEntry
+
+// OfpGroupFeatures from public import voltha_protos/openflow_13.proto
+type OfpGroupFeatures = openflow_13.OfpGroupFeatures
+
+// OfpMeterMultipartRequest from public import voltha_protos/openflow_13.proto
+type OfpMeterMultipartRequest = openflow_13.OfpMeterMultipartRequest
+
+// OfpMeterBandStats from public import voltha_protos/openflow_13.proto
+type OfpMeterBandStats = openflow_13.OfpMeterBandStats
+
+// OfpMeterStats from public import voltha_protos/openflow_13.proto
+type OfpMeterStats = openflow_13.OfpMeterStats
+
+// OfpMeterConfig from public import voltha_protos/openflow_13.proto
+type OfpMeterConfig = openflow_13.OfpMeterConfig
+
+// OfpMeterFeatures from public import voltha_protos/openflow_13.proto
+type OfpMeterFeatures = openflow_13.OfpMeterFeatures
+
+// OfpMeterEntry from public import voltha_protos/openflow_13.proto
+type OfpMeterEntry = openflow_13.OfpMeterEntry
+
+// OfpExperimenterMultipartHeader from public import voltha_protos/openflow_13.proto
+type OfpExperimenterMultipartHeader = openflow_13.OfpExperimenterMultipartHeader
+
+// OfpExperimenterHeader from public import voltha_protos/openflow_13.proto
+type OfpExperimenterHeader = openflow_13.OfpExperimenterHeader
+
+// OfpQueuePropHeader from public import voltha_protos/openflow_13.proto
+type OfpQueuePropHeader = openflow_13.OfpQueuePropHeader
+
+// OfpQueuePropMinRate from public import voltha_protos/openflow_13.proto
+type OfpQueuePropMinRate = openflow_13.OfpQueuePropMinRate
+
+// OfpQueuePropMaxRate from public import voltha_protos/openflow_13.proto
+type OfpQueuePropMaxRate = openflow_13.OfpQueuePropMaxRate
+
+// OfpQueuePropExperimenter from public import voltha_protos/openflow_13.proto
+type OfpQueuePropExperimenter = openflow_13.OfpQueuePropExperimenter
+
+// OfpPacketQueue from public import voltha_protos/openflow_13.proto
+type OfpPacketQueue = openflow_13.OfpPacketQueue
+
+// OfpQueueGetConfigRequest from public import voltha_protos/openflow_13.proto
+type OfpQueueGetConfigRequest = openflow_13.OfpQueueGetConfigRequest
+
+// OfpQueueGetConfigReply from public import voltha_protos/openflow_13.proto
+type OfpQueueGetConfigReply = openflow_13.OfpQueueGetConfigReply
+
+// OfpActionSetQueue from public import voltha_protos/openflow_13.proto
+type OfpActionSetQueue = openflow_13.OfpActionSetQueue
+
+// OfpQueueStatsRequest from public import voltha_protos/openflow_13.proto
+type OfpQueueStatsRequest = openflow_13.OfpQueueStatsRequest
+
+// OfpQueueStats from public import voltha_protos/openflow_13.proto
+type OfpQueueStats = openflow_13.OfpQueueStats
+
+// OfpRoleRequest from public import voltha_protos/openflow_13.proto
+type OfpRoleRequest = openflow_13.OfpRoleRequest
+
+// OfpAsyncConfig from public import voltha_protos/openflow_13.proto
+type OfpAsyncConfig = openflow_13.OfpAsyncConfig
+
+// MeterModUpdate from public import voltha_protos/openflow_13.proto
+type MeterModUpdate = openflow_13.MeterModUpdate
+
+// MeterStatsReply from public import voltha_protos/openflow_13.proto
+type MeterStatsReply = openflow_13.MeterStatsReply
+
+// FlowTableUpdate from public import voltha_protos/openflow_13.proto
+type FlowTableUpdate = openflow_13.FlowTableUpdate
+
+// FlowGroupTableUpdate from public import voltha_protos/openflow_13.proto
+type FlowGroupTableUpdate = openflow_13.FlowGroupTableUpdate
+
+// Flows from public import voltha_protos/openflow_13.proto
+type Flows = openflow_13.Flows
+
+// Meters from public import voltha_protos/openflow_13.proto
+type Meters = openflow_13.Meters
+
+// FlowGroups from public import voltha_protos/openflow_13.proto
+type FlowGroups = openflow_13.FlowGroups
+
+// FlowChanges from public import voltha_protos/openflow_13.proto
+type FlowChanges = openflow_13.FlowChanges
+
+// FlowGroupChanges from public import voltha_protos/openflow_13.proto
+type FlowGroupChanges = openflow_13.FlowGroupChanges
+
+// PacketIn from public import voltha_protos/openflow_13.proto
+type PacketIn = openflow_13.PacketIn
+
+// PacketOut from public import voltha_protos/openflow_13.proto
+type PacketOut = openflow_13.PacketOut
+
+// ChangeEvent from public import voltha_protos/openflow_13.proto
+type ChangeEvent = openflow_13.ChangeEvent
+type ChangeEvent_PortStatus = openflow_13.ChangeEvent_PortStatus
+
+// OfpPortNo from public import voltha_protos/openflow_13.proto
+type OfpPortNo = openflow_13.OfpPortNo
+
+var OfpPortNo_name = openflow_13.OfpPortNo_name
+var OfpPortNo_value = openflow_13.OfpPortNo_value
+
+const OfpPortNo_OFPP_INVALID = OfpPortNo(openflow_13.OfpPortNo_OFPP_INVALID)
+const OfpPortNo_OFPP_MAX = OfpPortNo(openflow_13.OfpPortNo_OFPP_MAX)
+const OfpPortNo_OFPP_IN_PORT = OfpPortNo(openflow_13.OfpPortNo_OFPP_IN_PORT)
+const OfpPortNo_OFPP_TABLE = OfpPortNo(openflow_13.OfpPortNo_OFPP_TABLE)
+const OfpPortNo_OFPP_NORMAL = OfpPortNo(openflow_13.OfpPortNo_OFPP_NORMAL)
+const OfpPortNo_OFPP_FLOOD = OfpPortNo(openflow_13.OfpPortNo_OFPP_FLOOD)
+const OfpPortNo_OFPP_ALL = OfpPortNo(openflow_13.OfpPortNo_OFPP_ALL)
+const OfpPortNo_OFPP_CONTROLLER = OfpPortNo(openflow_13.OfpPortNo_OFPP_CONTROLLER)
+const OfpPortNo_OFPP_LOCAL = OfpPortNo(openflow_13.OfpPortNo_OFPP_LOCAL)
+const OfpPortNo_OFPP_ANY = OfpPortNo(openflow_13.OfpPortNo_OFPP_ANY)
+
+// OfpType from public import voltha_protos/openflow_13.proto
+type OfpType = openflow_13.OfpType
+
+var OfpType_name = openflow_13.OfpType_name
+var OfpType_value = openflow_13.OfpType_value
+
+const OfpType_OFPT_HELLO = OfpType(openflow_13.OfpType_OFPT_HELLO)
+const OfpType_OFPT_ERROR = OfpType(openflow_13.OfpType_OFPT_ERROR)
+const OfpType_OFPT_ECHO_REQUEST = OfpType(openflow_13.OfpType_OFPT_ECHO_REQUEST)
+const OfpType_OFPT_ECHO_REPLY = OfpType(openflow_13.OfpType_OFPT_ECHO_REPLY)
+const OfpType_OFPT_EXPERIMENTER = OfpType(openflow_13.OfpType_OFPT_EXPERIMENTER)
+const OfpType_OFPT_FEATURES_REQUEST = OfpType(openflow_13.OfpType_OFPT_FEATURES_REQUEST)
+const OfpType_OFPT_FEATURES_REPLY = OfpType(openflow_13.OfpType_OFPT_FEATURES_REPLY)
+const OfpType_OFPT_GET_CONFIG_REQUEST = OfpType(openflow_13.OfpType_OFPT_GET_CONFIG_REQUEST)
+const OfpType_OFPT_GET_CONFIG_REPLY = OfpType(openflow_13.OfpType_OFPT_GET_CONFIG_REPLY)
+const OfpType_OFPT_SET_CONFIG = OfpType(openflow_13.OfpType_OFPT_SET_CONFIG)
+const OfpType_OFPT_PACKET_IN = OfpType(openflow_13.OfpType_OFPT_PACKET_IN)
+const OfpType_OFPT_FLOW_REMOVED = OfpType(openflow_13.OfpType_OFPT_FLOW_REMOVED)
+const OfpType_OFPT_PORT_STATUS = OfpType(openflow_13.OfpType_OFPT_PORT_STATUS)
+const OfpType_OFPT_PACKET_OUT = OfpType(openflow_13.OfpType_OFPT_PACKET_OUT)
+const OfpType_OFPT_FLOW_MOD = OfpType(openflow_13.OfpType_OFPT_FLOW_MOD)
+const OfpType_OFPT_GROUP_MOD = OfpType(openflow_13.OfpType_OFPT_GROUP_MOD)
+const OfpType_OFPT_PORT_MOD = OfpType(openflow_13.OfpType_OFPT_PORT_MOD)
+const OfpType_OFPT_TABLE_MOD = OfpType(openflow_13.OfpType_OFPT_TABLE_MOD)
+const OfpType_OFPT_MULTIPART_REQUEST = OfpType(openflow_13.OfpType_OFPT_MULTIPART_REQUEST)
+const OfpType_OFPT_MULTIPART_REPLY = OfpType(openflow_13.OfpType_OFPT_MULTIPART_REPLY)
+const OfpType_OFPT_BARRIER_REQUEST = OfpType(openflow_13.OfpType_OFPT_BARRIER_REQUEST)
+const OfpType_OFPT_BARRIER_REPLY = OfpType(openflow_13.OfpType_OFPT_BARRIER_REPLY)
+const OfpType_OFPT_QUEUE_GET_CONFIG_REQUEST = OfpType(openflow_13.OfpType_OFPT_QUEUE_GET_CONFIG_REQUEST)
+const OfpType_OFPT_QUEUE_GET_CONFIG_REPLY = OfpType(openflow_13.OfpType_OFPT_QUEUE_GET_CONFIG_REPLY)
+const OfpType_OFPT_ROLE_REQUEST = OfpType(openflow_13.OfpType_OFPT_ROLE_REQUEST)
+const OfpType_OFPT_ROLE_REPLY = OfpType(openflow_13.OfpType_OFPT_ROLE_REPLY)
+const OfpType_OFPT_GET_ASYNC_REQUEST = OfpType(openflow_13.OfpType_OFPT_GET_ASYNC_REQUEST)
+const OfpType_OFPT_GET_ASYNC_REPLY = OfpType(openflow_13.OfpType_OFPT_GET_ASYNC_REPLY)
+const OfpType_OFPT_SET_ASYNC = OfpType(openflow_13.OfpType_OFPT_SET_ASYNC)
+const OfpType_OFPT_METER_MOD = OfpType(openflow_13.OfpType_OFPT_METER_MOD)
+
+// OfpHelloElemType from public import voltha_protos/openflow_13.proto
+type OfpHelloElemType = openflow_13.OfpHelloElemType
+
+var OfpHelloElemType_name = openflow_13.OfpHelloElemType_name
+var OfpHelloElemType_value = openflow_13.OfpHelloElemType_value
+
+const OfpHelloElemType_OFPHET_INVALID = OfpHelloElemType(openflow_13.OfpHelloElemType_OFPHET_INVALID)
+const OfpHelloElemType_OFPHET_VERSIONBITMAP = OfpHelloElemType(openflow_13.OfpHelloElemType_OFPHET_VERSIONBITMAP)
+
+// OfpConfigFlags from public import voltha_protos/openflow_13.proto
+type OfpConfigFlags = openflow_13.OfpConfigFlags
+
+var OfpConfigFlags_name = openflow_13.OfpConfigFlags_name
+var OfpConfigFlags_value = openflow_13.OfpConfigFlags_value
+
+const OfpConfigFlags_OFPC_FRAG_NORMAL = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_NORMAL)
+const OfpConfigFlags_OFPC_FRAG_DROP = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_DROP)
+const OfpConfigFlags_OFPC_FRAG_REASM = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_REASM)
+const OfpConfigFlags_OFPC_FRAG_MASK = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_MASK)
+
+// OfpTableConfig from public import voltha_protos/openflow_13.proto
+type OfpTableConfig = openflow_13.OfpTableConfig
+
+var OfpTableConfig_name = openflow_13.OfpTableConfig_name
+var OfpTableConfig_value = openflow_13.OfpTableConfig_value
+
+const OfpTableConfig_OFPTC_INVALID = OfpTableConfig(openflow_13.OfpTableConfig_OFPTC_INVALID)
+const OfpTableConfig_OFPTC_DEPRECATED_MASK = OfpTableConfig(openflow_13.OfpTableConfig_OFPTC_DEPRECATED_MASK)
+
+// OfpTable from public import voltha_protos/openflow_13.proto
+type OfpTable = openflow_13.OfpTable
+
+var OfpTable_name = openflow_13.OfpTable_name
+var OfpTable_value = openflow_13.OfpTable_value
+
+const OfpTable_OFPTT_INVALID = OfpTable(openflow_13.OfpTable_OFPTT_INVALID)
+const OfpTable_OFPTT_MAX = OfpTable(openflow_13.OfpTable_OFPTT_MAX)
+const OfpTable_OFPTT_ALL = OfpTable(openflow_13.OfpTable_OFPTT_ALL)
+
+// OfpCapabilities from public import voltha_protos/openflow_13.proto
+type OfpCapabilities = openflow_13.OfpCapabilities
+
+var OfpCapabilities_name = openflow_13.OfpCapabilities_name
+var OfpCapabilities_value = openflow_13.OfpCapabilities_value
+
+const OfpCapabilities_OFPC_INVALID = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_INVALID)
+const OfpCapabilities_OFPC_FLOW_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_FLOW_STATS)
+const OfpCapabilities_OFPC_TABLE_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_TABLE_STATS)
+const OfpCapabilities_OFPC_PORT_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_PORT_STATS)
+const OfpCapabilities_OFPC_GROUP_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_GROUP_STATS)
+const OfpCapabilities_OFPC_IP_REASM = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_IP_REASM)
+const OfpCapabilities_OFPC_QUEUE_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_QUEUE_STATS)
+const OfpCapabilities_OFPC_PORT_BLOCKED = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_PORT_BLOCKED)
+
+// OfpPortConfig from public import voltha_protos/openflow_13.proto
+type OfpPortConfig = openflow_13.OfpPortConfig
+
+var OfpPortConfig_name = openflow_13.OfpPortConfig_name
+var OfpPortConfig_value = openflow_13.OfpPortConfig_value
+
+const OfpPortConfig_OFPPC_INVALID = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_INVALID)
+const OfpPortConfig_OFPPC_PORT_DOWN = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_PORT_DOWN)
+const OfpPortConfig_OFPPC_NO_RECV = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_NO_RECV)
+const OfpPortConfig_OFPPC_NO_FWD = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_NO_FWD)
+const OfpPortConfig_OFPPC_NO_PACKET_IN = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_NO_PACKET_IN)
+
+// OfpPortState from public import voltha_protos/openflow_13.proto
+type OfpPortState = openflow_13.OfpPortState
+
+var OfpPortState_name = openflow_13.OfpPortState_name
+var OfpPortState_value = openflow_13.OfpPortState_value
+
+const OfpPortState_OFPPS_INVALID = OfpPortState(openflow_13.OfpPortState_OFPPS_INVALID)
+const OfpPortState_OFPPS_LINK_DOWN = OfpPortState(openflow_13.OfpPortState_OFPPS_LINK_DOWN)
+const OfpPortState_OFPPS_BLOCKED = OfpPortState(openflow_13.OfpPortState_OFPPS_BLOCKED)
+const OfpPortState_OFPPS_LIVE = OfpPortState(openflow_13.OfpPortState_OFPPS_LIVE)
+
+// OfpPortFeatures from public import voltha_protos/openflow_13.proto
+type OfpPortFeatures = openflow_13.OfpPortFeatures
+
+var OfpPortFeatures_name = openflow_13.OfpPortFeatures_name
+var OfpPortFeatures_value = openflow_13.OfpPortFeatures_value
+
+const OfpPortFeatures_OFPPF_INVALID = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_INVALID)
+const OfpPortFeatures_OFPPF_10MB_HD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_10MB_HD)
+const OfpPortFeatures_OFPPF_10MB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_10MB_FD)
+const OfpPortFeatures_OFPPF_100MB_HD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_100MB_HD)
+const OfpPortFeatures_OFPPF_100MB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_100MB_FD)
+const OfpPortFeatures_OFPPF_1GB_HD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_1GB_HD)
+const OfpPortFeatures_OFPPF_1GB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_1GB_FD)
+const OfpPortFeatures_OFPPF_10GB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_10GB_FD)
+const OfpPortFeatures_OFPPF_40GB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_40GB_FD)
+const OfpPortFeatures_OFPPF_100GB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_100GB_FD)
+const OfpPortFeatures_OFPPF_1TB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_1TB_FD)
+const OfpPortFeatures_OFPPF_OTHER = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_OTHER)
+const OfpPortFeatures_OFPPF_COPPER = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_COPPER)
+const OfpPortFeatures_OFPPF_FIBER = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_FIBER)
+const OfpPortFeatures_OFPPF_AUTONEG = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_AUTONEG)
+const OfpPortFeatures_OFPPF_PAUSE = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_PAUSE)
+const OfpPortFeatures_OFPPF_PAUSE_ASYM = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_PAUSE_ASYM)
+
+// OfpPortReason from public import voltha_protos/openflow_13.proto
+type OfpPortReason = openflow_13.OfpPortReason
+
+var OfpPortReason_name = openflow_13.OfpPortReason_name
+var OfpPortReason_value = openflow_13.OfpPortReason_value
+
+const OfpPortReason_OFPPR_ADD = OfpPortReason(openflow_13.OfpPortReason_OFPPR_ADD)
+const OfpPortReason_OFPPR_DELETE = OfpPortReason(openflow_13.OfpPortReason_OFPPR_DELETE)
+const OfpPortReason_OFPPR_MODIFY = OfpPortReason(openflow_13.OfpPortReason_OFPPR_MODIFY)
+
+// OfpMatchType from public import voltha_protos/openflow_13.proto
+type OfpMatchType = openflow_13.OfpMatchType
+
+var OfpMatchType_name = openflow_13.OfpMatchType_name
+var OfpMatchType_value = openflow_13.OfpMatchType_value
+
+const OfpMatchType_OFPMT_STANDARD = OfpMatchType(openflow_13.OfpMatchType_OFPMT_STANDARD)
+const OfpMatchType_OFPMT_OXM = OfpMatchType(openflow_13.OfpMatchType_OFPMT_OXM)
+
+// OfpOxmClass from public import voltha_protos/openflow_13.proto
+type OfpOxmClass = openflow_13.OfpOxmClass
+
+var OfpOxmClass_name = openflow_13.OfpOxmClass_name
+var OfpOxmClass_value = openflow_13.OfpOxmClass_value
+
+const OfpOxmClass_OFPXMC_NXM_0 = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_NXM_0)
+const OfpOxmClass_OFPXMC_NXM_1 = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_NXM_1)
+const OfpOxmClass_OFPXMC_OPENFLOW_BASIC = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_OPENFLOW_BASIC)
+const OfpOxmClass_OFPXMC_EXPERIMENTER = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_EXPERIMENTER)
+
+// OxmOfbFieldTypes from public import voltha_protos/openflow_13.proto
+type OxmOfbFieldTypes = openflow_13.OxmOfbFieldTypes
+
+var OxmOfbFieldTypes_name = openflow_13.OxmOfbFieldTypes_name
+var OxmOfbFieldTypes_value = openflow_13.OxmOfbFieldTypes_value
+
+const OxmOfbFieldTypes_OFPXMT_OFB_IN_PORT = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IN_PORT)
+const OxmOfbFieldTypes_OFPXMT_OFB_IN_PHY_PORT = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IN_PHY_PORT)
+const OxmOfbFieldTypes_OFPXMT_OFB_METADATA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_METADATA)
+const OxmOfbFieldTypes_OFPXMT_OFB_ETH_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ETH_DST)
+const OxmOfbFieldTypes_OFPXMT_OFB_ETH_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ETH_SRC)
+const OxmOfbFieldTypes_OFPXMT_OFB_ETH_TYPE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ETH_TYPE)
+const OxmOfbFieldTypes_OFPXMT_OFB_VLAN_VID = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_VLAN_VID)
+const OxmOfbFieldTypes_OFPXMT_OFB_VLAN_PCP = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_VLAN_PCP)
+const OxmOfbFieldTypes_OFPXMT_OFB_IP_DSCP = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IP_DSCP)
+const OxmOfbFieldTypes_OFPXMT_OFB_IP_ECN = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IP_ECN)
+const OxmOfbFieldTypes_OFPXMT_OFB_IP_PROTO = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IP_PROTO)
+const OxmOfbFieldTypes_OFPXMT_OFB_IPV4_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV4_SRC)
+const OxmOfbFieldTypes_OFPXMT_OFB_IPV4_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV4_DST)
+const OxmOfbFieldTypes_OFPXMT_OFB_TCP_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_TCP_SRC)
+const OxmOfbFieldTypes_OFPXMT_OFB_TCP_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_TCP_DST)
+const OxmOfbFieldTypes_OFPXMT_OFB_UDP_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_UDP_SRC)
+const OxmOfbFieldTypes_OFPXMT_OFB_UDP_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_UDP_DST)
+const OxmOfbFieldTypes_OFPXMT_OFB_SCTP_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_SCTP_SRC)
+const OxmOfbFieldTypes_OFPXMT_OFB_SCTP_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_SCTP_DST)
+const OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_TYPE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_TYPE)
+const OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_CODE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_CODE)
+const OxmOfbFieldTypes_OFPXMT_OFB_ARP_OP = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_OP)
+const OxmOfbFieldTypes_OFPXMT_OFB_ARP_SPA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_SPA)
+const OxmOfbFieldTypes_OFPXMT_OFB_ARP_TPA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_TPA)
+const OxmOfbFieldTypes_OFPXMT_OFB_ARP_SHA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_SHA)
+const OxmOfbFieldTypes_OFPXMT_OFB_ARP_THA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_THA)
+const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_SRC)
+const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_DST)
+const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_FLABEL = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_FLABEL)
+const OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_TYPE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_TYPE)
+const OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_CODE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_CODE)
+const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TARGET = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TARGET)
+const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_SLL = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_SLL)
+const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TLL = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TLL)
+const OxmOfbFieldTypes_OFPXMT_OFB_MPLS_LABEL = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_MPLS_LABEL)
+const OxmOfbFieldTypes_OFPXMT_OFB_MPLS_TC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_MPLS_TC)
+const OxmOfbFieldTypes_OFPXMT_OFB_MPLS_BOS = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_MPLS_BOS)
+const OxmOfbFieldTypes_OFPXMT_OFB_PBB_ISID = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_PBB_ISID)
+const OxmOfbFieldTypes_OFPXMT_OFB_TUNNEL_ID = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_TUNNEL_ID)
+const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_EXTHDR = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_EXTHDR)
+
+// OfpVlanId from public import voltha_protos/openflow_13.proto
+type OfpVlanId = openflow_13.OfpVlanId
+
+var OfpVlanId_name = openflow_13.OfpVlanId_name
+var OfpVlanId_value = openflow_13.OfpVlanId_value
+
+const OfpVlanId_OFPVID_NONE = OfpVlanId(openflow_13.OfpVlanId_OFPVID_NONE)
+const OfpVlanId_OFPVID_PRESENT = OfpVlanId(openflow_13.OfpVlanId_OFPVID_PRESENT)
+
+// OfpIpv6ExthdrFlags from public import voltha_protos/openflow_13.proto
+type OfpIpv6ExthdrFlags = openflow_13.OfpIpv6ExthdrFlags
+
+var OfpIpv6ExthdrFlags_name = openflow_13.OfpIpv6ExthdrFlags_name
+var OfpIpv6ExthdrFlags_value = openflow_13.OfpIpv6ExthdrFlags_value
+
+const OfpIpv6ExthdrFlags_OFPIEH_INVALID = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_INVALID)
+const OfpIpv6ExthdrFlags_OFPIEH_NONEXT = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_NONEXT)
+const OfpIpv6ExthdrFlags_OFPIEH_ESP = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_ESP)
+const OfpIpv6ExthdrFlags_OFPIEH_AUTH = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_AUTH)
+const OfpIpv6ExthdrFlags_OFPIEH_DEST = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_DEST)
+const OfpIpv6ExthdrFlags_OFPIEH_FRAG = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_FRAG)
+const OfpIpv6ExthdrFlags_OFPIEH_ROUTER = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_ROUTER)
+const OfpIpv6ExthdrFlags_OFPIEH_HOP = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_HOP)
+const OfpIpv6ExthdrFlags_OFPIEH_UNREP = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_UNREP)
+const OfpIpv6ExthdrFlags_OFPIEH_UNSEQ = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_UNSEQ)
+
+// OfpActionType from public import voltha_protos/openflow_13.proto
+type OfpActionType = openflow_13.OfpActionType
+
+var OfpActionType_name = openflow_13.OfpActionType_name
+var OfpActionType_value = openflow_13.OfpActionType_value
+
+const OfpActionType_OFPAT_OUTPUT = OfpActionType(openflow_13.OfpActionType_OFPAT_OUTPUT)
+const OfpActionType_OFPAT_COPY_TTL_OUT = OfpActionType(openflow_13.OfpActionType_OFPAT_COPY_TTL_OUT)
+const OfpActionType_OFPAT_COPY_TTL_IN = OfpActionType(openflow_13.OfpActionType_OFPAT_COPY_TTL_IN)
+const OfpActionType_OFPAT_SET_MPLS_TTL = OfpActionType(openflow_13.OfpActionType_OFPAT_SET_MPLS_TTL)
+const OfpActionType_OFPAT_DEC_MPLS_TTL = OfpActionType(openflow_13.OfpActionType_OFPAT_DEC_MPLS_TTL)
+const OfpActionType_OFPAT_PUSH_VLAN = OfpActionType(openflow_13.OfpActionType_OFPAT_PUSH_VLAN)
+const OfpActionType_OFPAT_POP_VLAN = OfpActionType(openflow_13.OfpActionType_OFPAT_POP_VLAN)
+const OfpActionType_OFPAT_PUSH_MPLS = OfpActionType(openflow_13.OfpActionType_OFPAT_PUSH_MPLS)
+const OfpActionType_OFPAT_POP_MPLS = OfpActionType(openflow_13.OfpActionType_OFPAT_POP_MPLS)
+const OfpActionType_OFPAT_SET_QUEUE = OfpActionType(openflow_13.OfpActionType_OFPAT_SET_QUEUE)
+const OfpActionType_OFPAT_GROUP = OfpActionType(openflow_13.OfpActionType_OFPAT_GROUP)
+const OfpActionType_OFPAT_SET_NW_TTL = OfpActionType(openflow_13.OfpActionType_OFPAT_SET_NW_TTL)
+const OfpActionType_OFPAT_DEC_NW_TTL = OfpActionType(openflow_13.OfpActionType_OFPAT_DEC_NW_TTL)
+const OfpActionType_OFPAT_SET_FIELD = OfpActionType(openflow_13.OfpActionType_OFPAT_SET_FIELD)
+const OfpActionType_OFPAT_PUSH_PBB = OfpActionType(openflow_13.OfpActionType_OFPAT_PUSH_PBB)
+const OfpActionType_OFPAT_POP_PBB = OfpActionType(openflow_13.OfpActionType_OFPAT_POP_PBB)
+const OfpActionType_OFPAT_EXPERIMENTER = OfpActionType(openflow_13.OfpActionType_OFPAT_EXPERIMENTER)
+
+// OfpControllerMaxLen from public import voltha_protos/openflow_13.proto
+type OfpControllerMaxLen = openflow_13.OfpControllerMaxLen
+
+var OfpControllerMaxLen_name = openflow_13.OfpControllerMaxLen_name
+var OfpControllerMaxLen_value = openflow_13.OfpControllerMaxLen_value
+
+const OfpControllerMaxLen_OFPCML_INVALID = OfpControllerMaxLen(openflow_13.OfpControllerMaxLen_OFPCML_INVALID)
+const OfpControllerMaxLen_OFPCML_MAX = OfpControllerMaxLen(openflow_13.OfpControllerMaxLen_OFPCML_MAX)
+const OfpControllerMaxLen_OFPCML_NO_BUFFER = OfpControllerMaxLen(openflow_13.OfpControllerMaxLen_OFPCML_NO_BUFFER)
+
+// OfpInstructionType from public import voltha_protos/openflow_13.proto
+type OfpInstructionType = openflow_13.OfpInstructionType
+
+var OfpInstructionType_name = openflow_13.OfpInstructionType_name
+var OfpInstructionType_value = openflow_13.OfpInstructionType_value
+
+const OfpInstructionType_OFPIT_INVALID = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_INVALID)
+const OfpInstructionType_OFPIT_GOTO_TABLE = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_GOTO_TABLE)
+const OfpInstructionType_OFPIT_WRITE_METADATA = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_WRITE_METADATA)
+const OfpInstructionType_OFPIT_WRITE_ACTIONS = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_WRITE_ACTIONS)
+const OfpInstructionType_OFPIT_APPLY_ACTIONS = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_APPLY_ACTIONS)
+const OfpInstructionType_OFPIT_CLEAR_ACTIONS = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_CLEAR_ACTIONS)
+const OfpInstructionType_OFPIT_METER = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_METER)
+const OfpInstructionType_OFPIT_EXPERIMENTER = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_EXPERIMENTER)
+
+// OfpFlowModCommand from public import voltha_protos/openflow_13.proto
+type OfpFlowModCommand = openflow_13.OfpFlowModCommand
+
+var OfpFlowModCommand_name = openflow_13.OfpFlowModCommand_name
+var OfpFlowModCommand_value = openflow_13.OfpFlowModCommand_value
+
+const OfpFlowModCommand_OFPFC_ADD = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_ADD)
+const OfpFlowModCommand_OFPFC_MODIFY = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_MODIFY)
+const OfpFlowModCommand_OFPFC_MODIFY_STRICT = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_MODIFY_STRICT)
+const OfpFlowModCommand_OFPFC_DELETE = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_DELETE)
+const OfpFlowModCommand_OFPFC_DELETE_STRICT = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_DELETE_STRICT)
+
+// OfpFlowModFlags from public import voltha_protos/openflow_13.proto
+type OfpFlowModFlags = openflow_13.OfpFlowModFlags
+
+var OfpFlowModFlags_name = openflow_13.OfpFlowModFlags_name
+var OfpFlowModFlags_value = openflow_13.OfpFlowModFlags_value
+
+const OfpFlowModFlags_OFPFF_INVALID = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_INVALID)
+const OfpFlowModFlags_OFPFF_SEND_FLOW_REM = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_SEND_FLOW_REM)
+const OfpFlowModFlags_OFPFF_CHECK_OVERLAP = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_CHECK_OVERLAP)
+const OfpFlowModFlags_OFPFF_RESET_COUNTS = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_RESET_COUNTS)
+const OfpFlowModFlags_OFPFF_NO_PKT_COUNTS = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_NO_PKT_COUNTS)
+const OfpFlowModFlags_OFPFF_NO_BYT_COUNTS = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_NO_BYT_COUNTS)
+
+// OfpGroup from public import voltha_protos/openflow_13.proto
+type OfpGroup = openflow_13.OfpGroup
+
+var OfpGroup_name = openflow_13.OfpGroup_name
+var OfpGroup_value = openflow_13.OfpGroup_value
+
+const OfpGroup_OFPG_INVALID = OfpGroup(openflow_13.OfpGroup_OFPG_INVALID)
+const OfpGroup_OFPG_MAX = OfpGroup(openflow_13.OfpGroup_OFPG_MAX)
+const OfpGroup_OFPG_ALL = OfpGroup(openflow_13.OfpGroup_OFPG_ALL)
+const OfpGroup_OFPG_ANY = OfpGroup(openflow_13.OfpGroup_OFPG_ANY)
+
+// OfpGroupModCommand from public import voltha_protos/openflow_13.proto
+type OfpGroupModCommand = openflow_13.OfpGroupModCommand
+
+var OfpGroupModCommand_name = openflow_13.OfpGroupModCommand_name
+var OfpGroupModCommand_value = openflow_13.OfpGroupModCommand_value
+
+const OfpGroupModCommand_OFPGC_ADD = OfpGroupModCommand(openflow_13.OfpGroupModCommand_OFPGC_ADD)
+const OfpGroupModCommand_OFPGC_MODIFY = OfpGroupModCommand(openflow_13.OfpGroupModCommand_OFPGC_MODIFY)
+const OfpGroupModCommand_OFPGC_DELETE = OfpGroupModCommand(openflow_13.OfpGroupModCommand_OFPGC_DELETE)
+
+// OfpGroupType from public import voltha_protos/openflow_13.proto
+type OfpGroupType = openflow_13.OfpGroupType
+
+var OfpGroupType_name = openflow_13.OfpGroupType_name
+var OfpGroupType_value = openflow_13.OfpGroupType_value
+
+const OfpGroupType_OFPGT_ALL = OfpGroupType(openflow_13.OfpGroupType_OFPGT_ALL)
+const OfpGroupType_OFPGT_SELECT = OfpGroupType(openflow_13.OfpGroupType_OFPGT_SELECT)
+const OfpGroupType_OFPGT_INDIRECT = OfpGroupType(openflow_13.OfpGroupType_OFPGT_INDIRECT)
+const OfpGroupType_OFPGT_FF = OfpGroupType(openflow_13.OfpGroupType_OFPGT_FF)
+
+// OfpPacketInReason from public import voltha_protos/openflow_13.proto
+type OfpPacketInReason = openflow_13.OfpPacketInReason
+
+var OfpPacketInReason_name = openflow_13.OfpPacketInReason_name
+var OfpPacketInReason_value = openflow_13.OfpPacketInReason_value
+
+const OfpPacketInReason_OFPR_NO_MATCH = OfpPacketInReason(openflow_13.OfpPacketInReason_OFPR_NO_MATCH)
+const OfpPacketInReason_OFPR_ACTION = OfpPacketInReason(openflow_13.OfpPacketInReason_OFPR_ACTION)
+const OfpPacketInReason_OFPR_INVALID_TTL = OfpPacketInReason(openflow_13.OfpPacketInReason_OFPR_INVALID_TTL)
+
+// OfpFlowRemovedReason from public import voltha_protos/openflow_13.proto
+type OfpFlowRemovedReason = openflow_13.OfpFlowRemovedReason
+
+var OfpFlowRemovedReason_name = openflow_13.OfpFlowRemovedReason_name
+var OfpFlowRemovedReason_value = openflow_13.OfpFlowRemovedReason_value
+
+const OfpFlowRemovedReason_OFPRR_IDLE_TIMEOUT = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_IDLE_TIMEOUT)
+const OfpFlowRemovedReason_OFPRR_HARD_TIMEOUT = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_HARD_TIMEOUT)
+const OfpFlowRemovedReason_OFPRR_DELETE = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_DELETE)
+const OfpFlowRemovedReason_OFPRR_GROUP_DELETE = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_GROUP_DELETE)
+const OfpFlowRemovedReason_OFPRR_METER_DELETE = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_METER_DELETE)
+
+// OfpMeter from public import voltha_protos/openflow_13.proto
+type OfpMeter = openflow_13.OfpMeter
+
+var OfpMeter_name = openflow_13.OfpMeter_name
+var OfpMeter_value = openflow_13.OfpMeter_value
+
+const OfpMeter_OFPM_ZERO = OfpMeter(openflow_13.OfpMeter_OFPM_ZERO)
+const OfpMeter_OFPM_MAX = OfpMeter(openflow_13.OfpMeter_OFPM_MAX)
+const OfpMeter_OFPM_SLOWPATH = OfpMeter(openflow_13.OfpMeter_OFPM_SLOWPATH)
+const OfpMeter_OFPM_CONTROLLER = OfpMeter(openflow_13.OfpMeter_OFPM_CONTROLLER)
+const OfpMeter_OFPM_ALL = OfpMeter(openflow_13.OfpMeter_OFPM_ALL)
+
+// OfpMeterBandType from public import voltha_protos/openflow_13.proto
+type OfpMeterBandType = openflow_13.OfpMeterBandType
+
+var OfpMeterBandType_name = openflow_13.OfpMeterBandType_name
+var OfpMeterBandType_value = openflow_13.OfpMeterBandType_value
+
+const OfpMeterBandType_OFPMBT_INVALID = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_INVALID)
+const OfpMeterBandType_OFPMBT_DROP = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_DROP)
+const OfpMeterBandType_OFPMBT_DSCP_REMARK = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_DSCP_REMARK)
+const OfpMeterBandType_OFPMBT_EXPERIMENTER = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_EXPERIMENTER)
+
+// OfpMeterModCommand from public import voltha_protos/openflow_13.proto
+type OfpMeterModCommand = openflow_13.OfpMeterModCommand
+
+var OfpMeterModCommand_name = openflow_13.OfpMeterModCommand_name
+var OfpMeterModCommand_value = openflow_13.OfpMeterModCommand_value
+
+const OfpMeterModCommand_OFPMC_ADD = OfpMeterModCommand(openflow_13.OfpMeterModCommand_OFPMC_ADD)
+const OfpMeterModCommand_OFPMC_MODIFY = OfpMeterModCommand(openflow_13.OfpMeterModCommand_OFPMC_MODIFY)
+const OfpMeterModCommand_OFPMC_DELETE = OfpMeterModCommand(openflow_13.OfpMeterModCommand_OFPMC_DELETE)
+
+// OfpMeterFlags from public import voltha_protos/openflow_13.proto
+type OfpMeterFlags = openflow_13.OfpMeterFlags
+
+var OfpMeterFlags_name = openflow_13.OfpMeterFlags_name
+var OfpMeterFlags_value = openflow_13.OfpMeterFlags_value
+
+const OfpMeterFlags_OFPMF_INVALID = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_INVALID)
+const OfpMeterFlags_OFPMF_KBPS = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_KBPS)
+const OfpMeterFlags_OFPMF_PKTPS = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_PKTPS)
+const OfpMeterFlags_OFPMF_BURST = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_BURST)
+const OfpMeterFlags_OFPMF_STATS = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_STATS)
+
+// OfpErrorType from public import voltha_protos/openflow_13.proto
+type OfpErrorType = openflow_13.OfpErrorType
+
+var OfpErrorType_name = openflow_13.OfpErrorType_name
+var OfpErrorType_value = openflow_13.OfpErrorType_value
+
+const OfpErrorType_OFPET_HELLO_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_HELLO_FAILED)
+const OfpErrorType_OFPET_BAD_REQUEST = OfpErrorType(openflow_13.OfpErrorType_OFPET_BAD_REQUEST)
+const OfpErrorType_OFPET_BAD_ACTION = OfpErrorType(openflow_13.OfpErrorType_OFPET_BAD_ACTION)
+const OfpErrorType_OFPET_BAD_INSTRUCTION = OfpErrorType(openflow_13.OfpErrorType_OFPET_BAD_INSTRUCTION)
+const OfpErrorType_OFPET_BAD_MATCH = OfpErrorType(openflow_13.OfpErrorType_OFPET_BAD_MATCH)
+const OfpErrorType_OFPET_FLOW_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_FLOW_MOD_FAILED)
+const OfpErrorType_OFPET_GROUP_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_GROUP_MOD_FAILED)
+const OfpErrorType_OFPET_PORT_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_PORT_MOD_FAILED)
+const OfpErrorType_OFPET_TABLE_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_TABLE_MOD_FAILED)
+const OfpErrorType_OFPET_QUEUE_OP_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_QUEUE_OP_FAILED)
+const OfpErrorType_OFPET_SWITCH_CONFIG_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_SWITCH_CONFIG_FAILED)
+const OfpErrorType_OFPET_ROLE_REQUEST_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_ROLE_REQUEST_FAILED)
+const OfpErrorType_OFPET_METER_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_METER_MOD_FAILED)
+const OfpErrorType_OFPET_TABLE_FEATURES_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_TABLE_FEATURES_FAILED)
+const OfpErrorType_OFPET_EXPERIMENTER = OfpErrorType(openflow_13.OfpErrorType_OFPET_EXPERIMENTER)
+
+// OfpHelloFailedCode from public import voltha_protos/openflow_13.proto
+type OfpHelloFailedCode = openflow_13.OfpHelloFailedCode
+
+var OfpHelloFailedCode_name = openflow_13.OfpHelloFailedCode_name
+var OfpHelloFailedCode_value = openflow_13.OfpHelloFailedCode_value
+
+const OfpHelloFailedCode_OFPHFC_INCOMPATIBLE = OfpHelloFailedCode(openflow_13.OfpHelloFailedCode_OFPHFC_INCOMPATIBLE)
+const OfpHelloFailedCode_OFPHFC_EPERM = OfpHelloFailedCode(openflow_13.OfpHelloFailedCode_OFPHFC_EPERM)
+
+// OfpBadRequestCode from public import voltha_protos/openflow_13.proto
+type OfpBadRequestCode = openflow_13.OfpBadRequestCode
+
+var OfpBadRequestCode_name = openflow_13.OfpBadRequestCode_name
+var OfpBadRequestCode_value = openflow_13.OfpBadRequestCode_value
+
+const OfpBadRequestCode_OFPBRC_BAD_VERSION = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_VERSION)
+const OfpBadRequestCode_OFPBRC_BAD_TYPE = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_TYPE)
+const OfpBadRequestCode_OFPBRC_BAD_MULTIPART = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_MULTIPART)
+const OfpBadRequestCode_OFPBRC_BAD_EXPERIMENTER = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_EXPERIMENTER)
+const OfpBadRequestCode_OFPBRC_BAD_EXP_TYPE = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_EXP_TYPE)
+const OfpBadRequestCode_OFPBRC_EPERM = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_EPERM)
+const OfpBadRequestCode_OFPBRC_BAD_LEN = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_LEN)
+const OfpBadRequestCode_OFPBRC_BUFFER_EMPTY = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BUFFER_EMPTY)
+const OfpBadRequestCode_OFPBRC_BUFFER_UNKNOWN = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BUFFER_UNKNOWN)
+const OfpBadRequestCode_OFPBRC_BAD_TABLE_ID = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_TABLE_ID)
+const OfpBadRequestCode_OFPBRC_IS_SLAVE = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_IS_SLAVE)
+const OfpBadRequestCode_OFPBRC_BAD_PORT = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_PORT)
+const OfpBadRequestCode_OFPBRC_BAD_PACKET = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_PACKET)
+const OfpBadRequestCode_OFPBRC_MULTIPART_BUFFER_OVERFLOW = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_MULTIPART_BUFFER_OVERFLOW)
+
+// OfpBadActionCode from public import voltha_protos/openflow_13.proto
+type OfpBadActionCode = openflow_13.OfpBadActionCode
+
+var OfpBadActionCode_name = openflow_13.OfpBadActionCode_name
+var OfpBadActionCode_value = openflow_13.OfpBadActionCode_value
+
+const OfpBadActionCode_OFPBAC_BAD_TYPE = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_TYPE)
+const OfpBadActionCode_OFPBAC_BAD_LEN = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_LEN)
+const OfpBadActionCode_OFPBAC_BAD_EXPERIMENTER = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_EXPERIMENTER)
+const OfpBadActionCode_OFPBAC_BAD_EXP_TYPE = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_EXP_TYPE)
+const OfpBadActionCode_OFPBAC_BAD_OUT_PORT = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_OUT_PORT)
+const OfpBadActionCode_OFPBAC_BAD_ARGUMENT = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_ARGUMENT)
+const OfpBadActionCode_OFPBAC_EPERM = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_EPERM)
+const OfpBadActionCode_OFPBAC_TOO_MANY = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_TOO_MANY)
+const OfpBadActionCode_OFPBAC_BAD_QUEUE = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_QUEUE)
+const OfpBadActionCode_OFPBAC_BAD_OUT_GROUP = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_OUT_GROUP)
+const OfpBadActionCode_OFPBAC_MATCH_INCONSISTENT = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_MATCH_INCONSISTENT)
+const OfpBadActionCode_OFPBAC_UNSUPPORTED_ORDER = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_UNSUPPORTED_ORDER)
+const OfpBadActionCode_OFPBAC_BAD_TAG = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_TAG)
+const OfpBadActionCode_OFPBAC_BAD_SET_TYPE = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_SET_TYPE)
+const OfpBadActionCode_OFPBAC_BAD_SET_LEN = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_SET_LEN)
+const OfpBadActionCode_OFPBAC_BAD_SET_ARGUMENT = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_SET_ARGUMENT)
+
+// OfpBadInstructionCode from public import voltha_protos/openflow_13.proto
+type OfpBadInstructionCode = openflow_13.OfpBadInstructionCode
+
+var OfpBadInstructionCode_name = openflow_13.OfpBadInstructionCode_name
+var OfpBadInstructionCode_value = openflow_13.OfpBadInstructionCode_value
+
+const OfpBadInstructionCode_OFPBIC_UNKNOWN_INST = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_UNKNOWN_INST)
+const OfpBadInstructionCode_OFPBIC_UNSUP_INST = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_UNSUP_INST)
+const OfpBadInstructionCode_OFPBIC_BAD_TABLE_ID = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_BAD_TABLE_ID)
+const OfpBadInstructionCode_OFPBIC_UNSUP_METADATA = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_UNSUP_METADATA)
+const OfpBadInstructionCode_OFPBIC_UNSUP_METADATA_MASK = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_UNSUP_METADATA_MASK)
+const OfpBadInstructionCode_OFPBIC_BAD_EXPERIMENTER = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_BAD_EXPERIMENTER)
+const OfpBadInstructionCode_OFPBIC_BAD_EXP_TYPE = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_BAD_EXP_TYPE)
+const OfpBadInstructionCode_OFPBIC_BAD_LEN = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_BAD_LEN)
+const OfpBadInstructionCode_OFPBIC_EPERM = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_EPERM)
+
+// OfpBadMatchCode from public import voltha_protos/openflow_13.proto
+type OfpBadMatchCode = openflow_13.OfpBadMatchCode
+
+var OfpBadMatchCode_name = openflow_13.OfpBadMatchCode_name
+var OfpBadMatchCode_value = openflow_13.OfpBadMatchCode_value
+
+const OfpBadMatchCode_OFPBMC_BAD_TYPE = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_TYPE)
+const OfpBadMatchCode_OFPBMC_BAD_LEN = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_LEN)
+const OfpBadMatchCode_OFPBMC_BAD_TAG = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_TAG)
+const OfpBadMatchCode_OFPBMC_BAD_DL_ADDR_MASK = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_DL_ADDR_MASK)
+const OfpBadMatchCode_OFPBMC_BAD_NW_ADDR_MASK = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_NW_ADDR_MASK)
+const OfpBadMatchCode_OFPBMC_BAD_WILDCARDS = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_WILDCARDS)
+const OfpBadMatchCode_OFPBMC_BAD_FIELD = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_FIELD)
+const OfpBadMatchCode_OFPBMC_BAD_VALUE = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_VALUE)
+const OfpBadMatchCode_OFPBMC_BAD_MASK = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_MASK)
+const OfpBadMatchCode_OFPBMC_BAD_PREREQ = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_PREREQ)
+const OfpBadMatchCode_OFPBMC_DUP_FIELD = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_DUP_FIELD)
+const OfpBadMatchCode_OFPBMC_EPERM = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_EPERM)
+
+// OfpFlowModFailedCode from public import voltha_protos/openflow_13.proto
+type OfpFlowModFailedCode = openflow_13.OfpFlowModFailedCode
+
+var OfpFlowModFailedCode_name = openflow_13.OfpFlowModFailedCode_name
+var OfpFlowModFailedCode_value = openflow_13.OfpFlowModFailedCode_value
+
+const OfpFlowModFailedCode_OFPFMFC_UNKNOWN = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_UNKNOWN)
+const OfpFlowModFailedCode_OFPFMFC_TABLE_FULL = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_TABLE_FULL)
+const OfpFlowModFailedCode_OFPFMFC_BAD_TABLE_ID = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_TABLE_ID)
+const OfpFlowModFailedCode_OFPFMFC_OVERLAP = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_OVERLAP)
+const OfpFlowModFailedCode_OFPFMFC_EPERM = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_EPERM)
+const OfpFlowModFailedCode_OFPFMFC_BAD_TIMEOUT = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_TIMEOUT)
+const OfpFlowModFailedCode_OFPFMFC_BAD_COMMAND = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_COMMAND)
+const OfpFlowModFailedCode_OFPFMFC_BAD_FLAGS = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_FLAGS)
+
+// OfpGroupModFailedCode from public import voltha_protos/openflow_13.proto
+type OfpGroupModFailedCode = openflow_13.OfpGroupModFailedCode
+
+var OfpGroupModFailedCode_name = openflow_13.OfpGroupModFailedCode_name
+var OfpGroupModFailedCode_value = openflow_13.OfpGroupModFailedCode_value
+
+const OfpGroupModFailedCode_OFPGMFC_GROUP_EXISTS = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_GROUP_EXISTS)
+const OfpGroupModFailedCode_OFPGMFC_INVALID_GROUP = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_INVALID_GROUP)
+const OfpGroupModFailedCode_OFPGMFC_WEIGHT_UNSUPPORTED = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_WEIGHT_UNSUPPORTED)
+const OfpGroupModFailedCode_OFPGMFC_OUT_OF_GROUPS = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_OUT_OF_GROUPS)
+const OfpGroupModFailedCode_OFPGMFC_OUT_OF_BUCKETS = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_OUT_OF_BUCKETS)
+const OfpGroupModFailedCode_OFPGMFC_CHAINING_UNSUPPORTED = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_CHAINING_UNSUPPORTED)
+const OfpGroupModFailedCode_OFPGMFC_WATCH_UNSUPPORTED = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_WATCH_UNSUPPORTED)
+const OfpGroupModFailedCode_OFPGMFC_LOOP = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_LOOP)
+const OfpGroupModFailedCode_OFPGMFC_UNKNOWN_GROUP = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_UNKNOWN_GROUP)
+const OfpGroupModFailedCode_OFPGMFC_CHAINED_GROUP = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_CHAINED_GROUP)
+const OfpGroupModFailedCode_OFPGMFC_BAD_TYPE = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_BAD_TYPE)
+const OfpGroupModFailedCode_OFPGMFC_BAD_COMMAND = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_BAD_COMMAND)
+const OfpGroupModFailedCode_OFPGMFC_BAD_BUCKET = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_BAD_BUCKET)
+const OfpGroupModFailedCode_OFPGMFC_BAD_WATCH = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_BAD_WATCH)
+const OfpGroupModFailedCode_OFPGMFC_EPERM = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_EPERM)
+
+// OfpPortModFailedCode from public import voltha_protos/openflow_13.proto
+type OfpPortModFailedCode = openflow_13.OfpPortModFailedCode
+
+var OfpPortModFailedCode_name = openflow_13.OfpPortModFailedCode_name
+var OfpPortModFailedCode_value = openflow_13.OfpPortModFailedCode_value
+
+const OfpPortModFailedCode_OFPPMFC_BAD_PORT = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_BAD_PORT)
+const OfpPortModFailedCode_OFPPMFC_BAD_HW_ADDR = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_BAD_HW_ADDR)
+const OfpPortModFailedCode_OFPPMFC_BAD_CONFIG = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_BAD_CONFIG)
+const OfpPortModFailedCode_OFPPMFC_BAD_ADVERTISE = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_BAD_ADVERTISE)
+const OfpPortModFailedCode_OFPPMFC_EPERM = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_EPERM)
+
+// OfpTableModFailedCode from public import voltha_protos/openflow_13.proto
+type OfpTableModFailedCode = openflow_13.OfpTableModFailedCode
+
+var OfpTableModFailedCode_name = openflow_13.OfpTableModFailedCode_name
+var OfpTableModFailedCode_value = openflow_13.OfpTableModFailedCode_value
+
+const OfpTableModFailedCode_OFPTMFC_BAD_TABLE = OfpTableModFailedCode(openflow_13.OfpTableModFailedCode_OFPTMFC_BAD_TABLE)
+const OfpTableModFailedCode_OFPTMFC_BAD_CONFIG = OfpTableModFailedCode(openflow_13.OfpTableModFailedCode_OFPTMFC_BAD_CONFIG)
+const OfpTableModFailedCode_OFPTMFC_EPERM = OfpTableModFailedCode(openflow_13.OfpTableModFailedCode_OFPTMFC_EPERM)
+
+// OfpQueueOpFailedCode from public import voltha_protos/openflow_13.proto
+type OfpQueueOpFailedCode = openflow_13.OfpQueueOpFailedCode
+
+var OfpQueueOpFailedCode_name = openflow_13.OfpQueueOpFailedCode_name
+var OfpQueueOpFailedCode_value = openflow_13.OfpQueueOpFailedCode_value
+
+const OfpQueueOpFailedCode_OFPQOFC_BAD_PORT = OfpQueueOpFailedCode(openflow_13.OfpQueueOpFailedCode_OFPQOFC_BAD_PORT)
+const OfpQueueOpFailedCode_OFPQOFC_BAD_QUEUE = OfpQueueOpFailedCode(openflow_13.OfpQueueOpFailedCode_OFPQOFC_BAD_QUEUE)
+const OfpQueueOpFailedCode_OFPQOFC_EPERM = OfpQueueOpFailedCode(openflow_13.OfpQueueOpFailedCode_OFPQOFC_EPERM)
+
+// OfpSwitchConfigFailedCode from public import voltha_protos/openflow_13.proto
+type OfpSwitchConfigFailedCode = openflow_13.OfpSwitchConfigFailedCode
+
+var OfpSwitchConfigFailedCode_name = openflow_13.OfpSwitchConfigFailedCode_name
+var OfpSwitchConfigFailedCode_value = openflow_13.OfpSwitchConfigFailedCode_value
+
+const OfpSwitchConfigFailedCode_OFPSCFC_BAD_FLAGS = OfpSwitchConfigFailedCode(openflow_13.OfpSwitchConfigFailedCode_OFPSCFC_BAD_FLAGS)
+const OfpSwitchConfigFailedCode_OFPSCFC_BAD_LEN = OfpSwitchConfigFailedCode(openflow_13.OfpSwitchConfigFailedCode_OFPSCFC_BAD_LEN)
+const OfpSwitchConfigFailedCode_OFPSCFC_EPERM = OfpSwitchConfigFailedCode(openflow_13.OfpSwitchConfigFailedCode_OFPSCFC_EPERM)
+
+// OfpRoleRequestFailedCode from public import voltha_protos/openflow_13.proto
+type OfpRoleRequestFailedCode = openflow_13.OfpRoleRequestFailedCode
+
+var OfpRoleRequestFailedCode_name = openflow_13.OfpRoleRequestFailedCode_name
+var OfpRoleRequestFailedCode_value = openflow_13.OfpRoleRequestFailedCode_value
+
+const OfpRoleRequestFailedCode_OFPRRFC_STALE = OfpRoleRequestFailedCode(openflow_13.OfpRoleRequestFailedCode_OFPRRFC_STALE)
+const OfpRoleRequestFailedCode_OFPRRFC_UNSUP = OfpRoleRequestFailedCode(openflow_13.OfpRoleRequestFailedCode_OFPRRFC_UNSUP)
+const OfpRoleRequestFailedCode_OFPRRFC_BAD_ROLE = OfpRoleRequestFailedCode(openflow_13.OfpRoleRequestFailedCode_OFPRRFC_BAD_ROLE)
+
+// OfpMeterModFailedCode from public import voltha_protos/openflow_13.proto
+type OfpMeterModFailedCode = openflow_13.OfpMeterModFailedCode
+
+var OfpMeterModFailedCode_name = openflow_13.OfpMeterModFailedCode_name
+var OfpMeterModFailedCode_value = openflow_13.OfpMeterModFailedCode_value
+
+const OfpMeterModFailedCode_OFPMMFC_UNKNOWN = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_UNKNOWN)
+const OfpMeterModFailedCode_OFPMMFC_METER_EXISTS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_METER_EXISTS)
+const OfpMeterModFailedCode_OFPMMFC_INVALID_METER = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_INVALID_METER)
+const OfpMeterModFailedCode_OFPMMFC_UNKNOWN_METER = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_UNKNOWN_METER)
+const OfpMeterModFailedCode_OFPMMFC_BAD_COMMAND = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_COMMAND)
+const OfpMeterModFailedCode_OFPMMFC_BAD_FLAGS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_FLAGS)
+const OfpMeterModFailedCode_OFPMMFC_BAD_RATE = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_RATE)
+const OfpMeterModFailedCode_OFPMMFC_BAD_BURST = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BURST)
+const OfpMeterModFailedCode_OFPMMFC_BAD_BAND = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BAND)
+const OfpMeterModFailedCode_OFPMMFC_BAD_BAND_VALUE = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BAND_VALUE)
+const OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS)
+const OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS)
+
+// OfpTableFeaturesFailedCode from public import voltha_protos/openflow_13.proto
+type OfpTableFeaturesFailedCode = openflow_13.OfpTableFeaturesFailedCode
+
+var OfpTableFeaturesFailedCode_name = openflow_13.OfpTableFeaturesFailedCode_name
+var OfpTableFeaturesFailedCode_value = openflow_13.OfpTableFeaturesFailedCode_value
+
+const OfpTableFeaturesFailedCode_OFPTFFC_BAD_TABLE = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_TABLE)
+const OfpTableFeaturesFailedCode_OFPTFFC_BAD_METADATA = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_METADATA)
+const OfpTableFeaturesFailedCode_OFPTFFC_BAD_TYPE = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_TYPE)
+const OfpTableFeaturesFailedCode_OFPTFFC_BAD_LEN = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_LEN)
+const OfpTableFeaturesFailedCode_OFPTFFC_BAD_ARGUMENT = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_ARGUMENT)
+const OfpTableFeaturesFailedCode_OFPTFFC_EPERM = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_EPERM)
+
+// OfpMultipartType from public import voltha_protos/openflow_13.proto
+type OfpMultipartType = openflow_13.OfpMultipartType
+
+var OfpMultipartType_name = openflow_13.OfpMultipartType_name
+var OfpMultipartType_value = openflow_13.OfpMultipartType_value
+
+const OfpMultipartType_OFPMP_DESC = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_DESC)
+const OfpMultipartType_OFPMP_FLOW = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_FLOW)
+const OfpMultipartType_OFPMP_AGGREGATE = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_AGGREGATE)
+const OfpMultipartType_OFPMP_TABLE = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_TABLE)
+const OfpMultipartType_OFPMP_PORT_STATS = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_PORT_STATS)
+const OfpMultipartType_OFPMP_QUEUE = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_QUEUE)
+const OfpMultipartType_OFPMP_GROUP = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_GROUP)
+const OfpMultipartType_OFPMP_GROUP_DESC = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_GROUP_DESC)
+const OfpMultipartType_OFPMP_GROUP_FEATURES = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_GROUP_FEATURES)
+const OfpMultipartType_OFPMP_METER = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_METER)
+const OfpMultipartType_OFPMP_METER_CONFIG = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_METER_CONFIG)
+const OfpMultipartType_OFPMP_METER_FEATURES = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_METER_FEATURES)
+const OfpMultipartType_OFPMP_TABLE_FEATURES = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_TABLE_FEATURES)
+const OfpMultipartType_OFPMP_PORT_DESC = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_PORT_DESC)
+const OfpMultipartType_OFPMP_EXPERIMENTER = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_EXPERIMENTER)
+
+// OfpMultipartRequestFlags from public import voltha_protos/openflow_13.proto
+type OfpMultipartRequestFlags = openflow_13.OfpMultipartRequestFlags
+
+var OfpMultipartRequestFlags_name = openflow_13.OfpMultipartRequestFlags_name
+var OfpMultipartRequestFlags_value = openflow_13.OfpMultipartRequestFlags_value
+
+const OfpMultipartRequestFlags_OFPMPF_REQ_INVALID = OfpMultipartRequestFlags(openflow_13.OfpMultipartRequestFlags_OFPMPF_REQ_INVALID)
+const OfpMultipartRequestFlags_OFPMPF_REQ_MORE = OfpMultipartRequestFlags(openflow_13.OfpMultipartRequestFlags_OFPMPF_REQ_MORE)
+
+// OfpMultipartReplyFlags from public import voltha_protos/openflow_13.proto
+type OfpMultipartReplyFlags = openflow_13.OfpMultipartReplyFlags
+
+var OfpMultipartReplyFlags_name = openflow_13.OfpMultipartReplyFlags_name
+var OfpMultipartReplyFlags_value = openflow_13.OfpMultipartReplyFlags_value
+
+const OfpMultipartReplyFlags_OFPMPF_REPLY_INVALID = OfpMultipartReplyFlags(openflow_13.OfpMultipartReplyFlags_OFPMPF_REPLY_INVALID)
+const OfpMultipartReplyFlags_OFPMPF_REPLY_MORE = OfpMultipartReplyFlags(openflow_13.OfpMultipartReplyFlags_OFPMPF_REPLY_MORE)
+
+// OfpTableFeaturePropType from public import voltha_protos/openflow_13.proto
+type OfpTableFeaturePropType = openflow_13.OfpTableFeaturePropType
+
+var OfpTableFeaturePropType_name = openflow_13.OfpTableFeaturePropType_name
+var OfpTableFeaturePropType_value = openflow_13.OfpTableFeaturePropType_value
+
+const OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS)
+const OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS_MISS)
+const OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES)
+const OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES_MISS)
+const OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS)
+const OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS_MISS)
+const OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS)
+const OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS_MISS)
+const OfpTableFeaturePropType_OFPTFPT_MATCH = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_MATCH)
+const OfpTableFeaturePropType_OFPTFPT_WILDCARDS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WILDCARDS)
+const OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD)
+const OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD_MISS)
+const OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD)
+const OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD_MISS)
+const OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER)
+const OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER_MISS)
+
+// OfpGroupCapabilities from public import voltha_protos/openflow_13.proto
+type OfpGroupCapabilities = openflow_13.OfpGroupCapabilities
+
+var OfpGroupCapabilities_name = openflow_13.OfpGroupCapabilities_name
+var OfpGroupCapabilities_value = openflow_13.OfpGroupCapabilities_value
+
+const OfpGroupCapabilities_OFPGFC_INVALID = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_INVALID)
+const OfpGroupCapabilities_OFPGFC_SELECT_WEIGHT = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_SELECT_WEIGHT)
+const OfpGroupCapabilities_OFPGFC_SELECT_LIVENESS = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_SELECT_LIVENESS)
+const OfpGroupCapabilities_OFPGFC_CHAINING = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_CHAINING)
+const OfpGroupCapabilities_OFPGFC_CHAINING_CHECKS = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_CHAINING_CHECKS)
+
+// OfpQueueProperties from public import voltha_protos/openflow_13.proto
+type OfpQueueProperties = openflow_13.OfpQueueProperties
+
+var OfpQueueProperties_name = openflow_13.OfpQueueProperties_name
+var OfpQueueProperties_value = openflow_13.OfpQueueProperties_value
+
+const OfpQueueProperties_OFPQT_INVALID = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_INVALID)
+const OfpQueueProperties_OFPQT_MIN_RATE = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_MIN_RATE)
+const OfpQueueProperties_OFPQT_MAX_RATE = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_MAX_RATE)
+const OfpQueueProperties_OFPQT_EXPERIMENTER = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_EXPERIMENTER)
+
+// OfpControllerRole from public import voltha_protos/openflow_13.proto
+type OfpControllerRole = openflow_13.OfpControllerRole
+
+var OfpControllerRole_name = openflow_13.OfpControllerRole_name
+var OfpControllerRole_value = openflow_13.OfpControllerRole_value
+
+const OfpControllerRole_OFPCR_ROLE_NOCHANGE = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_NOCHANGE)
+const OfpControllerRole_OFPCR_ROLE_EQUAL = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_EQUAL)
+const OfpControllerRole_OFPCR_ROLE_MASTER = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_MASTER)
+const OfpControllerRole_OFPCR_ROLE_SLAVE = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_SLAVE)
+
+type AlarmFilterRuleKey_AlarmFilterRuleKey int32
+
+const (
+ AlarmFilterRuleKey_id AlarmFilterRuleKey_AlarmFilterRuleKey = 0
+ AlarmFilterRuleKey_type AlarmFilterRuleKey_AlarmFilterRuleKey = 1
+ AlarmFilterRuleKey_severity AlarmFilterRuleKey_AlarmFilterRuleKey = 2
+ AlarmFilterRuleKey_resource_id AlarmFilterRuleKey_AlarmFilterRuleKey = 3
+ AlarmFilterRuleKey_category AlarmFilterRuleKey_AlarmFilterRuleKey = 4
+ AlarmFilterRuleKey_device_id AlarmFilterRuleKey_AlarmFilterRuleKey = 5
+)
+
+var AlarmFilterRuleKey_AlarmFilterRuleKey_name = map[int32]string{
+ 0: "id",
+ 1: "type",
+ 2: "severity",
+ 3: "resource_id",
+ 4: "category",
+ 5: "device_id",
+}
+
+var AlarmFilterRuleKey_AlarmFilterRuleKey_value = map[string]int32{
+ "id": 0,
+ "type": 1,
+ "severity": 2,
+ "resource_id": 3,
+ "category": 4,
+ "device_id": 5,
+}
+
+func (x AlarmFilterRuleKey_AlarmFilterRuleKey) String() string {
+ return proto.EnumName(AlarmFilterRuleKey_AlarmFilterRuleKey_name, int32(x))
+}
+
+func (AlarmFilterRuleKey_AlarmFilterRuleKey) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{2, 0}
+}
+
+type SelfTestResponse_SelfTestResult int32
+
+const (
+ SelfTestResponse_SUCCESS SelfTestResponse_SelfTestResult = 0
+ SelfTestResponse_FAILURE SelfTestResponse_SelfTestResult = 1
+ SelfTestResponse_NOT_SUPPORTED SelfTestResponse_SelfTestResult = 2
+ SelfTestResponse_UNKNOWN_ERROR SelfTestResponse_SelfTestResult = 3
+)
+
+var SelfTestResponse_SelfTestResult_name = map[int32]string{
+ 0: "SUCCESS",
+ 1: "FAILURE",
+ 2: "NOT_SUPPORTED",
+ 3: "UNKNOWN_ERROR",
+}
+
+var SelfTestResponse_SelfTestResult_value = map[string]int32{
+ "SUCCESS": 0,
+ "FAILURE": 1,
+ "NOT_SUPPORTED": 2,
+ "UNKNOWN_ERROR": 3,
+}
+
+func (x SelfTestResponse_SelfTestResult) String() string {
+ return proto.EnumName(SelfTestResponse_SelfTestResult_name, int32(x))
+}
+
+func (SelfTestResponse_SelfTestResult) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{9, 0}
+}
+
+type DeviceGroup struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ LogicalDevices []*LogicalDevice `protobuf:"bytes,2,rep,name=logical_devices,json=logicalDevices,proto3" json:"logical_devices,omitempty"`
+ Devices []*Device `protobuf:"bytes,3,rep,name=devices,proto3" json:"devices,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DeviceGroup) Reset() { *m = DeviceGroup{} }
+func (m *DeviceGroup) String() string { return proto.CompactTextString(m) }
+func (*DeviceGroup) ProtoMessage() {}
+func (*DeviceGroup) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{0}
+}
+
+func (m *DeviceGroup) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeviceGroup.Unmarshal(m, b)
+}
+func (m *DeviceGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeviceGroup.Marshal(b, m, deterministic)
+}
+func (m *DeviceGroup) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeviceGroup.Merge(m, src)
+}
+func (m *DeviceGroup) XXX_Size() int {
+ return xxx_messageInfo_DeviceGroup.Size(m)
+}
+func (m *DeviceGroup) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeviceGroup.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceGroup proto.InternalMessageInfo
+
+func (m *DeviceGroup) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *DeviceGroup) GetLogicalDevices() []*LogicalDevice {
+ if m != nil {
+ return m.LogicalDevices
+ }
+ return nil
+}
+
+func (m *DeviceGroup) GetDevices() []*Device {
+ if m != nil {
+ return m.Devices
+ }
+ return nil
+}
+
+type DeviceGroups struct {
+ Items []*DeviceGroup `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DeviceGroups) Reset() { *m = DeviceGroups{} }
+func (m *DeviceGroups) String() string { return proto.CompactTextString(m) }
+func (*DeviceGroups) ProtoMessage() {}
+func (*DeviceGroups) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{1}
+}
+
+func (m *DeviceGroups) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeviceGroups.Unmarshal(m, b)
+}
+func (m *DeviceGroups) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeviceGroups.Marshal(b, m, deterministic)
+}
+func (m *DeviceGroups) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeviceGroups.Merge(m, src)
+}
+func (m *DeviceGroups) XXX_Size() int {
+ return xxx_messageInfo_DeviceGroups.Size(m)
+}
+func (m *DeviceGroups) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeviceGroups.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceGroups proto.InternalMessageInfo
+
+func (m *DeviceGroups) GetItems() []*DeviceGroup {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type AlarmFilterRuleKey struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmFilterRuleKey) Reset() { *m = AlarmFilterRuleKey{} }
+func (m *AlarmFilterRuleKey) String() string { return proto.CompactTextString(m) }
+func (*AlarmFilterRuleKey) ProtoMessage() {}
+func (*AlarmFilterRuleKey) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{2}
+}
+
+func (m *AlarmFilterRuleKey) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmFilterRuleKey.Unmarshal(m, b)
+}
+func (m *AlarmFilterRuleKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmFilterRuleKey.Marshal(b, m, deterministic)
+}
+func (m *AlarmFilterRuleKey) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmFilterRuleKey.Merge(m, src)
+}
+func (m *AlarmFilterRuleKey) XXX_Size() int {
+ return xxx_messageInfo_AlarmFilterRuleKey.Size(m)
+}
+func (m *AlarmFilterRuleKey) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmFilterRuleKey.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmFilterRuleKey proto.InternalMessageInfo
+
+type AlarmFilterRule struct {
+ Key AlarmFilterRuleKey_AlarmFilterRuleKey `protobuf:"varint,1,opt,name=key,proto3,enum=voltha.AlarmFilterRuleKey_AlarmFilterRuleKey" json:"key,omitempty"`
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmFilterRule) Reset() { *m = AlarmFilterRule{} }
+func (m *AlarmFilterRule) String() string { return proto.CompactTextString(m) }
+func (*AlarmFilterRule) ProtoMessage() {}
+func (*AlarmFilterRule) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{3}
+}
+
+func (m *AlarmFilterRule) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmFilterRule.Unmarshal(m, b)
+}
+func (m *AlarmFilterRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmFilterRule.Marshal(b, m, deterministic)
+}
+func (m *AlarmFilterRule) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmFilterRule.Merge(m, src)
+}
+func (m *AlarmFilterRule) XXX_Size() int {
+ return xxx_messageInfo_AlarmFilterRule.Size(m)
+}
+func (m *AlarmFilterRule) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmFilterRule.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmFilterRule proto.InternalMessageInfo
+
+func (m *AlarmFilterRule) GetKey() AlarmFilterRuleKey_AlarmFilterRuleKey {
+ if m != nil {
+ return m.Key
+ }
+ return AlarmFilterRuleKey_id
+}
+
+func (m *AlarmFilterRule) GetValue() string {
+ if m != nil {
+ return m.Value
+ }
+ return ""
+}
+
+type AlarmFilter struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Rules []*AlarmFilterRule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmFilter) Reset() { *m = AlarmFilter{} }
+func (m *AlarmFilter) String() string { return proto.CompactTextString(m) }
+func (*AlarmFilter) ProtoMessage() {}
+func (*AlarmFilter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{4}
+}
+
+func (m *AlarmFilter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmFilter.Unmarshal(m, b)
+}
+func (m *AlarmFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmFilter.Marshal(b, m, deterministic)
+}
+func (m *AlarmFilter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmFilter.Merge(m, src)
+}
+func (m *AlarmFilter) XXX_Size() int {
+ return xxx_messageInfo_AlarmFilter.Size(m)
+}
+func (m *AlarmFilter) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmFilter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmFilter proto.InternalMessageInfo
+
+func (m *AlarmFilter) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *AlarmFilter) GetRules() []*AlarmFilterRule {
+ if m != nil {
+ return m.Rules
+ }
+ return nil
+}
+
+type AlarmFilters struct {
+ Filters []*AlarmFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmFilters) Reset() { *m = AlarmFilters{} }
+func (m *AlarmFilters) String() string { return proto.CompactTextString(m) }
+func (*AlarmFilters) ProtoMessage() {}
+func (*AlarmFilters) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{5}
+}
+
+func (m *AlarmFilters) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmFilters.Unmarshal(m, b)
+}
+func (m *AlarmFilters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmFilters.Marshal(b, m, deterministic)
+}
+func (m *AlarmFilters) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmFilters.Merge(m, src)
+}
+func (m *AlarmFilters) XXX_Size() int {
+ return xxx_messageInfo_AlarmFilters.Size(m)
+}
+func (m *AlarmFilters) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmFilters.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmFilters proto.InternalMessageInfo
+
+func (m *AlarmFilters) GetFilters() []*AlarmFilter {
+ if m != nil {
+ return m.Filters
+ }
+ return nil
+}
+
+// CoreInstance represents a core instance. It is data held in memory when a core
+// is running. This data is not persistent.
+type CoreInstance struct {
+ InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
+ Health *HealthStatus `protobuf:"bytes,2,opt,name=health,proto3" json:"health,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *CoreInstance) Reset() { *m = CoreInstance{} }
+func (m *CoreInstance) String() string { return proto.CompactTextString(m) }
+func (*CoreInstance) ProtoMessage() {}
+func (*CoreInstance) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{6}
+}
+
+func (m *CoreInstance) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_CoreInstance.Unmarshal(m, b)
+}
+func (m *CoreInstance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_CoreInstance.Marshal(b, m, deterministic)
+}
+func (m *CoreInstance) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_CoreInstance.Merge(m, src)
+}
+func (m *CoreInstance) XXX_Size() int {
+ return xxx_messageInfo_CoreInstance.Size(m)
+}
+func (m *CoreInstance) XXX_DiscardUnknown() {
+ xxx_messageInfo_CoreInstance.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CoreInstance proto.InternalMessageInfo
+
+func (m *CoreInstance) GetInstanceId() string {
+ if m != nil {
+ return m.InstanceId
+ }
+ return ""
+}
+
+func (m *CoreInstance) GetHealth() *HealthStatus {
+ if m != nil {
+ return m.Health
+ }
+ return nil
+}
+
+type CoreInstances struct {
+ Items []*CoreInstance `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *CoreInstances) Reset() { *m = CoreInstances{} }
+func (m *CoreInstances) String() string { return proto.CompactTextString(m) }
+func (*CoreInstances) ProtoMessage() {}
+func (*CoreInstances) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{7}
+}
+
+func (m *CoreInstances) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_CoreInstances.Unmarshal(m, b)
+}
+func (m *CoreInstances) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_CoreInstances.Marshal(b, m, deterministic)
+}
+func (m *CoreInstances) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_CoreInstances.Merge(m, src)
+}
+func (m *CoreInstances) XXX_Size() int {
+ return xxx_messageInfo_CoreInstances.Size(m)
+}
+func (m *CoreInstances) XXX_DiscardUnknown() {
+ xxx_messageInfo_CoreInstances.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CoreInstances proto.InternalMessageInfo
+
+func (m *CoreInstances) GetItems() []*CoreInstance {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+// Voltha represents the Voltha cluster data. Each Core instance will hold a subset of
+// the entire cluster. However, some items (e.g. adapters) will be held by all cores
+// for better performance
+type Voltha struct {
+ Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
+ Adapters []*Adapter `protobuf:"bytes,2,rep,name=adapters,proto3" json:"adapters,omitempty"`
+ LogicalDevices []*LogicalDevice `protobuf:"bytes,3,rep,name=logical_devices,json=logicalDevices,proto3" json:"logical_devices,omitempty"`
+ Devices []*Device `protobuf:"bytes,4,rep,name=devices,proto3" json:"devices,omitempty"`
+ DeviceTypes []*DeviceType `protobuf:"bytes,5,rep,name=device_types,json=deviceTypes,proto3" json:"device_types,omitempty"`
+ DeviceGroups []*DeviceGroup `protobuf:"bytes,6,rep,name=device_groups,json=deviceGroups,proto3" json:"device_groups,omitempty"`
+ AlarmFilters []*AlarmFilter `protobuf:"bytes,7,rep,name=alarm_filters,json=alarmFilters,proto3" json:"alarm_filters,omitempty"`
+ OmciMibDatabase []*omci.MibDeviceData `protobuf:"bytes,28,rep,name=omci_mib_database,json=omciMibDatabase,proto3" json:"omci_mib_database,omitempty"`
+ OmciAlarmDatabase []*omci.AlarmDeviceData `protobuf:"bytes,29,rep,name=omci_alarm_database,json=omciAlarmDatabase,proto3" json:"omci_alarm_database,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Voltha) Reset() { *m = Voltha{} }
+func (m *Voltha) String() string { return proto.CompactTextString(m) }
+func (*Voltha) ProtoMessage() {}
+func (*Voltha) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{8}
+}
+
+func (m *Voltha) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Voltha.Unmarshal(m, b)
+}
+func (m *Voltha) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Voltha.Marshal(b, m, deterministic)
+}
+func (m *Voltha) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Voltha.Merge(m, src)
+}
+func (m *Voltha) XXX_Size() int {
+ return xxx_messageInfo_Voltha.Size(m)
+}
+func (m *Voltha) XXX_DiscardUnknown() {
+ xxx_messageInfo_Voltha.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Voltha proto.InternalMessageInfo
+
+func (m *Voltha) GetVersion() string {
+ if m != nil {
+ return m.Version
+ }
+ return ""
+}
+
+func (m *Voltha) GetAdapters() []*Adapter {
+ if m != nil {
+ return m.Adapters
+ }
+ return nil
+}
+
+func (m *Voltha) GetLogicalDevices() []*LogicalDevice {
+ if m != nil {
+ return m.LogicalDevices
+ }
+ return nil
+}
+
+func (m *Voltha) GetDevices() []*Device {
+ if m != nil {
+ return m.Devices
+ }
+ return nil
+}
+
+func (m *Voltha) GetDeviceTypes() []*DeviceType {
+ if m != nil {
+ return m.DeviceTypes
+ }
+ return nil
+}
+
+func (m *Voltha) GetDeviceGroups() []*DeviceGroup {
+ if m != nil {
+ return m.DeviceGroups
+ }
+ return nil
+}
+
+func (m *Voltha) GetAlarmFilters() []*AlarmFilter {
+ if m != nil {
+ return m.AlarmFilters
+ }
+ return nil
+}
+
+func (m *Voltha) GetOmciMibDatabase() []*omci.MibDeviceData {
+ if m != nil {
+ return m.OmciMibDatabase
+ }
+ return nil
+}
+
+func (m *Voltha) GetOmciAlarmDatabase() []*omci.AlarmDeviceData {
+ if m != nil {
+ return m.OmciAlarmDatabase
+ }
+ return nil
+}
+
+// Device Self Test Response
+type SelfTestResponse struct {
+ Result SelfTestResponse_SelfTestResult `protobuf:"varint,1,opt,name=result,proto3,enum=voltha.SelfTestResponse_SelfTestResult" json:"result,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *SelfTestResponse) Reset() { *m = SelfTestResponse{} }
+func (m *SelfTestResponse) String() string { return proto.CompactTextString(m) }
+func (*SelfTestResponse) ProtoMessage() {}
+func (*SelfTestResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{9}
+}
+
+func (m *SelfTestResponse) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_SelfTestResponse.Unmarshal(m, b)
+}
+func (m *SelfTestResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_SelfTestResponse.Marshal(b, m, deterministic)
+}
+func (m *SelfTestResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_SelfTestResponse.Merge(m, src)
+}
+func (m *SelfTestResponse) XXX_Size() int {
+ return xxx_messageInfo_SelfTestResponse.Size(m)
+}
+func (m *SelfTestResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_SelfTestResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SelfTestResponse proto.InternalMessageInfo
+
+func (m *SelfTestResponse) GetResult() SelfTestResponse_SelfTestResult {
+ if m != nil {
+ return m.Result
+ }
+ return SelfTestResponse_SUCCESS
+}
+
+type OfAgentSubscriber struct {
+ // ID of ofagent instance
+ OfagentId string `protobuf:"bytes,1,opt,name=ofagent_id,json=ofagentId,proto3" json:"ofagent_id,omitempty"`
+ // ID of voltha instance to which the ofagent is subscribed
+ VolthaId string `protobuf:"bytes,2,opt,name=voltha_id,json=volthaId,proto3" json:"voltha_id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OfAgentSubscriber) Reset() { *m = OfAgentSubscriber{} }
+func (m *OfAgentSubscriber) String() string { return proto.CompactTextString(m) }
+func (*OfAgentSubscriber) ProtoMessage() {}
+func (*OfAgentSubscriber) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{10}
+}
+
+func (m *OfAgentSubscriber) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OfAgentSubscriber.Unmarshal(m, b)
+}
+func (m *OfAgentSubscriber) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OfAgentSubscriber.Marshal(b, m, deterministic)
+}
+func (m *OfAgentSubscriber) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OfAgentSubscriber.Merge(m, src)
+}
+func (m *OfAgentSubscriber) XXX_Size() int {
+ return xxx_messageInfo_OfAgentSubscriber.Size(m)
+}
+func (m *OfAgentSubscriber) XXX_DiscardUnknown() {
+ xxx_messageInfo_OfAgentSubscriber.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OfAgentSubscriber proto.InternalMessageInfo
+
+func (m *OfAgentSubscriber) GetOfagentId() string {
+ if m != nil {
+ return m.OfagentId
+ }
+ return ""
+}
+
+func (m *OfAgentSubscriber) GetVolthaId() string {
+ if m != nil {
+ return m.VolthaId
+ }
+ return ""
+}
+
+// Identifies a membership group a Core belongs to
+type Membership struct {
+ // Group name
+ GroupName string `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
+ // Unique ID of a container within that group
+ Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Membership) Reset() { *m = Membership{} }
+func (m *Membership) String() string { return proto.CompactTextString(m) }
+func (*Membership) ProtoMessage() {}
+func (*Membership) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{11}
+}
+
+func (m *Membership) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Membership.Unmarshal(m, b)
+}
+func (m *Membership) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Membership.Marshal(b, m, deterministic)
+}
+func (m *Membership) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Membership.Merge(m, src)
+}
+func (m *Membership) XXX_Size() int {
+ return xxx_messageInfo_Membership.Size(m)
+}
+func (m *Membership) XXX_DiscardUnknown() {
+ xxx_messageInfo_Membership.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Membership proto.InternalMessageInfo
+
+func (m *Membership) GetGroupName() string {
+ if m != nil {
+ return m.GroupName
+ }
+ return ""
+}
+
+func (m *Membership) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+// Additional information required to process flow at device adapters
+type FlowMetadata struct {
+ // Meters associated with flow-update to adapter
+ Meters []*openflow_13.OfpMeterConfig `protobuf:"bytes,1,rep,name=meters,proto3" json:"meters,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FlowMetadata) Reset() { *m = FlowMetadata{} }
+func (m *FlowMetadata) String() string { return proto.CompactTextString(m) }
+func (*FlowMetadata) ProtoMessage() {}
+func (*FlowMetadata) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{12}
+}
+
+func (m *FlowMetadata) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FlowMetadata.Unmarshal(m, b)
+}
+func (m *FlowMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FlowMetadata.Marshal(b, m, deterministic)
+}
+func (m *FlowMetadata) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FlowMetadata.Merge(m, src)
+}
+func (m *FlowMetadata) XXX_Size() int {
+ return xxx_messageInfo_FlowMetadata.Size(m)
+}
+func (m *FlowMetadata) XXX_DiscardUnknown() {
+ xxx_messageInfo_FlowMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FlowMetadata proto.InternalMessageInfo
+
+func (m *FlowMetadata) GetMeters() []*openflow_13.OfpMeterConfig {
+ if m != nil {
+ return m.Meters
+ }
+ return nil
+}
+
+func init() {
+ proto.RegisterEnum("voltha.AlarmFilterRuleKey_AlarmFilterRuleKey", AlarmFilterRuleKey_AlarmFilterRuleKey_name, AlarmFilterRuleKey_AlarmFilterRuleKey_value)
+ proto.RegisterEnum("voltha.SelfTestResponse_SelfTestResult", SelfTestResponse_SelfTestResult_name, SelfTestResponse_SelfTestResult_value)
+ proto.RegisterType((*DeviceGroup)(nil), "voltha.DeviceGroup")
+ proto.RegisterType((*DeviceGroups)(nil), "voltha.DeviceGroups")
+ proto.RegisterType((*AlarmFilterRuleKey)(nil), "voltha.AlarmFilterRuleKey")
+ proto.RegisterType((*AlarmFilterRule)(nil), "voltha.AlarmFilterRule")
+ proto.RegisterType((*AlarmFilter)(nil), "voltha.AlarmFilter")
+ proto.RegisterType((*AlarmFilters)(nil), "voltha.AlarmFilters")
+ proto.RegisterType((*CoreInstance)(nil), "voltha.CoreInstance")
+ proto.RegisterType((*CoreInstances)(nil), "voltha.CoreInstances")
+ proto.RegisterType((*Voltha)(nil), "voltha.Voltha")
+ proto.RegisterType((*SelfTestResponse)(nil), "voltha.SelfTestResponse")
+ proto.RegisterType((*OfAgentSubscriber)(nil), "voltha.OfAgentSubscriber")
+ proto.RegisterType((*Membership)(nil), "voltha.Membership")
+ proto.RegisterType((*FlowMetadata)(nil), "voltha.FlowMetadata")
+}
+
+func init() { proto.RegisterFile("voltha_protos/voltha.proto", fileDescriptor_e084f1a60ce7016c) }
+
+var fileDescriptor_e084f1a60ce7016c = []byte{
+ // 2493 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x73, 0x1b, 0x49,
+ 0x15, 0xb6, 0x7c, 0xf7, 0x91, 0x64, 0x49, 0x2d, 0x5f, 0xb4, 0xb2, 0x9d, 0x38, 0xbd, 0xb9, 0xe1,
+ 0x5d, 0x4b, 0x49, 0xbc, 0x49, 0x41, 0x96, 0xad, 0x25, 0x96, 0x1d, 0x23, 0xe2, 0xd8, 0x62, 0x14,
+ 0x27, 0xc0, 0x6e, 0x4a, 0x35, 0xd2, 0xb4, 0xe5, 0xa9, 0x1d, 0xcd, 0x88, 0xe9, 0x96, 0x82, 0x2b,
+ 0x6c, 0x41, 0x85, 0x6b, 0xf1, 0xc8, 0xfe, 0x05, 0x9e, 0x28, 0xfe, 0x4a, 0x9e, 0xf8, 0x03, 0x14,
+ 0xc5, 0x03, 0x8f, 0x3c, 0x05, 0x1e, 0xa9, 0xbe, 0x8c, 0x34, 0xa3, 0x99, 0xf1, 0x65, 0xd9, 0x2a,
+ 0x9e, 0x62, 0xf5, 0x39, 0xf3, 0x7d, 0x5f, 0x9f, 0x3e, 0xdd, 0xe7, 0x4c, 0x4f, 0xa0, 0xd8, 0x77,
+ 0x2c, 0x76, 0xa2, 0x37, 0xba, 0xae, 0xc3, 0x1c, 0x5a, 0x96, 0xbf, 0x4a, 0xe2, 0x17, 0x9a, 0x96,
+ 0xbf, 0x8a, 0xab, 0x6d, 0xc7, 0x69, 0x5b, 0xa4, 0xac, 0x77, 0xcd, 0xb2, 0x6e, 0xdb, 0x0e, 0xd3,
+ 0x99, 0xe9, 0xd8, 0x54, 0x7a, 0x15, 0x57, 0x94, 0x55, 0xfc, 0x6a, 0xf6, 0x8e, 0xcb, 0xa4, 0xd3,
+ 0x65, 0xa7, 0xca, 0x58, 0x08, 0xc2, 0x77, 0x08, 0x53, 0xe0, 0xc5, 0x11, 0xe2, 0x96, 0xd3, 0xe9,
+ 0x38, 0x76, 0xb4, 0xed, 0x84, 0xe8, 0x16, 0x3b, 0x51, 0x36, 0x1c, 0xb4, 0x59, 0x4e, 0xdb, 0x6c,
+ 0xe9, 0x56, 0xc3, 0x20, 0x7d, 0xb3, 0x45, 0xa2, 0x9f, 0x0f, 0xd8, 0x56, 0x82, 0x36, 0xdd, 0xd0,
+ 0xbb, 0x8c, 0xb8, 0xca, 0x78, 0x35, 0x68, 0x74, 0xba, 0xc4, 0x3e, 0xb6, 0x9c, 0x57, 0x8d, 0xbb,
+ 0x5b, 0x31, 0x0e, 0x9d, 0x96, 0xd9, 0xe8, 0x98, 0xcd, 0x86, 0xd1, 0x54, 0x0e, 0xd7, 0x22, 0x1c,
+ 0x74, 0x4b, 0x77, 0x3b, 0x43, 0x97, 0xf5, 0xa0, 0xcb, 0xa9, 0x6e, 0xb7, 0x1b, 0x4e, 0xd7, 0x17,
+ 0x52, 0xfc, 0xa7, 0x04, 0x24, 0x77, 0x84, 0xe8, 0x3d, 0xd7, 0xe9, 0x75, 0xd1, 0x22, 0x8c, 0x9b,
+ 0x46, 0x21, 0xb1, 0x9e, 0xb8, 0x3d, 0xb7, 0x3d, 0xf5, 0xcf, 0x77, 0x6f, 0xd7, 0x12, 0xda, 0xb8,
+ 0x69, 0xa0, 0x2a, 0x64, 0x82, 0xd3, 0xa7, 0x85, 0xf1, 0xf5, 0x89, 0xdb, 0xc9, 0x7b, 0x8b, 0x25,
+ 0xb5, 0x8e, 0xfb, 0xd2, 0x2c, 0xb1, 0xb6, 0xe7, 0xfe, 0xfe, 0xee, 0xed, 0xda, 0x24, 0xc7, 0xd2,
+ 0xe6, 0x2d, 0xbf, 0x85, 0xa2, 0x2d, 0x98, 0xf1, 0x20, 0x26, 0x04, 0xc4, 0xbc, 0x07, 0x11, 0x7e,
+ 0xd6, 0xf3, 0xc4, 0xdf, 0x81, 0x94, 0x4f, 0x25, 0x45, 0xdf, 0x82, 0x29, 0x93, 0x91, 0x0e, 0x2d,
+ 0x24, 0x04, 0x44, 0x3e, 0x08, 0x21, 0x9c, 0x34, 0xe9, 0x81, 0x7f, 0x01, 0xe8, 0x11, 0x8f, 0xca,
+ 0x63, 0xd3, 0x62, 0xc4, 0xd5, 0x7a, 0x16, 0x79, 0x42, 0x4e, 0x71, 0x33, 0x6a, 0x14, 0x4d, 0x73,
+ 0xd6, 0xec, 0x18, 0x9a, 0x85, 0x49, 0x76, 0xda, 0x25, 0xd9, 0x04, 0x4a, 0xc1, 0x2c, 0x25, 0x7d,
+ 0xe2, 0x9a, 0xec, 0x34, 0x3b, 0x8e, 0x32, 0x90, 0x74, 0x09, 0x75, 0x7a, 0x6e, 0x8b, 0x34, 0x4c,
+ 0x23, 0x3b, 0xc1, 0xcd, 0x2d, 0x9d, 0x91, 0xb6, 0xe3, 0x9e, 0x66, 0x27, 0x51, 0x1a, 0xe6, 0xa4,
+ 0x60, 0x6e, 0x9c, 0x7a, 0x38, 0xf5, 0xaf, 0x77, 0x6f, 0xd7, 0xc6, 0xf0, 0x09, 0x64, 0x46, 0xa8,
+ 0xd0, 0xa7, 0x30, 0xf1, 0x05, 0x39, 0x15, 0x61, 0x9e, 0xbf, 0xb7, 0xe9, 0x89, 0x0f, 0x0b, 0x8a,
+ 0x18, 0xd2, 0xf8, 0x93, 0x68, 0x01, 0xa6, 0xfa, 0xba, 0xd5, 0x23, 0x85, 0x71, 0xbe, 0x52, 0x9a,
+ 0xfc, 0x81, 0xeb, 0x90, 0xf4, 0x3d, 0x10, 0xb7, 0x96, 0x9b, 0x30, 0xe5, 0xf6, 0xac, 0xc1, 0x0a,
+ 0x2e, 0xc7, 0xd0, 0x6b, 0xd2, 0x0b, 0x7f, 0x02, 0x29, 0x9f, 0x85, 0xa2, 0x4d, 0x98, 0x39, 0x96,
+ 0x7f, 0x8e, 0x06, 0xdf, 0x0f, 0xe0, 0xf9, 0x60, 0x17, 0x52, 0x15, 0xc7, 0x25, 0x55, 0x9b, 0x32,
+ 0xdd, 0x6e, 0x11, 0x74, 0x13, 0x92, 0xa6, 0xfa, 0xbb, 0x31, 0xaa, 0x0e, 0x3c, 0x4b, 0xd5, 0x40,
+ 0x5b, 0x30, 0x2d, 0x37, 0xa3, 0x98, 0x62, 0xf2, 0xde, 0x82, 0xc7, 0xf2, 0x7d, 0x31, 0x5a, 0x67,
+ 0x3a, 0xeb, 0xd1, 0xed, 0x29, 0x9e, 0x2b, 0x63, 0x9a, 0x72, 0x7d, 0x38, 0xf5, 0x1f, 0x8e, 0x83,
+ 0xb7, 0x21, 0xed, 0xe7, 0xa4, 0x68, 0x23, 0x98, 0x2e, 0x03, 0x2c, 0xbf, 0x97, 0xca, 0x17, 0x0f,
+ 0xe3, 0x6f, 0x93, 0x30, 0xfd, 0x5c, 0x78, 0xa1, 0xab, 0x30, 0xd3, 0x27, 0x2e, 0x35, 0x1d, 0x3b,
+ 0x28, 0xd7, 0x1b, 0x45, 0x0f, 0x60, 0x56, 0x6d, 0x6e, 0x2f, 0xa8, 0x99, 0x41, 0x4c, 0xe4, 0xb8,
+ 0x3f, 0xa9, 0x07, 0xbe, 0x51, 0xbb, 0x6a, 0xe2, 0x7f, 0xdf, 0x55, 0x93, 0x17, 0xdd, 0x55, 0xe8,
+ 0x7b, 0x90, 0x52, 0xf9, 0xca, 0xb3, 0x9d, 0x16, 0xa6, 0xc4, 0x93, 0x28, 0xf8, 0xe4, 0xb3, 0xd3,
+ 0x6e, 0xe0, 0xe9, 0xa4, 0x31, 0x18, 0xa6, 0xa8, 0x02, 0x69, 0x85, 0xd0, 0x16, 0x1b, 0xb3, 0x30,
+ 0x1d, 0xbb, 0x1f, 0xfd, 0x18, 0x8a, 0x56, 0x6d, 0xe6, 0x0a, 0xa4, 0xe5, 0xb9, 0xe5, 0xe5, 0xd5,
+ 0x4c, 0x6c, 0x5e, 0x05, 0x40, 0x74, 0x7f, 0x5a, 0xfe, 0x10, 0x72, 0xc3, 0x23, 0x52, 0x67, 0x7a,
+ 0x53, 0xa7, 0xa4, 0xb0, 0xaa, 0x80, 0xb8, 0xa5, 0xf4, 0xd4, 0x6c, 0x4a, 0x39, 0x3b, 0x3a, 0xd3,
+ 0xb7, 0xb3, 0x1c, 0x28, 0xe9, 0xdb, 0xb0, 0x5a, 0x86, 0x7b, 0x71, 0x27, 0xf5, 0x34, 0x7a, 0x01,
+ 0x79, 0xff, 0xa1, 0xea, 0x81, 0xae, 0xa9, 0x25, 0x12, 0xa0, 0x42, 0xdb, 0x99, 0xb0, 0x42, 0x96,
+ 0x74, 0x53, 0x08, 0x5e, 0x8a, 0xfd, 0x25, 0x01, 0xd9, 0x3a, 0xb1, 0x8e, 0x9f, 0x11, 0xca, 0x34,
+ 0x42, 0xbb, 0x8e, 0x4d, 0xf9, 0xd1, 0x30, 0xed, 0x12, 0xda, 0xb3, 0x98, 0x3a, 0x1d, 0x6e, 0x79,
+ 0x51, 0x18, 0xf5, 0xf4, 0x0f, 0xf4, 0x2c, 0xa6, 0xa9, 0xc7, 0x70, 0x0d, 0xe6, 0x83, 0x16, 0x94,
+ 0x84, 0x99, 0xfa, 0x51, 0xa5, 0xb2, 0x5b, 0xaf, 0x67, 0xc7, 0xf8, 0x8f, 0xc7, 0x8f, 0xaa, 0xfb,
+ 0x47, 0xda, 0x6e, 0x36, 0x81, 0x72, 0x90, 0x3e, 0x38, 0x7c, 0xd6, 0xa8, 0x1f, 0xd5, 0x6a, 0x87,
+ 0xda, 0xb3, 0xdd, 0x9d, 0xec, 0x38, 0x1f, 0x3a, 0x3a, 0x78, 0x72, 0x70, 0xf8, 0xe2, 0xa0, 0xb1,
+ 0xab, 0x69, 0x87, 0x5a, 0x76, 0xc2, 0x3b, 0xc7, 0x0e, 0x21, 0x77, 0x78, 0xfc, 0xa8, 0x4d, 0x6c,
+ 0x56, 0xef, 0x35, 0x69, 0xcb, 0x35, 0x9b, 0xc4, 0x45, 0x6b, 0x00, 0xce, 0xb1, 0xce, 0x07, 0x07,
+ 0xbb, 0x59, 0x9b, 0x53, 0x23, 0x55, 0x03, 0xad, 0xc0, 0x9c, 0x2a, 0x41, 0xa6, 0xa1, 0xce, 0xaa,
+ 0x59, 0x39, 0x50, 0x35, 0xf0, 0xc7, 0x00, 0x4f, 0x49, 0xa7, 0x49, 0x5c, 0x7a, 0x62, 0x76, 0x39,
+ 0x92, 0xc8, 0xa1, 0x86, 0xad, 0x77, 0x88, 0x87, 0x24, 0x46, 0x0e, 0xf4, 0x0e, 0x41, 0xf3, 0xe2,
+ 0x30, 0x93, 0x10, 0xe3, 0xa6, 0x81, 0x77, 0x21, 0xf5, 0xd8, 0x72, 0x5e, 0x3d, 0x25, 0x4c, 0xe7,
+ 0x2b, 0x83, 0xee, 0xc3, 0x74, 0x87, 0xf8, 0x4e, 0xa5, 0xb5, 0x92, 0xbf, 0xa4, 0x3a, 0xc7, 0xdd,
+ 0x86, 0x30, 0x37, 0x5a, 0x8e, 0x7d, 0x6c, 0xb6, 0x35, 0xe5, 0x7c, 0xef, 0xcd, 0x1d, 0x48, 0xcb,
+ 0x6d, 0x5e, 0x27, 0x2e, 0x5f, 0x32, 0xa4, 0xc1, 0xfc, 0x51, 0xd7, 0xd0, 0x19, 0xd9, 0x77, 0xda,
+ 0xfb, 0xa4, 0x4f, 0x2c, 0x94, 0x29, 0xa9, 0x96, 0x61, 0xdf, 0x69, 0xb7, 0x4d, 0xbb, 0x5d, 0x5c,
+ 0x2a, 0xc9, 0x46, 0xa4, 0xe4, 0x35, 0x22, 0xa5, 0x5d, 0xde, 0x88, 0xe0, 0xe5, 0x37, 0x7f, 0xfd,
+ 0xc7, 0x57, 0xe3, 0x39, 0x9c, 0x12, 0xfd, 0x4b, 0xff, 0x2e, 0x6f, 0x19, 0xe8, 0xc3, 0xc4, 0x06,
+ 0xaa, 0x41, 0x6a, 0x8f, 0x30, 0x0f, 0x90, 0xa2, 0xc2, 0x08, 0x62, 0xc5, 0xe9, 0x74, 0x1d, 0x9b,
+ 0xd8, 0xac, 0x98, 0x1d, 0xb1, 0x50, 0xbc, 0x20, 0x40, 0xe7, 0x51, 0x00, 0x14, 0xbd, 0x80, 0xf4,
+ 0x1e, 0x61, 0xbe, 0xf0, 0xc5, 0x68, 0x2a, 0x0e, 0x76, 0xf3, 0xd0, 0x17, 0x17, 0x05, 0xe4, 0x02,
+ 0x42, 0x1e, 0x64, 0x67, 0x88, 0xf3, 0x12, 0xb2, 0x72, 0xfa, 0x3e, 0xec, 0x08, 0x8c, 0xd8, 0x18,
+ 0xac, 0x09, 0xec, 0x65, 0x1c, 0x81, 0xcd, 0x23, 0xb1, 0x03, 0x73, 0x7b, 0x84, 0xa9, 0x83, 0x35,
+ 0x4e, 0xf3, 0xe0, 0xec, 0x92, 0x7e, 0x38, 0x23, 0x30, 0xe7, 0xd0, 0x8c, 0xc2, 0x44, 0x3d, 0xc8,
+ 0xed, 0x9b, 0x94, 0x05, 0x0f, 0xf9, 0x38, 0xb4, 0xc5, 0xa8, 0xd3, 0x9e, 0xe2, 0xbb, 0x7f, 0xf8,
+ 0xf7, 0xdb, 0xb5, 0x19, 0x55, 0x18, 0xc4, 0xdf, 0x48, 0xfe, 0x2d, 0xc8, 0xf2, 0x28, 0xe7, 0x4d,
+ 0xc0, 0x1c, 0x30, 0xd4, 0x21, 0xb3, 0x47, 0x02, 0xac, 0x08, 0xbc, 0xf5, 0xaa, 0xee, 0x14, 0x23,
+ 0xcb, 0x0a, 0xbe, 0x22, 0xf0, 0x0a, 0x68, 0x29, 0x84, 0x57, 0x7e, 0x6d, 0x1a, 0x5f, 0x22, 0x1d,
+ 0x52, 0x7c, 0x2e, 0x8f, 0xbc, 0xa2, 0x10, 0x37, 0x8d, 0xec, 0x48, 0x49, 0xa1, 0xf8, 0x16, 0x57,
+ 0x0d, 0xc3, 0xda, 0x23, 0x88, 0x10, 0xca, 0x7a, 0x44, 0x83, 0x3a, 0xf3, 0x1a, 0x10, 0xa7, 0xd8,
+ 0x0f, 0x96, 0x8c, 0x38, 0xa2, 0xa5, 0xc8, 0xe2, 0x43, 0xf1, 0x7d, 0x4e, 0x97, 0x0b, 0x95, 0x2c,
+ 0xc1, 0xfa, 0x1e, 0x5a, 0xf6, 0xa5, 0xa7, 0xdf, 0x8c, 0x3e, 0x83, 0xac, 0xcc, 0xfd, 0x21, 0x56,
+ 0x20, 0x6a, 0xd1, 0xb5, 0x0e, 0x5f, 0x17, 0xb8, 0x57, 0xd0, 0x6a, 0x0c, 0xae, 0x0c, 0x9e, 0x0b,
+ 0x4b, 0xa1, 0x99, 0xd5, 0x1c, 0x97, 0xd1, 0xe8, 0x85, 0x51, 0x7e, 0xc2, 0x03, 0x3f, 0x50, 0x09,
+ 0xd0, 0xe5, 0xbf, 0x04, 0xdb, 0x75, 0x84, 0xcf, 0x62, 0x2b, 0x0b, 0x4f, 0xf4, 0xab, 0x04, 0x2c,
+ 0x8c, 0xce, 0x88, 0x23, 0xa2, 0xc5, 0x08, 0x9a, 0xaa, 0x51, 0xcc, 0x47, 0x0c, 0xe3, 0x4f, 0x39,
+ 0xf9, 0x34, 0x4c, 0x72, 0x48, 0xc1, 0x5d, 0x42, 0x1f, 0x9e, 0xcf, 0x5d, 0x7e, 0xcd, 0xff, 0x69,
+ 0xf0, 0x99, 0xff, 0x26, 0x01, 0xcb, 0xbb, 0xb6, 0xde, 0xb4, 0xc8, 0x85, 0x85, 0xc4, 0x6d, 0xd9,
+ 0x8f, 0x85, 0x80, 0xfb, 0x78, 0xeb, 0x32, 0x02, 0xca, 0x44, 0x90, 0xa3, 0xdf, 0x25, 0xa0, 0xb0,
+ 0x63, 0xd2, 0x6f, 0x44, 0xc8, 0x77, 0x85, 0x90, 0x07, 0xf8, 0xa3, 0x4b, 0x09, 0x31, 0x24, 0x3b,
+ 0xfa, 0x79, 0x44, 0x2e, 0xf0, 0x12, 0x11, 0xcc, 0x05, 0x14, 0xa8, 0x0b, 0xc2, 0x8e, 0xb7, 0x55,
+ 0x26, 0xf0, 0xd1, 0xf0, 0x51, 0x70, 0x5e, 0x56, 0x88, 0xa7, 0x78, 0x56, 0xac, 0x0e, 0xea, 0x46,
+ 0x50, 0xc0, 0x33, 0x21, 0x6f, 0x35, 0x44, 0x2c, 0xc6, 0xe5, 0x33, 0xb1, 0x21, 0xd9, 0x14, 0x12,
+ 0x6e, 0xe1, 0x0b, 0x48, 0xe0, 0xc7, 0xeb, 0xaf, 0x13, 0xb0, 0x16, 0xa1, 0xe2, 0x29, 0x2f, 0x76,
+ 0x52, 0xc6, 0x4a, 0x40, 0x86, 0x30, 0x3c, 0x75, 0x8c, 0x73, 0x54, 0x94, 0x84, 0x8a, 0xdb, 0xf8,
+ 0xfd, 0x33, 0x55, 0xc8, 0x92, 0xca, 0x65, 0xfc, 0x32, 0x01, 0xcb, 0xa1, 0xb5, 0x10, 0x5c, 0xc1,
+ 0xc5, 0xc8, 0x87, 0xc5, 0x50, 0xbc, 0xc3, 0x57, 0x60, 0xd6, 0x2b, 0xe7, 0xa1, 0xe5, 0xb8, 0x81,
+ 0x2e, 0xa2, 0x02, 0xfd, 0x31, 0x01, 0x2b, 0x91, 0xe9, 0xa0, 0x9a, 0x4e, 0xbf, 0x8c, 0xe5, 0xd0,
+ 0xd2, 0x48, 0x27, 0x7c, 0xc0, 0xd9, 0xd3, 0x90, 0x14, 0x26, 0xd9, 0xe1, 0x86, 0xf4, 0x6c, 0xa0,
+ 0xdb, 0xe7, 0xae, 0x8d, 0x7a, 0x16, 0x7d, 0x95, 0x80, 0x6b, 0x31, 0x49, 0x22, 0x18, 0xe5, 0x12,
+ 0x5d, 0x8b, 0x96, 0x73, 0x91, 0x74, 0xd9, 0x12, 0x92, 0x36, 0xf1, 0x85, 0x25, 0xf1, 0xd5, 0x7a,
+ 0x09, 0x49, 0x1e, 0xa9, 0xf3, 0xea, 0x42, 0x26, 0xd8, 0xd4, 0x53, 0x7c, 0x83, 0xc7, 0x62, 0x6e,
+ 0xf0, 0xe2, 0x21, 0x9b, 0x1f, 0x94, 0xf1, 0xa8, 0xbd, 0x02, 0x60, 0x40, 0x7a, 0x08, 0x5f, 0x35,
+ 0xe2, 0x09, 0x92, 0xc3, 0x25, 0xa1, 0xb8, 0xc4, 0xc1, 0x45, 0xa3, 0x7f, 0x56, 0x6d, 0x96, 0x1c,
+ 0xa6, 0x41, 0xd1, 0x11, 0x64, 0x35, 0xd2, 0x72, 0xec, 0x96, 0x69, 0x11, 0x6f, 0x26, 0x7e, 0xc0,
+ 0xd8, 0x90, 0xad, 0x0a, 0xcc, 0x25, 0x1c, 0xc6, 0xe4, 0xb1, 0xd9, 0x15, 0xfd, 0x4a, 0x44, 0xd9,
+ 0x1a, 0x79, 0xbf, 0xf2, 0x60, 0xd0, 0xc2, 0xc8, 0xf4, 0x65, 0x9d, 0xfa, 0x01, 0xa4, 0x2a, 0x2e,
+ 0xd1, 0x99, 0x92, 0x86, 0x46, 0x9e, 0x0e, 0xa1, 0xa9, 0x0e, 0x0d, 0x8f, 0x06, 0x93, 0x4b, 0x7a,
+ 0x01, 0x29, 0x79, 0xf0, 0x47, 0xa8, 0x8a, 0x9b, 0xe4, 0xfb, 0x02, 0x6f, 0x0d, 0xaf, 0x44, 0xa9,
+ 0xf3, 0x8e, 0xf2, 0x1f, 0x43, 0x5a, 0x9d, 0xe4, 0x97, 0x40, 0x56, 0x75, 0x1a, 0xaf, 0x46, 0x22,
+ 0x7b, 0x67, 0xf3, 0x0b, 0x48, 0x69, 0xa4, 0xe9, 0x38, 0xec, 0x1b, 0xd3, 0xec, 0x0a, 0x38, 0x0e,
+ 0xbc, 0x43, 0x2c, 0xc2, 0xbe, 0x46, 0x30, 0x36, 0xa2, 0x81, 0x0d, 0x01, 0x87, 0x7a, 0x90, 0xde,
+ 0x71, 0x5e, 0xd9, 0x96, 0xa3, 0x1b, 0xd5, 0x8e, 0xde, 0x26, 0xc3, 0x5a, 0x26, 0x7e, 0x7a, 0xb6,
+ 0xe2, 0xa2, 0x47, 0x78, 0xd8, 0x25, 0xae, 0xb8, 0xad, 0xe4, 0x2f, 0x68, 0xf8, 0x81, 0xe0, 0xb8,
+ 0x83, 0x3f, 0x88, 0xe4, 0x30, 0x39, 0x44, 0xc3, 0x50, 0x18, 0xb4, 0xfc, 0x9a, 0xbf, 0xf3, 0x7c,
+ 0xc9, 0x17, 0xf7, 0x4d, 0x02, 0x96, 0xf6, 0x08, 0x0b, 0x70, 0xc8, 0xbb, 0x8e, 0x78, 0x01, 0x51,
+ 0xc3, 0xf8, 0xa1, 0x10, 0xf0, 0x11, 0xba, 0x77, 0x09, 0x01, 0x65, 0x2a, 0x99, 0x7a, 0xa2, 0x65,
+ 0x0b, 0xe0, 0x5d, 0x92, 0x5d, 0x9d, 0x43, 0xe8, 0x32, 0xd3, 0x47, 0xc7, 0xb2, 0x4d, 0x0d, 0x20,
+ 0xd1, 0x91, 0x15, 0x8d, 0x62, 0xa3, 0xf8, 0x43, 0x41, 0x77, 0x13, 0x5d, 0xbf, 0x08, 0x1d, 0xfa,
+ 0x19, 0xe4, 0x2b, 0xbc, 0x01, 0xb7, 0x2e, 0x38, 0xc3, 0xc8, 0x05, 0x56, 0x33, 0xdc, 0xb8, 0xd4,
+ 0x0c, 0x7f, 0x9f, 0x80, 0xfc, 0xa3, 0x16, 0x33, 0xfb, 0x3a, 0x23, 0x82, 0x45, 0x1e, 0xe7, 0x97,
+ 0xa4, 0xae, 0x08, 0xea, 0x4f, 0xf0, 0xb7, 0x2f, 0xb3, 0xb4, 0x72, 0xb8, 0x27, 0xf8, 0x78, 0xa2,
+ 0xfd, 0x36, 0x01, 0x39, 0x8d, 0xf4, 0x89, 0xcb, 0xfe, 0x2f, 0x42, 0x5c, 0x41, 0xcd, 0x85, 0x7c,
+ 0x0e, 0x99, 0x61, 0x79, 0x08, 0xf7, 0xee, 0x69, 0x4f, 0x91, 0x6c, 0xda, 0x4b, 0xa1, 0xa6, 0x7d,
+ 0x15, 0x15, 0x23, 0xe9, 0x65, 0xb3, 0xfe, 0x12, 0xf2, 0x3e, 0xf4, 0x4e, 0x45, 0xbc, 0xfd, 0x07,
+ 0x19, 0x72, 0x03, 0x06, 0xcf, 0x8c, 0x6f, 0x09, 0xe4, 0x6b, 0xe8, 0x6a, 0x34, 0x72, 0x47, 0xdd,
+ 0x22, 0x50, 0x64, 0xc3, 0xa2, 0x8c, 0xdc, 0x28, 0x41, 0x18, 0x34, 0xf6, 0x38, 0xda, 0x90, 0x5d,
+ 0x26, 0x3e, 0x8f, 0x8c, 0x07, 0xab, 0xe3, 0x0f, 0xd6, 0xc5, 0x9a, 0xdb, 0x87, 0x67, 0x36, 0xb7,
+ 0x71, 0xd1, 0x1b, 0x34, 0xb5, 0x0b, 0x41, 0xbe, 0xcb, 0x74, 0x4f, 0x8f, 0x2f, 0xd0, 0x3d, 0x61,
+ 0xb4, 0x1e, 0xcb, 0xef, 0x75, 0x4d, 0x8e, 0x7f, 0xd2, 0xf2, 0xde, 0x31, 0xae, 0x85, 0xc8, 0x87,
+ 0xef, 0x2e, 0x29, 0x2e, 0x73, 0xd6, 0xf9, 0xe0, 0x5d, 0x67, 0x74, 0xb5, 0x96, 0x36, 0xa4, 0x89,
+ 0xcb, 0x95, 0x21, 0xc4, 0x48, 0x8c, 0x43, 0x14, 0xf8, 0x9a, 0x80, 0x5b, 0x41, 0xef, 0x45, 0xc1,
+ 0xc9, 0x0e, 0x80, 0x42, 0x76, 0x38, 0x09, 0x15, 0xc5, 0xb8, 0x59, 0x2c, 0x44, 0x5c, 0x9f, 0xaa,
+ 0x0b, 0x8b, 0xcc, 0xc8, 0x85, 0xab, 0xbc, 0x6d, 0x41, 0x8b, 0x23, 0xc4, 0x2a, 0x72, 0x8f, 0x21,
+ 0x5b, 0x67, 0x2e, 0xd1, 0x3b, 0x35, 0xbd, 0xf5, 0x05, 0x61, 0xf4, 0xb0, 0xc7, 0xd0, 0x52, 0x60,
+ 0xb9, 0xa4, 0xe1, 0xb0, 0xc7, 0x62, 0xd3, 0x73, 0xec, 0x76, 0x02, 0xed, 0x8a, 0xe6, 0x8a, 0x98,
+ 0x7d, 0xa2, 0x80, 0xaa, 0xf6, 0x19, 0xd7, 0x2d, 0x61, 0xfc, 0xaa, 0x8d, 0xc7, 0xee, 0x24, 0xd0,
+ 0x13, 0xc8, 0x2b, 0x98, 0xca, 0x89, 0x6e, 0xb7, 0xc9, 0x6e, 0x9f, 0xd8, 0x2c, 0x3e, 0x0c, 0x85,
+ 0x00, 0x92, 0xef, 0x11, 0x01, 0x76, 0x04, 0xf3, 0x83, 0x45, 0x92, 0xdf, 0xae, 0x82, 0x6f, 0x16,
+ 0xe1, 0x10, 0x62, 0x1c, 0x9d, 0xf2, 0x2a, 0x5a, 0x72, 0x9d, 0x1a, 0x90, 0x93, 0x9d, 0x9a, 0xff,
+ 0x4b, 0x4a, 0xd4, 0x55, 0x74, 0x31, 0x6a, 0x10, 0xaf, 0x0b, 0x8a, 0x22, 0x1e, 0x2c, 0x48, 0xe0,
+ 0x66, 0x9b, 0x6f, 0x61, 0xa9, 0xdb, 0x8f, 0x1e, 0xa9, 0xdb, 0x0f, 0x1a, 0xd2, 0x1d, 0x00, 0x95,
+ 0xba, 0x0d, 0xc8, 0xc9, 0x93, 0xe8, 0xeb, 0xe9, 0xbe, 0x21, 0x28, 0xae, 0x16, 0xcf, 0xa0, 0xe0,
+ 0xe2, 0x3f, 0x83, 0x9c, 0x6c, 0xb7, 0xe2, 0xf4, 0xc7, 0x65, 0x91, 0x9a, 0xc2, 0xc6, 0x59, 0x53,
+ 0x68, 0xc8, 0x2d, 0x12, 0xf8, 0xda, 0x74, 0xee, 0x16, 0xf1, 0x7b, 0x7b, 0x97, 0x8f, 0x28, 0x3a,
+ 0xfa, 0x68, 0x5f, 0x34, 0xf3, 0xa2, 0xb4, 0xd1, 0xe8, 0x66, 0x5e, 0xda, 0xbc, 0x0e, 0x11, 0xad,
+ 0xc4, 0x17, 0x36, 0x8a, 0x7e, 0x04, 0xb3, 0xde, 0x45, 0x7b, 0x00, 0xac, 0x10, 0x77, 0x63, 0x8f,
+ 0x6f, 0x0a, 0xd8, 0x75, 0x7c, 0x25, 0x12, 0x96, 0x12, 0xeb, 0xb8, 0xc1, 0x38, 0xda, 0x73, 0xd1,
+ 0x7f, 0x05, 0xbe, 0x57, 0x8c, 0xbe, 0x36, 0x87, 0x3e, 0x68, 0x84, 0xcf, 0x20, 0xbe, 0x79, 0xb8,
+ 0x9f, 0x7a, 0x2d, 0x36, 0x9b, 0xe8, 0x73, 0x40, 0x5e, 0xea, 0xc5, 0x20, 0x47, 0x7f, 0xd5, 0x08,
+ 0xc7, 0x23, 0x88, 0x2d, 0xa2, 0x8c, 0x28, 0xa4, 0xeb, 0x66, 0xa7, 0x67, 0x79, 0x39, 0x88, 0x56,
+ 0x07, 0x81, 0xf0, 0x0f, 0x6b, 0xe4, 0xa7, 0x3d, 0x42, 0x59, 0x5c, 0x4f, 0x11, 0xba, 0xf0, 0x08,
+ 0xc6, 0x48, 0x21, 0x35, 0x38, 0x12, 0x4f, 0xc8, 0x0a, 0xcc, 0x0d, 0xbe, 0x46, 0xa0, 0xf7, 0x3c,
+ 0xc2, 0xd0, 0x77, 0x8a, 0x62, 0xbc, 0x09, 0x8f, 0x6d, 0x9b, 0x90, 0x77, 0xdc, 0xb6, 0x38, 0x6d,
+ 0x5a, 0x8e, 0x6b, 0x28, 0xd7, 0xed, 0x94, 0xbc, 0x7e, 0xae, 0x89, 0x8f, 0xe7, 0x3f, 0xf9, 0xa0,
+ 0x6d, 0xb2, 0x93, 0x5e, 0x93, 0xab, 0x2e, 0x7b, 0x9e, 0xea, 0x3f, 0x31, 0x6c, 0xaa, 0xef, 0xeb,
+ 0x6d, 0x47, 0x0d, 0xfc, 0x79, 0x7c, 0xe9, 0xd0, 0x03, 0x7b, 0xee, 0xbf, 0xca, 0xae, 0x8d, 0xd7,
+ 0x26, 0x6a, 0x93, 0xb5, 0xa9, 0xda, 0x74, 0x6d, 0xa6, 0x36, 0xdb, 0x9c, 0x16, 0x0f, 0x6e, 0xfd,
+ 0x37, 0x00, 0x00, 0xff, 0xff, 0x23, 0x82, 0x59, 0x22, 0x1b, 0x21, 0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion4
+
+// VolthaServiceClient is the client API for VolthaService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type VolthaServiceClient interface {
+ // Get more information on a given physical device
+ UpdateLogLevel(ctx context.Context, in *common.Logging, opts ...grpc.CallOption) (*empty.Empty, error)
+ GetLogLevels(ctx context.Context, in *common.LoggingComponent, opts ...grpc.CallOption) (*common.Loggings, error)
+ // Get the membership group of a Voltha Core
+ GetMembership(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Membership, error)
+ // Set the membership group of a Voltha Core
+ UpdateMembership(ctx context.Context, in *Membership, opts ...grpc.CallOption) (*empty.Empty, error)
+ // Get high level information on the Voltha cluster
+ GetVoltha(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Voltha, error)
+ // List all Voltha cluster core instances
+ ListCoreInstances(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreInstances, error)
+ // Get details on a Voltha cluster instance
+ GetCoreInstance(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*CoreInstance, error)
+ // List all active adapters (plugins) in the Voltha cluster
+ ListAdapters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Adapters, error)
+ // List all logical devices managed by the Voltha cluster
+ ListLogicalDevices(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*LogicalDevices, error)
+ // Get additional information on a given logical device
+ GetLogicalDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*LogicalDevice, error)
+ // List ports of a logical device
+ ListLogicalDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*LogicalPorts, error)
+ // Gets a logical device port
+ GetLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*LogicalPort, error)
+ // Enables a logical device port
+ EnableLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*empty.Empty, error)
+ // Disables a logical device port
+ DisableLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*empty.Empty, error)
+ // List all flows of a logical device
+ ListLogicalDeviceFlows(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Flows, error)
+ // Update flow table for logical device
+ UpdateLogicalDeviceFlowTable(ctx context.Context, in *openflow_13.FlowTableUpdate, opts ...grpc.CallOption) (*empty.Empty, error)
+ // Update meter table for logical device
+ UpdateLogicalDeviceMeterTable(ctx context.Context, in *openflow_13.MeterModUpdate, opts ...grpc.CallOption) (*empty.Empty, error)
+ // List all meters of a logical device
+ ListLogicalDeviceMeters(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Meters, error)
+ // List all flow groups of a logical device
+ ListLogicalDeviceFlowGroups(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.FlowGroups, error)
+ // Update group table for device
+ UpdateLogicalDeviceFlowGroupTable(ctx context.Context, in *openflow_13.FlowGroupTableUpdate, opts ...grpc.CallOption) (*empty.Empty, error)
+ // List all physical devices controlled by the Voltha cluster
+ ListDevices(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Devices, error)
+ // List all physical devices IDs controlled by the Voltha cluster
+ ListDeviceIds(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*common.IDs, error)
+ // Request to a voltha Core to reconcile a set of devices based on their IDs
+ ReconcileDevices(ctx context.Context, in *common.IDs, opts ...grpc.CallOption) (*empty.Empty, error)
+ // Get more information on a given physical device
+ GetDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Device, error)
+ // Pre-provision a new physical device
+ CreateDevice(ctx context.Context, in *Device, opts ...grpc.CallOption) (*Device, error)
+ // Enable a device. If the device was in pre-provisioned state then it
+ // will transition to ENABLED state. If it was is DISABLED state then it
+ // will transition to ENABLED state as well.
+ EnableDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
+ // Disable a device
+ DisableDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
+ // Reboot a device
+ RebootDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
+ // Delete a device
+ DeleteDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
+ // Request an image download to the standby partition
+ // of a device.
+ // Note that the call is expected to be non-blocking.
+ DownloadImage(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
+ // Get image download status on a device
+ // The request retrieves progress on device and updates db record
+ GetImageDownloadStatus(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error)
+ // Get image download db record
+ GetImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error)
+ // List image download db records for a given device
+ ListImageDownloads(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*ImageDownloads, error)
+ // Cancel an existing image download process on a device
+ CancelImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
+ // Activate the specified image at a standby partition
+ // to active partition.
+ // Depending on the device implementation, this call
+ // may or may not cause device reboot.
+ // If no reboot, then a reboot is required to make the
+ // activated image running on device
+ // Note that the call is expected to be non-blocking.
+ ActivateImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
+ // Revert the specified image at standby partition
+ // to active partition, and revert to previous image
+ // Depending on the device implementation, this call
+ // may or may not cause device reboot.
+ // If no reboot, then a reboot is required to make the
+ // previous image running on device
+ // Note that the call is expected to be non-blocking.
+ RevertImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
+ // List ports of a device
+ ListDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Ports, error)
+ // List pm config of a device
+ ListDevicePmConfigs(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*PmConfigs, error)
+ // Update the pm config of a device
+ UpdateDevicePmConfigs(ctx context.Context, in *PmConfigs, opts ...grpc.CallOption) (*empty.Empty, error)
+ // List all flows of a device
+ ListDeviceFlows(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Flows, error)
+ // List all flow groups of a device
+ ListDeviceFlowGroups(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.FlowGroups, error)
+ // List device types known to Voltha
+ ListDeviceTypes(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*DeviceTypes, error)
+ // Get additional information on a device type
+ GetDeviceType(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*DeviceType, error)
+ // List all device sharding groups
+ ListDeviceGroups(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*DeviceGroups, error)
+ // Stream control packets to the dataplane
+ StreamPacketsOut(ctx context.Context, opts ...grpc.CallOption) (VolthaService_StreamPacketsOutClient, error)
+ // Receive control packet stream
+ ReceivePacketsIn(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (VolthaService_ReceivePacketsInClient, error)
+ ReceiveChangeEvents(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (VolthaService_ReceiveChangeEventsClient, error)
+ // Get additional information on a device group
+ GetDeviceGroup(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*DeviceGroup, error)
+ CreateAlarmFilter(ctx context.Context, in *AlarmFilter, opts ...grpc.CallOption) (*AlarmFilter, error)
+ GetAlarmFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*AlarmFilter, error)
+ UpdateAlarmFilter(ctx context.Context, in *AlarmFilter, opts ...grpc.CallOption) (*AlarmFilter, error)
+ DeleteAlarmFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
+ ListAlarmFilters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*AlarmFilters, error)
+ GetImages(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Images, error)
+ SelfTest(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*SelfTestResponse, error)
+ // OpenOMCI MIB information
+ GetMibDeviceData(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*omci.MibDeviceData, error)
+ // OpenOMCI ALARM information
+ GetAlarmDeviceData(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*omci.AlarmDeviceData, error)
+ // Simulate an Alarm
+ SimulateAlarm(ctx context.Context, in *SimulateAlarmRequest, opts ...grpc.CallOption) (*common.OperationResp, error)
+ Subscribe(ctx context.Context, in *OfAgentSubscriber, opts ...grpc.CallOption) (*OfAgentSubscriber, error)
+}
+
+type volthaServiceClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewVolthaServiceClient(cc *grpc.ClientConn) VolthaServiceClient {
+ return &volthaServiceClient{cc}
+}
+
+func (c *volthaServiceClient) UpdateLogLevel(ctx context.Context, in *common.Logging, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateLogLevel", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetLogLevels(ctx context.Context, in *common.LoggingComponent, opts ...grpc.CallOption) (*common.Loggings, error) {
+ out := new(common.Loggings)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetLogLevels", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetMembership(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Membership, error) {
+ out := new(Membership)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetMembership", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) UpdateMembership(ctx context.Context, in *Membership, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateMembership", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetVoltha(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Voltha, error) {
+ out := new(Voltha)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetVoltha", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListCoreInstances(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreInstances, error) {
+ out := new(CoreInstances)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListCoreInstances", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetCoreInstance(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*CoreInstance, error) {
+ out := new(CoreInstance)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetCoreInstance", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListAdapters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Adapters, error) {
+ out := new(Adapters)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListAdapters", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListLogicalDevices(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*LogicalDevices, error) {
+ out := new(LogicalDevices)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDevices", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetLogicalDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*LogicalDevice, error) {
+ out := new(LogicalDevice)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetLogicalDevice", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListLogicalDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*LogicalPorts, error) {
+ out := new(LogicalPorts)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDevicePorts", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*LogicalPort, error) {
+ out := new(LogicalPort)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetLogicalDevicePort", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) EnableLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/EnableLogicalDevicePort", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) DisableLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/DisableLogicalDevicePort", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListLogicalDeviceFlows(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Flows, error) {
+ out := new(openflow_13.Flows)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDeviceFlows", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) UpdateLogicalDeviceFlowTable(ctx context.Context, in *openflow_13.FlowTableUpdate, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateLogicalDeviceFlowTable", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) UpdateLogicalDeviceMeterTable(ctx context.Context, in *openflow_13.MeterModUpdate, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateLogicalDeviceMeterTable", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListLogicalDeviceMeters(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Meters, error) {
+ out := new(openflow_13.Meters)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDeviceMeters", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListLogicalDeviceFlowGroups(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.FlowGroups, error) {
+ out := new(openflow_13.FlowGroups)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDeviceFlowGroups", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) UpdateLogicalDeviceFlowGroupTable(ctx context.Context, in *openflow_13.FlowGroupTableUpdate, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateLogicalDeviceFlowGroupTable", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListDevices(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Devices, error) {
+ out := new(Devices)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDevices", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListDeviceIds(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*common.IDs, error) {
+ out := new(common.IDs)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceIds", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ReconcileDevices(ctx context.Context, in *common.IDs, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ReconcileDevices", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Device, error) {
+ out := new(Device)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetDevice", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) CreateDevice(ctx context.Context, in *Device, opts ...grpc.CallOption) (*Device, error) {
+ out := new(Device)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/CreateDevice", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) EnableDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/EnableDevice", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) DisableDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/DisableDevice", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) RebootDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/RebootDevice", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) DeleteDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/DeleteDevice", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) DownloadImage(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error) {
+ out := new(common.OperationResp)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/DownloadImage", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetImageDownloadStatus(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error) {
+ out := new(ImageDownload)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetImageDownloadStatus", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error) {
+ out := new(ImageDownload)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetImageDownload", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListImageDownloads(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*ImageDownloads, error) {
+ out := new(ImageDownloads)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListImageDownloads", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) CancelImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error) {
+ out := new(common.OperationResp)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/CancelImageDownload", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ActivateImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error) {
+ out := new(common.OperationResp)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ActivateImageUpdate", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) RevertImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error) {
+ out := new(common.OperationResp)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/RevertImageUpdate", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Ports, error) {
+ out := new(Ports)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDevicePorts", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListDevicePmConfigs(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*PmConfigs, error) {
+ out := new(PmConfigs)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDevicePmConfigs", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) UpdateDevicePmConfigs(ctx context.Context, in *PmConfigs, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateDevicePmConfigs", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListDeviceFlows(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Flows, error) {
+ out := new(openflow_13.Flows)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceFlows", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListDeviceFlowGroups(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.FlowGroups, error) {
+ out := new(openflow_13.FlowGroups)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceFlowGroups", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListDeviceTypes(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*DeviceTypes, error) {
+ out := new(DeviceTypes)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceTypes", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetDeviceType(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*DeviceType, error) {
+ out := new(DeviceType)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetDeviceType", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListDeviceGroups(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*DeviceGroups, error) {
+ out := new(DeviceGroups)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceGroups", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) StreamPacketsOut(ctx context.Context, opts ...grpc.CallOption) (VolthaService_StreamPacketsOutClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_VolthaService_serviceDesc.Streams[0], "/voltha.VolthaService/StreamPacketsOut", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &volthaServiceStreamPacketsOutClient{stream}
+ return x, nil
+}
+
+type VolthaService_StreamPacketsOutClient interface {
+ Send(*openflow_13.PacketOut) error
+ CloseAndRecv() (*empty.Empty, error)
+ grpc.ClientStream
+}
+
+type volthaServiceStreamPacketsOutClient struct {
+ grpc.ClientStream
+}
+
+func (x *volthaServiceStreamPacketsOutClient) Send(m *openflow_13.PacketOut) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *volthaServiceStreamPacketsOutClient) CloseAndRecv() (*empty.Empty, error) {
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ m := new(empty.Empty)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *volthaServiceClient) ReceivePacketsIn(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (VolthaService_ReceivePacketsInClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_VolthaService_serviceDesc.Streams[1], "/voltha.VolthaService/ReceivePacketsIn", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &volthaServiceReceivePacketsInClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type VolthaService_ReceivePacketsInClient interface {
+ Recv() (*openflow_13.PacketIn, error)
+ grpc.ClientStream
+}
+
+type volthaServiceReceivePacketsInClient struct {
+ grpc.ClientStream
+}
+
+func (x *volthaServiceReceivePacketsInClient) Recv() (*openflow_13.PacketIn, error) {
+ m := new(openflow_13.PacketIn)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *volthaServiceClient) ReceiveChangeEvents(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (VolthaService_ReceiveChangeEventsClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_VolthaService_serviceDesc.Streams[2], "/voltha.VolthaService/ReceiveChangeEvents", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &volthaServiceReceiveChangeEventsClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type VolthaService_ReceiveChangeEventsClient interface {
+ Recv() (*openflow_13.ChangeEvent, error)
+ grpc.ClientStream
+}
+
+type volthaServiceReceiveChangeEventsClient struct {
+ grpc.ClientStream
+}
+
+func (x *volthaServiceReceiveChangeEventsClient) Recv() (*openflow_13.ChangeEvent, error) {
+ m := new(openflow_13.ChangeEvent)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *volthaServiceClient) GetDeviceGroup(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*DeviceGroup, error) {
+ out := new(DeviceGroup)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetDeviceGroup", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) CreateAlarmFilter(ctx context.Context, in *AlarmFilter, opts ...grpc.CallOption) (*AlarmFilter, error) {
+ out := new(AlarmFilter)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/CreateAlarmFilter", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetAlarmFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*AlarmFilter, error) {
+ out := new(AlarmFilter)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetAlarmFilter", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) UpdateAlarmFilter(ctx context.Context, in *AlarmFilter, opts ...grpc.CallOption) (*AlarmFilter, error) {
+ out := new(AlarmFilter)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateAlarmFilter", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) DeleteAlarmFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/DeleteAlarmFilter", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ListAlarmFilters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*AlarmFilters, error) {
+ out := new(AlarmFilters)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListAlarmFilters", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetImages(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Images, error) {
+ out := new(Images)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetImages", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) SelfTest(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*SelfTestResponse, error) {
+ out := new(SelfTestResponse)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/SelfTest", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetMibDeviceData(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*omci.MibDeviceData, error) {
+ out := new(omci.MibDeviceData)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetMibDeviceData", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetAlarmDeviceData(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*omci.AlarmDeviceData, error) {
+ out := new(omci.AlarmDeviceData)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetAlarmDeviceData", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) SimulateAlarm(ctx context.Context, in *SimulateAlarmRequest, opts ...grpc.CallOption) (*common.OperationResp, error) {
+ out := new(common.OperationResp)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/SimulateAlarm", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) Subscribe(ctx context.Context, in *OfAgentSubscriber, opts ...grpc.CallOption) (*OfAgentSubscriber, error) {
+ out := new(OfAgentSubscriber)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/Subscribe", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// VolthaServiceServer is the server API for VolthaService service.
+type VolthaServiceServer interface {
+ // Get more information on a given physical device
+ UpdateLogLevel(context.Context, *common.Logging) (*empty.Empty, error)
+ GetLogLevels(context.Context, *common.LoggingComponent) (*common.Loggings, error)
+ // Get the membership group of a Voltha Core
+ GetMembership(context.Context, *empty.Empty) (*Membership, error)
+ // Set the membership group of a Voltha Core
+ UpdateMembership(context.Context, *Membership) (*empty.Empty, error)
+ // Get high level information on the Voltha cluster
+ GetVoltha(context.Context, *empty.Empty) (*Voltha, error)
+ // List all Voltha cluster core instances
+ ListCoreInstances(context.Context, *empty.Empty) (*CoreInstances, error)
+ // Get details on a Voltha cluster instance
+ GetCoreInstance(context.Context, *common.ID) (*CoreInstance, error)
+ // List all active adapters (plugins) in the Voltha cluster
+ ListAdapters(context.Context, *empty.Empty) (*Adapters, error)
+ // List all logical devices managed by the Voltha cluster
+ ListLogicalDevices(context.Context, *empty.Empty) (*LogicalDevices, error)
+ // Get additional information on a given logical device
+ GetLogicalDevice(context.Context, *common.ID) (*LogicalDevice, error)
+ // List ports of a logical device
+ ListLogicalDevicePorts(context.Context, *common.ID) (*LogicalPorts, error)
+ // Gets a logical device port
+ GetLogicalDevicePort(context.Context, *LogicalPortId) (*LogicalPort, error)
+ // Enables a logical device port
+ EnableLogicalDevicePort(context.Context, *LogicalPortId) (*empty.Empty, error)
+ // Disables a logical device port
+ DisableLogicalDevicePort(context.Context, *LogicalPortId) (*empty.Empty, error)
+ // List all flows of a logical device
+ ListLogicalDeviceFlows(context.Context, *common.ID) (*openflow_13.Flows, error)
+ // Update flow table for logical device
+ UpdateLogicalDeviceFlowTable(context.Context, *openflow_13.FlowTableUpdate) (*empty.Empty, error)
+ // Update meter table for logical device
+ UpdateLogicalDeviceMeterTable(context.Context, *openflow_13.MeterModUpdate) (*empty.Empty, error)
+ // List all meters of a logical device
+ ListLogicalDeviceMeters(context.Context, *common.ID) (*openflow_13.Meters, error)
+ // List all flow groups of a logical device
+ ListLogicalDeviceFlowGroups(context.Context, *common.ID) (*openflow_13.FlowGroups, error)
+ // Update group table for device
+ UpdateLogicalDeviceFlowGroupTable(context.Context, *openflow_13.FlowGroupTableUpdate) (*empty.Empty, error)
+ // List all physical devices controlled by the Voltha cluster
+ ListDevices(context.Context, *empty.Empty) (*Devices, error)
+ // List all physical devices IDs controlled by the Voltha cluster
+ ListDeviceIds(context.Context, *empty.Empty) (*common.IDs, error)
+ // Request to a voltha Core to reconcile a set of devices based on their IDs
+ ReconcileDevices(context.Context, *common.IDs) (*empty.Empty, error)
+ // Get more information on a given physical device
+ GetDevice(context.Context, *common.ID) (*Device, error)
+ // Pre-provision a new physical device
+ CreateDevice(context.Context, *Device) (*Device, error)
+ // Enable a device. If the device was in pre-provisioned state then it
+ // will transition to ENABLED state. If it was is DISABLED state then it
+ // will transition to ENABLED state as well.
+ EnableDevice(context.Context, *common.ID) (*empty.Empty, error)
+ // Disable a device
+ DisableDevice(context.Context, *common.ID) (*empty.Empty, error)
+ // Reboot a device
+ RebootDevice(context.Context, *common.ID) (*empty.Empty, error)
+ // Delete a device
+ DeleteDevice(context.Context, *common.ID) (*empty.Empty, error)
+ // Request an image download to the standby partition
+ // of a device.
+ // Note that the call is expected to be non-blocking.
+ DownloadImage(context.Context, *ImageDownload) (*common.OperationResp, error)
+ // Get image download status on a device
+ // The request retrieves progress on device and updates db record
+ GetImageDownloadStatus(context.Context, *ImageDownload) (*ImageDownload, error)
+ // Get image download db record
+ GetImageDownload(context.Context, *ImageDownload) (*ImageDownload, error)
+ // List image download db records for a given device
+ ListImageDownloads(context.Context, *common.ID) (*ImageDownloads, error)
+ // Cancel an existing image download process on a device
+ CancelImageDownload(context.Context, *ImageDownload) (*common.OperationResp, error)
+ // Activate the specified image at a standby partition
+ // to active partition.
+ // Depending on the device implementation, this call
+ // may or may not cause device reboot.
+ // If no reboot, then a reboot is required to make the
+ // activated image running on device
+ // Note that the call is expected to be non-blocking.
+ ActivateImageUpdate(context.Context, *ImageDownload) (*common.OperationResp, error)
+ // Revert the specified image at standby partition
+ // to active partition, and revert to previous image
+ // Depending on the device implementation, this call
+ // may or may not cause device reboot.
+ // If no reboot, then a reboot is required to make the
+ // previous image running on device
+ // Note that the call is expected to be non-blocking.
+ RevertImageUpdate(context.Context, *ImageDownload) (*common.OperationResp, error)
+ // List ports of a device
+ ListDevicePorts(context.Context, *common.ID) (*Ports, error)
+ // List pm config of a device
+ ListDevicePmConfigs(context.Context, *common.ID) (*PmConfigs, error)
+ // Update the pm config of a device
+ UpdateDevicePmConfigs(context.Context, *PmConfigs) (*empty.Empty, error)
+ // List all flows of a device
+ ListDeviceFlows(context.Context, *common.ID) (*openflow_13.Flows, error)
+ // List all flow groups of a device
+ ListDeviceFlowGroups(context.Context, *common.ID) (*openflow_13.FlowGroups, error)
+ // List device types known to Voltha
+ ListDeviceTypes(context.Context, *empty.Empty) (*DeviceTypes, error)
+ // Get additional information on a device type
+ GetDeviceType(context.Context, *common.ID) (*DeviceType, error)
+ // List all device sharding groups
+ ListDeviceGroups(context.Context, *empty.Empty) (*DeviceGroups, error)
+ // Stream control packets to the dataplane
+ StreamPacketsOut(VolthaService_StreamPacketsOutServer) error
+ // Receive control packet stream
+ ReceivePacketsIn(*empty.Empty, VolthaService_ReceivePacketsInServer) error
+ ReceiveChangeEvents(*empty.Empty, VolthaService_ReceiveChangeEventsServer) error
+ // Get additional information on a device group
+ GetDeviceGroup(context.Context, *common.ID) (*DeviceGroup, error)
+ CreateAlarmFilter(context.Context, *AlarmFilter) (*AlarmFilter, error)
+ GetAlarmFilter(context.Context, *common.ID) (*AlarmFilter, error)
+ UpdateAlarmFilter(context.Context, *AlarmFilter) (*AlarmFilter, error)
+ DeleteAlarmFilter(context.Context, *common.ID) (*empty.Empty, error)
+ ListAlarmFilters(context.Context, *empty.Empty) (*AlarmFilters, error)
+ GetImages(context.Context, *common.ID) (*Images, error)
+ SelfTest(context.Context, *common.ID) (*SelfTestResponse, error)
+ // OpenOMCI MIB information
+ GetMibDeviceData(context.Context, *common.ID) (*omci.MibDeviceData, error)
+ // OpenOMCI ALARM information
+ GetAlarmDeviceData(context.Context, *common.ID) (*omci.AlarmDeviceData, error)
+ // Simulate an Alarm
+ SimulateAlarm(context.Context, *SimulateAlarmRequest) (*common.OperationResp, error)
+ Subscribe(context.Context, *OfAgentSubscriber) (*OfAgentSubscriber, error)
+}
+
+func RegisterVolthaServiceServer(s *grpc.Server, srv VolthaServiceServer) {
+ s.RegisterService(&_VolthaService_serviceDesc, srv)
+}
+
+func _VolthaService_UpdateLogLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.Logging)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).UpdateLogLevel(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/UpdateLogLevel",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).UpdateLogLevel(ctx, req.(*common.Logging))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetLogLevels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.LoggingComponent)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetLogLevels(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetLogLevels",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetLogLevels(ctx, req.(*common.LoggingComponent))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetMembership(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetMembership",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetMembership(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_UpdateMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(Membership)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).UpdateMembership(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/UpdateMembership",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).UpdateMembership(ctx, req.(*Membership))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetVoltha_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetVoltha(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetVoltha",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetVoltha(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListCoreInstances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListCoreInstances(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListCoreInstances",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListCoreInstances(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetCoreInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetCoreInstance(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetCoreInstance",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetCoreInstance(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListAdapters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListAdapters(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListAdapters",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListAdapters(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListLogicalDevices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListLogicalDevices(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListLogicalDevices",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListLogicalDevices(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetLogicalDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetLogicalDevice(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetLogicalDevice",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetLogicalDevice(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListLogicalDevicePorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListLogicalDevicePorts(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListLogicalDevicePorts",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListLogicalDevicePorts(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetLogicalDevicePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(LogicalPortId)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetLogicalDevicePort(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetLogicalDevicePort",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetLogicalDevicePort(ctx, req.(*LogicalPortId))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_EnableLogicalDevicePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(LogicalPortId)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).EnableLogicalDevicePort(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/EnableLogicalDevicePort",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).EnableLogicalDevicePort(ctx, req.(*LogicalPortId))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_DisableLogicalDevicePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(LogicalPortId)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).DisableLogicalDevicePort(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/DisableLogicalDevicePort",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).DisableLogicalDevicePort(ctx, req.(*LogicalPortId))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListLogicalDeviceFlows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListLogicalDeviceFlows(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListLogicalDeviceFlows",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListLogicalDeviceFlows(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_UpdateLogicalDeviceFlowTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(openflow_13.FlowTableUpdate)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).UpdateLogicalDeviceFlowTable(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/UpdateLogicalDeviceFlowTable",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).UpdateLogicalDeviceFlowTable(ctx, req.(*openflow_13.FlowTableUpdate))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_UpdateLogicalDeviceMeterTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(openflow_13.MeterModUpdate)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).UpdateLogicalDeviceMeterTable(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/UpdateLogicalDeviceMeterTable",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).UpdateLogicalDeviceMeterTable(ctx, req.(*openflow_13.MeterModUpdate))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListLogicalDeviceMeters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListLogicalDeviceMeters(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListLogicalDeviceMeters",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListLogicalDeviceMeters(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListLogicalDeviceFlowGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListLogicalDeviceFlowGroups(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListLogicalDeviceFlowGroups",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListLogicalDeviceFlowGroups(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_UpdateLogicalDeviceFlowGroupTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(openflow_13.FlowGroupTableUpdate)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).UpdateLogicalDeviceFlowGroupTable(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/UpdateLogicalDeviceFlowGroupTable",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).UpdateLogicalDeviceFlowGroupTable(ctx, req.(*openflow_13.FlowGroupTableUpdate))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListDevices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListDevices(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListDevices",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListDevices(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListDeviceIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListDeviceIds(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListDeviceIds",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListDeviceIds(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ReconcileDevices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.IDs)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ReconcileDevices(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ReconcileDevices",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ReconcileDevices(ctx, req.(*common.IDs))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetDevice(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetDevice",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetDevice(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_CreateDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(Device)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).CreateDevice(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/CreateDevice",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).CreateDevice(ctx, req.(*Device))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_EnableDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).EnableDevice(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/EnableDevice",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).EnableDevice(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_DisableDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).DisableDevice(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/DisableDevice",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).DisableDevice(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_RebootDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).RebootDevice(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/RebootDevice",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).RebootDevice(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_DeleteDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).DeleteDevice(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/DeleteDevice",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).DeleteDevice(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_DownloadImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ImageDownload)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).DownloadImage(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/DownloadImage",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).DownloadImage(ctx, req.(*ImageDownload))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetImageDownloadStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ImageDownload)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetImageDownloadStatus(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetImageDownloadStatus",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetImageDownloadStatus(ctx, req.(*ImageDownload))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetImageDownload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ImageDownload)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetImageDownload(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetImageDownload",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetImageDownload(ctx, req.(*ImageDownload))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListImageDownloads_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListImageDownloads(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListImageDownloads",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListImageDownloads(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_CancelImageDownload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ImageDownload)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).CancelImageDownload(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/CancelImageDownload",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).CancelImageDownload(ctx, req.(*ImageDownload))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ActivateImageUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ImageDownload)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ActivateImageUpdate(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ActivateImageUpdate",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ActivateImageUpdate(ctx, req.(*ImageDownload))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_RevertImageUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ImageDownload)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).RevertImageUpdate(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/RevertImageUpdate",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).RevertImageUpdate(ctx, req.(*ImageDownload))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListDevicePorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListDevicePorts(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListDevicePorts",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListDevicePorts(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListDevicePmConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListDevicePmConfigs(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListDevicePmConfigs",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListDevicePmConfigs(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_UpdateDevicePmConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(PmConfigs)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).UpdateDevicePmConfigs(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/UpdateDevicePmConfigs",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).UpdateDevicePmConfigs(ctx, req.(*PmConfigs))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListDeviceFlows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListDeviceFlows(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListDeviceFlows",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListDeviceFlows(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListDeviceFlowGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListDeviceFlowGroups(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListDeviceFlowGroups",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListDeviceFlowGroups(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListDeviceTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListDeviceTypes(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListDeviceTypes",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListDeviceTypes(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetDeviceType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetDeviceType(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetDeviceType",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetDeviceType(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListDeviceGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListDeviceGroups(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListDeviceGroups",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListDeviceGroups(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_StreamPacketsOut_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(VolthaServiceServer).StreamPacketsOut(&volthaServiceStreamPacketsOutServer{stream})
+}
+
+type VolthaService_StreamPacketsOutServer interface {
+ SendAndClose(*empty.Empty) error
+ Recv() (*openflow_13.PacketOut, error)
+ grpc.ServerStream
+}
+
+type volthaServiceStreamPacketsOutServer struct {
+ grpc.ServerStream
+}
+
+func (x *volthaServiceStreamPacketsOutServer) SendAndClose(m *empty.Empty) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *volthaServiceStreamPacketsOutServer) Recv() (*openflow_13.PacketOut, error) {
+ m := new(openflow_13.PacketOut)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func _VolthaService_ReceivePacketsIn_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(empty.Empty)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(VolthaServiceServer).ReceivePacketsIn(m, &volthaServiceReceivePacketsInServer{stream})
+}
+
+type VolthaService_ReceivePacketsInServer interface {
+ Send(*openflow_13.PacketIn) error
+ grpc.ServerStream
+}
+
+type volthaServiceReceivePacketsInServer struct {
+ grpc.ServerStream
+}
+
+func (x *volthaServiceReceivePacketsInServer) Send(m *openflow_13.PacketIn) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func _VolthaService_ReceiveChangeEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(empty.Empty)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(VolthaServiceServer).ReceiveChangeEvents(m, &volthaServiceReceiveChangeEventsServer{stream})
+}
+
+type VolthaService_ReceiveChangeEventsServer interface {
+ Send(*openflow_13.ChangeEvent) error
+ grpc.ServerStream
+}
+
+type volthaServiceReceiveChangeEventsServer struct {
+ grpc.ServerStream
+}
+
+func (x *volthaServiceReceiveChangeEventsServer) Send(m *openflow_13.ChangeEvent) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func _VolthaService_GetDeviceGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetDeviceGroup(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetDeviceGroup",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetDeviceGroup(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_CreateAlarmFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(AlarmFilter)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).CreateAlarmFilter(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/CreateAlarmFilter",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).CreateAlarmFilter(ctx, req.(*AlarmFilter))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetAlarmFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetAlarmFilter(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetAlarmFilter",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetAlarmFilter(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_UpdateAlarmFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(AlarmFilter)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).UpdateAlarmFilter(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/UpdateAlarmFilter",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).UpdateAlarmFilter(ctx, req.(*AlarmFilter))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_DeleteAlarmFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).DeleteAlarmFilter(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/DeleteAlarmFilter",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).DeleteAlarmFilter(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ListAlarmFilters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(empty.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ListAlarmFilters(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ListAlarmFilters",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ListAlarmFilters(ctx, req.(*empty.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetImages(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetImages",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetImages(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_SelfTest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).SelfTest(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/SelfTest",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).SelfTest(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetMibDeviceData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetMibDeviceData(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetMibDeviceData",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetMibDeviceData(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetAlarmDeviceData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetAlarmDeviceData(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetAlarmDeviceData",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetAlarmDeviceData(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_SimulateAlarm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(SimulateAlarmRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).SimulateAlarm(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/SimulateAlarm",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).SimulateAlarm(ctx, req.(*SimulateAlarmRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_Subscribe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(OfAgentSubscriber)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).Subscribe(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/Subscribe",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).Subscribe(ctx, req.(*OfAgentSubscriber))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _VolthaService_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "voltha.VolthaService",
+ HandlerType: (*VolthaServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "UpdateLogLevel",
+ Handler: _VolthaService_UpdateLogLevel_Handler,
+ },
+ {
+ MethodName: "GetLogLevels",
+ Handler: _VolthaService_GetLogLevels_Handler,
+ },
+ {
+ MethodName: "GetMembership",
+ Handler: _VolthaService_GetMembership_Handler,
+ },
+ {
+ MethodName: "UpdateMembership",
+ Handler: _VolthaService_UpdateMembership_Handler,
+ },
+ {
+ MethodName: "GetVoltha",
+ Handler: _VolthaService_GetVoltha_Handler,
+ },
+ {
+ MethodName: "ListCoreInstances",
+ Handler: _VolthaService_ListCoreInstances_Handler,
+ },
+ {
+ MethodName: "GetCoreInstance",
+ Handler: _VolthaService_GetCoreInstance_Handler,
+ },
+ {
+ MethodName: "ListAdapters",
+ Handler: _VolthaService_ListAdapters_Handler,
+ },
+ {
+ MethodName: "ListLogicalDevices",
+ Handler: _VolthaService_ListLogicalDevices_Handler,
+ },
+ {
+ MethodName: "GetLogicalDevice",
+ Handler: _VolthaService_GetLogicalDevice_Handler,
+ },
+ {
+ MethodName: "ListLogicalDevicePorts",
+ Handler: _VolthaService_ListLogicalDevicePorts_Handler,
+ },
+ {
+ MethodName: "GetLogicalDevicePort",
+ Handler: _VolthaService_GetLogicalDevicePort_Handler,
+ },
+ {
+ MethodName: "EnableLogicalDevicePort",
+ Handler: _VolthaService_EnableLogicalDevicePort_Handler,
+ },
+ {
+ MethodName: "DisableLogicalDevicePort",
+ Handler: _VolthaService_DisableLogicalDevicePort_Handler,
+ },
+ {
+ MethodName: "ListLogicalDeviceFlows",
+ Handler: _VolthaService_ListLogicalDeviceFlows_Handler,
+ },
+ {
+ MethodName: "UpdateLogicalDeviceFlowTable",
+ Handler: _VolthaService_UpdateLogicalDeviceFlowTable_Handler,
+ },
+ {
+ MethodName: "UpdateLogicalDeviceMeterTable",
+ Handler: _VolthaService_UpdateLogicalDeviceMeterTable_Handler,
+ },
+ {
+ MethodName: "ListLogicalDeviceMeters",
+ Handler: _VolthaService_ListLogicalDeviceMeters_Handler,
+ },
+ {
+ MethodName: "ListLogicalDeviceFlowGroups",
+ Handler: _VolthaService_ListLogicalDeviceFlowGroups_Handler,
+ },
+ {
+ MethodName: "UpdateLogicalDeviceFlowGroupTable",
+ Handler: _VolthaService_UpdateLogicalDeviceFlowGroupTable_Handler,
+ },
+ {
+ MethodName: "ListDevices",
+ Handler: _VolthaService_ListDevices_Handler,
+ },
+ {
+ MethodName: "ListDeviceIds",
+ Handler: _VolthaService_ListDeviceIds_Handler,
+ },
+ {
+ MethodName: "ReconcileDevices",
+ Handler: _VolthaService_ReconcileDevices_Handler,
+ },
+ {
+ MethodName: "GetDevice",
+ Handler: _VolthaService_GetDevice_Handler,
+ },
+ {
+ MethodName: "CreateDevice",
+ Handler: _VolthaService_CreateDevice_Handler,
+ },
+ {
+ MethodName: "EnableDevice",
+ Handler: _VolthaService_EnableDevice_Handler,
+ },
+ {
+ MethodName: "DisableDevice",
+ Handler: _VolthaService_DisableDevice_Handler,
+ },
+ {
+ MethodName: "RebootDevice",
+ Handler: _VolthaService_RebootDevice_Handler,
+ },
+ {
+ MethodName: "DeleteDevice",
+ Handler: _VolthaService_DeleteDevice_Handler,
+ },
+ {
+ MethodName: "DownloadImage",
+ Handler: _VolthaService_DownloadImage_Handler,
+ },
+ {
+ MethodName: "GetImageDownloadStatus",
+ Handler: _VolthaService_GetImageDownloadStatus_Handler,
+ },
+ {
+ MethodName: "GetImageDownload",
+ Handler: _VolthaService_GetImageDownload_Handler,
+ },
+ {
+ MethodName: "ListImageDownloads",
+ Handler: _VolthaService_ListImageDownloads_Handler,
+ },
+ {
+ MethodName: "CancelImageDownload",
+ Handler: _VolthaService_CancelImageDownload_Handler,
+ },
+ {
+ MethodName: "ActivateImageUpdate",
+ Handler: _VolthaService_ActivateImageUpdate_Handler,
+ },
+ {
+ MethodName: "RevertImageUpdate",
+ Handler: _VolthaService_RevertImageUpdate_Handler,
+ },
+ {
+ MethodName: "ListDevicePorts",
+ Handler: _VolthaService_ListDevicePorts_Handler,
+ },
+ {
+ MethodName: "ListDevicePmConfigs",
+ Handler: _VolthaService_ListDevicePmConfigs_Handler,
+ },
+ {
+ MethodName: "UpdateDevicePmConfigs",
+ Handler: _VolthaService_UpdateDevicePmConfigs_Handler,
+ },
+ {
+ MethodName: "ListDeviceFlows",
+ Handler: _VolthaService_ListDeviceFlows_Handler,
+ },
+ {
+ MethodName: "ListDeviceFlowGroups",
+ Handler: _VolthaService_ListDeviceFlowGroups_Handler,
+ },
+ {
+ MethodName: "ListDeviceTypes",
+ Handler: _VolthaService_ListDeviceTypes_Handler,
+ },
+ {
+ MethodName: "GetDeviceType",
+ Handler: _VolthaService_GetDeviceType_Handler,
+ },
+ {
+ MethodName: "ListDeviceGroups",
+ Handler: _VolthaService_ListDeviceGroups_Handler,
+ },
+ {
+ MethodName: "GetDeviceGroup",
+ Handler: _VolthaService_GetDeviceGroup_Handler,
+ },
+ {
+ MethodName: "CreateAlarmFilter",
+ Handler: _VolthaService_CreateAlarmFilter_Handler,
+ },
+ {
+ MethodName: "GetAlarmFilter",
+ Handler: _VolthaService_GetAlarmFilter_Handler,
+ },
+ {
+ MethodName: "UpdateAlarmFilter",
+ Handler: _VolthaService_UpdateAlarmFilter_Handler,
+ },
+ {
+ MethodName: "DeleteAlarmFilter",
+ Handler: _VolthaService_DeleteAlarmFilter_Handler,
+ },
+ {
+ MethodName: "ListAlarmFilters",
+ Handler: _VolthaService_ListAlarmFilters_Handler,
+ },
+ {
+ MethodName: "GetImages",
+ Handler: _VolthaService_GetImages_Handler,
+ },
+ {
+ MethodName: "SelfTest",
+ Handler: _VolthaService_SelfTest_Handler,
+ },
+ {
+ MethodName: "GetMibDeviceData",
+ Handler: _VolthaService_GetMibDeviceData_Handler,
+ },
+ {
+ MethodName: "GetAlarmDeviceData",
+ Handler: _VolthaService_GetAlarmDeviceData_Handler,
+ },
+ {
+ MethodName: "SimulateAlarm",
+ Handler: _VolthaService_SimulateAlarm_Handler,
+ },
+ {
+ MethodName: "Subscribe",
+ Handler: _VolthaService_Subscribe_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "StreamPacketsOut",
+ Handler: _VolthaService_StreamPacketsOut_Handler,
+ ClientStreams: true,
+ },
+ {
+ StreamName: "ReceivePacketsIn",
+ Handler: _VolthaService_ReceivePacketsIn_Handler,
+ ServerStreams: true,
+ },
+ {
+ StreamName: "ReceiveChangeEvents",
+ Handler: _VolthaService_ReceiveChangeEvents_Handler,
+ ServerStreams: true,
+ },
+ },
+ Metadata: "voltha_protos/voltha.proto",
+}
diff --git a/vendor/github.com/skydive-project/goloxi/LICENSE b/vendor/github.com/skydive-project/goloxi/LICENSE
new file mode 100644
index 0000000..dd5b3a5
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/LICENSE
@@ -0,0 +1,174 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
diff --git a/vendor/github.com/skydive-project/goloxi/README.md b/vendor/github.com/skydive-project/goloxi/README.md
new file mode 100644
index 0000000..11b551f
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/README.md
@@ -0,0 +1,20 @@
+# Goloxi - OpenFlow library for golang
+
+Goloxi is generated using [loxigen](https://github.com/floodlight/loxigen). Is it still in
+an experimental state.
+
+It supports serializing and deserializing OpenFlow messages and structures from version
+1.0 to version 1.5. It supports Big Switch and Nicira extensions.
+
+## License
+
+This software is licensed under the Apache License, Version 2.0 (the
+"License"); you may not use this software except in compliance with the
+License.
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
\ No newline at end of file
diff --git a/vendor/github.com/skydive-project/goloxi/decoder.go b/vendor/github.com/skydive-project/goloxi/decoder.go
new file mode 100644
index 0000000..aa974b9
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/decoder.go
@@ -0,0 +1,94 @@
+package goloxi
+
+import (
+ "encoding/binary"
+)
+
+type Decoder struct {
+ buffer []byte
+ offset int
+ baseOffset int
+}
+
+func NewDecoder(data []byte) *Decoder {
+ return &Decoder{
+ buffer: data,
+ }
+}
+
+func (d *Decoder) ReadByte() byte {
+ c := d.buffer[d.offset]
+ d.offset++
+ return c
+}
+
+func (d *Decoder) ReadUint8() uint8 {
+ i := uint8(d.buffer[d.offset])
+ d.offset++
+ return i
+}
+
+func (d *Decoder) ReadUint16() uint16 {
+ i := binary.BigEndian.Uint16(d.buffer[d.offset : d.offset+2])
+ d.offset += 2
+ return i
+}
+
+func (d *Decoder) ReadUint32() uint32 {
+ i := binary.BigEndian.Uint32(d.buffer[d.offset : d.offset+4])
+ d.offset += 4
+ return i
+}
+
+func (d *Decoder) ReadUint64() uint64 {
+ i := binary.BigEndian.Uint64(d.buffer[d.offset : d.offset+8])
+ d.offset += 8
+ return i
+}
+
+func (d *Decoder) ReadUint128() Uint128 {
+ hi := binary.BigEndian.Uint64(d.buffer[d.offset : d.offset+8])
+ lo := binary.BigEndian.Uint64(d.buffer[d.offset+8 : d.offset+16])
+ d.offset += 16
+ return Uint128{
+ Hi: hi,
+ Lo: lo,
+ }
+}
+
+func (d *Decoder) Skip(n int) {
+ d.offset += n
+}
+
+func (d *Decoder) SkipAlign() {
+ d.offset += (d.baseOffset+d.offset+7)/8*8 - d.baseOffset - d.offset
+}
+
+func (d *Decoder) Read(n int) []byte {
+ data := d.buffer[d.offset : d.offset+n]
+ d.offset += n
+ return data
+}
+
+func (d *Decoder) Length() int {
+ return len(d.buffer) - d.offset
+}
+
+func (d *Decoder) Bytes() []byte {
+ return d.buffer[d.offset:]
+}
+
+func (d *Decoder) Offset() int {
+ return d.offset
+}
+
+func (d *Decoder) BaseOffset() int {
+ return d.baseOffset
+}
+
+func (d *Decoder) SliceDecoder(length, rewind int) *Decoder {
+ newDecoder := NewDecoder(d.buffer[d.offset : d.offset+length-rewind])
+ newDecoder.baseOffset = d.offset + d.baseOffset
+ d.offset += length - rewind
+ return newDecoder
+}
diff --git a/vendor/github.com/skydive-project/goloxi/encoder.go b/vendor/github.com/skydive-project/goloxi/encoder.go
new file mode 100644
index 0000000..e67b2f8
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/encoder.go
@@ -0,0 +1,62 @@
+package goloxi
+
+import (
+ "bytes"
+ "encoding/binary"
+)
+
+type Encoder struct {
+ buffer *bytes.Buffer
+}
+
+func NewEncoder() *Encoder {
+ return &Encoder{
+ buffer: new(bytes.Buffer),
+ }
+}
+
+func (e *Encoder) PutChar(c byte) {
+ e.buffer.WriteByte(c)
+}
+
+func (e *Encoder) PutUint8(i uint8) {
+ e.buffer.WriteByte(i)
+}
+
+func (e *Encoder) PutUint16(i uint16) {
+ var tmp [2]byte
+ binary.BigEndian.PutUint16(tmp[0:2], i)
+ e.buffer.Write(tmp[:])
+}
+
+func (e *Encoder) PutUint32(i uint32) {
+ var tmp [4]byte
+ binary.BigEndian.PutUint32(tmp[0:4], i)
+ e.buffer.Write(tmp[:])
+}
+
+func (e *Encoder) PutUint64(i uint64) {
+ var tmp [8]byte
+ binary.BigEndian.PutUint64(tmp[0:8], i)
+ e.buffer.Write(tmp[:])
+}
+
+func (e *Encoder) PutUint128(i Uint128) {
+ var tmp [16]byte
+ binary.BigEndian.PutUint64(tmp[0:8], i.Hi)
+ binary.BigEndian.PutUint64(tmp[8:16], i.Lo)
+ e.buffer.Write(tmp[:])
+}
+
+func (e *Encoder) Write(b []byte) {
+ e.buffer.Write(b)
+}
+
+func (e *Encoder) Bytes() []byte {
+ return e.buffer.Bytes()
+}
+
+func (e *Encoder) SkipAlign() {
+ length := len(e.buffer.Bytes())
+ e.Write(bytes.Repeat([]byte{0}, (length+7)/8*8-length))
+}
diff --git a/vendor/github.com/skydive-project/goloxi/globals.go b/vendor/github.com/skydive-project/goloxi/globals.go
new file mode 100644
index 0000000..cb8c54c
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/globals.go
@@ -0,0 +1,99 @@
+package goloxi
+
+import "fmt"
+
+const (
+ VERSION_1_0 = 1
+ VERSION_1_1 = 2
+ VERSION_1_2 = 3
+ VERSION_1_3 = 4
+ VERSION_1_4 = 5
+ VERSION_1_5 = 6
+)
+
+const (
+ OFPTHello = 0
+ OFPTError = 1
+ OFPTEchoRequest = 2
+ OFPTEchoReply = 3
+ OFPTExperimenter = 4
+)
+
+type Serializable interface {
+ Serialize(encoder *Encoder) error
+}
+
+type Deserializable interface {
+ Decode(decoder *Decoder) error
+}
+
+type Header struct {
+ Version uint8
+ Type uint8
+ Length uint16
+ Xid uint32
+}
+
+type Message interface {
+ Serializable
+ GetVersion() uint8
+ GetLength() uint16
+ MessageType() uint8
+ MessageName() string
+ GetXid() uint32
+ SetXid(xid uint32)
+}
+
+type Uint128 struct {
+ Hi uint64
+ Lo uint64
+}
+
+type IOxm interface {
+ Serializable
+ GetOXMName() string
+ GetOXMValue() interface{}
+}
+
+type IOxmMasked interface {
+ Serializable
+ GetOXMName() string
+ GetOXMValue() interface{}
+ GetOXMValueMask() interface{}
+}
+
+type IOxmId interface {
+ Serializable
+ GetOXMName() string
+}
+
+type IAction interface {
+ Serializable
+ GetType() uint16
+ GetLen() uint16
+ GetActionName() string
+ GetActionFields() map[string]interface{}
+}
+
+func (self *Header) Decode(decoder *Decoder) (err error) {
+ if decoder.Length() < 8 {
+ return fmt.Errorf("Header packet too short: %d < 4", decoder.Length())
+ }
+
+ defer func() {
+ if r := recover(); r != nil {
+ var ok bool
+ err, ok = r.(error)
+ if !ok {
+ err = fmt.Errorf("Error while parsing OpenFlow packet: %+v", r)
+ }
+ }
+ }()
+
+ self.Version = decoder.ReadByte()
+ self.Type = decoder.ReadByte()
+ self.Length = decoder.ReadUint16()
+ self.Xid = decoder.ReadUint32()
+
+ return nil
+}
diff --git a/vendor/github.com/skydive-project/goloxi/of13/action.go b/vendor/github.com/skydive-project/goloxi/of13/action.go
new file mode 100644
index 0000000..4e271b2
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/of13/action.go
@@ -0,0 +1,5935 @@
+/*
+ * Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
+ * Copyright (c) 2011, 2012 Open Networking Foundation
+ * Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler.
+ * Copyright 2018, Red Hat, Inc.
+ */
+// Automatically generated by LOXI from template module.go
+// Do not modify
+
+package of13
+
+import (
+ "bytes"
+ "encoding/binary"
+ "encoding/json"
+ "fmt"
+ "net"
+
+ "github.com/skydive-project/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 11:
+ return DecodeActionCopyTtlOut(_action, decoder)
+ case 12:
+ return DecodeActionCopyTtlIn(_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 25:
+ return DecodeActionSetField(_action, decoder)
+ case 26:
+ return DecodeActionPushPbb(_action, decoder)
+ case 27:
+ return DecodeActionPopPbb(_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)
+ case 5:
+ return DecodeActionBsnGentable(_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 {
+ if err := self.ActionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Checksum.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 ActionBsnGentable struct {
+ *ActionBsn
+ TableId uint32
+ Key []IBsnTlv
+}
+
+type IActionBsnGentable interface {
+ IActionBsn
+ GetTableId() uint32
+ GetKey() []IBsnTlv
+}
+
+func (self *ActionBsnGentable) GetTableId() uint32 {
+ return self.TableId
+}
+
+func (self *ActionBsnGentable) SetTableId(v uint32) {
+ self.TableId = v
+}
+
+func (self *ActionBsnGentable) GetKey() []IBsnTlv {
+ return self.Key
+}
+
+func (self *ActionBsnGentable) SetKey(v []IBsnTlv) {
+ self.Key = v
+}
+
+func (self *ActionBsnGentable) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.TableId))
+ for _, obj := range self.Key {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionBsnGentable(parent *ActionBsn, decoder *goloxi.Decoder) (*ActionBsnGentable, error) {
+ _actionbsngentable := &ActionBsnGentable{ActionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionBsnGentable packet too short: %d < 4", decoder.Length())
+ }
+ _actionbsngentable.TableId = uint32(decoder.ReadUint32())
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _actionbsngentable.Key = append(_actionbsngentable.Key, item)
+ }
+ }
+ return _actionbsngentable, nil
+}
+
+func NewActionBsnGentable() *ActionBsnGentable {
+ obj := &ActionBsnGentable{
+ ActionBsn: NewActionBsn(5),
+ }
+ return obj
+}
+func (self *ActionBsnGentable) GetActionName() string {
+ return "bsn_gentable"
+}
+
+func (self *ActionBsnGentable) GetActionFields() map[string]interface{} {
+ return map[string]interface{}{
+ "TableId": self.TableId,
+ "Key": self.Key,
+ }
+}
+
+func (self *ActionBsnGentable) 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Dst))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.GroupId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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)
+
+ for i := 0; i < int(_actionnxbundleloadinport.NSlaves); i++ {
+ 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 {
+ 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
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.NControllers))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.NewPktType))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Note)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Port))
+ encoder.PutUint32(uint32(self.MaxLen))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.OfsNbits))
+ self.SrcField.Serialize(encoder)
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 6))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Offset))
+ self.Field.Serialize(encoder)
+ encoder.PutUint16(uint16(self.NBits))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.ActionNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Offset))
+ self.Field.Serialize(encoder)
+ encoder.PutUint16(uint16(self.NBits))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Ethertype))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 ActionPopPbb struct {
+ *Action
+}
+
+type IActionPopPbb interface {
+ goloxi.IAction
+}
+
+func (self *ActionPopPbb) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionPopPbb(parent *Action, decoder *goloxi.Decoder) (*ActionPopPbb, error) {
+ _actionpoppbb := &ActionPopPbb{Action: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionPopPbb packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _actionpoppbb, nil
+}
+
+func NewActionPopPbb() *ActionPopPbb {
+ obj := &ActionPopPbb{
+ Action: NewAction(27),
+ }
+ return obj
+}
+func (self *ActionPopPbb) GetActionName() string {
+ return "pop_pbb"
+}
+
+func (self *ActionPopPbb) GetActionFields() map[string]interface{} {
+ return map[string]interface{}{}
+}
+
+func (self *ActionPopPbb) 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Ethertype))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 ActionPushPbb struct {
+ *Action
+ Ethertype uint16
+}
+
+type IActionPushPbb interface {
+ goloxi.IAction
+ GetEthertype() uint16
+}
+
+func (self *ActionPushPbb) GetEthertype() uint16 {
+ return self.Ethertype
+}
+
+func (self *ActionPushPbb) SetEthertype(v uint16) {
+ self.Ethertype = v
+}
+
+func (self *ActionPushPbb) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Ethertype))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionPushPbb(parent *Action, decoder *goloxi.Decoder) (*ActionPushPbb, error) {
+ _actionpushpbb := &ActionPushPbb{Action: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionPushPbb packet too short: %d < 4", decoder.Length())
+ }
+ _actionpushpbb.Ethertype = uint16(decoder.ReadUint16())
+ decoder.Skip(2)
+ return _actionpushpbb, nil
+}
+
+func NewActionPushPbb() *ActionPushPbb {
+ obj := &ActionPushPbb{
+ Action: NewAction(26),
+ }
+ return obj
+}
+func (self *ActionPushPbb) GetActionName() string {
+ return "push_pbb"
+}
+
+func (self *ActionPushPbb) GetActionFields() map[string]interface{} {
+ return map[string]interface{}{
+ "Ethertype": self.Ethertype,
+ }
+}
+
+func (self *ActionPushPbb) 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Ethertype))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ 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))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 ActionSetField struct {
+ *Action
+ Field goloxi.IOxm
+}
+
+type IActionSetField interface {
+ goloxi.IAction
+ GetField() goloxi.IOxm
+}
+
+func (self *ActionSetField) GetField() goloxi.IOxm {
+ return self.Field
+}
+
+func (self *ActionSetField) SetField(v goloxi.IOxm) {
+ self.Field = v
+}
+
+func (self *ActionSetField) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Field.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionSetField(parent *Action, decoder *goloxi.Decoder) (*ActionSetField, error) {
+ _actionsetfield := &ActionSetField{Action: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionSetField packet too short: %d < 4", decoder.Length())
+ }
+ if obj, err := DecodeOxm(decoder); err != nil {
+ return nil, err
+ } else {
+ _actionsetfield.Field = obj
+ }
+
+ return _actionsetfield, nil
+}
+
+func NewActionSetField() *ActionSetField {
+ obj := &ActionSetField{
+ Action: NewAction(25),
+ }
+ return obj
+}
+func (self *ActionSetField) GetActionName() string {
+ return "set_field"
+}
+
+func (self *ActionSetField) GetActionFields() map[string]interface{} {
+ return map[string]interface{}{
+ "Field": self.Field,
+ }
+}
+
+func (self *ActionSetField) 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.MplsTtl))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.NwTtl))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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 {
+ if err := self.Action.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.QueueId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ 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
+}
diff --git a/vendor/github.com/skydive-project/goloxi/of13/action_id.go b/vendor/github.com/skydive-project/goloxi/of13/action_id.go
new file mode 100644
index 0000000..68cb38a
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/of13/action_id.go
@@ -0,0 +1,2507 @@
+/*
+ * Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
+ * Copyright (c) 2011, 2012 Open Networking Foundation
+ * Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler.
+ * Copyright 2018, Red Hat, Inc.
+ */
+// Automatically generated by LOXI from template module.go
+// Do not modify
+
+package of13
+
+import (
+ "encoding/binary"
+ "fmt"
+
+ "github.com/skydive-project/goloxi"
+)
+
+type ActionId struct {
+ Type uint16
+ Len uint16
+}
+
+type IActionId interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLen() uint16
+}
+
+func (self *ActionId) GetType() uint16 {
+ return self.Type
+}
+
+func (self *ActionId) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *ActionId) GetLen() uint16 {
+ return self.Len
+}
+
+func (self *ActionId) SetLen(v uint16) {
+ self.Len = v
+}
+
+func (self *ActionId) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Len))
+
+ return nil
+}
+
+func DecodeActionId(decoder *goloxi.Decoder) (IActionId, error) {
+ _actionid := &ActionId{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionId packet too short: %d < 4", decoder.Length())
+ }
+ _actionid.Type = uint16(decoder.ReadUint16())
+ _actionid.Len = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_actionid.Len), 2+2)
+
+ switch _actionid.Type {
+ case 0:
+ return DecodeActionIdOutput(_actionid, decoder)
+ case 11:
+ return DecodeActionIdCopyTtlOut(_actionid, decoder)
+ case 12:
+ return DecodeActionIdCopyTtlIn(_actionid, decoder)
+ case 15:
+ return DecodeActionIdSetMplsTtl(_actionid, decoder)
+ case 16:
+ return DecodeActionIdDecMplsTtl(_actionid, decoder)
+ case 17:
+ return DecodeActionIdPushVlan(_actionid, decoder)
+ case 18:
+ return DecodeActionIdPopVlan(_actionid, decoder)
+ case 19:
+ return DecodeActionIdPushMpls(_actionid, decoder)
+ case 20:
+ return DecodeActionIdPopMpls(_actionid, decoder)
+ case 21:
+ return DecodeActionIdSetQueue(_actionid, decoder)
+ case 22:
+ return DecodeActionIdGroup(_actionid, decoder)
+ case 23:
+ return DecodeActionIdSetNwTtl(_actionid, decoder)
+ case 24:
+ return DecodeActionIdDecNwTtl(_actionid, decoder)
+ case 25:
+ return DecodeActionIdSetField(_actionid, decoder)
+ case 26:
+ return DecodeActionIdPushPbb(_actionid, decoder)
+ case 27:
+ return DecodeActionIdPopPbb(_actionid, decoder)
+ case 65535:
+ return DecodeActionIdExperimenter(_actionid, decoder)
+ default:
+ return _actionid, nil
+ }
+}
+
+func NewActionId(_type uint16) *ActionId {
+ obj := &ActionId{}
+ obj.Type = _type
+ return obj
+}
+
+type ActionIdExperimenter struct {
+ *ActionId
+ Experimenter uint32
+}
+
+type IActionIdExperimenter interface {
+ IActionId
+ GetExperimenter() uint32
+}
+
+func (self *ActionIdExperimenter) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *ActionIdExperimenter) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *ActionIdExperimenter) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Experimenter))
+
+ return nil
+}
+
+func DecodeActionIdExperimenter(parent *ActionId, decoder *goloxi.Decoder) (IActionIdExperimenter, error) {
+ _actionidexperimenter := &ActionIdExperimenter{ActionId: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionIdExperimenter packet too short: %d < 4", decoder.Length())
+ }
+ _actionidexperimenter.Experimenter = uint32(decoder.ReadUint32())
+
+ switch _actionidexperimenter.Experimenter {
+ case 8992:
+ return DecodeActionIdNicira(_actionidexperimenter, decoder)
+ case 6035143:
+ return DecodeActionIdBsn(_actionidexperimenter, decoder)
+ default:
+ return _actionidexperimenter, nil
+ }
+}
+
+func NewActionIdExperimenter(_experimenter uint32) *ActionIdExperimenter {
+ obj := &ActionIdExperimenter{
+ ActionId: NewActionId(65535),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type ActionIdBsn struct {
+ *ActionIdExperimenter
+ Subtype uint32
+}
+
+type IActionIdBsn interface {
+ IActionIdExperimenter
+ GetSubtype() uint32
+}
+
+func (self *ActionIdBsn) GetSubtype() uint32 {
+ return self.Subtype
+}
+
+func (self *ActionIdBsn) SetSubtype(v uint32) {
+ self.Subtype = v
+}
+
+func (self *ActionIdBsn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdExperimenter.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Subtype))
+
+ return nil
+}
+
+func DecodeActionIdBsn(parent *ActionIdExperimenter, decoder *goloxi.Decoder) (IActionIdBsn, error) {
+ _actionidbsn := &ActionIdBsn{ActionIdExperimenter: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionIdBsn packet too short: %d < 4", decoder.Length())
+ }
+ _actionidbsn.Subtype = uint32(decoder.ReadUint32())
+
+ switch _actionidbsn.Subtype {
+ case 1:
+ return DecodeActionIdBsnMirror(_actionidbsn, decoder)
+ case 2:
+ return DecodeActionIdBsnSetTunnelDst(_actionidbsn, decoder)
+ case 4:
+ return DecodeActionIdBsnChecksum(_actionidbsn, decoder)
+ case 5:
+ return DecodeActionIdBsnGentable(_actionidbsn, decoder)
+ default:
+ return _actionidbsn, nil
+ }
+}
+
+func NewActionIdBsn(_subtype uint32) *ActionIdBsn {
+ obj := &ActionIdBsn{
+ ActionIdExperimenter: NewActionIdExperimenter(6035143),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type ActionIdBsnChecksum struct {
+ *ActionIdBsn
+}
+
+type IActionIdBsnChecksum interface {
+ IActionIdBsn
+}
+
+func (self *ActionIdBsnChecksum) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdBsnChecksum(parent *ActionIdBsn, decoder *goloxi.Decoder) (*ActionIdBsnChecksum, error) {
+ _actionidbsnchecksum := &ActionIdBsnChecksum{ActionIdBsn: parent}
+ return _actionidbsnchecksum, nil
+}
+
+func NewActionIdBsnChecksum() *ActionIdBsnChecksum {
+ obj := &ActionIdBsnChecksum{
+ ActionIdBsn: NewActionIdBsn(4),
+ }
+ return obj
+}
+
+type ActionIdBsnGentable struct {
+ *ActionIdBsn
+}
+
+type IActionIdBsnGentable interface {
+ IActionIdBsn
+}
+
+func (self *ActionIdBsnGentable) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdBsnGentable(parent *ActionIdBsn, decoder *goloxi.Decoder) (*ActionIdBsnGentable, error) {
+ _actionidbsngentable := &ActionIdBsnGentable{ActionIdBsn: parent}
+ return _actionidbsngentable, nil
+}
+
+func NewActionIdBsnGentable() *ActionIdBsnGentable {
+ obj := &ActionIdBsnGentable{
+ ActionIdBsn: NewActionIdBsn(5),
+ }
+ return obj
+}
+
+type ActionIdBsnMirror struct {
+ *ActionIdBsn
+}
+
+type IActionIdBsnMirror interface {
+ IActionIdBsn
+}
+
+func (self *ActionIdBsnMirror) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdBsnMirror(parent *ActionIdBsn, decoder *goloxi.Decoder) (*ActionIdBsnMirror, error) {
+ _actionidbsnmirror := &ActionIdBsnMirror{ActionIdBsn: parent}
+ return _actionidbsnmirror, nil
+}
+
+func NewActionIdBsnMirror() *ActionIdBsnMirror {
+ obj := &ActionIdBsnMirror{
+ ActionIdBsn: NewActionIdBsn(1),
+ }
+ return obj
+}
+
+type ActionIdBsnSetTunnelDst struct {
+ *ActionIdBsn
+}
+
+type IActionIdBsnSetTunnelDst interface {
+ IActionIdBsn
+}
+
+func (self *ActionIdBsnSetTunnelDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdBsnSetTunnelDst(parent *ActionIdBsn, decoder *goloxi.Decoder) (*ActionIdBsnSetTunnelDst, error) {
+ _actionidbsnsettunneldst := &ActionIdBsnSetTunnelDst{ActionIdBsn: parent}
+ return _actionidbsnsettunneldst, nil
+}
+
+func NewActionIdBsnSetTunnelDst() *ActionIdBsnSetTunnelDst {
+ obj := &ActionIdBsnSetTunnelDst{
+ ActionIdBsn: NewActionIdBsn(2),
+ }
+ return obj
+}
+
+type ActionIdCopyTtlIn struct {
+ *ActionId
+}
+
+type IActionIdCopyTtlIn interface {
+ IActionId
+}
+
+func (self *ActionIdCopyTtlIn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdCopyTtlIn(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdCopyTtlIn, error) {
+ _actionidcopyttlin := &ActionIdCopyTtlIn{ActionId: parent}
+ return _actionidcopyttlin, nil
+}
+
+func NewActionIdCopyTtlIn() *ActionIdCopyTtlIn {
+ obj := &ActionIdCopyTtlIn{
+ ActionId: NewActionId(12),
+ }
+ return obj
+}
+
+type ActionIdCopyTtlOut struct {
+ *ActionId
+}
+
+type IActionIdCopyTtlOut interface {
+ IActionId
+}
+
+func (self *ActionIdCopyTtlOut) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdCopyTtlOut(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdCopyTtlOut, error) {
+ _actionidcopyttlout := &ActionIdCopyTtlOut{ActionId: parent}
+ return _actionidcopyttlout, nil
+}
+
+func NewActionIdCopyTtlOut() *ActionIdCopyTtlOut {
+ obj := &ActionIdCopyTtlOut{
+ ActionId: NewActionId(11),
+ }
+ return obj
+}
+
+type ActionIdDecMplsTtl struct {
+ *ActionId
+}
+
+type IActionIdDecMplsTtl interface {
+ IActionId
+}
+
+func (self *ActionIdDecMplsTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdDecMplsTtl(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdDecMplsTtl, error) {
+ _actioniddecmplsttl := &ActionIdDecMplsTtl{ActionId: parent}
+ return _actioniddecmplsttl, nil
+}
+
+func NewActionIdDecMplsTtl() *ActionIdDecMplsTtl {
+ obj := &ActionIdDecMplsTtl{
+ ActionId: NewActionId(16),
+ }
+ return obj
+}
+
+type ActionIdDecNwTtl struct {
+ *ActionId
+}
+
+type IActionIdDecNwTtl interface {
+ IActionId
+}
+
+func (self *ActionIdDecNwTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdDecNwTtl(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdDecNwTtl, error) {
+ _actioniddecnwttl := &ActionIdDecNwTtl{ActionId: parent}
+ return _actioniddecnwttl, nil
+}
+
+func NewActionIdDecNwTtl() *ActionIdDecNwTtl {
+ obj := &ActionIdDecNwTtl{
+ ActionId: NewActionId(24),
+ }
+ return obj
+}
+
+type ActionIdGroup struct {
+ *ActionId
+}
+
+type IActionIdGroup interface {
+ IActionId
+}
+
+func (self *ActionIdGroup) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdGroup(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdGroup, error) {
+ _actionidgroup := &ActionIdGroup{ActionId: parent}
+ return _actionidgroup, nil
+}
+
+func NewActionIdGroup() *ActionIdGroup {
+ obj := &ActionIdGroup{
+ ActionId: NewActionId(22),
+ }
+ return obj
+}
+
+type ActionIdNicira struct {
+ *ActionIdExperimenter
+ Subtype uint16
+}
+
+type IActionIdNicira interface {
+ IActionIdExperimenter
+ GetSubtype() uint16
+}
+
+func (self *ActionIdNicira) GetSubtype() uint16 {
+ return self.Subtype
+}
+
+func (self *ActionIdNicira) SetSubtype(v uint16) {
+ self.Subtype = v
+}
+
+func (self *ActionIdNicira) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdExperimenter.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Subtype))
+
+ return nil
+}
+
+func DecodeActionIdNicira(parent *ActionIdExperimenter, decoder *goloxi.Decoder) (IActionIdNicira, error) {
+ _actionidnicira := &ActionIdNicira{ActionIdExperimenter: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("ActionIdNicira packet too short: %d < 2", decoder.Length())
+ }
+ _actionidnicira.Subtype = uint16(decoder.ReadUint16())
+
+ switch _actionidnicira.Subtype {
+ case 1:
+ return DecodeActionIdNxResubmit(_actionidnicira, decoder)
+ case 2:
+ return DecodeActionIdNxSetTunnel(_actionidnicira, decoder)
+ case 4:
+ return DecodeActionIdNxSetQueue(_actionidnicira, decoder)
+ case 5:
+ return DecodeActionIdNxPopQueue(_actionidnicira, decoder)
+ case 6:
+ return DecodeActionIdNxRegMove(_actionidnicira, decoder)
+ case 7:
+ return DecodeActionIdNxRegLoad(_actionidnicira, decoder)
+ case 8:
+ return DecodeActionIdNxNote(_actionidnicira, decoder)
+ case 9:
+ return DecodeActionIdNxSetTunnel64(_actionidnicira, decoder)
+ case 10:
+ return DecodeActionIdNxMultipath(_actionidnicira, decoder)
+ case 12:
+ return DecodeActionIdNxBundle(_actionidnicira, decoder)
+ case 13:
+ return DecodeActionIdNxBundleLoadInPort(_actionidnicira, decoder)
+ case 14:
+ return DecodeActionIdResubmit(_actionidnicira, decoder)
+ case 15:
+ return DecodeActionIdNxOutputReg(_actionidnicira, decoder)
+ case 16:
+ return DecodeActionIdNxLearn(_actionidnicira, decoder)
+ case 17:
+ return DecodeActionIdNxExit(_actionidnicira, decoder)
+ case 18:
+ return DecodeActionIdNiciraDecTtl(_actionidnicira, decoder)
+ case 19:
+ return DecodeActionIdNxFinTimeout(_actionidnicira, decoder)
+ case 20:
+ return DecodeActionIdNxController(_actionidnicira, decoder)
+ case 21:
+ return DecodeActionIdNxDecTtlCntIds(_actionidnicira, decoder)
+ case 22:
+ return DecodeActionIdNxWriteMetadata(_actionidnicira, decoder)
+ case 23:
+ return DecodeActionIdNxPushMpls(_actionidnicira, decoder)
+ case 24:
+ return DecodeActionIdNxPopMpls(_actionidnicira, decoder)
+ case 25:
+ return DecodeActionIdNxSetMplsTtl(_actionidnicira, decoder)
+ case 26:
+ return DecodeActionIdNxDecMplsTtl(_actionidnicira, decoder)
+ case 27:
+ return DecodeActionIdNxStackPush(_actionidnicira, decoder)
+ case 28:
+ return DecodeActionIdNxStackPop(_actionidnicira, decoder)
+ case 29:
+ return DecodeActionIdNxSample(_actionidnicira, decoder)
+ case 30:
+ return DecodeActionIdNxSetMplsLabel(_actionidnicira, decoder)
+ case 31:
+ return DecodeActionIdNxSetMplsTc(_actionidnicira, decoder)
+ case 32:
+ return DecodeActionIdNxOutputReg2(_actionidnicira, decoder)
+ case 33:
+ return DecodeActionIdNxRegLoad2(_actionidnicira, decoder)
+ case 34:
+ return DecodeActionIdNxConjunction(_actionidnicira, decoder)
+ case 35:
+ return DecodeActionIdNxCt(_actionidnicira, decoder)
+ case 36:
+ return DecodeActionIdNxNat(_actionidnicira, decoder)
+ case 37:
+ return DecodeActionIdNxController2(_actionidnicira, decoder)
+ case 38:
+ return DecodeActionIdNxSample2(_actionidnicira, decoder)
+ case 39:
+ return DecodeActionIdNxOutputTrunc(_actionidnicira, decoder)
+ case 40:
+ return DecodeActionIdNxGroup(_actionidnicira, decoder)
+ case 41:
+ return DecodeActionIdNxSample3(_actionidnicira, decoder)
+ case 42:
+ return DecodeActionIdNxClone(_actionidnicira, decoder)
+ case 43:
+ return DecodeActionIdNxCtClear(_actionidnicira, decoder)
+ case 44:
+ return DecodeActionIdNxResubmitTableCt(_actionidnicira, decoder)
+ case 45:
+ return DecodeActionIdNxLearn2(_actionidnicira, decoder)
+ case 46:
+ return DecodeActionIdNxEncap(_actionidnicira, decoder)
+ case 47:
+ return DecodeActionIdNxDecap(_actionidnicira, decoder)
+ case 48:
+ return DecodeActionIdNxDecNshTtl(_actionidnicira, decoder)
+ case 254:
+ return DecodeActionIdNxDebugSlow(_actionidnicira, decoder)
+ case 255:
+ return DecodeActionIdNxDebugRecirc(_actionidnicira, decoder)
+ default:
+ return _actionidnicira, nil
+ }
+}
+
+func NewActionIdNicira(_subtype uint16) *ActionIdNicira {
+ obj := &ActionIdNicira{
+ ActionIdExperimenter: NewActionIdExperimenter(8992),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type ActionIdNiciraDecTtl struct {
+ *ActionIdNicira
+}
+
+type IActionIdNiciraDecTtl interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNiciraDecTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNiciraDecTtl(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNiciraDecTtl, error) {
+ _actionidniciradecttl := &ActionIdNiciraDecTtl{ActionIdNicira: parent}
+ return _actionidniciradecttl, nil
+}
+
+func NewActionIdNiciraDecTtl() *ActionIdNiciraDecTtl {
+ obj := &ActionIdNiciraDecTtl{
+ ActionIdNicira: NewActionIdNicira(18),
+ }
+ return obj
+}
+
+type ActionIdNxBundle struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxBundle interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxBundle) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxBundle(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxBundle, error) {
+ _actionidnxbundle := &ActionIdNxBundle{ActionIdNicira: parent}
+ return _actionidnxbundle, nil
+}
+
+func NewActionIdNxBundle() *ActionIdNxBundle {
+ obj := &ActionIdNxBundle{
+ ActionIdNicira: NewActionIdNicira(12),
+ }
+ return obj
+}
+
+type ActionIdNxBundleLoad struct {
+ *ActionIdNicira
+ SlaveType ActionNxBundleSlaveType
+}
+
+type IActionIdNxBundleLoad interface {
+ IActionIdNicira
+ GetSlaveType() ActionNxBundleSlaveType
+}
+
+func (self *ActionIdNxBundleLoad) GetSlaveType() ActionNxBundleSlaveType {
+ return self.SlaveType
+}
+
+func (self *ActionIdNxBundleLoad) SetSlaveType(v ActionNxBundleSlaveType) {
+ self.SlaveType = v
+}
+
+func (self *ActionIdNxBundleLoad) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.SlaveType))
+
+ return nil
+}
+
+func DecodeActionIdNxBundleLoad(parent *ActionIdNicira, decoder *goloxi.Decoder) (IActionIdNxBundleLoad, error) {
+ _actionidnxbundleload := &ActionIdNxBundleLoad{ActionIdNicira: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionIdNxBundleLoad packet too short: %d < 4", decoder.Length())
+ }
+ _actionidnxbundleload.SlaveType = ActionNxBundleSlaveType(decoder.ReadUint32())
+ return _actionidnxbundleload, nil
+}
+
+func NewActionIdNxBundleLoad(_slave_type ActionNxBundleSlaveType) *ActionIdNxBundleLoad {
+ obj := &ActionIdNxBundleLoad{
+ ActionIdNicira: NewActionIdNicira(13),
+ }
+ obj.SlaveType = _slave_type
+ return obj
+}
+
+type ActionIdNxBundleLoadInPort struct {
+ *ActionIdNicira
+ SlaveType ActionNxBundleSlaveType
+ NSlaves uint16
+}
+
+type IActionIdNxBundleLoadInPort interface {
+ IActionIdNicira
+ GetSlaveType() ActionNxBundleSlaveType
+ GetNSlaves() uint16
+}
+
+func (self *ActionIdNxBundleLoadInPort) GetSlaveType() ActionNxBundleSlaveType {
+ return self.SlaveType
+}
+
+func (self *ActionIdNxBundleLoadInPort) SetSlaveType(v ActionNxBundleSlaveType) {
+ self.SlaveType = v
+}
+
+func (self *ActionIdNxBundleLoadInPort) GetNSlaves() uint16 {
+ return self.NSlaves
+}
+
+func (self *ActionIdNxBundleLoadInPort) SetNSlaves(v uint16) {
+ self.NSlaves = v
+}
+
+func (self *ActionIdNxBundleLoadInPort) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.SlaveType))
+ encoder.PutUint16(uint16(self.NSlaves))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxBundleLoadInPort(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxBundleLoadInPort, error) {
+ _actionidnxbundleloadinport := &ActionIdNxBundleLoadInPort{ActionIdNicira: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("ActionIdNxBundleLoadInPort packet too short: %d < 6", decoder.Length())
+ }
+ _actionidnxbundleloadinport.SlaveType = ActionNxBundleSlaveType(decoder.ReadUint32())
+ _actionidnxbundleloadinport.NSlaves = uint16(decoder.ReadUint16())
+ return _actionidnxbundleloadinport, nil
+}
+
+func NewActionIdNxBundleLoadInPort() *ActionIdNxBundleLoadInPort {
+ obj := &ActionIdNxBundleLoadInPort{
+ ActionIdNicira: NewActionIdNicira(13),
+ }
+ return obj
+}
+
+type ActionIdNxClone struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxClone interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxClone) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxClone(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxClone, error) {
+ _actionidnxclone := &ActionIdNxClone{ActionIdNicira: parent}
+ return _actionidnxclone, nil
+}
+
+func NewActionIdNxClone() *ActionIdNxClone {
+ obj := &ActionIdNxClone{
+ ActionIdNicira: NewActionIdNicira(42),
+ }
+ return obj
+}
+
+type ActionIdNxConjunction struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxConjunction interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxConjunction) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxConjunction(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxConjunction, error) {
+ _actionidnxconjunction := &ActionIdNxConjunction{ActionIdNicira: parent}
+ return _actionidnxconjunction, nil
+}
+
+func NewActionIdNxConjunction() *ActionIdNxConjunction {
+ obj := &ActionIdNxConjunction{
+ ActionIdNicira: NewActionIdNicira(34),
+ }
+ return obj
+}
+
+type ActionIdNxController struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxController interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxController) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxController(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxController, error) {
+ _actionidnxcontroller := &ActionIdNxController{ActionIdNicira: parent}
+ return _actionidnxcontroller, nil
+}
+
+func NewActionIdNxController() *ActionIdNxController {
+ obj := &ActionIdNxController{
+ ActionIdNicira: NewActionIdNicira(20),
+ }
+ return obj
+}
+
+type ActionIdNxController2 struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxController2 interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxController2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxController2(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxController2, error) {
+ _actionidnxcontroller2 := &ActionIdNxController2{ActionIdNicira: parent}
+ return _actionidnxcontroller2, nil
+}
+
+func NewActionIdNxController2() *ActionIdNxController2 {
+ obj := &ActionIdNxController2{
+ ActionIdNicira: NewActionIdNicira(37),
+ }
+ return obj
+}
+
+type ActionIdNxCt struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxCt interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxCt) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxCt(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxCt, error) {
+ _actionidnxct := &ActionIdNxCt{ActionIdNicira: parent}
+ return _actionidnxct, nil
+}
+
+func NewActionIdNxCt() *ActionIdNxCt {
+ obj := &ActionIdNxCt{
+ ActionIdNicira: NewActionIdNicira(35),
+ }
+ return obj
+}
+
+type ActionIdNxCtClear struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxCtClear interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxCtClear) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxCtClear(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxCtClear, error) {
+ _actionidnxctclear := &ActionIdNxCtClear{ActionIdNicira: parent}
+ return _actionidnxctclear, nil
+}
+
+func NewActionIdNxCtClear() *ActionIdNxCtClear {
+ obj := &ActionIdNxCtClear{
+ ActionIdNicira: NewActionIdNicira(43),
+ }
+ return obj
+}
+
+type ActionIdNxDebugRecirc struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxDebugRecirc interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxDebugRecirc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxDebugRecirc(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxDebugRecirc, error) {
+ _actionidnxdebugrecirc := &ActionIdNxDebugRecirc{ActionIdNicira: parent}
+ return _actionidnxdebugrecirc, nil
+}
+
+func NewActionIdNxDebugRecirc() *ActionIdNxDebugRecirc {
+ obj := &ActionIdNxDebugRecirc{
+ ActionIdNicira: NewActionIdNicira(255),
+ }
+ return obj
+}
+
+type ActionIdNxDebugSlow struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxDebugSlow interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxDebugSlow) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxDebugSlow(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxDebugSlow, error) {
+ _actionidnxdebugslow := &ActionIdNxDebugSlow{ActionIdNicira: parent}
+ return _actionidnxdebugslow, nil
+}
+
+func NewActionIdNxDebugSlow() *ActionIdNxDebugSlow {
+ obj := &ActionIdNxDebugSlow{
+ ActionIdNicira: NewActionIdNicira(254),
+ }
+ return obj
+}
+
+type ActionIdNxDecMplsTtl struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxDecMplsTtl interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxDecMplsTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxDecMplsTtl(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxDecMplsTtl, error) {
+ _actionidnxdecmplsttl := &ActionIdNxDecMplsTtl{ActionIdNicira: parent}
+ return _actionidnxdecmplsttl, nil
+}
+
+func NewActionIdNxDecMplsTtl() *ActionIdNxDecMplsTtl {
+ obj := &ActionIdNxDecMplsTtl{
+ ActionIdNicira: NewActionIdNicira(26),
+ }
+ return obj
+}
+
+type ActionIdNxDecNshTtl struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxDecNshTtl interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxDecNshTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxDecNshTtl(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxDecNshTtl, error) {
+ _actionidnxdecnshttl := &ActionIdNxDecNshTtl{ActionIdNicira: parent}
+ return _actionidnxdecnshttl, nil
+}
+
+func NewActionIdNxDecNshTtl() *ActionIdNxDecNshTtl {
+ obj := &ActionIdNxDecNshTtl{
+ ActionIdNicira: NewActionIdNicira(48),
+ }
+ return obj
+}
+
+type ActionIdNxDecTtlCntIds struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxDecTtlCntIds interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxDecTtlCntIds) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxDecTtlCntIds(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxDecTtlCntIds, error) {
+ _actionidnxdecttlcntids := &ActionIdNxDecTtlCntIds{ActionIdNicira: parent}
+ return _actionidnxdecttlcntids, nil
+}
+
+func NewActionIdNxDecTtlCntIds() *ActionIdNxDecTtlCntIds {
+ obj := &ActionIdNxDecTtlCntIds{
+ ActionIdNicira: NewActionIdNicira(21),
+ }
+ return obj
+}
+
+type ActionIdNxDecap struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxDecap interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxDecap) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxDecap(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxDecap, error) {
+ _actionidnxdecap := &ActionIdNxDecap{ActionIdNicira: parent}
+ return _actionidnxdecap, nil
+}
+
+func NewActionIdNxDecap() *ActionIdNxDecap {
+ obj := &ActionIdNxDecap{
+ ActionIdNicira: NewActionIdNicira(47),
+ }
+ return obj
+}
+
+type ActionIdNxEncap struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxEncap interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxEncap) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxEncap(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxEncap, error) {
+ _actionidnxencap := &ActionIdNxEncap{ActionIdNicira: parent}
+ return _actionidnxencap, nil
+}
+
+func NewActionIdNxEncap() *ActionIdNxEncap {
+ obj := &ActionIdNxEncap{
+ ActionIdNicira: NewActionIdNicira(46),
+ }
+ return obj
+}
+
+type ActionIdNxExit struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxExit interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxExit) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxExit(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxExit, error) {
+ _actionidnxexit := &ActionIdNxExit{ActionIdNicira: parent}
+ return _actionidnxexit, nil
+}
+
+func NewActionIdNxExit() *ActionIdNxExit {
+ obj := &ActionIdNxExit{
+ ActionIdNicira: NewActionIdNicira(17),
+ }
+ return obj
+}
+
+type ActionIdNxFinTimeout struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxFinTimeout interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxFinTimeout) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxFinTimeout(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxFinTimeout, error) {
+ _actionidnxfintimeout := &ActionIdNxFinTimeout{ActionIdNicira: parent}
+ return _actionidnxfintimeout, nil
+}
+
+func NewActionIdNxFinTimeout() *ActionIdNxFinTimeout {
+ obj := &ActionIdNxFinTimeout{
+ ActionIdNicira: NewActionIdNicira(19),
+ }
+ return obj
+}
+
+type ActionIdNxGroup struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxGroup interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxGroup) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxGroup(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxGroup, error) {
+ _actionidnxgroup := &ActionIdNxGroup{ActionIdNicira: parent}
+ return _actionidnxgroup, nil
+}
+
+func NewActionIdNxGroup() *ActionIdNxGroup {
+ obj := &ActionIdNxGroup{
+ ActionIdNicira: NewActionIdNicira(40),
+ }
+ return obj
+}
+
+type ActionIdNxLearn struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxLearn interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxLearn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxLearn(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxLearn, error) {
+ _actionidnxlearn := &ActionIdNxLearn{ActionIdNicira: parent}
+ return _actionidnxlearn, nil
+}
+
+func NewActionIdNxLearn() *ActionIdNxLearn {
+ obj := &ActionIdNxLearn{
+ ActionIdNicira: NewActionIdNicira(16),
+ }
+ return obj
+}
+
+type ActionIdNxLearn2 struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxLearn2 interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxLearn2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxLearn2(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxLearn2, error) {
+ _actionidnxlearn2 := &ActionIdNxLearn2{ActionIdNicira: parent}
+ return _actionidnxlearn2, nil
+}
+
+func NewActionIdNxLearn2() *ActionIdNxLearn2 {
+ obj := &ActionIdNxLearn2{
+ ActionIdNicira: NewActionIdNicira(45),
+ }
+ return obj
+}
+
+type ActionIdNxMultipath struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxMultipath interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxMultipath) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxMultipath(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxMultipath, error) {
+ _actionidnxmultipath := &ActionIdNxMultipath{ActionIdNicira: parent}
+ return _actionidnxmultipath, nil
+}
+
+func NewActionIdNxMultipath() *ActionIdNxMultipath {
+ obj := &ActionIdNxMultipath{
+ ActionIdNicira: NewActionIdNicira(10),
+ }
+ return obj
+}
+
+type ActionIdNxNat struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxNat interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxNat) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxNat(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxNat, error) {
+ _actionidnxnat := &ActionIdNxNat{ActionIdNicira: parent}
+ return _actionidnxnat, nil
+}
+
+func NewActionIdNxNat() *ActionIdNxNat {
+ obj := &ActionIdNxNat{
+ ActionIdNicira: NewActionIdNicira(36),
+ }
+ return obj
+}
+
+type ActionIdNxNote struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxNote interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxNote) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxNote(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxNote, error) {
+ _actionidnxnote := &ActionIdNxNote{ActionIdNicira: parent}
+ return _actionidnxnote, nil
+}
+
+func NewActionIdNxNote() *ActionIdNxNote {
+ obj := &ActionIdNxNote{
+ ActionIdNicira: NewActionIdNicira(8),
+ }
+ return obj
+}
+
+type ActionIdNxOutputReg struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxOutputReg interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxOutputReg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxOutputReg(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxOutputReg, error) {
+ _actionidnxoutputreg := &ActionIdNxOutputReg{ActionIdNicira: parent}
+ return _actionidnxoutputreg, nil
+}
+
+func NewActionIdNxOutputReg() *ActionIdNxOutputReg {
+ obj := &ActionIdNxOutputReg{
+ ActionIdNicira: NewActionIdNicira(15),
+ }
+ return obj
+}
+
+type ActionIdNxOutputReg2 struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxOutputReg2 interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxOutputReg2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxOutputReg2(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxOutputReg2, error) {
+ _actionidnxoutputreg2 := &ActionIdNxOutputReg2{ActionIdNicira: parent}
+ return _actionidnxoutputreg2, nil
+}
+
+func NewActionIdNxOutputReg2() *ActionIdNxOutputReg2 {
+ obj := &ActionIdNxOutputReg2{
+ ActionIdNicira: NewActionIdNicira(32),
+ }
+ return obj
+}
+
+type ActionIdNxOutputTrunc struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxOutputTrunc interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxOutputTrunc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxOutputTrunc(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxOutputTrunc, error) {
+ _actionidnxoutputtrunc := &ActionIdNxOutputTrunc{ActionIdNicira: parent}
+ return _actionidnxoutputtrunc, nil
+}
+
+func NewActionIdNxOutputTrunc() *ActionIdNxOutputTrunc {
+ obj := &ActionIdNxOutputTrunc{
+ ActionIdNicira: NewActionIdNicira(39),
+ }
+ return obj
+}
+
+type ActionIdNxPopMpls struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxPopMpls interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxPopMpls) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxPopMpls(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxPopMpls, error) {
+ _actionidnxpopmpls := &ActionIdNxPopMpls{ActionIdNicira: parent}
+ return _actionidnxpopmpls, nil
+}
+
+func NewActionIdNxPopMpls() *ActionIdNxPopMpls {
+ obj := &ActionIdNxPopMpls{
+ ActionIdNicira: NewActionIdNicira(24),
+ }
+ return obj
+}
+
+type ActionIdNxPopQueue struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxPopQueue interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxPopQueue) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxPopQueue(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxPopQueue, error) {
+ _actionidnxpopqueue := &ActionIdNxPopQueue{ActionIdNicira: parent}
+ return _actionidnxpopqueue, nil
+}
+
+func NewActionIdNxPopQueue() *ActionIdNxPopQueue {
+ obj := &ActionIdNxPopQueue{
+ ActionIdNicira: NewActionIdNicira(5),
+ }
+ return obj
+}
+
+type ActionIdNxPushMpls struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxPushMpls interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxPushMpls) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxPushMpls(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxPushMpls, error) {
+ _actionidnxpushmpls := &ActionIdNxPushMpls{ActionIdNicira: parent}
+ return _actionidnxpushmpls, nil
+}
+
+func NewActionIdNxPushMpls() *ActionIdNxPushMpls {
+ obj := &ActionIdNxPushMpls{
+ ActionIdNicira: NewActionIdNicira(23),
+ }
+ return obj
+}
+
+type ActionIdNxRegLoad struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxRegLoad interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxRegLoad) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxRegLoad(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxRegLoad, error) {
+ _actionidnxregload := &ActionIdNxRegLoad{ActionIdNicira: parent}
+ return _actionidnxregload, nil
+}
+
+func NewActionIdNxRegLoad() *ActionIdNxRegLoad {
+ obj := &ActionIdNxRegLoad{
+ ActionIdNicira: NewActionIdNicira(7),
+ }
+ return obj
+}
+
+type ActionIdNxRegLoad2 struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxRegLoad2 interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxRegLoad2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxRegLoad2(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxRegLoad2, error) {
+ _actionidnxregload2 := &ActionIdNxRegLoad2{ActionIdNicira: parent}
+ return _actionidnxregload2, nil
+}
+
+func NewActionIdNxRegLoad2() *ActionIdNxRegLoad2 {
+ obj := &ActionIdNxRegLoad2{
+ ActionIdNicira: NewActionIdNicira(33),
+ }
+ return obj
+}
+
+type ActionIdNxRegMove struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxRegMove interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxRegMove) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxRegMove(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxRegMove, error) {
+ _actionidnxregmove := &ActionIdNxRegMove{ActionIdNicira: parent}
+ return _actionidnxregmove, nil
+}
+
+func NewActionIdNxRegMove() *ActionIdNxRegMove {
+ obj := &ActionIdNxRegMove{
+ ActionIdNicira: NewActionIdNicira(6),
+ }
+ return obj
+}
+
+type ActionIdNxResubmit struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxResubmit interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxResubmit) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxResubmit(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxResubmit, error) {
+ _actionidnxresubmit := &ActionIdNxResubmit{ActionIdNicira: parent}
+ return _actionidnxresubmit, nil
+}
+
+func NewActionIdNxResubmit() *ActionIdNxResubmit {
+ obj := &ActionIdNxResubmit{
+ ActionIdNicira: NewActionIdNicira(1),
+ }
+ return obj
+}
+
+type ActionIdNxResubmitTable struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxResubmitTable interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxResubmitTable) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxResubmitTable(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxResubmitTable, error) {
+ _actionidnxresubmittable := &ActionIdNxResubmitTable{ActionIdNicira: parent}
+ return _actionidnxresubmittable, nil
+}
+
+func NewActionIdNxResubmitTable() *ActionIdNxResubmitTable {
+ obj := &ActionIdNxResubmitTable{
+ ActionIdNicira: NewActionIdNicira(14),
+ }
+ return obj
+}
+
+type ActionIdNxResubmitTableCt struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxResubmitTableCt interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxResubmitTableCt) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxResubmitTableCt(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxResubmitTableCt, error) {
+ _actionidnxresubmittablect := &ActionIdNxResubmitTableCt{ActionIdNicira: parent}
+ return _actionidnxresubmittablect, nil
+}
+
+func NewActionIdNxResubmitTableCt() *ActionIdNxResubmitTableCt {
+ obj := &ActionIdNxResubmitTableCt{
+ ActionIdNicira: NewActionIdNicira(44),
+ }
+ return obj
+}
+
+type ActionIdNxSample struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxSample interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxSample) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxSample(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxSample, error) {
+ _actionidnxsample := &ActionIdNxSample{ActionIdNicira: parent}
+ return _actionidnxsample, nil
+}
+
+func NewActionIdNxSample() *ActionIdNxSample {
+ obj := &ActionIdNxSample{
+ ActionIdNicira: NewActionIdNicira(29),
+ }
+ return obj
+}
+
+type ActionIdNxSample2 struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxSample2 interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxSample2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxSample2(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxSample2, error) {
+ _actionidnxsample2 := &ActionIdNxSample2{ActionIdNicira: parent}
+ return _actionidnxsample2, nil
+}
+
+func NewActionIdNxSample2() *ActionIdNxSample2 {
+ obj := &ActionIdNxSample2{
+ ActionIdNicira: NewActionIdNicira(38),
+ }
+ return obj
+}
+
+type ActionIdNxSample3 struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxSample3 interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxSample3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxSample3(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxSample3, error) {
+ _actionidnxsample3 := &ActionIdNxSample3{ActionIdNicira: parent}
+ return _actionidnxsample3, nil
+}
+
+func NewActionIdNxSample3() *ActionIdNxSample3 {
+ obj := &ActionIdNxSample3{
+ ActionIdNicira: NewActionIdNicira(41),
+ }
+ return obj
+}
+
+type ActionIdNxSetMplsLabel struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxSetMplsLabel interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxSetMplsLabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxSetMplsLabel(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxSetMplsLabel, error) {
+ _actionidnxsetmplslabel := &ActionIdNxSetMplsLabel{ActionIdNicira: parent}
+ return _actionidnxsetmplslabel, nil
+}
+
+func NewActionIdNxSetMplsLabel() *ActionIdNxSetMplsLabel {
+ obj := &ActionIdNxSetMplsLabel{
+ ActionIdNicira: NewActionIdNicira(30),
+ }
+ return obj
+}
+
+type ActionIdNxSetMplsTc struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxSetMplsTc interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxSetMplsTc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxSetMplsTc(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxSetMplsTc, error) {
+ _actionidnxsetmplstc := &ActionIdNxSetMplsTc{ActionIdNicira: parent}
+ return _actionidnxsetmplstc, nil
+}
+
+func NewActionIdNxSetMplsTc() *ActionIdNxSetMplsTc {
+ obj := &ActionIdNxSetMplsTc{
+ ActionIdNicira: NewActionIdNicira(31),
+ }
+ return obj
+}
+
+type ActionIdNxSetMplsTtl struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxSetMplsTtl interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxSetMplsTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxSetMplsTtl(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxSetMplsTtl, error) {
+ _actionidnxsetmplsttl := &ActionIdNxSetMplsTtl{ActionIdNicira: parent}
+ return _actionidnxsetmplsttl, nil
+}
+
+func NewActionIdNxSetMplsTtl() *ActionIdNxSetMplsTtl {
+ obj := &ActionIdNxSetMplsTtl{
+ ActionIdNicira: NewActionIdNicira(25),
+ }
+ return obj
+}
+
+type ActionIdNxSetQueue struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxSetQueue interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxSetQueue) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxSetQueue(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxSetQueue, error) {
+ _actionidnxsetqueue := &ActionIdNxSetQueue{ActionIdNicira: parent}
+ return _actionidnxsetqueue, nil
+}
+
+func NewActionIdNxSetQueue() *ActionIdNxSetQueue {
+ obj := &ActionIdNxSetQueue{
+ ActionIdNicira: NewActionIdNicira(4),
+ }
+ return obj
+}
+
+type ActionIdNxSetTunnel struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxSetTunnel interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxSetTunnel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxSetTunnel(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxSetTunnel, error) {
+ _actionidnxsettunnel := &ActionIdNxSetTunnel{ActionIdNicira: parent}
+ return _actionidnxsettunnel, nil
+}
+
+func NewActionIdNxSetTunnel() *ActionIdNxSetTunnel {
+ obj := &ActionIdNxSetTunnel{
+ ActionIdNicira: NewActionIdNicira(2),
+ }
+ return obj
+}
+
+type ActionIdNxSetTunnel64 struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxSetTunnel64 interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxSetTunnel64) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxSetTunnel64(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxSetTunnel64, error) {
+ _actionidnxsettunnel64 := &ActionIdNxSetTunnel64{ActionIdNicira: parent}
+ return _actionidnxsettunnel64, nil
+}
+
+func NewActionIdNxSetTunnel64() *ActionIdNxSetTunnel64 {
+ obj := &ActionIdNxSetTunnel64{
+ ActionIdNicira: NewActionIdNicira(9),
+ }
+ return obj
+}
+
+type ActionIdNxStackPop struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxStackPop interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxStackPop) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxStackPop(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxStackPop, error) {
+ _actionidnxstackpop := &ActionIdNxStackPop{ActionIdNicira: parent}
+ return _actionidnxstackpop, nil
+}
+
+func NewActionIdNxStackPop() *ActionIdNxStackPop {
+ obj := &ActionIdNxStackPop{
+ ActionIdNicira: NewActionIdNicira(28),
+ }
+ return obj
+}
+
+type ActionIdNxStackPush struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxStackPush interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxStackPush) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxStackPush(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxStackPush, error) {
+ _actionidnxstackpush := &ActionIdNxStackPush{ActionIdNicira: parent}
+ return _actionidnxstackpush, nil
+}
+
+func NewActionIdNxStackPush() *ActionIdNxStackPush {
+ obj := &ActionIdNxStackPush{
+ ActionIdNicira: NewActionIdNicira(27),
+ }
+ return obj
+}
+
+type ActionIdNxWriteMetadata struct {
+ *ActionIdNicira
+}
+
+type IActionIdNxWriteMetadata interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdNxWriteMetadata) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdNxWriteMetadata(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdNxWriteMetadata, error) {
+ _actionidnxwritemetadata := &ActionIdNxWriteMetadata{ActionIdNicira: parent}
+ return _actionidnxwritemetadata, nil
+}
+
+func NewActionIdNxWriteMetadata() *ActionIdNxWriteMetadata {
+ obj := &ActionIdNxWriteMetadata{
+ ActionIdNicira: NewActionIdNicira(22),
+ }
+ return obj
+}
+
+type ActionIdOutput struct {
+ *ActionId
+}
+
+type IActionIdOutput interface {
+ IActionId
+}
+
+func (self *ActionIdOutput) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdOutput(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdOutput, error) {
+ _actionidoutput := &ActionIdOutput{ActionId: parent}
+ return _actionidoutput, nil
+}
+
+func NewActionIdOutput() *ActionIdOutput {
+ obj := &ActionIdOutput{
+ ActionId: NewActionId(0),
+ }
+ return obj
+}
+
+type ActionIdPopMpls struct {
+ *ActionId
+}
+
+type IActionIdPopMpls interface {
+ IActionId
+}
+
+func (self *ActionIdPopMpls) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdPopMpls(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdPopMpls, error) {
+ _actionidpopmpls := &ActionIdPopMpls{ActionId: parent}
+ return _actionidpopmpls, nil
+}
+
+func NewActionIdPopMpls() *ActionIdPopMpls {
+ obj := &ActionIdPopMpls{
+ ActionId: NewActionId(20),
+ }
+ return obj
+}
+
+type ActionIdPopPbb struct {
+ *ActionId
+}
+
+type IActionIdPopPbb interface {
+ IActionId
+}
+
+func (self *ActionIdPopPbb) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdPopPbb(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdPopPbb, error) {
+ _actionidpoppbb := &ActionIdPopPbb{ActionId: parent}
+ return _actionidpoppbb, nil
+}
+
+func NewActionIdPopPbb() *ActionIdPopPbb {
+ obj := &ActionIdPopPbb{
+ ActionId: NewActionId(27),
+ }
+ return obj
+}
+
+type ActionIdPopVlan struct {
+ *ActionId
+}
+
+type IActionIdPopVlan interface {
+ IActionId
+}
+
+func (self *ActionIdPopVlan) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdPopVlan(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdPopVlan, error) {
+ _actionidpopvlan := &ActionIdPopVlan{ActionId: parent}
+ return _actionidpopvlan, nil
+}
+
+func NewActionIdPopVlan() *ActionIdPopVlan {
+ obj := &ActionIdPopVlan{
+ ActionId: NewActionId(18),
+ }
+ return obj
+}
+
+type ActionIdPushMpls struct {
+ *ActionId
+}
+
+type IActionIdPushMpls interface {
+ IActionId
+}
+
+func (self *ActionIdPushMpls) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdPushMpls(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdPushMpls, error) {
+ _actionidpushmpls := &ActionIdPushMpls{ActionId: parent}
+ return _actionidpushmpls, nil
+}
+
+func NewActionIdPushMpls() *ActionIdPushMpls {
+ obj := &ActionIdPushMpls{
+ ActionId: NewActionId(19),
+ }
+ return obj
+}
+
+type ActionIdPushPbb struct {
+ *ActionId
+}
+
+type IActionIdPushPbb interface {
+ IActionId
+}
+
+func (self *ActionIdPushPbb) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdPushPbb(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdPushPbb, error) {
+ _actionidpushpbb := &ActionIdPushPbb{ActionId: parent}
+ return _actionidpushpbb, nil
+}
+
+func NewActionIdPushPbb() *ActionIdPushPbb {
+ obj := &ActionIdPushPbb{
+ ActionId: NewActionId(26),
+ }
+ return obj
+}
+
+type ActionIdPushVlan struct {
+ *ActionId
+}
+
+type IActionIdPushVlan interface {
+ IActionId
+}
+
+func (self *ActionIdPushVlan) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdPushVlan(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdPushVlan, error) {
+ _actionidpushvlan := &ActionIdPushVlan{ActionId: parent}
+ return _actionidpushvlan, nil
+}
+
+func NewActionIdPushVlan() *ActionIdPushVlan {
+ obj := &ActionIdPushVlan{
+ ActionId: NewActionId(17),
+ }
+ return obj
+}
+
+type ActionIdResubmit struct {
+ *ActionIdNicira
+}
+
+type IActionIdResubmit interface {
+ IActionIdNicira
+}
+
+func (self *ActionIdResubmit) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionIdNicira.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdResubmit(parent *ActionIdNicira, decoder *goloxi.Decoder) (*ActionIdResubmit, error) {
+ _actionidresubmit := &ActionIdResubmit{ActionIdNicira: parent}
+ return _actionidresubmit, nil
+}
+
+func NewActionIdResubmit() *ActionIdResubmit {
+ obj := &ActionIdResubmit{
+ ActionIdNicira: NewActionIdNicira(14),
+ }
+ return obj
+}
+
+type ActionIdSetField struct {
+ *ActionId
+}
+
+type IActionIdSetField interface {
+ IActionId
+}
+
+func (self *ActionIdSetField) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdSetField(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdSetField, error) {
+ _actionidsetfield := &ActionIdSetField{ActionId: parent}
+ return _actionidsetfield, nil
+}
+
+func NewActionIdSetField() *ActionIdSetField {
+ obj := &ActionIdSetField{
+ ActionId: NewActionId(25),
+ }
+ return obj
+}
+
+type ActionIdSetMplsTtl struct {
+ *ActionId
+}
+
+type IActionIdSetMplsTtl interface {
+ IActionId
+}
+
+func (self *ActionIdSetMplsTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdSetMplsTtl(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdSetMplsTtl, error) {
+ _actionidsetmplsttl := &ActionIdSetMplsTtl{ActionId: parent}
+ return _actionidsetmplsttl, nil
+}
+
+func NewActionIdSetMplsTtl() *ActionIdSetMplsTtl {
+ obj := &ActionIdSetMplsTtl{
+ ActionId: NewActionId(15),
+ }
+ return obj
+}
+
+type ActionIdSetNwTtl struct {
+ *ActionId
+}
+
+type IActionIdSetNwTtl interface {
+ IActionId
+}
+
+func (self *ActionIdSetNwTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdSetNwTtl(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdSetNwTtl, error) {
+ _actionidsetnwttl := &ActionIdSetNwTtl{ActionId: parent}
+ return _actionidsetnwttl, nil
+}
+
+func NewActionIdSetNwTtl() *ActionIdSetNwTtl {
+ obj := &ActionIdSetNwTtl{
+ ActionId: NewActionId(23),
+ }
+ return obj
+}
+
+type ActionIdSetQueue struct {
+ *ActionId
+}
+
+type IActionIdSetQueue interface {
+ IActionId
+}
+
+func (self *ActionIdSetQueue) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionIdSetQueue(parent *ActionId, decoder *goloxi.Decoder) (*ActionIdSetQueue, error) {
+ _actionidsetqueue := &ActionIdSetQueue{ActionId: parent}
+ return _actionidsetqueue, nil
+}
+
+func NewActionIdSetQueue() *ActionIdSetQueue {
+ obj := &ActionIdSetQueue{
+ ActionId: NewActionId(21),
+ }
+ return obj
+}
diff --git a/vendor/github.com/skydive-project/goloxi/of13/common.go b/vendor/github.com/skydive-project/goloxi/of13/common.go
new file mode 100644
index 0000000..3ac2db7
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/of13/common.go
@@ -0,0 +1,32834 @@
+/*
+ * Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
+ * Copyright (c) 2011, 2012 Open Networking Foundation
+ * Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler.
+ * Copyright 2018, Red Hat, Inc.
+ */
+// Automatically generated by LOXI from template module.go
+// Do not modify
+
+package of13
+
+import (
+ "bytes"
+ "encoding/binary"
+ "fmt"
+ "net"
+
+ "github.com/skydive-project/goloxi"
+)
+
+type OxmId struct {
+ TypeLen uint32
+}
+
+type IOxmId interface {
+ goloxi.Serializable
+ GetTypeLen() uint32
+ GetOXMName() string
+}
+
+func (self *OxmId) GetTypeLen() uint32 {
+ return self.TypeLen
+}
+
+func (self *OxmId) SetTypeLen(v uint32) {
+ self.TypeLen = v
+}
+
+func (self *OxmId) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint32(uint32(self.TypeLen))
+
+ return nil
+}
+
+func DecodeOxmId(decoder *goloxi.Decoder) (IOxmId, error) {
+ _oxmid := &OxmId{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmId packet too short: %d < 4", decoder.Length())
+ }
+ _oxmid.TypeLen = uint32(decoder.ReadUint32())
+
+ switch _oxmid.TypeLen {
+ case 110204:
+ return DecodeOxmIdTunMetadata47(_oxmid, decoder)
+ case 129026:
+ return DecodeOxmIdConnTrackingTpSrc(_oxmid, decoder)
+ case 2147489796:
+ return DecodeOxmIdIpv4Dst(_oxmid, decoder)
+ case 77830:
+ return DecodeOxmIdNdSll(_oxmid, decoder)
+ case 80897:
+ return DecodeOxmIdMplsTtl(_oxmid, decoder)
+ case 73736:
+ return DecodeOxmIdTunId(_oxmid, decoder)
+ case 2:
+ return DecodeOxmIdInPort(_oxmid, decoder)
+ case 120848:
+ return DecodeOxmIdConnTrackingLabel(_oxmid, decoder)
+ case 65540:
+ return DecodeOxmIdReg0(_oxmid, decoder)
+ case 111228:
+ return DecodeOxmIdTunMetadata49(_oxmid, decoder)
+ case 74758:
+ return DecodeOxmIdArpTha(_oxmid, decoder)
+ case 2147499266:
+ return DecodeOxmIdIcmpv6CodeMasked(_oxmid, decoder)
+ case 2147503112:
+ return DecodeOxmIdTunnelId(_oxmid, decoder)
+ case 112252:
+ return DecodeOxmIdTunMetadata51(_oxmid, decoder)
+ case 108024:
+ return DecodeOxmIdTunMetadata42Masked(_oxmid, decoder)
+ case 113276:
+ return DecodeOxmIdTunMetadata53(_oxmid, decoder)
+ case 109048:
+ return DecodeOxmIdTunMetadata44Masked(_oxmid, decoder)
+ case 94332:
+ return DecodeOxmIdTunMetadata16(_oxmid, decoder)
+ case 114300:
+ return DecodeOxmIdTunMetadata55(_oxmid, decoder)
+ case 2050:
+ return DecodeOxmIdVlanTci(_oxmid, decoder)
+ case 3073:
+ return DecodeOxmIdNwProto(_oxmid, decoder)
+ case 110072:
+ return DecodeOxmIdTunMetadata46Masked(_oxmid, decoder)
+ case 2147502338:
+ return DecodeOxmIdMplsBosMasked(_oxmid, decoder)
+ case 66564:
+ return DecodeOxmIdReg2(_oxmid, decoder)
+ case 115324:
+ return DecodeOxmIdTunMetadata57(_oxmid, decoder)
+ case 2147486722:
+ return DecodeOxmIdVlanVid(_oxmid, decoder)
+ case 2147487745:
+ return DecodeOxmIdIpDscp(_oxmid, decoder)
+ case 111096:
+ return DecodeOxmIdTunMetadata48Masked(_oxmid, decoder)
+ case 83204:
+ return DecodeOxmIdTcpFlagsMasked(_oxmid, decoder)
+ case 3588:
+ return DecodeOxmIdIpSrc(_oxmid, decoder)
+ case 198660:
+ return DecodeOxmIdBsnL3InterfaceClassId(_oxmid, decoder)
+ case 2147488769:
+ return DecodeOxmIdIpProto(_oxmid, decoder)
+ case 112120:
+ return DecodeOxmIdTunMetadata50Masked(_oxmid, decoder)
+ case 121872:
+ return DecodeOxmIdTunIpv6Dst(_oxmid, decoder)
+ case 199172:
+ return DecodeOxmIdBsnL3SrcClassId(_oxmid, decoder)
+ case 1030:
+ return DecodeOxmIdEthSrc(_oxmid, decoder)
+ case 68612:
+ return DecodeOxmIdReg6(_oxmid, decoder)
+ case 117372:
+ return DecodeOxmIdTunMetadata61(_oxmid, decoder)
+ case 5122:
+ return DecodeOxmIdTcpDst(_oxmid, decoder)
+ case 113144:
+ return DecodeOxmIdTunMetadata52Masked(_oxmid, decoder)
+ case 122896:
+ return DecodeOxmIdXxreg1(_oxmid, decoder)
+ case 209156:
+ return DecodeOxmIdBsnInnerVlanVidMasked(_oxmid, decoder)
+ case 124192:
+ return DecodeOxmIdXxreg3Masked(_oxmid, decoder)
+ case 81672:
+ return DecodeOxmIdTunnelIpv4SrcMasked(_oxmid, decoder)
+ case 4100:
+ return DecodeOxmIdIpDst(_oxmid, decoder)
+ case 118396:
+ return DecodeOxmIdTunMetadata63(_oxmid, decoder)
+ case 2147494146:
+ return DecodeOxmIdIcmpv4CodeMasked(_oxmid, decoder)
+ case 129284:
+ return DecodeOxmIdConnTrackingTpSrcMasked(_oxmid, decoder)
+ case 114168:
+ return DecodeOxmIdTunMetadata54Masked(_oxmid, decoder)
+ case 123920:
+ return DecodeOxmIdXxreg3(_oxmid, decoder)
+ case 200968:
+ return DecodeOxmIdBsnUdf0Masked(_oxmid, decoder)
+ case 78091:
+ return DecodeOxmIdNdSllMasked(_oxmid, decoder)
+ case 2147500300:
+ return DecodeOxmIdIpv6NdSllMasked(_oxmid, decoder)
+ case 74000:
+ return DecodeOxmIdTunIdMasked(_oxmid, decoder)
+ case 86140:
+ return DecodeOxmIdTunMetadata0(_oxmid, decoder)
+ case 70660:
+ return DecodeOxmIdReg10(_oxmid, decoder)
+ case 121120:
+ return DecodeOxmIdConnTrackingLabelMasked(_oxmid, decoder)
+ case 107000:
+ return DecodeOxmIdTunMetadata40Masked(_oxmid, decoder)
+ case 3848:
+ return DecodeOxmIdIpSrcMasked(_oxmid, decoder)
+ case 87164:
+ return DecodeOxmIdTunMetadata2(_oxmid, decoder)
+ case 202756:
+ return DecodeOxmIdBsnUdf4(_oxmid, decoder)
+ case 204802:
+ return DecodeOxmIdBsnTcpFlags(_oxmid, decoder)
+ case 205825:
+ return DecodeOxmIdBsnL2CacheHit(_oxmid, decoder)
+ case 116216:
+ return DecodeOxmIdTunMetadata58Masked(_oxmid, decoder)
+ case 199432:
+ return DecodeOxmIdBsnL3SrcClassIdMasked(_oxmid, decoder)
+ case 88188:
+ return DecodeOxmIdTunMetadata4(_oxmid, decoder)
+ case 203780:
+ return DecodeOxmIdBsnUdf6(_oxmid, decoder)
+ case 2147492866:
+ return DecodeOxmIdSctpDst(_oxmid, decoder)
+ case 2147493889:
+ return DecodeOxmIdIcmpv4Code(_oxmid, decoder)
+ case 117240:
+ return DecodeOxmIdTunMetadata60Masked(_oxmid, decoder)
+ case 200196:
+ return DecodeOxmIdBsnEgrPortGroupId(_oxmid, decoder)
+ case 128288:
+ return DecodeOxmIdConnTrackingIpv6SrcMasked(_oxmid, decoder)
+ case 89212:
+ return DecodeOxmIdTunMetadata6(_oxmid, decoder)
+ case 8196:
+ return DecodeOxmIdArpSpa(_oxmid, decoder)
+ case 76801:
+ return DecodeOxmIdIcmpv6Code(_oxmid, decoder)
+ case 118264:
+ return DecodeOxmIdTunMetadata62Masked(_oxmid, decoder)
+ case 70148:
+ return DecodeOxmIdReg9(_oxmid, decoder)
+ case 119560:
+ return DecodeOxmIdConnTrackingStateMasked(_oxmid, decoder)
+ case 90236:
+ return DecodeOxmIdTunMetadata8(_oxmid, decoder)
+ case 119044:
+ return DecodeOxmIdTunFlagsMasked(_oxmid, decoder)
+ case 82696:
+ return DecodeOxmIdPktMarkMasked(_oxmid, decoder)
+ case 4294923528:
+ return DecodeOxmIdOvsTcpFlagsMasked(_oxmid, decoder)
+ case 120584:
+ return DecodeOxmIdConnTrackingMarkMasked(_oxmid, decoder)
+ case 91260:
+ return DecodeOxmIdTunMetadata10(_oxmid, decoder)
+ case 87032:
+ return DecodeOxmIdTunMetadata1Masked(_oxmid, decoder)
+ case 126722:
+ return DecodeOxmIdConnTrackingNwProtoMasked(_oxmid, decoder)
+ case 206852:
+ return DecodeOxmIdBsnIngressPortGroupId(_oxmid, decoder)
+ case 208898:
+ return DecodeOxmIdBsnInnerVlanVid(_oxmid, decoder)
+ case 209921:
+ return DecodeOxmIdBsnIpFragmentation(_oxmid, decoder)
+ case 196896:
+ return DecodeOxmIdBsnInPorts128Masked(_oxmid, decoder)
+ case 92284:
+ return DecodeOxmIdTunMetadata12(_oxmid, decoder)
+ case 88056:
+ return DecodeOxmIdTunMetadata3Masked(_oxmid, decoder)
+ case 79873:
+ return DecodeOxmIdNwEcn(_oxmid, decoder)
+ case 196624:
+ return DecodeOxmIdBsnInPorts128(_oxmid, decoder)
+ case 200456:
+ return DecodeOxmIdBsnEgrPortGroupIdMasked(_oxmid, decoder)
+ case 2147489284:
+ return DecodeOxmIdIpv4Src(_oxmid, decoder)
+ case 93308:
+ return DecodeOxmIdTunMetadata14(_oxmid, decoder)
+ case 115192:
+ return DecodeOxmIdTunMetadata56Masked(_oxmid, decoder)
+ case 2561:
+ return DecodeOxmIdNwTos(_oxmid, decoder)
+ case 129538:
+ return DecodeOxmIdConnTrackingTpDst(_oxmid, decoder)
+ case 2147500550:
+ return DecodeOxmIdIpv6NdTll(_oxmid, decoder)
+ case 84484:
+ return DecodeOxmIdConjId(_oxmid, decoder)
+ case 74246:
+ return DecodeOxmIdArpSha(_oxmid, decoder)
+ case 85762:
+ return DecodeOxmIdTunGbpFlagsMasked(_oxmid, decoder)
+ case 123408:
+ return DecodeOxmIdXxreg2(_oxmid, decoder)
+ case 90104:
+ return DecodeOxmIdTunMetadata7Masked(_oxmid, decoder)
+ case 2147486468:
+ return DecodeOxmIdEthTypeMasked(_oxmid, decoder)
+ case 70408:
+ return DecodeOxmIdReg9Masked(_oxmid, decoder)
+ case 91128:
+ return DecodeOxmIdTunMetadata9Masked(_oxmid, decoder)
+ case 83720:
+ return DecodeOxmIdDpHashMasked(_oxmid, decoder)
+ case 2147497988:
+ return DecodeOxmIdIpv6Flabel(_oxmid, decoder)
+ case 78603:
+ return DecodeOxmIdNdTllMasked(_oxmid, decoder)
+ case 2147503376:
+ return DecodeOxmIdTunnelIdMasked(_oxmid, decoder)
+ case 96380:
+ return DecodeOxmIdTunMetadata20(_oxmid, decoder)
+ case 92152:
+ return DecodeOxmIdTunMetadata11Masked(_oxmid, decoder)
+ case 129796:
+ return DecodeOxmIdConnTrackingTpDstMasked(_oxmid, decoder)
+ case 2147502081:
+ return DecodeOxmIdMplsBos(_oxmid, decoder)
+ case 97404:
+ return DecodeOxmIdTunMetadata22(_oxmid, decoder)
+ case 93176:
+ return DecodeOxmIdTunMetadata13Masked(_oxmid, decoder)
+ case 94844:
+ return DecodeOxmIdTunMetadata17(_oxmid, decoder)
+ case 81924:
+ return DecodeOxmIdTunnelIpv4Dst(_oxmid, decoder)
+ case 127752:
+ return DecodeOxmIdConnTrackingNwDstMasked(_oxmid, decoder)
+ case 98428:
+ return DecodeOxmIdTunMetadata24(_oxmid, decoder)
+ case 94200:
+ return DecodeOxmIdTunMetadata15Masked(_oxmid, decoder)
+ case 2147501060:
+ return DecodeOxmIdMplsLabel(_oxmid, decoder)
+ case 84994:
+ return DecodeOxmIdTunGbpId(_oxmid, decoder)
+ case 71432:
+ return DecodeOxmIdReg11Masked(_oxmid, decoder)
+ case 99452:
+ return DecodeOxmIdTunMetadata26(_oxmid, decoder)
+ case 95224:
+ return DecodeOxmIdTunMetadata17Masked(_oxmid, decoder)
+ case 2147500038:
+ return DecodeOxmIdIpv6NdSll(_oxmid, decoder)
+ case 83972:
+ return DecodeOxmIdRecircId(_oxmid, decoder)
+ case 128800:
+ return DecodeOxmIdConnTrackingIpv6DstMasked(_oxmid, decoder)
+ case 72196:
+ return DecodeOxmIdReg13(_oxmid, decoder)
+ case 100476:
+ return DecodeOxmIdTunMetadata28(_oxmid, decoder)
+ case 96248:
+ return DecodeOxmIdTunMetadata19Masked(_oxmid, decoder)
+ case 2147488514:
+ return DecodeOxmIdIpEcnMasked(_oxmid, decoder)
+ case 112764:
+ return DecodeOxmIdTunMetadata52(_oxmid, decoder)
+ case 101500:
+ return DecodeOxmIdTunMetadata30(_oxmid, decoder)
+ case 97272:
+ return DecodeOxmIdTunMetadata21Masked(_oxmid, decoder)
+ case 2147498754:
+ return DecodeOxmIdIcmpv6TypeMasked(_oxmid, decoder)
+ case 209668:
+ return DecodeOxmIdBsnVfiMasked(_oxmid, decoder)
+ case 2147484424:
+ return DecodeOxmIdInPhyPortMasked(_oxmid, decoder)
+ case 74507:
+ return DecodeOxmIdArpShaMasked(_oxmid, decoder)
+ case 2147500812:
+ return DecodeOxmIdIpv6NdTllMasked(_oxmid, decoder)
+ case 197384:
+ return DecodeOxmIdBsnLagIdMasked(_oxmid, decoder)
+ case 76064:
+ return DecodeOxmIdIpv6DstMasked(_oxmid, decoder)
+ case 102524:
+ return DecodeOxmIdTunMetadata32(_oxmid, decoder)
+ case 98296:
+ return DecodeOxmIdTunMetadata23Masked(_oxmid, decoder)
+ case 4868:
+ return DecodeOxmIdTcpSrcMasked(_oxmid, decoder)
+ case 121632:
+ return DecodeOxmIdTunIpv6SrcMasked(_oxmid, decoder)
+ case 75792:
+ return DecodeOxmIdIpv6Dst(_oxmid, decoder)
+ case 202504:
+ return DecodeOxmIdBsnUdf3Masked(_oxmid, decoder)
+ case 120324:
+ return DecodeOxmIdConnTrackingMark(_oxmid, decoder)
+ case 99320:
+ return DecodeOxmIdTunMetadata25Masked(_oxmid, decoder)
+ case 65800:
+ return DecodeOxmIdReg0Masked(_oxmid, decoder)
+ case 66824:
+ return DecodeOxmIdReg2Masked(_oxmid, decoder)
+ case 72456:
+ return DecodeOxmIdReg13Masked(_oxmid, decoder)
+ case 68360:
+ return DecodeOxmIdReg5Masked(_oxmid, decoder)
+ case 104572:
+ return DecodeOxmIdTunMetadata36(_oxmid, decoder)
+ case 95356:
+ return DecodeOxmIdTunMetadata18(_oxmid, decoder)
+ case 100344:
+ return DecodeOxmIdTunMetadata27Masked(_oxmid, decoder)
+ case 4294923270:
+ return DecodeOxmIdOvsTcpFlags(_oxmid, decoder)
+ case 779:
+ return DecodeOxmIdEthDstMasked(_oxmid, decoder)
+ case 69384:
+ return DecodeOxmIdReg7Masked(_oxmid, decoder)
+ case 105596:
+ return DecodeOxmIdTunMetadata38(_oxmid, decoder)
+ case 101368:
+ return DecodeOxmIdTunMetadata29Masked(_oxmid, decoder)
+ case 2147493634:
+ return DecodeOxmIdIcmpv4TypeMasked(_oxmid, decoder)
+ case 108668:
+ return DecodeOxmIdTunMetadata44(_oxmid, decoder)
+ case 201480:
+ return DecodeOxmIdBsnUdf1Masked(_oxmid, decoder)
+ case 106620:
+ return DecodeOxmIdTunMetadata40(_oxmid, decoder)
+ case 102392:
+ return DecodeOxmIdTunMetadata31Masked(_oxmid, decoder)
+ case 2147492612:
+ return DecodeOxmIdSctpSrcMasked(_oxmid, decoder)
+ case 72708:
+ return DecodeOxmIdReg14(_oxmid, decoder)
+ case 73480:
+ return DecodeOxmIdReg15Masked(_oxmid, decoder)
+ case 204292:
+ return DecodeOxmIdBsnUdf7(_oxmid, decoder)
+ case 2147489544:
+ return DecodeOxmIdIpv4SrcMasked(_oxmid, decoder)
+ case 107644:
+ return DecodeOxmIdTunMetadata42(_oxmid, decoder)
+ case 103416:
+ return DecodeOxmIdTunMetadata33Masked(_oxmid, decoder)
+ case 2147498248:
+ return DecodeOxmIdIpv6FlabelMasked(_oxmid, decoder)
+ case 203528:
+ return DecodeOxmIdBsnUdf5Masked(_oxmid, decoder)
+ case 89592:
+ return DecodeOxmIdTunMetadata6Masked(_oxmid, decoder)
+ case 104440:
+ return DecodeOxmIdTunMetadata35Masked(_oxmid, decoder)
+ case 2147494660:
+ return DecodeOxmIdArpOpMasked(_oxmid, decoder)
+ case 197636:
+ return DecodeOxmIdBsnVrf(_oxmid, decoder)
+ case 204552:
+ return DecodeOxmIdBsnUdf7Masked(_oxmid, decoder)
+ case 109692:
+ return DecodeOxmIdTunMetadata46(_oxmid, decoder)
+ case 105464:
+ return DecodeOxmIdTunMetadata37Masked(_oxmid, decoder)
+ case 89080:
+ return DecodeOxmIdTunMetadata5Masked(_oxmid, decoder)
+ case 67588:
+ return DecodeOxmIdReg4(_oxmid, decoder)
+ case 7169:
+ return DecodeOxmIdIcmpCode(_oxmid, decoder)
+ case 82946:
+ return DecodeOxmIdTcpFlags(_oxmid, decoder)
+ case 199684:
+ return DecodeOxmIdBsnL3DstClassId(_oxmid, decoder)
+ case 207878:
+ return DecodeOxmIdBsnInnerEthDst(_oxmid, decoder)
+ case 198145:
+ return DecodeOxmIdBsnGlobalVrfAllowed(_oxmid, decoder)
+ case 2147484680:
+ return DecodeOxmIdMetadata(_oxmid, decoder)
+ case 1538:
+ return DecodeOxmIdEthType(_oxmid, decoder)
+ case 8968:
+ return DecodeOxmIdArpTpaMasked(_oxmid, decoder)
+ case 128016:
+ return DecodeOxmIdConnTrackingIpv6Src(_oxmid, decoder)
+ case 110716:
+ return DecodeOxmIdTunMetadata48(_oxmid, decoder)
+ case 127492:
+ return DecodeOxmIdConnTrackingNwDst(_oxmid, decoder)
+ case 78342:
+ return DecodeOxmIdNdTll(_oxmid, decoder)
+ case 111740:
+ return DecodeOxmIdTunMetadata50(_oxmid, decoder)
+ case 107512:
+ return DecodeOxmIdTunMetadata41Masked(_oxmid, decoder)
+ case 207624:
+ return DecodeOxmIdBsnVxlanNetworkIdMasked(_oxmid, decoder)
+ case 121360:
+ return DecodeOxmIdTunIpv6Src(_oxmid, decoder)
+ case 113788:
+ return DecodeOxmIdTunMetadata54(_oxmid, decoder)
+ case 109560:
+ return DecodeOxmIdTunMetadata45Masked(_oxmid, decoder)
+ case 2147501826:
+ return DecodeOxmIdMplsTcMasked(_oxmid, decoder)
+ case 103548:
+ return DecodeOxmIdTunMetadata34(_oxmid, decoder)
+ case 2147484164:
+ return DecodeOxmIdInPhyPort(_oxmid, decoder)
+ case 205316:
+ return DecodeOxmIdBsnVlanXlatePortGroupId(_oxmid, decoder)
+ case 114812:
+ return DecodeOxmIdTunMetadata56(_oxmid, decoder)
+ case 2147487233:
+ return DecodeOxmIdVlanPcp(_oxmid, decoder)
+ case 110584:
+ return DecodeOxmIdTunMetadata47Masked(_oxmid, decoder)
+ case 79624:
+ return DecodeOxmIdIpv6LabelMasked(_oxmid, decoder)
+ case 115836:
+ return DecodeOxmIdTunMetadata58(_oxmid, decoder)
+ case 2147488257:
+ return DecodeOxmIdIpEcn(_oxmid, decoder)
+ case 111608:
+ return DecodeOxmIdTunMetadata49Masked(_oxmid, decoder)
+ case 518:
+ return DecodeOxmIdEthDst(_oxmid, decoder)
+ case 68100:
+ return DecodeOxmIdReg5(_oxmid, decoder)
+ case 116860:
+ return DecodeOxmIdTunMetadata60(_oxmid, decoder)
+ case 4610:
+ return DecodeOxmIdTcpSrc(_oxmid, decoder)
+ case 112632:
+ return DecodeOxmIdTunMetadata51Masked(_oxmid, decoder)
+ case 122384:
+ return DecodeOxmIdXxreg0(_oxmid, decoder)
+ case 123680:
+ return DecodeOxmIdXxreg2Masked(_oxmid, decoder)
+ case 69124:
+ return DecodeOxmIdReg7(_oxmid, decoder)
+ case 117884:
+ return DecodeOxmIdTunMetadata62(_oxmid, decoder)
+ case 5634:
+ return DecodeOxmIdUdpSrc(_oxmid, decoder)
+ case 6657:
+ return DecodeOxmIdIcmpType(_oxmid, decoder)
+ case 113656:
+ return DecodeOxmIdTunMetadata53Masked(_oxmid, decoder)
+ case 2147503876:
+ return DecodeOxmIdIpv6ExthdrMasked(_oxmid, decoder)
+ case 198920:
+ return DecodeOxmIdBsnL3InterfaceClassIdMasked(_oxmid, decoder)
+ case 2147489026:
+ return DecodeOxmIdIpProtoMasked(_oxmid, decoder)
+ case 120068:
+ return DecodeOxmIdConnTrackingZoneMasked(_oxmid, decoder)
+ case 1286:
+ return DecodeOxmIdEthSrcMasked(_oxmid, decoder)
+ case 204040:
+ return DecodeOxmIdBsnUdf6Masked(_oxmid, decoder)
+ case 75019:
+ return DecodeOxmIdArpThaMasked(_oxmid, decoder)
+ case 208140:
+ return DecodeOxmIdBsnInnerEthDstMasked(_oxmid, decoder)
+ case 201220:
+ return DecodeOxmIdBsnUdf1(_oxmid, decoder)
+ case 205576:
+ return DecodeOxmIdBsnVlanXlatePortGroupIdMasked(_oxmid, decoder)
+ case 2147484944:
+ return DecodeOxmIdMetadataMasked(_oxmid, decoder)
+ case 6146:
+ return DecodeOxmIdUdpDst(_oxmid, decoder)
+ case 114680:
+ return DecodeOxmIdTunMetadata55Masked(_oxmid, decoder)
+ case 122144:
+ return DecodeOxmIdTunIpv6DstMasked(_oxmid, decoder)
+ case 86652:
+ return DecodeOxmIdTunMetadata1(_oxmid, decoder)
+ case 202244:
+ return DecodeOxmIdBsnUdf3(_oxmid, decoder)
+ case 115704:
+ return DecodeOxmIdTunMetadata57Masked(_oxmid, decoder)
+ case 69636:
+ return DecodeOxmIdReg8(_oxmid, decoder)
+ case 87676:
+ return DecodeOxmIdTunMetadata3(_oxmid, decoder)
+ case 82184:
+ return DecodeOxmIdTunnelIpv4DstMasked(_oxmid, decoder)
+ case 203268:
+ return DecodeOxmIdBsnUdf5(_oxmid, decoder)
+ case 2147492354:
+ return DecodeOxmIdSctpSrc(_oxmid, decoder)
+ case 2147493377:
+ return DecodeOxmIdIcmpv4Type(_oxmid, decoder)
+ case 116728:
+ return DecodeOxmIdTunMetadata59Masked(_oxmid, decoder)
+ case 88700:
+ return DecodeOxmIdTunMetadata5(_oxmid, decoder)
+ case 73220:
+ return DecodeOxmIdReg15(_oxmid, decoder)
+ case 76289:
+ return DecodeOxmIdIcmpv6Type(_oxmid, decoder)
+ case 117752:
+ return DecodeOxmIdTunMetadata61Masked(_oxmid, decoder)
+ case 4360:
+ return DecodeOxmIdIpDstMasked(_oxmid, decoder)
+ case 89724:
+ return DecodeOxmIdTunMetadata7(_oxmid, decoder)
+ case 8708:
+ return DecodeOxmIdArpTpa(_oxmid, decoder)
+ case 118776:
+ return DecodeOxmIdTunMetadata63Masked(_oxmid, decoder)
+ case 199944:
+ return DecodeOxmIdBsnL3DstClassIdMasked(_oxmid, decoder)
+ case 90748:
+ return DecodeOxmIdTunMetadata9(_oxmid, decoder)
+ case 86520:
+ return DecodeOxmIdTunMetadata0Masked(_oxmid, decoder)
+ case 2147487490:
+ return DecodeOxmIdVlanPcpMasked(_oxmid, decoder)
+ case 2147501320:
+ return DecodeOxmIdMplsLabelMasked(_oxmid, decoder)
+ case 197124:
+ return DecodeOxmIdBsnLagId(_oxmid, decoder)
+ case 78849:
+ return DecodeOxmIdIpFrag(_oxmid, decoder)
+ case 200708:
+ return DecodeOxmIdBsnUdf0(_oxmid, decoder)
+ case 91772:
+ return DecodeOxmIdTunMetadata11(_oxmid, decoder)
+ case 87544:
+ return DecodeOxmIdTunMetadata2Masked(_oxmid, decoder)
+ case 207364:
+ return DecodeOxmIdBsnVxlanNetworkId(_oxmid, decoder)
+ case 209410:
+ return DecodeOxmIdBsnVfi(_oxmid, decoder)
+ case 92796:
+ return DecodeOxmIdTunMetadata13(_oxmid, decoder)
+ case 88568:
+ return DecodeOxmIdTunMetadata4Masked(_oxmid, decoder)
+ case 80385:
+ return DecodeOxmIdNwTtl(_oxmid, decoder)
+ case 105976:
+ return DecodeOxmIdTunMetadata38Masked(_oxmid, decoder)
+ case 126465:
+ return DecodeOxmIdConnTrackingNwProto(_oxmid, decoder)
+ case 7682:
+ return DecodeOxmIdArpOp(_oxmid, decoder)
+ case 71172:
+ return DecodeOxmIdReg11(_oxmid, decoder)
+ case 208390:
+ return DecodeOxmIdBsnInnerEthSrc(_oxmid, decoder)
+ case 210178:
+ return DecodeOxmIdBsnIpFragmentationMasked(_oxmid, decoder)
+ case 128528:
+ return DecodeOxmIdConnTrackingIpv6Dst(_oxmid, decoder)
+ case 85252:
+ return DecodeOxmIdTunGbpIdMasked(_oxmid, decoder)
+ case 90616:
+ return DecodeOxmIdTunMetadata8Masked(_oxmid, decoder)
+ case 79364:
+ return DecodeOxmIdIpv6Label(_oxmid, decoder)
+ case 207112:
+ return DecodeOxmIdBsnIngressPortGroupIdMasked(_oxmid, decoder)
+ case 206400:
+ return DecodeOxmIdBsnInPorts512(_oxmid, decoder)
+ case 95868:
+ return DecodeOxmIdTunMetadata19(_oxmid, decoder)
+ case 91640:
+ return DecodeOxmIdTunMetadata10Masked(_oxmid, decoder)
+ case 2147501569:
+ return DecodeOxmIdMplsTc(_oxmid, decoder)
+ case 70920:
+ return DecodeOxmIdReg10Masked(_oxmid, decoder)
+ case 96892:
+ return DecodeOxmIdTunMetadata21(_oxmid, decoder)
+ case 92664:
+ return DecodeOxmIdTunMetadata12Masked(_oxmid, decoder)
+ case 205060:
+ return DecodeOxmIdBsnTcpFlagsMasked(_oxmid, decoder)
+ case 81412:
+ return DecodeOxmIdTunnelIpv4Src(_oxmid, decoder)
+ case 99964:
+ return DecodeOxmIdTunMetadata27(_oxmid, decoder)
+ case 71684:
+ return DecodeOxmIdReg12(_oxmid, decoder)
+ case 127240:
+ return DecodeOxmIdConnTrackingNwSrcMasked(_oxmid, decoder)
+ case 97916:
+ return DecodeOxmIdTunMetadata23(_oxmid, decoder)
+ case 93688:
+ return DecodeOxmIdTunMetadata14Masked(_oxmid, decoder)
+ case 82436:
+ return DecodeOxmIdPktMark(_oxmid, decoder)
+ case 85505:
+ return DecodeOxmIdTunGbpFlags(_oxmid, decoder)
+ case 98940:
+ return DecodeOxmIdTunMetadata25(_oxmid, decoder)
+ case 94712:
+ return DecodeOxmIdTunMetadata16Masked(_oxmid, decoder)
+ case 83460:
+ return DecodeOxmIdDpHash(_oxmid, decoder)
+ case 2147503618:
+ return DecodeOxmIdIpv6Exthdr(_oxmid, decoder)
+ case 123168:
+ return DecodeOxmIdXxreg1Masked(_oxmid, decoder)
+ case 118786:
+ return DecodeOxmIdTunFlags(_oxmid, decoder)
+ case 95736:
+ return DecodeOxmIdTunMetadata18Masked(_oxmid, decoder)
+ case 2308:
+ return DecodeOxmIdVlanTciMasked(_oxmid, decoder)
+ case 2147488002:
+ return DecodeOxmIdIpDscpMasked(_oxmid, decoder)
+ case 100988:
+ return DecodeOxmIdTunMetadata29(_oxmid, decoder)
+ case 119810:
+ return DecodeOxmIdConnTrackingZone(_oxmid, decoder)
+ case 96760:
+ return DecodeOxmIdTunMetadata20Masked(_oxmid, decoder)
+ case 2147486980:
+ return DecodeOxmIdVlanVidMasked(_oxmid, decoder)
+ case 116348:
+ return DecodeOxmIdTunMetadata59(_oxmid, decoder)
+ case 5378:
+ return DecodeOxmIdTcpDstMasked(_oxmid, decoder)
+ case 71944:
+ return DecodeOxmIdReg12Masked(_oxmid, decoder)
+ case 2147483912:
+ return DecodeOxmIdInPortMasked(_oxmid, decoder)
+ case 75552:
+ return DecodeOxmIdIpv6SrcMasked(_oxmid, decoder)
+ case 102012:
+ return DecodeOxmIdTunMetadata31(_oxmid, decoder)
+ case 198402:
+ return DecodeOxmIdBsnGlobalVrfAllowedMasked(_oxmid, decoder)
+ case 5892:
+ return DecodeOxmIdUdpSrcMasked(_oxmid, decoder)
+ case 97784:
+ return DecodeOxmIdTunMetadata22Masked(_oxmid, decoder)
+ case 66052:
+ return DecodeOxmIdReg1(_oxmid, decoder)
+ case 67336:
+ return DecodeOxmIdReg3Masked(_oxmid, decoder)
+ case 208652:
+ return DecodeOxmIdBsnInnerEthSrcMasked(_oxmid, decoder)
+ case 75280:
+ return DecodeOxmIdIpv6Src(_oxmid, decoder)
+ case 197896:
+ return DecodeOxmIdBsnVrfMasked(_oxmid, decoder)
+ case 122656:
+ return DecodeOxmIdXxreg0Masked(_oxmid, decoder)
+ case 103036:
+ return DecodeOxmIdTunMetadata33(_oxmid, decoder)
+ case 98808:
+ return DecodeOxmIdTunMetadata24Masked(_oxmid, decoder)
+ case 67848:
+ return DecodeOxmIdReg4Masked(_oxmid, decoder)
+ case 77600:
+ return DecodeOxmIdNdTargetMasked(_oxmid, decoder)
+ case 104060:
+ return DecodeOxmIdTunMetadata35(_oxmid, decoder)
+ case 99832:
+ return DecodeOxmIdTunMetadata26Masked(_oxmid, decoder)
+ case 6404:
+ return DecodeOxmIdUdpDstMasked(_oxmid, decoder)
+ case 77328:
+ return DecodeOxmIdNdTarget(_oxmid, decoder)
+ case 68872:
+ return DecodeOxmIdReg6Masked(_oxmid, decoder)
+ case 105084:
+ return DecodeOxmIdTunMetadata37(_oxmid, decoder)
+ case 100856:
+ return DecodeOxmIdTunMetadata28Masked(_oxmid, decoder)
+ case 206082:
+ return DecodeOxmIdBsnL2CacheHitMasked(_oxmid, decoder)
+ case 203016:
+ return DecodeOxmIdBsnUdf4Masked(_oxmid, decoder)
+ case 69896:
+ return DecodeOxmIdReg8Masked(_oxmid, decoder)
+ case 206720:
+ return DecodeOxmIdBsnInPorts512Masked(_oxmid, decoder)
+ case 106108:
+ return DecodeOxmIdTunMetadata39(_oxmid, decoder)
+ case 101880:
+ return DecodeOxmIdTunMetadata30Masked(_oxmid, decoder)
+ case 8452:
+ return DecodeOxmIdArpSpaMasked(_oxmid, decoder)
+ case 66312:
+ return DecodeOxmIdReg1Masked(_oxmid, decoder)
+ case 201992:
+ return DecodeOxmIdBsnUdf2Masked(_oxmid, decoder)
+ case 107132:
+ return DecodeOxmIdTunMetadata41(_oxmid, decoder)
+ case 102904:
+ return DecodeOxmIdTunMetadata32Masked(_oxmid, decoder)
+ case 2147493124:
+ return DecodeOxmIdSctpDstMasked(_oxmid, decoder)
+ case 67076:
+ return DecodeOxmIdReg3(_oxmid, decoder)
+ case 119300:
+ return DecodeOxmIdConnTrackingState(_oxmid, decoder)
+ case 2147490056:
+ return DecodeOxmIdIpv4DstMasked(_oxmid, decoder)
+ case 2147499808:
+ return DecodeOxmIdIpv6NdTargetMasked(_oxmid, decoder)
+ case 108156:
+ return DecodeOxmIdTunMetadata43(_oxmid, decoder)
+ case 103928:
+ return DecodeOxmIdTunMetadata34Masked(_oxmid, decoder)
+ case 106488:
+ return DecodeOxmIdTunMetadata39Masked(_oxmid, decoder)
+ case 201732:
+ return DecodeOxmIdBsnUdf2(_oxmid, decoder)
+ case 2147499536:
+ return DecodeOxmIdIpv6NdTarget(_oxmid, decoder)
+ case 72968:
+ return DecodeOxmIdReg14Masked(_oxmid, decoder)
+ case 109180:
+ return DecodeOxmIdTunMetadata45(_oxmid, decoder)
+ case 104952:
+ return DecodeOxmIdTunMetadata36Masked(_oxmid, decoder)
+ case 93820:
+ return DecodeOxmIdTunMetadata15(_oxmid, decoder)
+ case 79106:
+ return DecodeOxmIdIpFragMasked(_oxmid, decoder)
+ case 108536:
+ return DecodeOxmIdTunMetadata43Masked(_oxmid, decoder)
+ case 126980:
+ return DecodeOxmIdConnTrackingNwSrc(_oxmid, decoder)
+ default:
+ return _oxmid, nil
+ }
+}
+
+func NewOxmId(_type_len uint32) *OxmId {
+ obj := &OxmId{}
+ obj.TypeLen = _type_len
+ return obj
+}
+func (self *OxmId) GetOXMName() string {
+ return ""
+}
+
+func (self *OxmId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type ActionNxBundleLoadSlave struct {
+ Port Port
+}
+
+type IActionNxBundleLoadSlave interface {
+ goloxi.Serializable
+ GetPort() Port
+}
+
+func (self *ActionNxBundleLoadSlave) GetPort() Port {
+ return self.Port
+}
+
+func (self *ActionNxBundleLoadSlave) SetPort(v Port) {
+ self.Port = v
+}
+
+func (self *ActionNxBundleLoadSlave) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint32(uint32(self.Port))
+
+ return nil
+}
+
+func DecodeActionNxBundleLoadSlave(decoder *goloxi.Decoder) (*ActionNxBundleLoadSlave, error) {
+ _actionnxbundleloadslave := &ActionNxBundleLoadSlave{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionNxBundleLoadSlave packet too short: %d < 4", decoder.Length())
+ }
+ _actionnxbundleloadslave.Port = Port(decoder.ReadUint32())
+ return _actionnxbundleloadslave, nil
+}
+
+func NewActionNxBundleLoadSlave() *ActionNxBundleLoadSlave {
+ obj := &ActionNxBundleLoadSlave{}
+ return obj
+}
+
+type ActionNxController2Property struct {
+ Type NxActionController2PropType
+}
+
+type IActionNxController2Property interface {
+ goloxi.Serializable
+ GetType() NxActionController2PropType
+}
+
+func (self *ActionNxController2Property) GetType() NxActionController2PropType {
+ return self.Type
+}
+
+func (self *ActionNxController2Property) SetType(v NxActionController2PropType) {
+ self.Type = v
+}
+
+func (self *ActionNxController2Property) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+
+ return nil
+}
+
+func DecodeActionNxController2Property(decoder *goloxi.Decoder) (IActionNxController2Property, error) {
+ _actionnxcontroller2property := &ActionNxController2Property{}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("ActionNxController2Property packet too short: %d < 2", decoder.Length())
+ }
+ _actionnxcontroller2property.Type = NxActionController2PropType(decoder.ReadUint16())
+
+ switch _actionnxcontroller2property.Type {
+ case 0:
+ return DecodeActionNxController2PropertyMaxLen(_actionnxcontroller2property, decoder)
+ case 1:
+ return DecodeActionNxController2PropertyControllerId(_actionnxcontroller2property, decoder)
+ case 2:
+ return DecodeActionNxController2PropertyReason(_actionnxcontroller2property, decoder)
+ case 3:
+ return DecodeActionNxController2PropertyUserdata(_actionnxcontroller2property, decoder)
+ case 4:
+ return DecodeActionNxController2PropertyPause(_actionnxcontroller2property, decoder)
+ case 5:
+ return DecodeActionNxController2PropertyMeterId(_actionnxcontroller2property, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'ActionNxController2Property'", _actionnxcontroller2property.Type)
+ }
+}
+
+func NewActionNxController2Property(_type NxActionController2PropType) *ActionNxController2Property {
+ obj := &ActionNxController2Property{}
+ obj.Type = _type
+ return obj
+}
+
+type ActionNxController2PropertyControllerId struct {
+ *ActionNxController2Property
+ ControllerId uint16
+}
+
+type IActionNxController2PropertyControllerId interface {
+ IActionNxController2Property
+ GetControllerId() uint16
+}
+
+func (self *ActionNxController2PropertyControllerId) GetControllerId() uint16 {
+ return self.ControllerId
+}
+
+func (self *ActionNxController2PropertyControllerId) SetControllerId(v uint16) {
+ self.ControllerId = v
+}
+
+func (self *ActionNxController2PropertyControllerId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionNxController2Property.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.ControllerId))
+
+ encoder.SkipAlign()
+
+ return nil
+}
+
+func DecodeActionNxController2PropertyControllerId(parent *ActionNxController2Property, decoder *goloxi.Decoder) (*ActionNxController2PropertyControllerId, error) {
+ _actionnxcontroller2propertycontrollerid := &ActionNxController2PropertyControllerId{ActionNxController2Property: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("ActionNxController2PropertyControllerId packet too short: %d < 2", decoder.Length())
+ }
+ defer decoder.SkipAlign()
+
+ _actionnxcontroller2propertycontrollerid.ControllerId = uint16(decoder.ReadUint16())
+ return _actionnxcontroller2propertycontrollerid, nil
+}
+
+func NewActionNxController2PropertyControllerId() *ActionNxController2PropertyControllerId {
+ obj := &ActionNxController2PropertyControllerId{
+ ActionNxController2Property: NewActionNxController2Property(1),
+ }
+ return obj
+}
+
+type ActionNxController2PropertyMaxLen struct {
+ *ActionNxController2Property
+ MaxLen uint16
+}
+
+type IActionNxController2PropertyMaxLen interface {
+ IActionNxController2Property
+ GetMaxLen() uint16
+}
+
+func (self *ActionNxController2PropertyMaxLen) GetMaxLen() uint16 {
+ return self.MaxLen
+}
+
+func (self *ActionNxController2PropertyMaxLen) SetMaxLen(v uint16) {
+ self.MaxLen = v
+}
+
+func (self *ActionNxController2PropertyMaxLen) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionNxController2Property.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.MaxLen))
+
+ encoder.SkipAlign()
+
+ return nil
+}
+
+func DecodeActionNxController2PropertyMaxLen(parent *ActionNxController2Property, decoder *goloxi.Decoder) (*ActionNxController2PropertyMaxLen, error) {
+ _actionnxcontroller2propertymaxlen := &ActionNxController2PropertyMaxLen{ActionNxController2Property: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("ActionNxController2PropertyMaxLen packet too short: %d < 2", decoder.Length())
+ }
+ defer decoder.SkipAlign()
+
+ _actionnxcontroller2propertymaxlen.MaxLen = uint16(decoder.ReadUint16())
+ return _actionnxcontroller2propertymaxlen, nil
+}
+
+func NewActionNxController2PropertyMaxLen() *ActionNxController2PropertyMaxLen {
+ obj := &ActionNxController2PropertyMaxLen{
+ ActionNxController2Property: NewActionNxController2Property(0),
+ }
+ return obj
+}
+
+type ActionNxController2PropertyMeterId struct {
+ *ActionNxController2Property
+ MeterId uint32
+}
+
+type IActionNxController2PropertyMeterId interface {
+ IActionNxController2Property
+ GetMeterId() uint32
+}
+
+func (self *ActionNxController2PropertyMeterId) GetMeterId() uint32 {
+ return self.MeterId
+}
+
+func (self *ActionNxController2PropertyMeterId) SetMeterId(v uint32) {
+ self.MeterId = v
+}
+
+func (self *ActionNxController2PropertyMeterId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionNxController2Property.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.MeterId))
+
+ encoder.SkipAlign()
+
+ return nil
+}
+
+func DecodeActionNxController2PropertyMeterId(parent *ActionNxController2Property, decoder *goloxi.Decoder) (*ActionNxController2PropertyMeterId, error) {
+ _actionnxcontroller2propertymeterid := &ActionNxController2PropertyMeterId{ActionNxController2Property: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("ActionNxController2PropertyMeterId packet too short: %d < 4", decoder.Length())
+ }
+ defer decoder.SkipAlign()
+
+ _actionnxcontroller2propertymeterid.MeterId = uint32(decoder.ReadUint32())
+ return _actionnxcontroller2propertymeterid, nil
+}
+
+func NewActionNxController2PropertyMeterId() *ActionNxController2PropertyMeterId {
+ obj := &ActionNxController2PropertyMeterId{
+ ActionNxController2Property: NewActionNxController2Property(5),
+ }
+ return obj
+}
+
+type ActionNxController2PropertyPause struct {
+ *ActionNxController2Property
+}
+
+type IActionNxController2PropertyPause interface {
+ IActionNxController2Property
+}
+
+func (self *ActionNxController2PropertyPause) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionNxController2Property.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.SkipAlign()
+
+ return nil
+}
+
+func DecodeActionNxController2PropertyPause(parent *ActionNxController2Property, decoder *goloxi.Decoder) (*ActionNxController2PropertyPause, error) {
+ _actionnxcontroller2propertypause := &ActionNxController2PropertyPause{ActionNxController2Property: parent}
+ defer decoder.SkipAlign()
+
+ return _actionnxcontroller2propertypause, nil
+}
+
+func NewActionNxController2PropertyPause() *ActionNxController2PropertyPause {
+ obj := &ActionNxController2PropertyPause{
+ ActionNxController2Property: NewActionNxController2Property(4),
+ }
+ return obj
+}
+
+type ActionNxController2PropertyReason struct {
+ *ActionNxController2Property
+ Reason PacketInReason
+}
+
+type IActionNxController2PropertyReason interface {
+ IActionNxController2Property
+ GetReason() PacketInReason
+}
+
+func (self *ActionNxController2PropertyReason) GetReason() PacketInReason {
+ return self.Reason
+}
+
+func (self *ActionNxController2PropertyReason) SetReason(v PacketInReason) {
+ self.Reason = v
+}
+
+func (self *ActionNxController2PropertyReason) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionNxController2Property.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Reason))
+
+ encoder.SkipAlign()
+
+ return nil
+}
+
+func DecodeActionNxController2PropertyReason(parent *ActionNxController2Property, decoder *goloxi.Decoder) (*ActionNxController2PropertyReason, error) {
+ _actionnxcontroller2propertyreason := &ActionNxController2PropertyReason{ActionNxController2Property: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("ActionNxController2PropertyReason packet too short: %d < 1", decoder.Length())
+ }
+ defer decoder.SkipAlign()
+
+ _actionnxcontroller2propertyreason.Reason = PacketInReason(decoder.ReadByte())
+ return _actionnxcontroller2propertyreason, nil
+}
+
+func NewActionNxController2PropertyReason() *ActionNxController2PropertyReason {
+ obj := &ActionNxController2PropertyReason{
+ ActionNxController2Property: NewActionNxController2Property(2),
+ }
+ return obj
+}
+
+type ActionNxController2PropertyUserdata struct {
+ *ActionNxController2Property
+ Length uint16
+ Userdata []byte
+}
+
+type IActionNxController2PropertyUserdata interface {
+ IActionNxController2Property
+ GetLength() uint16
+ GetUserdata() []byte
+}
+
+func (self *ActionNxController2PropertyUserdata) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *ActionNxController2PropertyUserdata) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *ActionNxController2PropertyUserdata) GetUserdata() []byte {
+ return self.Userdata
+}
+
+func (self *ActionNxController2PropertyUserdata) SetUserdata(v []byte) {
+ self.Userdata = v
+}
+
+func (self *ActionNxController2PropertyUserdata) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ActionNxController2Property.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.Write(self.Userdata)
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeActionNxController2PropertyUserdata(parent *ActionNxController2Property, decoder *goloxi.Decoder) (*ActionNxController2PropertyUserdata, error) {
+ _actionnxcontroller2propertyuserdata := &ActionNxController2PropertyUserdata{ActionNxController2Property: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("ActionNxController2PropertyUserdata packet too short: %d < 2", decoder.Length())
+ }
+ defer decoder.SkipAlign()
+
+ _actionnxcontroller2propertyuserdata.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(((_actionnxcontroller2propertyuserdata.Length)+7)/8*8), 2+2)
+ _actionnxcontroller2propertyuserdata.Userdata = decoder.Read(int(decoder.Length()))
+ return _actionnxcontroller2propertyuserdata, nil
+}
+
+func NewActionNxController2PropertyUserdata() *ActionNxController2PropertyUserdata {
+ obj := &ActionNxController2PropertyUserdata{
+ ActionNxController2Property: NewActionNxController2Property(3),
+ }
+ return obj
+}
+
+type BsnControllerConnection struct {
+ State BsnControllerConnectionState
+ AuxiliaryId uint8
+ Role ControllerRole
+ Uri string
+}
+
+type IBsnControllerConnection interface {
+ goloxi.Serializable
+ GetState() BsnControllerConnectionState
+ GetAuxiliaryId() uint8
+ GetRole() ControllerRole
+ GetUri() string
+}
+
+func (self *BsnControllerConnection) GetState() BsnControllerConnectionState {
+ return self.State
+}
+
+func (self *BsnControllerConnection) SetState(v BsnControllerConnectionState) {
+ self.State = v
+}
+
+func (self *BsnControllerConnection) GetAuxiliaryId() uint8 {
+ return self.AuxiliaryId
+}
+
+func (self *BsnControllerConnection) SetAuxiliaryId(v uint8) {
+ self.AuxiliaryId = v
+}
+
+func (self *BsnControllerConnection) GetRole() ControllerRole {
+ return self.Role
+}
+
+func (self *BsnControllerConnection) SetRole(v ControllerRole) {
+ self.Role = v
+}
+
+func (self *BsnControllerConnection) GetUri() string {
+ return self.Uri
+}
+
+func (self *BsnControllerConnection) SetUri(v string) {
+ self.Uri = v
+}
+
+func (self *BsnControllerConnection) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint8(uint8(self.State))
+ encoder.PutUint8(uint8(self.AuxiliaryId))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.Role))
+ encoder.Write([]byte(self.Uri))
+
+ return nil
+}
+
+func DecodeBsnControllerConnection(decoder *goloxi.Decoder) (*BsnControllerConnection, error) {
+ _bsncontrollerconnection := &BsnControllerConnection{}
+ if decoder.Length() < 264 {
+ return nil, fmt.Errorf("BsnControllerConnection packet too short: %d < 264", decoder.Length())
+ }
+ _bsncontrollerconnection.State = BsnControllerConnectionState(decoder.ReadByte())
+ _bsncontrollerconnection.AuxiliaryId = uint8(decoder.ReadByte())
+ decoder.Skip(2)
+ _bsncontrollerconnection.Role = ControllerRole(decoder.ReadUint32())
+ _bsncontrollerconnection.Uri = string(bytes.Trim(decoder.Read(256), "\x00"))
+ return _bsncontrollerconnection, nil
+}
+
+func NewBsnControllerConnection() *BsnControllerConnection {
+ obj := &BsnControllerConnection{}
+ return obj
+}
+
+type BsnDebugCounterDescStatsEntry struct {
+ CounterId uint64
+ Name string
+ Description string
+}
+
+type IBsnDebugCounterDescStatsEntry interface {
+ goloxi.Serializable
+ GetCounterId() uint64
+ GetName() string
+ GetDescription() string
+}
+
+func (self *BsnDebugCounterDescStatsEntry) GetCounterId() uint64 {
+ return self.CounterId
+}
+
+func (self *BsnDebugCounterDescStatsEntry) SetCounterId(v uint64) {
+ self.CounterId = v
+}
+
+func (self *BsnDebugCounterDescStatsEntry) GetName() string {
+ return self.Name
+}
+
+func (self *BsnDebugCounterDescStatsEntry) SetName(v string) {
+ self.Name = v
+}
+
+func (self *BsnDebugCounterDescStatsEntry) GetDescription() string {
+ return self.Description
+}
+
+func (self *BsnDebugCounterDescStatsEntry) SetDescription(v string) {
+ self.Description = v
+}
+
+func (self *BsnDebugCounterDescStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint64(uint64(self.CounterId))
+ encoder.Write([]byte(self.Name))
+ encoder.Write([]byte(self.Description))
+
+ return nil
+}
+
+func DecodeBsnDebugCounterDescStatsEntry(decoder *goloxi.Decoder) (*BsnDebugCounterDescStatsEntry, error) {
+ _bsndebugcounterdescstatsentry := &BsnDebugCounterDescStatsEntry{}
+ if decoder.Length() < 328 {
+ return nil, fmt.Errorf("BsnDebugCounterDescStatsEntry packet too short: %d < 328", decoder.Length())
+ }
+ _bsndebugcounterdescstatsentry.CounterId = uint64(decoder.ReadUint64())
+ _bsndebugcounterdescstatsentry.Name = string(bytes.Trim(decoder.Read(64), "\x00"))
+ _bsndebugcounterdescstatsentry.Description = string(bytes.Trim(decoder.Read(256), "\x00"))
+ return _bsndebugcounterdescstatsentry, nil
+}
+
+func NewBsnDebugCounterDescStatsEntry() *BsnDebugCounterDescStatsEntry {
+ obj := &BsnDebugCounterDescStatsEntry{}
+ return obj
+}
+
+type BsnDebugCounterStatsEntry struct {
+ CounterId uint64
+ Value uint64
+}
+
+type IBsnDebugCounterStatsEntry interface {
+ goloxi.Serializable
+ GetCounterId() uint64
+ GetValue() uint64
+}
+
+func (self *BsnDebugCounterStatsEntry) GetCounterId() uint64 {
+ return self.CounterId
+}
+
+func (self *BsnDebugCounterStatsEntry) SetCounterId(v uint64) {
+ self.CounterId = v
+}
+
+func (self *BsnDebugCounterStatsEntry) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnDebugCounterStatsEntry) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnDebugCounterStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint64(uint64(self.CounterId))
+ encoder.PutUint64(uint64(self.Value))
+
+ return nil
+}
+
+func DecodeBsnDebugCounterStatsEntry(decoder *goloxi.Decoder) (*BsnDebugCounterStatsEntry, error) {
+ _bsndebugcounterstatsentry := &BsnDebugCounterStatsEntry{}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("BsnDebugCounterStatsEntry packet too short: %d < 16", decoder.Length())
+ }
+ _bsndebugcounterstatsentry.CounterId = uint64(decoder.ReadUint64())
+ _bsndebugcounterstatsentry.Value = uint64(decoder.ReadUint64())
+ return _bsndebugcounterstatsentry, nil
+}
+
+func NewBsnDebugCounterStatsEntry() *BsnDebugCounterStatsEntry {
+ obj := &BsnDebugCounterStatsEntry{}
+ return obj
+}
+
+type BsnFlowChecksumBucketStatsEntry struct {
+ Checksum uint64
+}
+
+type IBsnFlowChecksumBucketStatsEntry interface {
+ goloxi.Serializable
+ GetChecksum() uint64
+}
+
+func (self *BsnFlowChecksumBucketStatsEntry) GetChecksum() uint64 {
+ return self.Checksum
+}
+
+func (self *BsnFlowChecksumBucketStatsEntry) SetChecksum(v uint64) {
+ self.Checksum = v
+}
+
+func (self *BsnFlowChecksumBucketStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint64(uint64(self.Checksum))
+
+ return nil
+}
+
+func DecodeBsnFlowChecksumBucketStatsEntry(decoder *goloxi.Decoder) (*BsnFlowChecksumBucketStatsEntry, error) {
+ _bsnflowchecksumbucketstatsentry := &BsnFlowChecksumBucketStatsEntry{}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnFlowChecksumBucketStatsEntry packet too short: %d < 8", decoder.Length())
+ }
+ _bsnflowchecksumbucketstatsentry.Checksum = uint64(decoder.ReadUint64())
+ return _bsnflowchecksumbucketstatsentry, nil
+}
+
+func NewBsnFlowChecksumBucketStatsEntry() *BsnFlowChecksumBucketStatsEntry {
+ obj := &BsnFlowChecksumBucketStatsEntry{}
+ return obj
+}
+
+type BsnGenericStatsEntry struct {
+ Length uint16
+ Tlvs []IBsnTlv
+}
+
+type IBsnGenericStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetTlvs() []IBsnTlv
+}
+
+func (self *BsnGenericStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *BsnGenericStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *BsnGenericStatsEntry) GetTlvs() []IBsnTlv {
+ return self.Tlvs
+}
+
+func (self *BsnGenericStatsEntry) SetTlvs(v []IBsnTlv) {
+ self.Tlvs = v
+}
+
+func (self *BsnGenericStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ for _, obj := range self.Tlvs {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGenericStatsEntry(decoder *goloxi.Decoder) (*BsnGenericStatsEntry, error) {
+ _bsngenericstatsentry := &BsnGenericStatsEntry{}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnGenericStatsEntry packet too short: %d < 2", decoder.Length())
+ }
+ _bsngenericstatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_bsngenericstatsentry.Length), 2+0)
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngenericstatsentry.Tlvs = append(_bsngenericstatsentry.Tlvs, item)
+ }
+ }
+ return _bsngenericstatsentry, nil
+}
+
+func NewBsnGenericStatsEntry() *BsnGenericStatsEntry {
+ obj := &BsnGenericStatsEntry{}
+ return obj
+}
+
+type BsnGentableBucketStatsEntry struct {
+ Checksum Checksum128
+}
+
+type IBsnGentableBucketStatsEntry interface {
+ goloxi.Serializable
+ GetChecksum() Checksum128
+}
+
+func (self *BsnGentableBucketStatsEntry) GetChecksum() Checksum128 {
+ return self.Checksum
+}
+
+func (self *BsnGentableBucketStatsEntry) SetChecksum(v Checksum128) {
+ self.Checksum = v
+}
+
+func (self *BsnGentableBucketStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ self.Checksum.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeBsnGentableBucketStatsEntry(decoder *goloxi.Decoder) (*BsnGentableBucketStatsEntry, error) {
+ _bsngentablebucketstatsentry := &BsnGentableBucketStatsEntry{}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("BsnGentableBucketStatsEntry packet too short: %d < 16", decoder.Length())
+ }
+ _bsngentablebucketstatsentry.Checksum.Decode(decoder)
+ return _bsngentablebucketstatsentry, nil
+}
+
+func NewBsnGentableBucketStatsEntry() *BsnGentableBucketStatsEntry {
+ obj := &BsnGentableBucketStatsEntry{}
+ return obj
+}
+
+type BsnGentableDescStatsEntry struct {
+ Length uint16
+ TableId uint16
+ Name string
+ BucketsSize uint32
+ MaxEntries uint32
+}
+
+type IBsnGentableDescStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetTableId() uint16
+ GetName() string
+ GetBucketsSize() uint32
+ GetMaxEntries() uint32
+}
+
+func (self *BsnGentableDescStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *BsnGentableDescStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *BsnGentableDescStatsEntry) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableDescStatsEntry) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableDescStatsEntry) GetName() string {
+ return self.Name
+}
+
+func (self *BsnGentableDescStatsEntry) SetName(v string) {
+ self.Name = v
+}
+
+func (self *BsnGentableDescStatsEntry) GetBucketsSize() uint32 {
+ return self.BucketsSize
+}
+
+func (self *BsnGentableDescStatsEntry) SetBucketsSize(v uint32) {
+ self.BucketsSize = v
+}
+
+func (self *BsnGentableDescStatsEntry) GetMaxEntries() uint32 {
+ return self.MaxEntries
+}
+
+func (self *BsnGentableDescStatsEntry) SetMaxEntries(v uint32) {
+ self.MaxEntries = v
+}
+
+func (self *BsnGentableDescStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint16(uint16(self.TableId))
+ encoder.Write([]byte(self.Name))
+ encoder.PutUint32(uint32(self.BucketsSize))
+ encoder.PutUint32(uint32(self.MaxEntries))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableDescStatsEntry(decoder *goloxi.Decoder) (*BsnGentableDescStatsEntry, error) {
+ _bsngentabledescstatsentry := &BsnGentableDescStatsEntry{}
+ if decoder.Length() < 48 {
+ return nil, fmt.Errorf("BsnGentableDescStatsEntry packet too short: %d < 48", decoder.Length())
+ }
+ _bsngentabledescstatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_bsngentabledescstatsentry.Length), 2+0)
+ _bsngentabledescstatsentry.TableId = uint16(decoder.ReadUint16())
+ _bsngentabledescstatsentry.Name = string(bytes.Trim(decoder.Read(32), "\x00"))
+ _bsngentabledescstatsentry.BucketsSize = uint32(decoder.ReadUint32())
+ _bsngentabledescstatsentry.MaxEntries = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ return _bsngentabledescstatsentry, nil
+}
+
+func NewBsnGentableDescStatsEntry() *BsnGentableDescStatsEntry {
+ obj := &BsnGentableDescStatsEntry{}
+ return obj
+}
+
+type BsnGentableEntryDescStatsEntry struct {
+ Length uint16
+ KeyLength uint16
+ Checksum Checksum128
+ Key []IBsnTlv
+ Value []IBsnTlv
+}
+
+type IBsnGentableEntryDescStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetKeyLength() uint16
+ GetChecksum() Checksum128
+ GetKey() []IBsnTlv
+ GetValue() []IBsnTlv
+}
+
+func (self *BsnGentableEntryDescStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *BsnGentableEntryDescStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *BsnGentableEntryDescStatsEntry) GetKeyLength() uint16 {
+ return self.KeyLength
+}
+
+func (self *BsnGentableEntryDescStatsEntry) SetKeyLength(v uint16) {
+ self.KeyLength = v
+}
+
+func (self *BsnGentableEntryDescStatsEntry) GetChecksum() Checksum128 {
+ return self.Checksum
+}
+
+func (self *BsnGentableEntryDescStatsEntry) SetChecksum(v Checksum128) {
+ self.Checksum = v
+}
+
+func (self *BsnGentableEntryDescStatsEntry) GetKey() []IBsnTlv {
+ return self.Key
+}
+
+func (self *BsnGentableEntryDescStatsEntry) SetKey(v []IBsnTlv) {
+ self.Key = v
+}
+
+func (self *BsnGentableEntryDescStatsEntry) GetValue() []IBsnTlv {
+ return self.Value
+}
+
+func (self *BsnGentableEntryDescStatsEntry) SetValue(v []IBsnTlv) {
+ self.Value = v
+}
+
+func (self *BsnGentableEntryDescStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint16(uint16(self.KeyLength))
+ self.Checksum.Serialize(encoder)
+ for _, obj := range self.Key {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+ for _, obj := range self.Value {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableEntryDescStatsEntry(decoder *goloxi.Decoder) (*BsnGentableEntryDescStatsEntry, error) {
+ _bsngentableentrydescstatsentry := &BsnGentableEntryDescStatsEntry{}
+ if decoder.Length() < 20 {
+ return nil, fmt.Errorf("BsnGentableEntryDescStatsEntry packet too short: %d < 20", decoder.Length())
+ }
+ _bsngentableentrydescstatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_bsngentableentrydescstatsentry.Length), 2+0)
+ _bsngentableentrydescstatsentry.KeyLength = uint16(decoder.ReadUint16())
+ _bsngentableentrydescstatsentry.Checksum.Decode(decoder)
+
+ for i := 0; i < int(_bsngentableentrydescstatsentry.KeyLength); i++ {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentableentrydescstatsentry.Key = append(_bsngentableentrydescstatsentry.Key, item)
+ }
+ }
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentableentrydescstatsentry.Value = append(_bsngentableentrydescstatsentry.Value, item)
+ }
+ }
+ return _bsngentableentrydescstatsentry, nil
+}
+
+func NewBsnGentableEntryDescStatsEntry() *BsnGentableEntryDescStatsEntry {
+ obj := &BsnGentableEntryDescStatsEntry{}
+ return obj
+}
+
+type BsnGentableEntryStatsEntry struct {
+ Length uint16
+ KeyLength uint16
+ Key []IBsnTlv
+ Stats []IBsnTlv
+}
+
+type IBsnGentableEntryStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetKeyLength() uint16
+ GetKey() []IBsnTlv
+ GetStats() []IBsnTlv
+}
+
+func (self *BsnGentableEntryStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *BsnGentableEntryStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *BsnGentableEntryStatsEntry) GetKeyLength() uint16 {
+ return self.KeyLength
+}
+
+func (self *BsnGentableEntryStatsEntry) SetKeyLength(v uint16) {
+ self.KeyLength = v
+}
+
+func (self *BsnGentableEntryStatsEntry) GetKey() []IBsnTlv {
+ return self.Key
+}
+
+func (self *BsnGentableEntryStatsEntry) SetKey(v []IBsnTlv) {
+ self.Key = v
+}
+
+func (self *BsnGentableEntryStatsEntry) GetStats() []IBsnTlv {
+ return self.Stats
+}
+
+func (self *BsnGentableEntryStatsEntry) SetStats(v []IBsnTlv) {
+ self.Stats = v
+}
+
+func (self *BsnGentableEntryStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint16(uint16(self.KeyLength))
+ for _, obj := range self.Key {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+ for _, obj := range self.Stats {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableEntryStatsEntry(decoder *goloxi.Decoder) (*BsnGentableEntryStatsEntry, error) {
+ _bsngentableentrystatsentry := &BsnGentableEntryStatsEntry{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnGentableEntryStatsEntry packet too short: %d < 4", decoder.Length())
+ }
+ _bsngentableentrystatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_bsngentableentrystatsentry.Length), 2+0)
+ _bsngentableentrystatsentry.KeyLength = uint16(decoder.ReadUint16())
+
+ for i := 0; i < int(_bsngentableentrystatsentry.KeyLength); i++ {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentableentrystatsentry.Key = append(_bsngentableentrystatsentry.Key, item)
+ }
+ }
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentableentrystatsentry.Stats = append(_bsngentableentrystatsentry.Stats, item)
+ }
+ }
+ return _bsngentableentrystatsentry, nil
+}
+
+func NewBsnGentableEntryStatsEntry() *BsnGentableEntryStatsEntry {
+ obj := &BsnGentableEntryStatsEntry{}
+ return obj
+}
+
+type BsnGentableStatsEntry struct {
+ TableId uint16
+ EntryCount uint32
+ Checksum Checksum128
+}
+
+type IBsnGentableStatsEntry interface {
+ goloxi.Serializable
+ GetTableId() uint16
+ GetEntryCount() uint32
+ GetChecksum() Checksum128
+}
+
+func (self *BsnGentableStatsEntry) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableStatsEntry) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableStatsEntry) GetEntryCount() uint32 {
+ return self.EntryCount
+}
+
+func (self *BsnGentableStatsEntry) SetEntryCount(v uint32) {
+ self.EntryCount = v
+}
+
+func (self *BsnGentableStatsEntry) GetChecksum() Checksum128 {
+ return self.Checksum
+}
+
+func (self *BsnGentableStatsEntry) SetChecksum(v Checksum128) {
+ self.Checksum = v
+}
+
+func (self *BsnGentableStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.EntryCount))
+ self.Checksum.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeBsnGentableStatsEntry(decoder *goloxi.Decoder) (*BsnGentableStatsEntry, error) {
+ _bsngentablestatsentry := &BsnGentableStatsEntry{}
+ if decoder.Length() < 24 {
+ return nil, fmt.Errorf("BsnGentableStatsEntry packet too short: %d < 24", decoder.Length())
+ }
+ _bsngentablestatsentry.TableId = uint16(decoder.ReadUint16())
+ decoder.Skip(2)
+ _bsngentablestatsentry.EntryCount = uint32(decoder.ReadUint32())
+ _bsngentablestatsentry.Checksum.Decode(decoder)
+ return _bsngentablestatsentry, nil
+}
+
+func NewBsnGentableStatsEntry() *BsnGentableStatsEntry {
+ obj := &BsnGentableStatsEntry{}
+ return obj
+}
+
+type BsnInterface struct {
+ HwAddr net.HardwareAddr
+ Name string
+ Ipv4Addr net.IP
+ Ipv4Netmask net.IP
+}
+
+type IBsnInterface interface {
+ goloxi.Serializable
+ GetHwAddr() net.HardwareAddr
+ GetName() string
+ GetIpv4Addr() net.IP
+ GetIpv4Netmask() net.IP
+}
+
+func (self *BsnInterface) GetHwAddr() net.HardwareAddr {
+ return self.HwAddr
+}
+
+func (self *BsnInterface) SetHwAddr(v net.HardwareAddr) {
+ self.HwAddr = v
+}
+
+func (self *BsnInterface) GetName() string {
+ return self.Name
+}
+
+func (self *BsnInterface) SetName(v string) {
+ self.Name = v
+}
+
+func (self *BsnInterface) GetIpv4Addr() net.IP {
+ return self.Ipv4Addr
+}
+
+func (self *BsnInterface) SetIpv4Addr(v net.IP) {
+ self.Ipv4Addr = v
+}
+
+func (self *BsnInterface) GetIpv4Netmask() net.IP {
+ return self.Ipv4Netmask
+}
+
+func (self *BsnInterface) SetIpv4Netmask(v net.IP) {
+ self.Ipv4Netmask = v
+}
+
+func (self *BsnInterface) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.Write(self.HwAddr)
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.Write([]byte(self.Name))
+ encoder.Write(self.Ipv4Addr.To4())
+ encoder.Write(self.Ipv4Netmask.To4())
+
+ return nil
+}
+
+func DecodeBsnInterface(decoder *goloxi.Decoder) (*BsnInterface, error) {
+ _bsninterface := &BsnInterface{}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("BsnInterface packet too short: %d < 32", decoder.Length())
+ }
+ _bsninterface.HwAddr = net.HardwareAddr(decoder.Read(6))
+ decoder.Skip(2)
+ _bsninterface.Name = string(bytes.Trim(decoder.Read(16), "\x00"))
+ _bsninterface.Ipv4Addr = net.IP(decoder.Read(4))
+ _bsninterface.Ipv4Netmask = net.IP(decoder.Read(4))
+ return _bsninterface, nil
+}
+
+func NewBsnInterface() *BsnInterface {
+ obj := &BsnInterface{}
+ return obj
+}
+
+type BsnLacpStatsEntry struct {
+ PortNo Port
+ ActorSysPriority uint16
+ ActorSysMac net.HardwareAddr
+ ActorPortPriority uint16
+ ActorPortNum uint16
+ ActorKey uint16
+ ConvergenceStatus uint8
+ PartnerSysPriority uint16
+ PartnerSysMac net.HardwareAddr
+ PartnerPortPriority uint16
+ PartnerPortNum uint16
+ PartnerKey uint16
+}
+
+type IBsnLacpStatsEntry interface {
+ goloxi.Serializable
+ GetPortNo() Port
+ GetActorSysPriority() uint16
+ GetActorSysMac() net.HardwareAddr
+ GetActorPortPriority() uint16
+ GetActorPortNum() uint16
+ GetActorKey() uint16
+ GetConvergenceStatus() uint8
+ GetPartnerSysPriority() uint16
+ GetPartnerSysMac() net.HardwareAddr
+ GetPartnerPortPriority() uint16
+ GetPartnerPortNum() uint16
+ GetPartnerKey() uint16
+}
+
+func (self *BsnLacpStatsEntry) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnLacpStatsEntry) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnLacpStatsEntry) GetActorSysPriority() uint16 {
+ return self.ActorSysPriority
+}
+
+func (self *BsnLacpStatsEntry) SetActorSysPriority(v uint16) {
+ self.ActorSysPriority = v
+}
+
+func (self *BsnLacpStatsEntry) GetActorSysMac() net.HardwareAddr {
+ return self.ActorSysMac
+}
+
+func (self *BsnLacpStatsEntry) SetActorSysMac(v net.HardwareAddr) {
+ self.ActorSysMac = v
+}
+
+func (self *BsnLacpStatsEntry) GetActorPortPriority() uint16 {
+ return self.ActorPortPriority
+}
+
+func (self *BsnLacpStatsEntry) SetActorPortPriority(v uint16) {
+ self.ActorPortPriority = v
+}
+
+func (self *BsnLacpStatsEntry) GetActorPortNum() uint16 {
+ return self.ActorPortNum
+}
+
+func (self *BsnLacpStatsEntry) SetActorPortNum(v uint16) {
+ self.ActorPortNum = v
+}
+
+func (self *BsnLacpStatsEntry) GetActorKey() uint16 {
+ return self.ActorKey
+}
+
+func (self *BsnLacpStatsEntry) SetActorKey(v uint16) {
+ self.ActorKey = v
+}
+
+func (self *BsnLacpStatsEntry) GetConvergenceStatus() uint8 {
+ return self.ConvergenceStatus
+}
+
+func (self *BsnLacpStatsEntry) SetConvergenceStatus(v uint8) {
+ self.ConvergenceStatus = v
+}
+
+func (self *BsnLacpStatsEntry) GetPartnerSysPriority() uint16 {
+ return self.PartnerSysPriority
+}
+
+func (self *BsnLacpStatsEntry) SetPartnerSysPriority(v uint16) {
+ self.PartnerSysPriority = v
+}
+
+func (self *BsnLacpStatsEntry) GetPartnerSysMac() net.HardwareAddr {
+ return self.PartnerSysMac
+}
+
+func (self *BsnLacpStatsEntry) SetPartnerSysMac(v net.HardwareAddr) {
+ self.PartnerSysMac = v
+}
+
+func (self *BsnLacpStatsEntry) GetPartnerPortPriority() uint16 {
+ return self.PartnerPortPriority
+}
+
+func (self *BsnLacpStatsEntry) SetPartnerPortPriority(v uint16) {
+ self.PartnerPortPriority = v
+}
+
+func (self *BsnLacpStatsEntry) GetPartnerPortNum() uint16 {
+ return self.PartnerPortNum
+}
+
+func (self *BsnLacpStatsEntry) SetPartnerPortNum(v uint16) {
+ self.PartnerPortNum = v
+}
+
+func (self *BsnLacpStatsEntry) GetPartnerKey() uint16 {
+ return self.PartnerKey
+}
+
+func (self *BsnLacpStatsEntry) SetPartnerKey(v uint16) {
+ self.PartnerKey = v
+}
+
+func (self *BsnLacpStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint16(uint16(self.ActorSysPriority))
+ encoder.Write(self.ActorSysMac)
+ encoder.PutUint16(uint16(self.ActorPortPriority))
+ encoder.PutUint16(uint16(self.ActorPortNum))
+ encoder.PutUint16(uint16(self.ActorKey))
+ encoder.PutUint8(uint8(self.ConvergenceStatus))
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint16(uint16(self.PartnerSysPriority))
+ encoder.Write(self.PartnerSysMac)
+ encoder.PutUint16(uint16(self.PartnerPortPriority))
+ encoder.PutUint16(uint16(self.PartnerPortNum))
+ encoder.PutUint16(uint16(self.PartnerKey))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+
+ return nil
+}
+
+func DecodeBsnLacpStatsEntry(decoder *goloxi.Decoder) (*BsnLacpStatsEntry, error) {
+ _bsnlacpstatsentry := &BsnLacpStatsEntry{}
+ if decoder.Length() < 36 {
+ return nil, fmt.Errorf("BsnLacpStatsEntry packet too short: %d < 36", decoder.Length())
+ }
+ _bsnlacpstatsentry.PortNo.Decode(decoder)
+ _bsnlacpstatsentry.ActorSysPriority = uint16(decoder.ReadUint16())
+ _bsnlacpstatsentry.ActorSysMac = net.HardwareAddr(decoder.Read(6))
+ _bsnlacpstatsentry.ActorPortPriority = uint16(decoder.ReadUint16())
+ _bsnlacpstatsentry.ActorPortNum = uint16(decoder.ReadUint16())
+ _bsnlacpstatsentry.ActorKey = uint16(decoder.ReadUint16())
+ _bsnlacpstatsentry.ConvergenceStatus = uint8(decoder.ReadByte())
+ decoder.Skip(1)
+ _bsnlacpstatsentry.PartnerSysPriority = uint16(decoder.ReadUint16())
+ _bsnlacpstatsentry.PartnerSysMac = net.HardwareAddr(decoder.Read(6))
+ _bsnlacpstatsentry.PartnerPortPriority = uint16(decoder.ReadUint16())
+ _bsnlacpstatsentry.PartnerPortNum = uint16(decoder.ReadUint16())
+ _bsnlacpstatsentry.PartnerKey = uint16(decoder.ReadUint16())
+ decoder.Skip(2)
+ return _bsnlacpstatsentry, nil
+}
+
+func NewBsnLacpStatsEntry() *BsnLacpStatsEntry {
+ obj := &BsnLacpStatsEntry{}
+ return obj
+}
+
+type BsnPortCounterStatsEntry struct {
+ Length uint16
+ PortNo Port
+ Values []*Uint64
+}
+
+type IBsnPortCounterStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetPortNo() Port
+ GetValues() []*Uint64
+}
+
+func (self *BsnPortCounterStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *BsnPortCounterStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *BsnPortCounterStatsEntry) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnPortCounterStatsEntry) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnPortCounterStatsEntry) GetValues() []*Uint64 {
+ return self.Values
+}
+
+func (self *BsnPortCounterStatsEntry) SetValues(v []*Uint64) {
+ self.Values = v
+}
+
+func (self *BsnPortCounterStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ self.PortNo.Serialize(encoder)
+ for _, obj := range self.Values {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnPortCounterStatsEntry(decoder *goloxi.Decoder) (*BsnPortCounterStatsEntry, error) {
+ _bsnportcounterstatsentry := &BsnPortCounterStatsEntry{}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnPortCounterStatsEntry packet too short: %d < 8", decoder.Length())
+ }
+ _bsnportcounterstatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_bsnportcounterstatsentry.Length), 2+0)
+ decoder.Skip(2)
+ _bsnportcounterstatsentry.PortNo.Decode(decoder)
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeUint64(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsnportcounterstatsentry.Values = append(_bsnportcounterstatsentry.Values, item)
+ }
+ }
+ return _bsnportcounterstatsentry, nil
+}
+
+func NewBsnPortCounterStatsEntry() *BsnPortCounterStatsEntry {
+ obj := &BsnPortCounterStatsEntry{}
+ return obj
+}
+
+type BsnSwitchPipelineStatsEntry struct {
+ Pipeline string
+}
+
+type IBsnSwitchPipelineStatsEntry interface {
+ goloxi.Serializable
+ GetPipeline() string
+}
+
+func (self *BsnSwitchPipelineStatsEntry) GetPipeline() string {
+ return self.Pipeline
+}
+
+func (self *BsnSwitchPipelineStatsEntry) SetPipeline(v string) {
+ self.Pipeline = v
+}
+
+func (self *BsnSwitchPipelineStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.Write([]byte(self.Pipeline))
+
+ return nil
+}
+
+func DecodeBsnSwitchPipelineStatsEntry(decoder *goloxi.Decoder) (*BsnSwitchPipelineStatsEntry, error) {
+ _bsnswitchpipelinestatsentry := &BsnSwitchPipelineStatsEntry{}
+ if decoder.Length() < 256 {
+ return nil, fmt.Errorf("BsnSwitchPipelineStatsEntry packet too short: %d < 256", decoder.Length())
+ }
+ _bsnswitchpipelinestatsentry.Pipeline = string(bytes.Trim(decoder.Read(256), "\x00"))
+ return _bsnswitchpipelinestatsentry, nil
+}
+
+func NewBsnSwitchPipelineStatsEntry() *BsnSwitchPipelineStatsEntry {
+ obj := &BsnSwitchPipelineStatsEntry{}
+ return obj
+}
+
+type BsnTableChecksumStatsEntry struct {
+ TableId uint8
+ Checksum uint64
+}
+
+type IBsnTableChecksumStatsEntry interface {
+ goloxi.Serializable
+ GetTableId() uint8
+ GetChecksum() uint64
+}
+
+func (self *BsnTableChecksumStatsEntry) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *BsnTableChecksumStatsEntry) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *BsnTableChecksumStatsEntry) GetChecksum() uint64 {
+ return self.Checksum
+}
+
+func (self *BsnTableChecksumStatsEntry) SetChecksum(v uint64) {
+ self.Checksum = v
+}
+
+func (self *BsnTableChecksumStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.PutUint64(uint64(self.Checksum))
+
+ return nil
+}
+
+func DecodeBsnTableChecksumStatsEntry(decoder *goloxi.Decoder) (*BsnTableChecksumStatsEntry, error) {
+ _bsntablechecksumstatsentry := &BsnTableChecksumStatsEntry{}
+ if decoder.Length() < 9 {
+ return nil, fmt.Errorf("BsnTableChecksumStatsEntry packet too short: %d < 9", decoder.Length())
+ }
+ _bsntablechecksumstatsentry.TableId = uint8(decoder.ReadByte())
+ _bsntablechecksumstatsentry.Checksum = uint64(decoder.ReadUint64())
+ return _bsntablechecksumstatsentry, nil
+}
+
+func NewBsnTableChecksumStatsEntry() *BsnTableChecksumStatsEntry {
+ obj := &BsnTableChecksumStatsEntry{}
+ return obj
+}
+
+type BsnTlv struct {
+ Type uint16
+ Length uint16
+}
+
+type IBsnTlv interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLength() uint16
+}
+
+func (self *BsnTlv) GetType() uint16 {
+ return self.Type
+}
+
+func (self *BsnTlv) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *BsnTlv) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *BsnTlv) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *BsnTlv) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Length))
+
+ return nil
+}
+
+func DecodeBsnTlv(decoder *goloxi.Decoder) (IBsnTlv, error) {
+ _bsntlv := &BsnTlv{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlv packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlv.Type = uint16(decoder.ReadUint16())
+ _bsntlv.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_bsntlv.Length), 2+2)
+
+ switch _bsntlv.Type {
+ case 0:
+ return DecodeBsnTlvPort(_bsntlv, decoder)
+ case 1:
+ return DecodeBsnTlvMac(_bsntlv, decoder)
+ case 2:
+ return DecodeBsnTlvRxPackets(_bsntlv, decoder)
+ case 3:
+ return DecodeBsnTlvTxPackets(_bsntlv, decoder)
+ case 4:
+ return DecodeBsnTlvIpv4(_bsntlv, decoder)
+ case 5:
+ return DecodeBsnTlvIdleTime(_bsntlv, decoder)
+ case 6:
+ return DecodeBsnTlvVlanVid(_bsntlv, decoder)
+ case 7:
+ return DecodeBsnTlvIdleNotification(_bsntlv, decoder)
+ case 8:
+ return DecodeBsnTlvIdleTimeout(_bsntlv, decoder)
+ case 9:
+ return DecodeBsnTlvUnicastQueryTimeout(_bsntlv, decoder)
+ case 10:
+ return DecodeBsnTlvBroadcastQueryTimeout(_bsntlv, decoder)
+ case 11:
+ return DecodeBsnTlvRequestPackets(_bsntlv, decoder)
+ case 12:
+ return DecodeBsnTlvReplyPackets(_bsntlv, decoder)
+ case 13:
+ return DecodeBsnTlvMissPackets(_bsntlv, decoder)
+ case 14:
+ return DecodeBsnTlvCircuitId(_bsntlv, decoder)
+ case 15:
+ return DecodeBsnTlvUdfId(_bsntlv, decoder)
+ case 16:
+ return DecodeBsnTlvUdfAnchor(_bsntlv, decoder)
+ case 17:
+ return DecodeBsnTlvUdfOffset(_bsntlv, decoder)
+ case 18:
+ return DecodeBsnTlvUdfLength(_bsntlv, decoder)
+ case 19:
+ return DecodeBsnTlvVrf(_bsntlv, decoder)
+ case 20:
+ return DecodeBsnTlvQueueId(_bsntlv, decoder)
+ case 21:
+ return DecodeBsnTlvQueueWeight(_bsntlv, decoder)
+ case 22:
+ return DecodeBsnTlvCrcEnabled(_bsntlv, decoder)
+ case 23:
+ return DecodeBsnTlvExternalIp(_bsntlv, decoder)
+ case 24:
+ return DecodeBsnTlvExternalMac(_bsntlv, decoder)
+ case 25:
+ return DecodeBsnTlvExternalNetmask(_bsntlv, decoder)
+ case 26:
+ return DecodeBsnTlvExternalGatewayIp(_bsntlv, decoder)
+ case 27:
+ return DecodeBsnTlvInternalMac(_bsntlv, decoder)
+ case 28:
+ return DecodeBsnTlvInternalGatewayMac(_bsntlv, decoder)
+ case 29:
+ return DecodeBsnTlvExternalGatewayMac(_bsntlv, decoder)
+ case 30:
+ return DecodeBsnTlvSamplingRate(_bsntlv, decoder)
+ case 31:
+ return DecodeBsnTlvHeaderSize(_bsntlv, decoder)
+ case 32:
+ return DecodeBsnTlvEthSrc(_bsntlv, decoder)
+ case 33:
+ return DecodeBsnTlvEthDst(_bsntlv, decoder)
+ case 34:
+ return DecodeBsnTlvIpv4Src(_bsntlv, decoder)
+ case 35:
+ return DecodeBsnTlvIpv4Dst(_bsntlv, decoder)
+ case 36:
+ return DecodeBsnTlvUdpSrc(_bsntlv, decoder)
+ case 37:
+ return DecodeBsnTlvUdpDst(_bsntlv, decoder)
+ case 38:
+ return DecodeBsnTlvSubAgentId(_bsntlv, decoder)
+ case 39:
+ return DecodeBsnTlvTxBytes(_bsntlv, decoder)
+ case 40:
+ return DecodeBsnTlvActorSystemPriority(_bsntlv, decoder)
+ case 41:
+ return DecodeBsnTlvActorSystemMac(_bsntlv, decoder)
+ case 42:
+ return DecodeBsnTlvActorPortPriority(_bsntlv, decoder)
+ case 43:
+ return DecodeBsnTlvActorPortNum(_bsntlv, decoder)
+ case 44:
+ return DecodeBsnTlvActorKey(_bsntlv, decoder)
+ case 45:
+ return DecodeBsnTlvConvergenceStatus(_bsntlv, decoder)
+ case 47:
+ return DecodeBsnTlvPartnerSystemPriority(_bsntlv, decoder)
+ case 48:
+ return DecodeBsnTlvPartnerSystemMac(_bsntlv, decoder)
+ case 49:
+ return DecodeBsnTlvPartnerPortPriority(_bsntlv, decoder)
+ case 50:
+ return DecodeBsnTlvPartnerPortNum(_bsntlv, decoder)
+ case 51:
+ return DecodeBsnTlvPartnerKey(_bsntlv, decoder)
+ case 52:
+ return DecodeBsnTlvName(_bsntlv, decoder)
+ case 53:
+ return DecodeBsnTlvActorState(_bsntlv, decoder)
+ case 54:
+ return DecodeBsnTlvPartnerState(_bsntlv, decoder)
+ case 55:
+ return DecodeBsnTlvData(_bsntlv, decoder)
+ case 56:
+ return DecodeBsnTlvMacMask(_bsntlv, decoder)
+ case 57:
+ return DecodeBsnTlvPriority(_bsntlv, decoder)
+ case 58:
+ return DecodeBsnTlvInterval(_bsntlv, decoder)
+ case 59:
+ return DecodeBsnTlvReference(_bsntlv, decoder)
+ case 60:
+ return DecodeBsnTlvIpv4Netmask(_bsntlv, decoder)
+ case 61:
+ return DecodeBsnTlvMplsLabel(_bsntlv, decoder)
+ case 62:
+ return DecodeBsnTlvMplsControlWord(_bsntlv, decoder)
+ case 63:
+ return DecodeBsnTlvMplsSequenced(_bsntlv, decoder)
+ case 64:
+ return DecodeBsnTlvBucket(_bsntlv, decoder)
+ case 65:
+ return DecodeBsnTlvTcpSrc(_bsntlv, decoder)
+ case 66:
+ return DecodeBsnTlvTcpDst(_bsntlv, decoder)
+ case 67:
+ return DecodeBsnTlvIpProto(_bsntlv, decoder)
+ case 68:
+ return DecodeBsnTlvIcmpType(_bsntlv, decoder)
+ case 69:
+ return DecodeBsnTlvIcmpCode(_bsntlv, decoder)
+ case 70:
+ return DecodeBsnTlvIcmpId(_bsntlv, decoder)
+ case 71:
+ return DecodeBsnTlvRxBytes(_bsntlv, decoder)
+ case 72:
+ return DecodeBsnTlvVlanPcp(_bsntlv, decoder)
+ case 73:
+ return DecodeBsnTlvStripVlanOnEgress(_bsntlv, decoder)
+ case 74:
+ return DecodeBsnTlvSetLoopbackMode(_bsntlv, decoder)
+ case 75:
+ return DecodeBsnTlvStripMplsL2OnIngress(_bsntlv, decoder)
+ case 76:
+ return DecodeBsnTlvStripMplsL3OnIngress(_bsntlv, decoder)
+ case 77:
+ return DecodeBsnTlvVlanVidMask(_bsntlv, decoder)
+ case 78:
+ return DecodeBsnTlvIgmpSnooping(_bsntlv, decoder)
+ case 79:
+ return DecodeBsnTlvL2MulticastLookup(_bsntlv, decoder)
+ case 80:
+ return DecodeBsnTlvGenerationId(_bsntlv, decoder)
+ case 81:
+ return DecodeBsnTlvAnchor(_bsntlv, decoder)
+ case 82:
+ return DecodeBsnTlvOffset(_bsntlv, decoder)
+ case 83:
+ return DecodeBsnTlvNegate(_bsntlv, decoder)
+ case 84:
+ return DecodeBsnTlvIpv6(_bsntlv, decoder)
+ case 85:
+ return DecodeBsnTlvDecap(_bsntlv, decoder)
+ case 86:
+ return DecodeBsnTlvVni(_bsntlv, decoder)
+ case 87:
+ return DecodeBsnTlvMcgTypeVxlan(_bsntlv, decoder)
+ case 88:
+ return DecodeBsnTlvPortVxlanMode(_bsntlv, decoder)
+ case 89:
+ return DecodeBsnTlvRateUnit(_bsntlv, decoder)
+ case 90:
+ return DecodeBsnTlvBroadcastRate(_bsntlv, decoder)
+ case 91:
+ return DecodeBsnTlvKnownMulticastRate(_bsntlv, decoder)
+ case 92:
+ return DecodeBsnTlvUnknownMulticastRate(_bsntlv, decoder)
+ case 93:
+ return DecodeBsnTlvUnicastRate(_bsntlv, decoder)
+ case 94:
+ return DecodeBsnTlvNexthopTypeVxlan(_bsntlv, decoder)
+ case 95:
+ return DecodeBsnTlvMulticastInterfaceId(_bsntlv, decoder)
+ case 96:
+ return DecodeBsnTlvUsePacketState(_bsntlv, decoder)
+ case 97:
+ return DecodeBsnTlvStatus(_bsntlv, decoder)
+ case 98:
+ return DecodeBsnTlvVlanMacList(_bsntlv, decoder)
+ case 99:
+ return DecodeBsnTlvVfi(_bsntlv, decoder)
+ case 100:
+ return DecodeBsnTlvHashSeed(_bsntlv, decoder)
+ case 101:
+ return DecodeBsnTlvHashType(_bsntlv, decoder)
+ case 102:
+ return DecodeBsnTlvHashPacketType(_bsntlv, decoder)
+ case 103:
+ return DecodeBsnTlvHashPacketField(_bsntlv, decoder)
+ case 104:
+ return DecodeBsnTlvHashGtpHeaderMatch(_bsntlv, decoder)
+ case 105:
+ return DecodeBsnTlvHashGtpPortMatch(_bsntlv, decoder)
+ case 106:
+ return DecodeBsnTlvUntagged(_bsntlv, decoder)
+ case 107:
+ return DecodeBsnTlvVfpClassId(_bsntlv, decoder)
+ case 108:
+ return DecodeBsnTlvQosPriority(_bsntlv, decoder)
+ case 109:
+ return DecodeBsnTlvParentPort(_bsntlv, decoder)
+ case 110:
+ return DecodeBsnTlvLoopbackPort(_bsntlv, decoder)
+ case 111:
+ return DecodeBsnTlvVpnKey(_bsntlv, decoder)
+ case 112:
+ return DecodeBsnTlvDscp(_bsntlv, decoder)
+ case 113:
+ return DecodeBsnTlvTtl(_bsntlv, decoder)
+ case 114:
+ return DecodeBsnTlvNextHopMac(_bsntlv, decoder)
+ case 115:
+ return DecodeBsnTlvNextHopIpv4(_bsntlv, decoder)
+ case 116:
+ return DecodeBsnTlvRateLimit(_bsntlv, decoder)
+ case 117:
+ return DecodeBsnTlvVxlanEgressLag(_bsntlv, decoder)
+ case 118:
+ return DecodeBsnTlvCpuLag(_bsntlv, decoder)
+ case 119:
+ return DecodeBsnTlvUint64List(_bsntlv, decoder)
+ case 120:
+ return DecodeBsnTlvDisableSrcMacCheck(_bsntlv, decoder)
+ case 121:
+ return DecodeBsnTlvDrop(_bsntlv, decoder)
+ case 122:
+ return DecodeBsnTlvIpv6Prefix(_bsntlv, decoder)
+ case 123:
+ return DecodeBsnTlvNdpOffload(_bsntlv, decoder)
+ case 124:
+ return DecodeBsnTlvNdpStatic(_bsntlv, decoder)
+ case 125:
+ return DecodeBsnTlvIcmpv6Chksum(_bsntlv, decoder)
+ case 126:
+ return DecodeBsnTlvIpv6Src(_bsntlv, decoder)
+ case 127:
+ return DecodeBsnTlvIpv6Dst(_bsntlv, decoder)
+ case 128:
+ return DecodeBsnTlvPushVlanOnIngress(_bsntlv, decoder)
+ case 129:
+ return DecodeBsnTlvApplyPackets(_bsntlv, decoder)
+ case 130:
+ return DecodeBsnTlvApplyBytes(_bsntlv, decoder)
+ case 131:
+ return DecodeBsnTlvEthType(_bsntlv, decoder)
+ case 132:
+ return DecodeBsnTlvEcn(_bsntlv, decoder)
+ case 133:
+ return DecodeBsnTlvTcpFlags(_bsntlv, decoder)
+ case 134:
+ return DecodeBsnTlvL3InterfaceClassId(_bsntlv, decoder)
+ case 135:
+ return DecodeBsnTlvL3SrcClassId(_bsntlv, decoder)
+ case 136:
+ return DecodeBsnTlvL3DstClassId(_bsntlv, decoder)
+ case 137:
+ return DecodeBsnTlvEgressOnly(_bsntlv, decoder)
+ case 138:
+ return DecodeBsnTlvIngressPortGroupId(_bsntlv, decoder)
+ case 139:
+ return DecodeBsnTlvEgressPortGroupId(_bsntlv, decoder)
+ case 140:
+ return DecodeBsnTlvDataMask(_bsntlv, decoder)
+ case 141:
+ return DecodeBsnTlvPortUsage(_bsntlv, decoder)
+ case 142:
+ return DecodeBsnTlvTunnelCapability(_bsntlv, decoder)
+ case 143:
+ return DecodeBsnTlvEnhancedHashCapability(_bsntlv, decoder)
+ case 144:
+ return DecodeBsnTlvAutoNegotiation(_bsntlv, decoder)
+ case 145:
+ return DecodeBsnTlvHashAlgorithm(_bsntlv, decoder)
+ case 146:
+ return DecodeBsnTlvLoopbackMode(_bsntlv, decoder)
+ case 147:
+ return DecodeBsnTlvNoArpResponse(_bsntlv, decoder)
+ case 148:
+ return DecodeBsnTlvNoNsResponse(_bsntlv, decoder)
+ case 149:
+ return DecodeBsnTlvForwardErrorCorrection(_bsntlv, decoder)
+ case 150:
+ return DecodeBsnTlvOpticsAlwaysEnabled(_bsntlv, decoder)
+ case 151:
+ return DecodeBsnTlvForceLinkUp(_bsntlv, decoder)
+ case 152:
+ return DecodeBsnTlvRestServer(_bsntlv, decoder)
+ case 153:
+ return DecodeBsnTlvUriScheme(_bsntlv, decoder)
+ case 154:
+ return DecodeBsnTlvTimestamp(_bsntlv, decoder)
+ case 155:
+ return DecodeBsnTlvRecordPackets(_bsntlv, decoder)
+ case 156:
+ return DecodeBsnTlvPortSpeedGbps(_bsntlv, decoder)
+ case 157:
+ return DecodeBsnTlvOuterSrcMac(_bsntlv, decoder)
+ case 158:
+ return DecodeBsnTlvVirtual(_bsntlv, decoder)
+ case 159:
+ return DecodeBsnTlvPduaRxInstance(_bsntlv, decoder)
+ case 160:
+ return DecodeBsnTlvLagOptions(_bsntlv, decoder)
+ case 161:
+ return DecodeBsnTlvRoutingParam(_bsntlv, decoder)
+ case 162:
+ return DecodeBsnTlvPushVlanOnEgress(_bsntlv, decoder)
+ case 163:
+ return DecodeBsnTlvFlood(_bsntlv, decoder)
+ case 164:
+ return DecodeBsnTlvUpgrade(_bsntlv, decoder)
+ case 165:
+ return DecodeBsnTlvFabricPortRole(_bsntlv, decoder)
+ case 166:
+ return DecodeBsnTlvUserConfigured(_bsntlv, decoder)
+ case 167:
+ return DecodeBsnTlvUint32(_bsntlv, decoder)
+ case 168:
+ return DecodeBsnTlvL3(_bsntlv, decoder)
+ case 169:
+ return DecodeBsnTlvIpTunnelType(_bsntlv, decoder)
+ case 170:
+ return DecodeBsnTlvMulticastPacket(_bsntlv, decoder)
+ case 171:
+ return DecodeBsnTlvPimDr(_bsntlv, decoder)
+ case 172:
+ return DecodeBsnTlvPassive(_bsntlv, decoder)
+ case 173:
+ return DecodeBsnTlvIdentifier(_bsntlv, decoder)
+ case 174:
+ return DecodeBsnTlvMultiplier(_bsntlv, decoder)
+ case 175:
+ return DecodeBsnTlvEncap(_bsntlv, decoder)
+ case 176:
+ return DecodeBsnTlvBfdEndpoint(_bsntlv, decoder)
+ case 177:
+ return DecodeBsnTlvBfdState(_bsntlv, decoder)
+ case 178:
+ return DecodeBsnTlvLrAllEnabled(_bsntlv, decoder)
+ case 179:
+ return DecodeBsnTlvPortMode(_bsntlv, decoder)
+ case 180:
+ return DecodeBsnTlvUdfCapability(_bsntlv, decoder)
+ case 181:
+ return DecodeBsnTlvPimHelloFlood(_bsntlv, decoder)
+ case 182:
+ return DecodeBsnTlvFlowClassify(_bsntlv, decoder)
+ case 183:
+ return DecodeBsnTlvFlowIdentifier(_bsntlv, decoder)
+ case 184:
+ return DecodeBsnTlvFlowClassifier(_bsntlv, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'BsnTlv'", _bsntlv.Type)
+ }
+}
+
+func NewBsnTlv(_type uint16) *BsnTlv {
+ obj := &BsnTlv{}
+ obj.Type = _type
+ return obj
+}
+
+type BsnTlvActorKey struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvActorKey interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvActorKey) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvActorKey) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvActorKey) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvActorKey(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvActorKey, error) {
+ _bsntlvactorkey := &BsnTlvActorKey{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvActorKey packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvactorkey.Value = uint16(decoder.ReadUint16())
+ return _bsntlvactorkey, nil
+}
+
+func NewBsnTlvActorKey() *BsnTlvActorKey {
+ obj := &BsnTlvActorKey{
+ BsnTlv: NewBsnTlv(44),
+ }
+ return obj
+}
+
+type BsnTlvActorPortNum struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvActorPortNum interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvActorPortNum) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvActorPortNum) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvActorPortNum) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvActorPortNum(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvActorPortNum, error) {
+ _bsntlvactorportnum := &BsnTlvActorPortNum{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvActorPortNum packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvactorportnum.Value = uint16(decoder.ReadUint16())
+ return _bsntlvactorportnum, nil
+}
+
+func NewBsnTlvActorPortNum() *BsnTlvActorPortNum {
+ obj := &BsnTlvActorPortNum{
+ BsnTlv: NewBsnTlv(43),
+ }
+ return obj
+}
+
+type BsnTlvActorPortPriority struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvActorPortPriority interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvActorPortPriority) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvActorPortPriority) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvActorPortPriority) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvActorPortPriority(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvActorPortPriority, error) {
+ _bsntlvactorportpriority := &BsnTlvActorPortPriority{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvActorPortPriority packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvactorportpriority.Value = uint16(decoder.ReadUint16())
+ return _bsntlvactorportpriority, nil
+}
+
+func NewBsnTlvActorPortPriority() *BsnTlvActorPortPriority {
+ obj := &BsnTlvActorPortPriority{
+ BsnTlv: NewBsnTlv(42),
+ }
+ return obj
+}
+
+type BsnTlvActorState struct {
+ *BsnTlv
+ Value BsnLacpState
+}
+
+type IBsnTlvActorState interface {
+ IBsnTlv
+ GetValue() BsnLacpState
+}
+
+func (self *BsnTlvActorState) GetValue() BsnLacpState {
+ return self.Value
+}
+
+func (self *BsnTlvActorState) SetValue(v BsnLacpState) {
+ self.Value = v
+}
+
+func (self *BsnTlvActorState) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvActorState(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvActorState, error) {
+ _bsntlvactorstate := &BsnTlvActorState{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvActorState packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvactorstate.Value = BsnLacpState(decoder.ReadByte())
+ return _bsntlvactorstate, nil
+}
+
+func NewBsnTlvActorState() *BsnTlvActorState {
+ obj := &BsnTlvActorState{
+ BsnTlv: NewBsnTlv(53),
+ }
+ return obj
+}
+
+type BsnTlvActorSystemMac struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvActorSystemMac interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvActorSystemMac) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvActorSystemMac) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvActorSystemMac) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvActorSystemMac(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvActorSystemMac, error) {
+ _bsntlvactorsystemmac := &BsnTlvActorSystemMac{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvActorSystemMac packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvactorsystemmac.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvactorsystemmac, nil
+}
+
+func NewBsnTlvActorSystemMac() *BsnTlvActorSystemMac {
+ obj := &BsnTlvActorSystemMac{
+ BsnTlv: NewBsnTlv(41),
+ }
+ return obj
+}
+
+type BsnTlvActorSystemPriority struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvActorSystemPriority interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvActorSystemPriority) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvActorSystemPriority) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvActorSystemPriority) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvActorSystemPriority(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvActorSystemPriority, error) {
+ _bsntlvactorsystempriority := &BsnTlvActorSystemPriority{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvActorSystemPriority packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvactorsystempriority.Value = uint16(decoder.ReadUint16())
+ return _bsntlvactorsystempriority, nil
+}
+
+func NewBsnTlvActorSystemPriority() *BsnTlvActorSystemPriority {
+ obj := &BsnTlvActorSystemPriority{
+ BsnTlv: NewBsnTlv(40),
+ }
+ return obj
+}
+
+type BsnTlvAnchor struct {
+ *BsnTlv
+ Value BsnAnchor
+}
+
+type IBsnTlvAnchor interface {
+ IBsnTlv
+ GetValue() BsnAnchor
+}
+
+func (self *BsnTlvAnchor) GetValue() BsnAnchor {
+ return self.Value
+}
+
+func (self *BsnTlvAnchor) SetValue(v BsnAnchor) {
+ self.Value = v
+}
+
+func (self *BsnTlvAnchor) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvAnchor(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvAnchor, error) {
+ _bsntlvanchor := &BsnTlvAnchor{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvAnchor packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvanchor.Value = BsnAnchor(decoder.ReadUint16())
+ return _bsntlvanchor, nil
+}
+
+func NewBsnTlvAnchor() *BsnTlvAnchor {
+ obj := &BsnTlvAnchor{
+ BsnTlv: NewBsnTlv(81),
+ }
+ return obj
+}
+
+type BsnTlvApplyBytes struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvApplyBytes interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvApplyBytes) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvApplyBytes) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvApplyBytes) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvApplyBytes(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvApplyBytes, error) {
+ _bsntlvapplybytes := &BsnTlvApplyBytes{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvApplyBytes packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvapplybytes.Value = uint64(decoder.ReadUint64())
+ return _bsntlvapplybytes, nil
+}
+
+func NewBsnTlvApplyBytes() *BsnTlvApplyBytes {
+ obj := &BsnTlvApplyBytes{
+ BsnTlv: NewBsnTlv(130),
+ }
+ return obj
+}
+
+type BsnTlvApplyPackets struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvApplyPackets interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvApplyPackets) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvApplyPackets) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvApplyPackets) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvApplyPackets(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvApplyPackets, error) {
+ _bsntlvapplypackets := &BsnTlvApplyPackets{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvApplyPackets packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvapplypackets.Value = uint64(decoder.ReadUint64())
+ return _bsntlvapplypackets, nil
+}
+
+func NewBsnTlvApplyPackets() *BsnTlvApplyPackets {
+ obj := &BsnTlvApplyPackets{
+ BsnTlv: NewBsnTlv(129),
+ }
+ return obj
+}
+
+type BsnTlvAutoNegotiation struct {
+ *BsnTlv
+ Value BsnAutoNegotiationType
+}
+
+type IBsnTlvAutoNegotiation interface {
+ IBsnTlv
+ GetValue() BsnAutoNegotiationType
+}
+
+func (self *BsnTlvAutoNegotiation) GetValue() BsnAutoNegotiationType {
+ return self.Value
+}
+
+func (self *BsnTlvAutoNegotiation) SetValue(v BsnAutoNegotiationType) {
+ self.Value = v
+}
+
+func (self *BsnTlvAutoNegotiation) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvAutoNegotiation(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvAutoNegotiation, error) {
+ _bsntlvautonegotiation := &BsnTlvAutoNegotiation{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvAutoNegotiation packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvautonegotiation.Value = BsnAutoNegotiationType(decoder.ReadByte())
+ return _bsntlvautonegotiation, nil
+}
+
+func NewBsnTlvAutoNegotiation() *BsnTlvAutoNegotiation {
+ obj := &BsnTlvAutoNegotiation{
+ BsnTlv: NewBsnTlv(144),
+ }
+ return obj
+}
+
+type BsnTlvBfdEndpoint struct {
+ *BsnTlv
+ Value BsnBfdEndpoint
+}
+
+type IBsnTlvBfdEndpoint interface {
+ IBsnTlv
+ GetValue() BsnBfdEndpoint
+}
+
+func (self *BsnTlvBfdEndpoint) GetValue() BsnBfdEndpoint {
+ return self.Value
+}
+
+func (self *BsnTlvBfdEndpoint) SetValue(v BsnBfdEndpoint) {
+ self.Value = v
+}
+
+func (self *BsnTlvBfdEndpoint) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvBfdEndpoint(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvBfdEndpoint, error) {
+ _bsntlvbfdendpoint := &BsnTlvBfdEndpoint{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvBfdEndpoint packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvbfdendpoint.Value = BsnBfdEndpoint(decoder.ReadByte())
+ return _bsntlvbfdendpoint, nil
+}
+
+func NewBsnTlvBfdEndpoint() *BsnTlvBfdEndpoint {
+ obj := &BsnTlvBfdEndpoint{
+ BsnTlv: NewBsnTlv(176),
+ }
+ return obj
+}
+
+type BsnTlvBfdState struct {
+ *BsnTlv
+ Value BsnBfdEndpointState
+}
+
+type IBsnTlvBfdState interface {
+ IBsnTlv
+ GetValue() BsnBfdEndpointState
+}
+
+func (self *BsnTlvBfdState) GetValue() BsnBfdEndpointState {
+ return self.Value
+}
+
+func (self *BsnTlvBfdState) SetValue(v BsnBfdEndpointState) {
+ self.Value = v
+}
+
+func (self *BsnTlvBfdState) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvBfdState(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvBfdState, error) {
+ _bsntlvbfdstate := &BsnTlvBfdState{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvBfdState packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvbfdstate.Value = BsnBfdEndpointState(decoder.ReadByte())
+ return _bsntlvbfdstate, nil
+}
+
+func NewBsnTlvBfdState() *BsnTlvBfdState {
+ obj := &BsnTlvBfdState{
+ BsnTlv: NewBsnTlv(177),
+ }
+ return obj
+}
+
+type BsnTlvBroadcastQueryTimeout struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvBroadcastQueryTimeout interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvBroadcastQueryTimeout) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvBroadcastQueryTimeout) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvBroadcastQueryTimeout) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvBroadcastQueryTimeout(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvBroadcastQueryTimeout, error) {
+ _bsntlvbroadcastquerytimeout := &BsnTlvBroadcastQueryTimeout{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvBroadcastQueryTimeout packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvbroadcastquerytimeout.Value = uint32(decoder.ReadUint32())
+ return _bsntlvbroadcastquerytimeout, nil
+}
+
+func NewBsnTlvBroadcastQueryTimeout() *BsnTlvBroadcastQueryTimeout {
+ obj := &BsnTlvBroadcastQueryTimeout{
+ BsnTlv: NewBsnTlv(10),
+ }
+ return obj
+}
+
+type BsnTlvBroadcastRate struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvBroadcastRate interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvBroadcastRate) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvBroadcastRate) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvBroadcastRate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvBroadcastRate(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvBroadcastRate, error) {
+ _bsntlvbroadcastrate := &BsnTlvBroadcastRate{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvBroadcastRate packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvbroadcastrate.Value = uint32(decoder.ReadUint32())
+ return _bsntlvbroadcastrate, nil
+}
+
+func NewBsnTlvBroadcastRate() *BsnTlvBroadcastRate {
+ obj := &BsnTlvBroadcastRate{
+ BsnTlv: NewBsnTlv(90),
+ }
+ return obj
+}
+
+type BsnTlvBucket struct {
+ *BsnTlv
+ Value []IBsnTlv
+}
+
+type IBsnTlvBucket interface {
+ IBsnTlv
+ GetValue() []IBsnTlv
+}
+
+func (self *BsnTlvBucket) GetValue() []IBsnTlv {
+ return self.Value
+}
+
+func (self *BsnTlvBucket) SetValue(v []IBsnTlv) {
+ self.Value = v
+}
+
+func (self *BsnTlvBucket) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Value {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvBucket(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvBucket, error) {
+ _bsntlvbucket := &BsnTlvBucket{BsnTlv: parent}
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsntlvbucket.Value = append(_bsntlvbucket.Value, item)
+ }
+ }
+ return _bsntlvbucket, nil
+}
+
+func NewBsnTlvBucket() *BsnTlvBucket {
+ obj := &BsnTlvBucket{
+ BsnTlv: NewBsnTlv(64),
+ }
+ return obj
+}
+
+type BsnTlvCircuitId struct {
+ *BsnTlv
+ Value []byte
+}
+
+type IBsnTlvCircuitId interface {
+ IBsnTlv
+ GetValue() []byte
+}
+
+func (self *BsnTlvCircuitId) GetValue() []byte {
+ return self.Value
+}
+
+func (self *BsnTlvCircuitId) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *BsnTlvCircuitId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvCircuitId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvCircuitId, error) {
+ _bsntlvcircuitid := &BsnTlvCircuitId{BsnTlv: parent}
+ _bsntlvcircuitid.Value = decoder.Read(int(decoder.Length()))
+ return _bsntlvcircuitid, nil
+}
+
+func NewBsnTlvCircuitId() *BsnTlvCircuitId {
+ obj := &BsnTlvCircuitId{
+ BsnTlv: NewBsnTlv(14),
+ }
+ return obj
+}
+
+type BsnTlvConvergenceStatus struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvConvergenceStatus interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvConvergenceStatus) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvConvergenceStatus) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvConvergenceStatus) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvConvergenceStatus(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvConvergenceStatus, error) {
+ _bsntlvconvergencestatus := &BsnTlvConvergenceStatus{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvConvergenceStatus packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvconvergencestatus.Value = uint8(decoder.ReadByte())
+ return _bsntlvconvergencestatus, nil
+}
+
+func NewBsnTlvConvergenceStatus() *BsnTlvConvergenceStatus {
+ obj := &BsnTlvConvergenceStatus{
+ BsnTlv: NewBsnTlv(45),
+ }
+ return obj
+}
+
+type BsnTlvCpuLag struct {
+ *BsnTlv
+}
+
+type IBsnTlvCpuLag interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvCpuLag) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvCpuLag(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvCpuLag, error) {
+ _bsntlvcpulag := &BsnTlvCpuLag{BsnTlv: parent}
+ return _bsntlvcpulag, nil
+}
+
+func NewBsnTlvCpuLag() *BsnTlvCpuLag {
+ obj := &BsnTlvCpuLag{
+ BsnTlv: NewBsnTlv(118),
+ }
+ return obj
+}
+
+type BsnTlvCrcEnabled struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvCrcEnabled interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvCrcEnabled) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvCrcEnabled) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvCrcEnabled) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvCrcEnabled(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvCrcEnabled, error) {
+ _bsntlvcrcenabled := &BsnTlvCrcEnabled{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvCrcEnabled packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvcrcenabled.Value = uint8(decoder.ReadByte())
+ return _bsntlvcrcenabled, nil
+}
+
+func NewBsnTlvCrcEnabled() *BsnTlvCrcEnabled {
+ obj := &BsnTlvCrcEnabled{
+ BsnTlv: NewBsnTlv(22),
+ }
+ return obj
+}
+
+type BsnTlvData struct {
+ *BsnTlv
+ Value []byte
+}
+
+type IBsnTlvData interface {
+ IBsnTlv
+ GetValue() []byte
+}
+
+func (self *BsnTlvData) GetValue() []byte {
+ return self.Value
+}
+
+func (self *BsnTlvData) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *BsnTlvData) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvData(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvData, error) {
+ _bsntlvdata := &BsnTlvData{BsnTlv: parent}
+ _bsntlvdata.Value = decoder.Read(int(decoder.Length()))
+ return _bsntlvdata, nil
+}
+
+func NewBsnTlvData() *BsnTlvData {
+ obj := &BsnTlvData{
+ BsnTlv: NewBsnTlv(55),
+ }
+ return obj
+}
+
+type BsnTlvDataMask struct {
+ *BsnTlv
+ Value []byte
+}
+
+type IBsnTlvDataMask interface {
+ IBsnTlv
+ GetValue() []byte
+}
+
+func (self *BsnTlvDataMask) GetValue() []byte {
+ return self.Value
+}
+
+func (self *BsnTlvDataMask) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *BsnTlvDataMask) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvDataMask(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvDataMask, error) {
+ _bsntlvdatamask := &BsnTlvDataMask{BsnTlv: parent}
+ _bsntlvdatamask.Value = decoder.Read(int(decoder.Length()))
+ return _bsntlvdatamask, nil
+}
+
+func NewBsnTlvDataMask() *BsnTlvDataMask {
+ obj := &BsnTlvDataMask{
+ BsnTlv: NewBsnTlv(140),
+ }
+ return obj
+}
+
+type BsnTlvDecap struct {
+ *BsnTlv
+ Value BsnDecap
+}
+
+type IBsnTlvDecap interface {
+ IBsnTlv
+ GetValue() BsnDecap
+}
+
+func (self *BsnTlvDecap) GetValue() BsnDecap {
+ return self.Value
+}
+
+func (self *BsnTlvDecap) SetValue(v BsnDecap) {
+ self.Value = v
+}
+
+func (self *BsnTlvDecap) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvDecap(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvDecap, error) {
+ _bsntlvdecap := &BsnTlvDecap{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvDecap packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvdecap.Value = BsnDecap(decoder.ReadUint16())
+ return _bsntlvdecap, nil
+}
+
+func NewBsnTlvDecap() *BsnTlvDecap {
+ obj := &BsnTlvDecap{
+ BsnTlv: NewBsnTlv(85),
+ }
+ return obj
+}
+
+type BsnTlvDisableSrcMacCheck struct {
+ *BsnTlv
+}
+
+type IBsnTlvDisableSrcMacCheck interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvDisableSrcMacCheck) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvDisableSrcMacCheck(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvDisableSrcMacCheck, error) {
+ _bsntlvdisablesrcmaccheck := &BsnTlvDisableSrcMacCheck{BsnTlv: parent}
+ return _bsntlvdisablesrcmaccheck, nil
+}
+
+func NewBsnTlvDisableSrcMacCheck() *BsnTlvDisableSrcMacCheck {
+ obj := &BsnTlvDisableSrcMacCheck{
+ BsnTlv: NewBsnTlv(120),
+ }
+ return obj
+}
+
+type BsnTlvDrop struct {
+ *BsnTlv
+}
+
+type IBsnTlvDrop interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvDrop) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvDrop(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvDrop, error) {
+ _bsntlvdrop := &BsnTlvDrop{BsnTlv: parent}
+ return _bsntlvdrop, nil
+}
+
+func NewBsnTlvDrop() *BsnTlvDrop {
+ obj := &BsnTlvDrop{
+ BsnTlv: NewBsnTlv(121),
+ }
+ return obj
+}
+
+type BsnTlvDscp struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvDscp interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvDscp) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvDscp) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvDscp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvDscp(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvDscp, error) {
+ _bsntlvdscp := &BsnTlvDscp{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvDscp packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvdscp.Value = uint16(decoder.ReadUint16())
+ return _bsntlvdscp, nil
+}
+
+func NewBsnTlvDscp() *BsnTlvDscp {
+ obj := &BsnTlvDscp{
+ BsnTlv: NewBsnTlv(112),
+ }
+ return obj
+}
+
+type BsnTlvEcn struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvEcn interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvEcn) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvEcn) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvEcn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvEcn(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvEcn, error) {
+ _bsntlvecn := &BsnTlvEcn{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvEcn packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvecn.Value = uint8(decoder.ReadByte())
+ return _bsntlvecn, nil
+}
+
+func NewBsnTlvEcn() *BsnTlvEcn {
+ obj := &BsnTlvEcn{
+ BsnTlv: NewBsnTlv(132),
+ }
+ return obj
+}
+
+type BsnTlvEgressOnly struct {
+ *BsnTlv
+}
+
+type IBsnTlvEgressOnly interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvEgressOnly) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvEgressOnly(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvEgressOnly, error) {
+ _bsntlvegressonly := &BsnTlvEgressOnly{BsnTlv: parent}
+ return _bsntlvegressonly, nil
+}
+
+func NewBsnTlvEgressOnly() *BsnTlvEgressOnly {
+ obj := &BsnTlvEgressOnly{
+ BsnTlv: NewBsnTlv(137),
+ }
+ return obj
+}
+
+type BsnTlvEgressPortGroupId struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvEgressPortGroupId interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvEgressPortGroupId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvEgressPortGroupId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvEgressPortGroupId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvEgressPortGroupId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvEgressPortGroupId, error) {
+ _bsntlvegressportgroupid := &BsnTlvEgressPortGroupId{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvEgressPortGroupId packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvegressportgroupid.Value = uint32(decoder.ReadUint32())
+ return _bsntlvegressportgroupid, nil
+}
+
+func NewBsnTlvEgressPortGroupId() *BsnTlvEgressPortGroupId {
+ obj := &BsnTlvEgressPortGroupId{
+ BsnTlv: NewBsnTlv(139),
+ }
+ return obj
+}
+
+type BsnTlvEncap struct {
+ *BsnTlv
+ Value BsnEncap
+}
+
+type IBsnTlvEncap interface {
+ IBsnTlv
+ GetValue() BsnEncap
+}
+
+func (self *BsnTlvEncap) GetValue() BsnEncap {
+ return self.Value
+}
+
+func (self *BsnTlvEncap) SetValue(v BsnEncap) {
+ self.Value = v
+}
+
+func (self *BsnTlvEncap) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvEncap(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvEncap, error) {
+ _bsntlvencap := &BsnTlvEncap{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvEncap packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvencap.Value = BsnEncap(decoder.ReadByte())
+ return _bsntlvencap, nil
+}
+
+func NewBsnTlvEncap() *BsnTlvEncap {
+ obj := &BsnTlvEncap{
+ BsnTlv: NewBsnTlv(175),
+ }
+ return obj
+}
+
+type BsnTlvEnhancedHashCapability struct {
+ *BsnTlv
+ Value BsnEnhancedHashType
+}
+
+type IBsnTlvEnhancedHashCapability interface {
+ IBsnTlv
+ GetValue() BsnEnhancedHashType
+}
+
+func (self *BsnTlvEnhancedHashCapability) GetValue() BsnEnhancedHashType {
+ return self.Value
+}
+
+func (self *BsnTlvEnhancedHashCapability) SetValue(v BsnEnhancedHashType) {
+ self.Value = v
+}
+
+func (self *BsnTlvEnhancedHashCapability) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvEnhancedHashCapability(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvEnhancedHashCapability, error) {
+ _bsntlvenhancedhashcapability := &BsnTlvEnhancedHashCapability{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvEnhancedHashCapability packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvenhancedhashcapability.Value = BsnEnhancedHashType(decoder.ReadUint64())
+ return _bsntlvenhancedhashcapability, nil
+}
+
+func NewBsnTlvEnhancedHashCapability() *BsnTlvEnhancedHashCapability {
+ obj := &BsnTlvEnhancedHashCapability{
+ BsnTlv: NewBsnTlv(143),
+ }
+ return obj
+}
+
+type BsnTlvEthDst struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvEthDst interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvEthDst) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvEthDst) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvEthDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvEthDst(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvEthDst, error) {
+ _bsntlvethdst := &BsnTlvEthDst{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvEthDst packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvethdst.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvethdst, nil
+}
+
+func NewBsnTlvEthDst() *BsnTlvEthDst {
+ obj := &BsnTlvEthDst{
+ BsnTlv: NewBsnTlv(33),
+ }
+ return obj
+}
+
+type BsnTlvEthSrc struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvEthSrc interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvEthSrc) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvEthSrc) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvEthSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvEthSrc(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvEthSrc, error) {
+ _bsntlvethsrc := &BsnTlvEthSrc{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvEthSrc packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvethsrc.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvethsrc, nil
+}
+
+func NewBsnTlvEthSrc() *BsnTlvEthSrc {
+ obj := &BsnTlvEthSrc{
+ BsnTlv: NewBsnTlv(32),
+ }
+ return obj
+}
+
+type BsnTlvEthType struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvEthType interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvEthType) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvEthType) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvEthType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvEthType(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvEthType, error) {
+ _bsntlvethtype := &BsnTlvEthType{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvEthType packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvethtype.Value = uint16(decoder.ReadUint16())
+ return _bsntlvethtype, nil
+}
+
+func NewBsnTlvEthType() *BsnTlvEthType {
+ obj := &BsnTlvEthType{
+ BsnTlv: NewBsnTlv(131),
+ }
+ return obj
+}
+
+type BsnTlvExternalGatewayIp struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvExternalGatewayIp interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvExternalGatewayIp) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvExternalGatewayIp) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvExternalGatewayIp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvExternalGatewayIp(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvExternalGatewayIp, error) {
+ _bsntlvexternalgatewayip := &BsnTlvExternalGatewayIp{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvExternalGatewayIp packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvexternalgatewayip.Value = net.IP(decoder.Read(4))
+ return _bsntlvexternalgatewayip, nil
+}
+
+func NewBsnTlvExternalGatewayIp() *BsnTlvExternalGatewayIp {
+ obj := &BsnTlvExternalGatewayIp{
+ BsnTlv: NewBsnTlv(26),
+ }
+ return obj
+}
+
+type BsnTlvExternalGatewayMac struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvExternalGatewayMac interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvExternalGatewayMac) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvExternalGatewayMac) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvExternalGatewayMac) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvExternalGatewayMac(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvExternalGatewayMac, error) {
+ _bsntlvexternalgatewaymac := &BsnTlvExternalGatewayMac{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvExternalGatewayMac packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvexternalgatewaymac.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvexternalgatewaymac, nil
+}
+
+func NewBsnTlvExternalGatewayMac() *BsnTlvExternalGatewayMac {
+ obj := &BsnTlvExternalGatewayMac{
+ BsnTlv: NewBsnTlv(29),
+ }
+ return obj
+}
+
+type BsnTlvExternalIp struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvExternalIp interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvExternalIp) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvExternalIp) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvExternalIp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvExternalIp(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvExternalIp, error) {
+ _bsntlvexternalip := &BsnTlvExternalIp{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvExternalIp packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvexternalip.Value = net.IP(decoder.Read(4))
+ return _bsntlvexternalip, nil
+}
+
+func NewBsnTlvExternalIp() *BsnTlvExternalIp {
+ obj := &BsnTlvExternalIp{
+ BsnTlv: NewBsnTlv(23),
+ }
+ return obj
+}
+
+type BsnTlvExternalMac struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvExternalMac interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvExternalMac) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvExternalMac) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvExternalMac) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvExternalMac(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvExternalMac, error) {
+ _bsntlvexternalmac := &BsnTlvExternalMac{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvExternalMac packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvexternalmac.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvexternalmac, nil
+}
+
+func NewBsnTlvExternalMac() *BsnTlvExternalMac {
+ obj := &BsnTlvExternalMac{
+ BsnTlv: NewBsnTlv(24),
+ }
+ return obj
+}
+
+type BsnTlvExternalNetmask struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvExternalNetmask interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvExternalNetmask) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvExternalNetmask) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvExternalNetmask) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvExternalNetmask(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvExternalNetmask, error) {
+ _bsntlvexternalnetmask := &BsnTlvExternalNetmask{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvExternalNetmask packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvexternalnetmask.Value = net.IP(decoder.Read(4))
+ return _bsntlvexternalnetmask, nil
+}
+
+func NewBsnTlvExternalNetmask() *BsnTlvExternalNetmask {
+ obj := &BsnTlvExternalNetmask{
+ BsnTlv: NewBsnTlv(25),
+ }
+ return obj
+}
+
+type BsnTlvFabricPortRole struct {
+ *BsnTlv
+ Value BsnFabricPortRole
+}
+
+type IBsnTlvFabricPortRole interface {
+ IBsnTlv
+ GetValue() BsnFabricPortRole
+}
+
+func (self *BsnTlvFabricPortRole) GetValue() BsnFabricPortRole {
+ return self.Value
+}
+
+func (self *BsnTlvFabricPortRole) SetValue(v BsnFabricPortRole) {
+ self.Value = v
+}
+
+func (self *BsnTlvFabricPortRole) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvFabricPortRole(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvFabricPortRole, error) {
+ _bsntlvfabricportrole := &BsnTlvFabricPortRole{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvFabricPortRole packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvfabricportrole.Value = BsnFabricPortRole(decoder.ReadUint16())
+ return _bsntlvfabricportrole, nil
+}
+
+func NewBsnTlvFabricPortRole() *BsnTlvFabricPortRole {
+ obj := &BsnTlvFabricPortRole{
+ BsnTlv: NewBsnTlv(165),
+ }
+ return obj
+}
+
+type BsnTlvFlood struct {
+ *BsnTlv
+}
+
+type IBsnTlvFlood interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvFlood) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvFlood(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvFlood, error) {
+ _bsntlvflood := &BsnTlvFlood{BsnTlv: parent}
+ return _bsntlvflood, nil
+}
+
+func NewBsnTlvFlood() *BsnTlvFlood {
+ obj := &BsnTlvFlood{
+ BsnTlv: NewBsnTlv(163),
+ }
+ return obj
+}
+
+type BsnTlvFlowClassifier struct {
+ *BsnTlv
+ Value BsnFlowClassifier
+}
+
+type IBsnTlvFlowClassifier interface {
+ IBsnTlv
+ GetValue() BsnFlowClassifier
+}
+
+func (self *BsnTlvFlowClassifier) GetValue() BsnFlowClassifier {
+ return self.Value
+}
+
+func (self *BsnTlvFlowClassifier) SetValue(v BsnFlowClassifier) {
+ self.Value = v
+}
+
+func (self *BsnTlvFlowClassifier) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvFlowClassifier(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvFlowClassifier, error) {
+ _bsntlvflowclassifier := &BsnTlvFlowClassifier{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvFlowClassifier packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvflowclassifier.Value = BsnFlowClassifier(decoder.ReadUint16())
+ return _bsntlvflowclassifier, nil
+}
+
+func NewBsnTlvFlowClassifier() *BsnTlvFlowClassifier {
+ obj := &BsnTlvFlowClassifier{
+ BsnTlv: NewBsnTlv(184),
+ }
+ return obj
+}
+
+type BsnTlvFlowClassify struct {
+ *BsnTlv
+}
+
+type IBsnTlvFlowClassify interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvFlowClassify) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvFlowClassify(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvFlowClassify, error) {
+ _bsntlvflowclassify := &BsnTlvFlowClassify{BsnTlv: parent}
+ return _bsntlvflowclassify, nil
+}
+
+func NewBsnTlvFlowClassify() *BsnTlvFlowClassify {
+ obj := &BsnTlvFlowClassify{
+ BsnTlv: NewBsnTlv(182),
+ }
+ return obj
+}
+
+type BsnTlvFlowIdentifier struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvFlowIdentifier interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvFlowIdentifier) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvFlowIdentifier) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvFlowIdentifier) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvFlowIdentifier(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvFlowIdentifier, error) {
+ _bsntlvflowidentifier := &BsnTlvFlowIdentifier{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvFlowIdentifier packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvflowidentifier.Value = uint32(decoder.ReadUint32())
+ return _bsntlvflowidentifier, nil
+}
+
+func NewBsnTlvFlowIdentifier() *BsnTlvFlowIdentifier {
+ obj := &BsnTlvFlowIdentifier{
+ BsnTlv: NewBsnTlv(183),
+ }
+ return obj
+}
+
+type BsnTlvForceLinkUp struct {
+ *BsnTlv
+}
+
+type IBsnTlvForceLinkUp interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvForceLinkUp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvForceLinkUp(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvForceLinkUp, error) {
+ _bsntlvforcelinkup := &BsnTlvForceLinkUp{BsnTlv: parent}
+ return _bsntlvforcelinkup, nil
+}
+
+func NewBsnTlvForceLinkUp() *BsnTlvForceLinkUp {
+ obj := &BsnTlvForceLinkUp{
+ BsnTlv: NewBsnTlv(151),
+ }
+ return obj
+}
+
+type BsnTlvForwardErrorCorrection struct {
+ *BsnTlv
+ Value BsnForwardErrorCorrectionType
+}
+
+type IBsnTlvForwardErrorCorrection interface {
+ IBsnTlv
+ GetValue() BsnForwardErrorCorrectionType
+}
+
+func (self *BsnTlvForwardErrorCorrection) GetValue() BsnForwardErrorCorrectionType {
+ return self.Value
+}
+
+func (self *BsnTlvForwardErrorCorrection) SetValue(v BsnForwardErrorCorrectionType) {
+ self.Value = v
+}
+
+func (self *BsnTlvForwardErrorCorrection) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvForwardErrorCorrection(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvForwardErrorCorrection, error) {
+ _bsntlvforwarderrorcorrection := &BsnTlvForwardErrorCorrection{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvForwardErrorCorrection packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvforwarderrorcorrection.Value = BsnForwardErrorCorrectionType(decoder.ReadByte())
+ return _bsntlvforwarderrorcorrection, nil
+}
+
+func NewBsnTlvForwardErrorCorrection() *BsnTlvForwardErrorCorrection {
+ obj := &BsnTlvForwardErrorCorrection{
+ BsnTlv: NewBsnTlv(149),
+ }
+ return obj
+}
+
+type BsnTlvGenerationId struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvGenerationId interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvGenerationId) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvGenerationId) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvGenerationId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvGenerationId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvGenerationId, error) {
+ _bsntlvgenerationid := &BsnTlvGenerationId{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvGenerationId packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvgenerationid.Value = uint64(decoder.ReadUint64())
+ return _bsntlvgenerationid, nil
+}
+
+func NewBsnTlvGenerationId() *BsnTlvGenerationId {
+ obj := &BsnTlvGenerationId{
+ BsnTlv: NewBsnTlv(80),
+ }
+ return obj
+}
+
+type BsnTlvHashAlgorithm struct {
+ *BsnTlv
+ Value BsnHashAlgorithmType
+}
+
+type IBsnTlvHashAlgorithm interface {
+ IBsnTlv
+ GetValue() BsnHashAlgorithmType
+}
+
+func (self *BsnTlvHashAlgorithm) GetValue() BsnHashAlgorithmType {
+ return self.Value
+}
+
+func (self *BsnTlvHashAlgorithm) SetValue(v BsnHashAlgorithmType) {
+ self.Value = v
+}
+
+func (self *BsnTlvHashAlgorithm) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvHashAlgorithm(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvHashAlgorithm, error) {
+ _bsntlvhashalgorithm := &BsnTlvHashAlgorithm{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvHashAlgorithm packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvhashalgorithm.Value = BsnHashAlgorithmType(decoder.ReadUint16())
+ return _bsntlvhashalgorithm, nil
+}
+
+func NewBsnTlvHashAlgorithm() *BsnTlvHashAlgorithm {
+ obj := &BsnTlvHashAlgorithm{
+ BsnTlv: NewBsnTlv(145),
+ }
+ return obj
+}
+
+type BsnTlvHashGtpHeaderMatch struct {
+ *BsnTlv
+ FirstHeaderByte uint8
+ FirstHeaderMask uint8
+}
+
+type IBsnTlvHashGtpHeaderMatch interface {
+ IBsnTlv
+ GetFirstHeaderByte() uint8
+ GetFirstHeaderMask() uint8
+}
+
+func (self *BsnTlvHashGtpHeaderMatch) GetFirstHeaderByte() uint8 {
+ return self.FirstHeaderByte
+}
+
+func (self *BsnTlvHashGtpHeaderMatch) SetFirstHeaderByte(v uint8) {
+ self.FirstHeaderByte = v
+}
+
+func (self *BsnTlvHashGtpHeaderMatch) GetFirstHeaderMask() uint8 {
+ return self.FirstHeaderMask
+}
+
+func (self *BsnTlvHashGtpHeaderMatch) SetFirstHeaderMask(v uint8) {
+ self.FirstHeaderMask = v
+}
+
+func (self *BsnTlvHashGtpHeaderMatch) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.FirstHeaderByte))
+ encoder.PutUint8(uint8(self.FirstHeaderMask))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvHashGtpHeaderMatch(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvHashGtpHeaderMatch, error) {
+ _bsntlvhashgtpheadermatch := &BsnTlvHashGtpHeaderMatch{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvHashGtpHeaderMatch packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvhashgtpheadermatch.FirstHeaderByte = uint8(decoder.ReadByte())
+ _bsntlvhashgtpheadermatch.FirstHeaderMask = uint8(decoder.ReadByte())
+ return _bsntlvhashgtpheadermatch, nil
+}
+
+func NewBsnTlvHashGtpHeaderMatch() *BsnTlvHashGtpHeaderMatch {
+ obj := &BsnTlvHashGtpHeaderMatch{
+ BsnTlv: NewBsnTlv(104),
+ }
+ return obj
+}
+
+type BsnTlvHashGtpPortMatch struct {
+ *BsnTlv
+ Match BsnHashGtpPortMatch
+ SrcPort uint16
+ DstPort uint16
+}
+
+type IBsnTlvHashGtpPortMatch interface {
+ IBsnTlv
+ GetMatch() BsnHashGtpPortMatch
+ GetSrcPort() uint16
+ GetDstPort() uint16
+}
+
+func (self *BsnTlvHashGtpPortMatch) GetMatch() BsnHashGtpPortMatch {
+ return self.Match
+}
+
+func (self *BsnTlvHashGtpPortMatch) SetMatch(v BsnHashGtpPortMatch) {
+ self.Match = v
+}
+
+func (self *BsnTlvHashGtpPortMatch) GetSrcPort() uint16 {
+ return self.SrcPort
+}
+
+func (self *BsnTlvHashGtpPortMatch) SetSrcPort(v uint16) {
+ self.SrcPort = v
+}
+
+func (self *BsnTlvHashGtpPortMatch) GetDstPort() uint16 {
+ return self.DstPort
+}
+
+func (self *BsnTlvHashGtpPortMatch) SetDstPort(v uint16) {
+ self.DstPort = v
+}
+
+func (self *BsnTlvHashGtpPortMatch) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Match))
+ encoder.PutUint16(uint16(self.SrcPort))
+ encoder.PutUint16(uint16(self.DstPort))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvHashGtpPortMatch(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvHashGtpPortMatch, error) {
+ _bsntlvhashgtpportmatch := &BsnTlvHashGtpPortMatch{BsnTlv: parent}
+ if decoder.Length() < 5 {
+ return nil, fmt.Errorf("BsnTlvHashGtpPortMatch packet too short: %d < 5", decoder.Length())
+ }
+ _bsntlvhashgtpportmatch.Match = BsnHashGtpPortMatch(decoder.ReadByte())
+ _bsntlvhashgtpportmatch.SrcPort = uint16(decoder.ReadUint16())
+ _bsntlvhashgtpportmatch.DstPort = uint16(decoder.ReadUint16())
+ return _bsntlvhashgtpportmatch, nil
+}
+
+func NewBsnTlvHashGtpPortMatch() *BsnTlvHashGtpPortMatch {
+ obj := &BsnTlvHashGtpPortMatch{
+ BsnTlv: NewBsnTlv(105),
+ }
+ return obj
+}
+
+type BsnTlvHashPacketField struct {
+ *BsnTlv
+ Value BsnHashPacketField
+}
+
+type IBsnTlvHashPacketField interface {
+ IBsnTlv
+ GetValue() BsnHashPacketField
+}
+
+func (self *BsnTlvHashPacketField) GetValue() BsnHashPacketField {
+ return self.Value
+}
+
+func (self *BsnTlvHashPacketField) SetValue(v BsnHashPacketField) {
+ self.Value = v
+}
+
+func (self *BsnTlvHashPacketField) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvHashPacketField(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvHashPacketField, error) {
+ _bsntlvhashpacketfield := &BsnTlvHashPacketField{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvHashPacketField packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvhashpacketfield.Value = BsnHashPacketField(decoder.ReadUint64())
+ return _bsntlvhashpacketfield, nil
+}
+
+func NewBsnTlvHashPacketField() *BsnTlvHashPacketField {
+ obj := &BsnTlvHashPacketField{
+ BsnTlv: NewBsnTlv(103),
+ }
+ return obj
+}
+
+type BsnTlvHashPacketType struct {
+ *BsnTlv
+ Value BsnHashPacketType
+}
+
+type IBsnTlvHashPacketType interface {
+ IBsnTlv
+ GetValue() BsnHashPacketType
+}
+
+func (self *BsnTlvHashPacketType) GetValue() BsnHashPacketType {
+ return self.Value
+}
+
+func (self *BsnTlvHashPacketType) SetValue(v BsnHashPacketType) {
+ self.Value = v
+}
+
+func (self *BsnTlvHashPacketType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvHashPacketType(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvHashPacketType, error) {
+ _bsntlvhashpackettype := &BsnTlvHashPacketType{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvHashPacketType packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvhashpackettype.Value = BsnHashPacketType(decoder.ReadByte())
+ return _bsntlvhashpackettype, nil
+}
+
+func NewBsnTlvHashPacketType() *BsnTlvHashPacketType {
+ obj := &BsnTlvHashPacketType{
+ BsnTlv: NewBsnTlv(102),
+ }
+ return obj
+}
+
+type BsnTlvHashSeed struct {
+ *BsnTlv
+ Seed1 uint32
+ Seed2 uint32
+}
+
+type IBsnTlvHashSeed interface {
+ IBsnTlv
+ GetSeed1() uint32
+ GetSeed2() uint32
+}
+
+func (self *BsnTlvHashSeed) GetSeed1() uint32 {
+ return self.Seed1
+}
+
+func (self *BsnTlvHashSeed) SetSeed1(v uint32) {
+ self.Seed1 = v
+}
+
+func (self *BsnTlvHashSeed) GetSeed2() uint32 {
+ return self.Seed2
+}
+
+func (self *BsnTlvHashSeed) SetSeed2(v uint32) {
+ self.Seed2 = v
+}
+
+func (self *BsnTlvHashSeed) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Seed1))
+ encoder.PutUint32(uint32(self.Seed2))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvHashSeed(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvHashSeed, error) {
+ _bsntlvhashseed := &BsnTlvHashSeed{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvHashSeed packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvhashseed.Seed1 = uint32(decoder.ReadUint32())
+ _bsntlvhashseed.Seed2 = uint32(decoder.ReadUint32())
+ return _bsntlvhashseed, nil
+}
+
+func NewBsnTlvHashSeed() *BsnTlvHashSeed {
+ obj := &BsnTlvHashSeed{
+ BsnTlv: NewBsnTlv(100),
+ }
+ return obj
+}
+
+type BsnTlvHashType struct {
+ *BsnTlv
+ Value BsnHashType
+}
+
+type IBsnTlvHashType interface {
+ IBsnTlv
+ GetValue() BsnHashType
+}
+
+func (self *BsnTlvHashType) GetValue() BsnHashType {
+ return self.Value
+}
+
+func (self *BsnTlvHashType) SetValue(v BsnHashType) {
+ self.Value = v
+}
+
+func (self *BsnTlvHashType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvHashType(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvHashType, error) {
+ _bsntlvhashtype := &BsnTlvHashType{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvHashType packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvhashtype.Value = BsnHashType(decoder.ReadByte())
+ return _bsntlvhashtype, nil
+}
+
+func NewBsnTlvHashType() *BsnTlvHashType {
+ obj := &BsnTlvHashType{
+ BsnTlv: NewBsnTlv(101),
+ }
+ return obj
+}
+
+type BsnTlvHeaderSize struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvHeaderSize interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvHeaderSize) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvHeaderSize) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvHeaderSize) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvHeaderSize(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvHeaderSize, error) {
+ _bsntlvheadersize := &BsnTlvHeaderSize{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvHeaderSize packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvheadersize.Value = uint32(decoder.ReadUint32())
+ return _bsntlvheadersize, nil
+}
+
+func NewBsnTlvHeaderSize() *BsnTlvHeaderSize {
+ obj := &BsnTlvHeaderSize{
+ BsnTlv: NewBsnTlv(31),
+ }
+ return obj
+}
+
+type BsnTlvIcmpCode struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvIcmpCode interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvIcmpCode) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvIcmpCode) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvIcmpCode) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIcmpCode(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIcmpCode, error) {
+ _bsntlvicmpcode := &BsnTlvIcmpCode{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvIcmpCode packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvicmpcode.Value = uint8(decoder.ReadByte())
+ return _bsntlvicmpcode, nil
+}
+
+func NewBsnTlvIcmpCode() *BsnTlvIcmpCode {
+ obj := &BsnTlvIcmpCode{
+ BsnTlv: NewBsnTlv(69),
+ }
+ return obj
+}
+
+type BsnTlvIcmpId struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvIcmpId interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvIcmpId) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvIcmpId) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvIcmpId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIcmpId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIcmpId, error) {
+ _bsntlvicmpid := &BsnTlvIcmpId{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvIcmpId packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvicmpid.Value = uint16(decoder.ReadUint16())
+ return _bsntlvicmpid, nil
+}
+
+func NewBsnTlvIcmpId() *BsnTlvIcmpId {
+ obj := &BsnTlvIcmpId{
+ BsnTlv: NewBsnTlv(70),
+ }
+ return obj
+}
+
+type BsnTlvIcmpType struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvIcmpType interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvIcmpType) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvIcmpType) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvIcmpType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIcmpType(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIcmpType, error) {
+ _bsntlvicmptype := &BsnTlvIcmpType{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvIcmpType packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvicmptype.Value = uint8(decoder.ReadByte())
+ return _bsntlvicmptype, nil
+}
+
+func NewBsnTlvIcmpType() *BsnTlvIcmpType {
+ obj := &BsnTlvIcmpType{
+ BsnTlv: NewBsnTlv(68),
+ }
+ return obj
+}
+
+type BsnTlvIcmpv6Chksum struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvIcmpv6Chksum interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvIcmpv6Chksum) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvIcmpv6Chksum) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvIcmpv6Chksum) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIcmpv6Chksum(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIcmpv6Chksum, error) {
+ _bsntlvicmpv6chksum := &BsnTlvIcmpv6Chksum{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvIcmpv6Chksum packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvicmpv6chksum.Value = uint16(decoder.ReadUint16())
+ return _bsntlvicmpv6chksum, nil
+}
+
+func NewBsnTlvIcmpv6Chksum() *BsnTlvIcmpv6Chksum {
+ obj := &BsnTlvIcmpv6Chksum{
+ BsnTlv: NewBsnTlv(125),
+ }
+ return obj
+}
+
+type BsnTlvIdentifier struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvIdentifier interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvIdentifier) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvIdentifier) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvIdentifier) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIdentifier(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIdentifier, error) {
+ _bsntlvidentifier := &BsnTlvIdentifier{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvIdentifier packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvidentifier.Value = uint32(decoder.ReadUint32())
+ return _bsntlvidentifier, nil
+}
+
+func NewBsnTlvIdentifier() *BsnTlvIdentifier {
+ obj := &BsnTlvIdentifier{
+ BsnTlv: NewBsnTlv(173),
+ }
+ return obj
+}
+
+type BsnTlvIdleNotification struct {
+ *BsnTlv
+}
+
+type IBsnTlvIdleNotification interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvIdleNotification) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIdleNotification(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIdleNotification, error) {
+ _bsntlvidlenotification := &BsnTlvIdleNotification{BsnTlv: parent}
+ return _bsntlvidlenotification, nil
+}
+
+func NewBsnTlvIdleNotification() *BsnTlvIdleNotification {
+ obj := &BsnTlvIdleNotification{
+ BsnTlv: NewBsnTlv(7),
+ }
+ return obj
+}
+
+type BsnTlvIdleTime struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvIdleTime interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvIdleTime) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvIdleTime) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvIdleTime) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIdleTime(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIdleTime, error) {
+ _bsntlvidletime := &BsnTlvIdleTime{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvIdleTime packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvidletime.Value = uint64(decoder.ReadUint64())
+ return _bsntlvidletime, nil
+}
+
+func NewBsnTlvIdleTime() *BsnTlvIdleTime {
+ obj := &BsnTlvIdleTime{
+ BsnTlv: NewBsnTlv(5),
+ }
+ return obj
+}
+
+type BsnTlvIdleTimeout struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvIdleTimeout interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvIdleTimeout) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvIdleTimeout) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvIdleTimeout) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIdleTimeout(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIdleTimeout, error) {
+ _bsntlvidletimeout := &BsnTlvIdleTimeout{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvIdleTimeout packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvidletimeout.Value = uint32(decoder.ReadUint32())
+ return _bsntlvidletimeout, nil
+}
+
+func NewBsnTlvIdleTimeout() *BsnTlvIdleTimeout {
+ obj := &BsnTlvIdleTimeout{
+ BsnTlv: NewBsnTlv(8),
+ }
+ return obj
+}
+
+type BsnTlvIgmpSnooping struct {
+ *BsnTlv
+}
+
+type IBsnTlvIgmpSnooping interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvIgmpSnooping) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIgmpSnooping(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIgmpSnooping, error) {
+ _bsntlvigmpsnooping := &BsnTlvIgmpSnooping{BsnTlv: parent}
+ return _bsntlvigmpsnooping, nil
+}
+
+func NewBsnTlvIgmpSnooping() *BsnTlvIgmpSnooping {
+ obj := &BsnTlvIgmpSnooping{
+ BsnTlv: NewBsnTlv(78),
+ }
+ return obj
+}
+
+type BsnTlvIngressPortGroupId struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvIngressPortGroupId interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvIngressPortGroupId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvIngressPortGroupId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvIngressPortGroupId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIngressPortGroupId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIngressPortGroupId, error) {
+ _bsntlvingressportgroupid := &BsnTlvIngressPortGroupId{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvIngressPortGroupId packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvingressportgroupid.Value = uint32(decoder.ReadUint32())
+ return _bsntlvingressportgroupid, nil
+}
+
+func NewBsnTlvIngressPortGroupId() *BsnTlvIngressPortGroupId {
+ obj := &BsnTlvIngressPortGroupId{
+ BsnTlv: NewBsnTlv(138),
+ }
+ return obj
+}
+
+type BsnTlvInternalGatewayMac struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvInternalGatewayMac interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvInternalGatewayMac) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvInternalGatewayMac) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvInternalGatewayMac) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvInternalGatewayMac(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvInternalGatewayMac, error) {
+ _bsntlvinternalgatewaymac := &BsnTlvInternalGatewayMac{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvInternalGatewayMac packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvinternalgatewaymac.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvinternalgatewaymac, nil
+}
+
+func NewBsnTlvInternalGatewayMac() *BsnTlvInternalGatewayMac {
+ obj := &BsnTlvInternalGatewayMac{
+ BsnTlv: NewBsnTlv(28),
+ }
+ return obj
+}
+
+type BsnTlvInternalMac struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvInternalMac interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvInternalMac) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvInternalMac) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvInternalMac) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvInternalMac(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvInternalMac, error) {
+ _bsntlvinternalmac := &BsnTlvInternalMac{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvInternalMac packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvinternalmac.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvinternalmac, nil
+}
+
+func NewBsnTlvInternalMac() *BsnTlvInternalMac {
+ obj := &BsnTlvInternalMac{
+ BsnTlv: NewBsnTlv(27),
+ }
+ return obj
+}
+
+type BsnTlvInterval struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvInterval interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvInterval) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvInterval) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvInterval) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvInterval(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvInterval, error) {
+ _bsntlvinterval := &BsnTlvInterval{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvInterval packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvinterval.Value = uint32(decoder.ReadUint32())
+ return _bsntlvinterval, nil
+}
+
+func NewBsnTlvInterval() *BsnTlvInterval {
+ obj := &BsnTlvInterval{
+ BsnTlv: NewBsnTlv(58),
+ }
+ return obj
+}
+
+type BsnTlvIpProto struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvIpProto interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvIpProto) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvIpProto) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpProto) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpProto(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpProto, error) {
+ _bsntlvipproto := &BsnTlvIpProto{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvIpProto packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvipproto.Value = uint8(decoder.ReadByte())
+ return _bsntlvipproto, nil
+}
+
+func NewBsnTlvIpProto() *BsnTlvIpProto {
+ obj := &BsnTlvIpProto{
+ BsnTlv: NewBsnTlv(67),
+ }
+ return obj
+}
+
+type BsnTlvIpTunnelType struct {
+ *BsnTlv
+ Value BsnIpTunnelType
+}
+
+type IBsnTlvIpTunnelType interface {
+ IBsnTlv
+ GetValue() BsnIpTunnelType
+}
+
+func (self *BsnTlvIpTunnelType) GetValue() BsnIpTunnelType {
+ return self.Value
+}
+
+func (self *BsnTlvIpTunnelType) SetValue(v BsnIpTunnelType) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpTunnelType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpTunnelType(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpTunnelType, error) {
+ _bsntlviptunneltype := &BsnTlvIpTunnelType{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvIpTunnelType packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlviptunneltype.Value = BsnIpTunnelType(decoder.ReadUint16())
+ return _bsntlviptunneltype, nil
+}
+
+func NewBsnTlvIpTunnelType() *BsnTlvIpTunnelType {
+ obj := &BsnTlvIpTunnelType{
+ BsnTlv: NewBsnTlv(169),
+ }
+ return obj
+}
+
+type BsnTlvIpv4 struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvIpv4 interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvIpv4) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvIpv4) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpv4) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpv4(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpv4, error) {
+ _bsntlvipv4 := &BsnTlvIpv4{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvIpv4 packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvipv4.Value = net.IP(decoder.Read(4))
+ return _bsntlvipv4, nil
+}
+
+func NewBsnTlvIpv4() *BsnTlvIpv4 {
+ obj := &BsnTlvIpv4{
+ BsnTlv: NewBsnTlv(4),
+ }
+ return obj
+}
+
+type BsnTlvIpv4Dst struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvIpv4Dst interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvIpv4Dst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvIpv4Dst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpv4Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpv4Dst(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpv4Dst, error) {
+ _bsntlvipv4dst := &BsnTlvIpv4Dst{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvIpv4Dst packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvipv4dst.Value = net.IP(decoder.Read(4))
+ return _bsntlvipv4dst, nil
+}
+
+func NewBsnTlvIpv4Dst() *BsnTlvIpv4Dst {
+ obj := &BsnTlvIpv4Dst{
+ BsnTlv: NewBsnTlv(35),
+ }
+ return obj
+}
+
+type BsnTlvIpv4Netmask struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvIpv4Netmask interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvIpv4Netmask) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvIpv4Netmask) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpv4Netmask) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpv4Netmask(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpv4Netmask, error) {
+ _bsntlvipv4netmask := &BsnTlvIpv4Netmask{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvIpv4Netmask packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvipv4netmask.Value = net.IP(decoder.Read(4))
+ return _bsntlvipv4netmask, nil
+}
+
+func NewBsnTlvIpv4Netmask() *BsnTlvIpv4Netmask {
+ obj := &BsnTlvIpv4Netmask{
+ BsnTlv: NewBsnTlv(60),
+ }
+ return obj
+}
+
+type BsnTlvIpv4Src struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvIpv4Src interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvIpv4Src) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvIpv4Src) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpv4Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpv4Src(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpv4Src, error) {
+ _bsntlvipv4src := &BsnTlvIpv4Src{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvIpv4Src packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvipv4src.Value = net.IP(decoder.Read(4))
+ return _bsntlvipv4src, nil
+}
+
+func NewBsnTlvIpv4Src() *BsnTlvIpv4Src {
+ obj := &BsnTlvIpv4Src{
+ BsnTlv: NewBsnTlv(34),
+ }
+ return obj
+}
+
+type BsnTlvIpv6 struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvIpv6 interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvIpv6) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvIpv6) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpv6) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpv6(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpv6, error) {
+ _bsntlvipv6 := &BsnTlvIpv6{BsnTlv: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("BsnTlvIpv6 packet too short: %d < 16", decoder.Length())
+ }
+ _bsntlvipv6.Value = net.IP(decoder.Read(16))
+ return _bsntlvipv6, nil
+}
+
+func NewBsnTlvIpv6() *BsnTlvIpv6 {
+ obj := &BsnTlvIpv6{
+ BsnTlv: NewBsnTlv(84),
+ }
+ return obj
+}
+
+type BsnTlvIpv6Dst struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvIpv6Dst interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvIpv6Dst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvIpv6Dst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpv6Dst(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpv6Dst, error) {
+ _bsntlvipv6dst := &BsnTlvIpv6Dst{BsnTlv: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("BsnTlvIpv6Dst packet too short: %d < 16", decoder.Length())
+ }
+ _bsntlvipv6dst.Value = net.IP(decoder.Read(16))
+ return _bsntlvipv6dst, nil
+}
+
+func NewBsnTlvIpv6Dst() *BsnTlvIpv6Dst {
+ obj := &BsnTlvIpv6Dst{
+ BsnTlv: NewBsnTlv(127),
+ }
+ return obj
+}
+
+type BsnTlvIpv6Prefix struct {
+ *BsnTlv
+ Value net.IP
+ PrefixLength uint8
+}
+
+type IBsnTlvIpv6Prefix interface {
+ IBsnTlv
+ GetValue() net.IP
+ GetPrefixLength() uint8
+}
+
+func (self *BsnTlvIpv6Prefix) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvIpv6Prefix) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpv6Prefix) GetPrefixLength() uint8 {
+ return self.PrefixLength
+}
+
+func (self *BsnTlvIpv6Prefix) SetPrefixLength(v uint8) {
+ self.PrefixLength = v
+}
+
+func (self *BsnTlvIpv6Prefix) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.PutUint8(uint8(self.PrefixLength))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpv6Prefix(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpv6Prefix, error) {
+ _bsntlvipv6prefix := &BsnTlvIpv6Prefix{BsnTlv: parent}
+ if decoder.Length() < 17 {
+ return nil, fmt.Errorf("BsnTlvIpv6Prefix packet too short: %d < 17", decoder.Length())
+ }
+ _bsntlvipv6prefix.Value = net.IP(decoder.Read(16))
+ _bsntlvipv6prefix.PrefixLength = uint8(decoder.ReadByte())
+ return _bsntlvipv6prefix, nil
+}
+
+func NewBsnTlvIpv6Prefix() *BsnTlvIpv6Prefix {
+ obj := &BsnTlvIpv6Prefix{
+ BsnTlv: NewBsnTlv(122),
+ }
+ return obj
+}
+
+type BsnTlvIpv6Src struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvIpv6Src interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvIpv6Src) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvIpv6Src) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvIpv6Src(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvIpv6Src, error) {
+ _bsntlvipv6src := &BsnTlvIpv6Src{BsnTlv: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("BsnTlvIpv6Src packet too short: %d < 16", decoder.Length())
+ }
+ _bsntlvipv6src.Value = net.IP(decoder.Read(16))
+ return _bsntlvipv6src, nil
+}
+
+func NewBsnTlvIpv6Src() *BsnTlvIpv6Src {
+ obj := &BsnTlvIpv6Src{
+ BsnTlv: NewBsnTlv(126),
+ }
+ return obj
+}
+
+type BsnTlvKnownMulticastRate struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvKnownMulticastRate interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvKnownMulticastRate) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvKnownMulticastRate) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvKnownMulticastRate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvKnownMulticastRate(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvKnownMulticastRate, error) {
+ _bsntlvknownmulticastrate := &BsnTlvKnownMulticastRate{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvKnownMulticastRate packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvknownmulticastrate.Value = uint32(decoder.ReadUint32())
+ return _bsntlvknownmulticastrate, nil
+}
+
+func NewBsnTlvKnownMulticastRate() *BsnTlvKnownMulticastRate {
+ obj := &BsnTlvKnownMulticastRate{
+ BsnTlv: NewBsnTlv(91),
+ }
+ return obj
+}
+
+type BsnTlvL2MulticastLookup struct {
+ *BsnTlv
+}
+
+type IBsnTlvL2MulticastLookup interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvL2MulticastLookup) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvL2MulticastLookup(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvL2MulticastLookup, error) {
+ _bsntlvl2multicastlookup := &BsnTlvL2MulticastLookup{BsnTlv: parent}
+ return _bsntlvl2multicastlookup, nil
+}
+
+func NewBsnTlvL2MulticastLookup() *BsnTlvL2MulticastLookup {
+ obj := &BsnTlvL2MulticastLookup{
+ BsnTlv: NewBsnTlv(79),
+ }
+ return obj
+}
+
+type BsnTlvL3 struct {
+ *BsnTlv
+}
+
+type IBsnTlvL3 interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvL3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvL3(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvL3, error) {
+ _bsntlvl3 := &BsnTlvL3{BsnTlv: parent}
+ return _bsntlvl3, nil
+}
+
+func NewBsnTlvL3() *BsnTlvL3 {
+ obj := &BsnTlvL3{
+ BsnTlv: NewBsnTlv(168),
+ }
+ return obj
+}
+
+type BsnTlvL3DstClassId struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvL3DstClassId interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvL3DstClassId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvL3DstClassId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvL3DstClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvL3DstClassId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvL3DstClassId, error) {
+ _bsntlvl3dstclassid := &BsnTlvL3DstClassId{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvL3DstClassId packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvl3dstclassid.Value = uint32(decoder.ReadUint32())
+ return _bsntlvl3dstclassid, nil
+}
+
+func NewBsnTlvL3DstClassId() *BsnTlvL3DstClassId {
+ obj := &BsnTlvL3DstClassId{
+ BsnTlv: NewBsnTlv(136),
+ }
+ return obj
+}
+
+type BsnTlvL3InterfaceClassId struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvL3InterfaceClassId interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvL3InterfaceClassId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvL3InterfaceClassId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvL3InterfaceClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvL3InterfaceClassId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvL3InterfaceClassId, error) {
+ _bsntlvl3interfaceclassid := &BsnTlvL3InterfaceClassId{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvL3InterfaceClassId packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvl3interfaceclassid.Value = uint32(decoder.ReadUint32())
+ return _bsntlvl3interfaceclassid, nil
+}
+
+func NewBsnTlvL3InterfaceClassId() *BsnTlvL3InterfaceClassId {
+ obj := &BsnTlvL3InterfaceClassId{
+ BsnTlv: NewBsnTlv(134),
+ }
+ return obj
+}
+
+type BsnTlvL3SrcClassId struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvL3SrcClassId interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvL3SrcClassId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvL3SrcClassId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvL3SrcClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvL3SrcClassId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvL3SrcClassId, error) {
+ _bsntlvl3srcclassid := &BsnTlvL3SrcClassId{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvL3SrcClassId packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvl3srcclassid.Value = uint32(decoder.ReadUint32())
+ return _bsntlvl3srcclassid, nil
+}
+
+func NewBsnTlvL3SrcClassId() *BsnTlvL3SrcClassId {
+ obj := &BsnTlvL3SrcClassId{
+ BsnTlv: NewBsnTlv(135),
+ }
+ return obj
+}
+
+type BsnTlvLagOptions struct {
+ *BsnTlv
+ Flags BsnLagFlag
+}
+
+type IBsnTlvLagOptions interface {
+ IBsnTlv
+ GetFlags() BsnLagFlag
+}
+
+func (self *BsnTlvLagOptions) GetFlags() BsnLagFlag {
+ return self.Flags
+}
+
+func (self *BsnTlvLagOptions) SetFlags(v BsnLagFlag) {
+ self.Flags = v
+}
+
+func (self *BsnTlvLagOptions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Flags))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvLagOptions(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvLagOptions, error) {
+ _bsntlvlagoptions := &BsnTlvLagOptions{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvLagOptions packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvlagoptions.Flags = BsnLagFlag(decoder.ReadUint16())
+ return _bsntlvlagoptions, nil
+}
+
+func NewBsnTlvLagOptions() *BsnTlvLagOptions {
+ obj := &BsnTlvLagOptions{
+ BsnTlv: NewBsnTlv(160),
+ }
+ return obj
+}
+
+type BsnTlvLoopbackMode struct {
+ *BsnTlv
+ Value BsnLoopbackMode
+}
+
+type IBsnTlvLoopbackMode interface {
+ IBsnTlv
+ GetValue() BsnLoopbackMode
+}
+
+func (self *BsnTlvLoopbackMode) GetValue() BsnLoopbackMode {
+ return self.Value
+}
+
+func (self *BsnTlvLoopbackMode) SetValue(v BsnLoopbackMode) {
+ self.Value = v
+}
+
+func (self *BsnTlvLoopbackMode) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvLoopbackMode(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvLoopbackMode, error) {
+ _bsntlvloopbackmode := &BsnTlvLoopbackMode{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvLoopbackMode packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvloopbackmode.Value = BsnLoopbackMode(decoder.ReadByte())
+ return _bsntlvloopbackmode, nil
+}
+
+func NewBsnTlvLoopbackMode() *BsnTlvLoopbackMode {
+ obj := &BsnTlvLoopbackMode{
+ BsnTlv: NewBsnTlv(146),
+ }
+ return obj
+}
+
+type BsnTlvLoopbackPort struct {
+ *BsnTlv
+ Value Port
+}
+
+type IBsnTlvLoopbackPort interface {
+ IBsnTlv
+ GetValue() Port
+}
+
+func (self *BsnTlvLoopbackPort) GetValue() Port {
+ return self.Value
+}
+
+func (self *BsnTlvLoopbackPort) SetValue(v Port) {
+ self.Value = v
+}
+
+func (self *BsnTlvLoopbackPort) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvLoopbackPort(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvLoopbackPort, error) {
+ _bsntlvloopbackport := &BsnTlvLoopbackPort{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvLoopbackPort packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvloopbackport.Value.Decode(decoder)
+ return _bsntlvloopbackport, nil
+}
+
+func NewBsnTlvLoopbackPort() *BsnTlvLoopbackPort {
+ obj := &BsnTlvLoopbackPort{
+ BsnTlv: NewBsnTlv(110),
+ }
+ return obj
+}
+
+type BsnTlvLrAllEnabled struct {
+ *BsnTlv
+}
+
+type IBsnTlvLrAllEnabled interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvLrAllEnabled) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvLrAllEnabled(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvLrAllEnabled, error) {
+ _bsntlvlrallenabled := &BsnTlvLrAllEnabled{BsnTlv: parent}
+ return _bsntlvlrallenabled, nil
+}
+
+func NewBsnTlvLrAllEnabled() *BsnTlvLrAllEnabled {
+ obj := &BsnTlvLrAllEnabled{
+ BsnTlv: NewBsnTlv(178),
+ }
+ return obj
+}
+
+type BsnTlvMac struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvMac interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvMac) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvMac) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvMac) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMac(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMac, error) {
+ _bsntlvmac := &BsnTlvMac{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvMac packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvmac.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvmac, nil
+}
+
+func NewBsnTlvMac() *BsnTlvMac {
+ obj := &BsnTlvMac{
+ BsnTlv: NewBsnTlv(1),
+ }
+ return obj
+}
+
+type BsnTlvMacMask struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvMacMask interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvMacMask) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvMacMask) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvMacMask) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMacMask(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMacMask, error) {
+ _bsntlvmacmask := &BsnTlvMacMask{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvMacMask packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvmacmask.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvmacmask, nil
+}
+
+func NewBsnTlvMacMask() *BsnTlvMacMask {
+ obj := &BsnTlvMacMask{
+ BsnTlv: NewBsnTlv(56),
+ }
+ return obj
+}
+
+type BsnTlvMcgTypeVxlan struct {
+ *BsnTlv
+}
+
+type IBsnTlvMcgTypeVxlan interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvMcgTypeVxlan) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMcgTypeVxlan(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMcgTypeVxlan, error) {
+ _bsntlvmcgtypevxlan := &BsnTlvMcgTypeVxlan{BsnTlv: parent}
+ return _bsntlvmcgtypevxlan, nil
+}
+
+func NewBsnTlvMcgTypeVxlan() *BsnTlvMcgTypeVxlan {
+ obj := &BsnTlvMcgTypeVxlan{
+ BsnTlv: NewBsnTlv(87),
+ }
+ return obj
+}
+
+type BsnTlvMissPackets struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvMissPackets interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvMissPackets) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvMissPackets) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvMissPackets) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMissPackets(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMissPackets, error) {
+ _bsntlvmisspackets := &BsnTlvMissPackets{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvMissPackets packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvmisspackets.Value = uint64(decoder.ReadUint64())
+ return _bsntlvmisspackets, nil
+}
+
+func NewBsnTlvMissPackets() *BsnTlvMissPackets {
+ obj := &BsnTlvMissPackets{
+ BsnTlv: NewBsnTlv(13),
+ }
+ return obj
+}
+
+type BsnTlvMplsControlWord struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvMplsControlWord interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvMplsControlWord) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvMplsControlWord) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvMplsControlWord) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMplsControlWord(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMplsControlWord, error) {
+ _bsntlvmplscontrolword := &BsnTlvMplsControlWord{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvMplsControlWord packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvmplscontrolword.Value = uint8(decoder.ReadByte())
+ return _bsntlvmplscontrolword, nil
+}
+
+func NewBsnTlvMplsControlWord() *BsnTlvMplsControlWord {
+ obj := &BsnTlvMplsControlWord{
+ BsnTlv: NewBsnTlv(62),
+ }
+ return obj
+}
+
+type BsnTlvMplsLabel struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvMplsLabel interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvMplsLabel) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvMplsLabel) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvMplsLabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMplsLabel(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMplsLabel, error) {
+ _bsntlvmplslabel := &BsnTlvMplsLabel{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvMplsLabel packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvmplslabel.Value = uint32(decoder.ReadUint32())
+ return _bsntlvmplslabel, nil
+}
+
+func NewBsnTlvMplsLabel() *BsnTlvMplsLabel {
+ obj := &BsnTlvMplsLabel{
+ BsnTlv: NewBsnTlv(61),
+ }
+ return obj
+}
+
+type BsnTlvMplsSequenced struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvMplsSequenced interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvMplsSequenced) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvMplsSequenced) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvMplsSequenced) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMplsSequenced(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMplsSequenced, error) {
+ _bsntlvmplssequenced := &BsnTlvMplsSequenced{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvMplsSequenced packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvmplssequenced.Value = uint8(decoder.ReadByte())
+ return _bsntlvmplssequenced, nil
+}
+
+func NewBsnTlvMplsSequenced() *BsnTlvMplsSequenced {
+ obj := &BsnTlvMplsSequenced{
+ BsnTlv: NewBsnTlv(63),
+ }
+ return obj
+}
+
+type BsnTlvMulticastInterfaceId struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvMulticastInterfaceId interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvMulticastInterfaceId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvMulticastInterfaceId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvMulticastInterfaceId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMulticastInterfaceId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMulticastInterfaceId, error) {
+ _bsntlvmulticastinterfaceid := &BsnTlvMulticastInterfaceId{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvMulticastInterfaceId packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvmulticastinterfaceid.Value = uint32(decoder.ReadUint32())
+ return _bsntlvmulticastinterfaceid, nil
+}
+
+func NewBsnTlvMulticastInterfaceId() *BsnTlvMulticastInterfaceId {
+ obj := &BsnTlvMulticastInterfaceId{
+ BsnTlv: NewBsnTlv(95),
+ }
+ return obj
+}
+
+type BsnTlvMulticastPacket struct {
+ *BsnTlv
+ Value BsnMulticastPacket
+}
+
+type IBsnTlvMulticastPacket interface {
+ IBsnTlv
+ GetValue() BsnMulticastPacket
+}
+
+func (self *BsnTlvMulticastPacket) GetValue() BsnMulticastPacket {
+ return self.Value
+}
+
+func (self *BsnTlvMulticastPacket) SetValue(v BsnMulticastPacket) {
+ self.Value = v
+}
+
+func (self *BsnTlvMulticastPacket) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMulticastPacket(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMulticastPacket, error) {
+ _bsntlvmulticastpacket := &BsnTlvMulticastPacket{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvMulticastPacket packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvmulticastpacket.Value = BsnMulticastPacket(decoder.ReadUint16())
+ return _bsntlvmulticastpacket, nil
+}
+
+func NewBsnTlvMulticastPacket() *BsnTlvMulticastPacket {
+ obj := &BsnTlvMulticastPacket{
+ BsnTlv: NewBsnTlv(170),
+ }
+ return obj
+}
+
+type BsnTlvMultiplier struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvMultiplier interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvMultiplier) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvMultiplier) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvMultiplier) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvMultiplier(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvMultiplier, error) {
+ _bsntlvmultiplier := &BsnTlvMultiplier{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvMultiplier packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvmultiplier.Value = uint32(decoder.ReadUint32())
+ return _bsntlvmultiplier, nil
+}
+
+func NewBsnTlvMultiplier() *BsnTlvMultiplier {
+ obj := &BsnTlvMultiplier{
+ BsnTlv: NewBsnTlv(174),
+ }
+ return obj
+}
+
+type BsnTlvName struct {
+ *BsnTlv
+ Value []byte
+}
+
+type IBsnTlvName interface {
+ IBsnTlv
+ GetValue() []byte
+}
+
+func (self *BsnTlvName) GetValue() []byte {
+ return self.Value
+}
+
+func (self *BsnTlvName) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *BsnTlvName) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvName(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvName, error) {
+ _bsntlvname := &BsnTlvName{BsnTlv: parent}
+ _bsntlvname.Value = decoder.Read(int(decoder.Length()))
+ return _bsntlvname, nil
+}
+
+func NewBsnTlvName() *BsnTlvName {
+ obj := &BsnTlvName{
+ BsnTlv: NewBsnTlv(52),
+ }
+ return obj
+}
+
+type BsnTlvNdpOffload struct {
+ *BsnTlv
+}
+
+type IBsnTlvNdpOffload interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvNdpOffload) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvNdpOffload(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvNdpOffload, error) {
+ _bsntlvndpoffload := &BsnTlvNdpOffload{BsnTlv: parent}
+ return _bsntlvndpoffload, nil
+}
+
+func NewBsnTlvNdpOffload() *BsnTlvNdpOffload {
+ obj := &BsnTlvNdpOffload{
+ BsnTlv: NewBsnTlv(123),
+ }
+ return obj
+}
+
+type BsnTlvNdpStatic struct {
+ *BsnTlv
+}
+
+type IBsnTlvNdpStatic interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvNdpStatic) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvNdpStatic(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvNdpStatic, error) {
+ _bsntlvndpstatic := &BsnTlvNdpStatic{BsnTlv: parent}
+ return _bsntlvndpstatic, nil
+}
+
+func NewBsnTlvNdpStatic() *BsnTlvNdpStatic {
+ obj := &BsnTlvNdpStatic{
+ BsnTlv: NewBsnTlv(124),
+ }
+ return obj
+}
+
+type BsnTlvNegate struct {
+ *BsnTlv
+}
+
+type IBsnTlvNegate interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvNegate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvNegate(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvNegate, error) {
+ _bsntlvnegate := &BsnTlvNegate{BsnTlv: parent}
+ return _bsntlvnegate, nil
+}
+
+func NewBsnTlvNegate() *BsnTlvNegate {
+ obj := &BsnTlvNegate{
+ BsnTlv: NewBsnTlv(83),
+ }
+ return obj
+}
+
+type BsnTlvNextHopIpv4 struct {
+ *BsnTlv
+ Value net.IP
+}
+
+type IBsnTlvNextHopIpv4 interface {
+ IBsnTlv
+ GetValue() net.IP
+}
+
+func (self *BsnTlvNextHopIpv4) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *BsnTlvNextHopIpv4) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *BsnTlvNextHopIpv4) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvNextHopIpv4(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvNextHopIpv4, error) {
+ _bsntlvnexthopipv4 := &BsnTlvNextHopIpv4{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvNextHopIpv4 packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvnexthopipv4.Value = net.IP(decoder.Read(4))
+ return _bsntlvnexthopipv4, nil
+}
+
+func NewBsnTlvNextHopIpv4() *BsnTlvNextHopIpv4 {
+ obj := &BsnTlvNextHopIpv4{
+ BsnTlv: NewBsnTlv(115),
+ }
+ return obj
+}
+
+type BsnTlvNextHopMac struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvNextHopMac interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvNextHopMac) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvNextHopMac) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvNextHopMac) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvNextHopMac(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvNextHopMac, error) {
+ _bsntlvnexthopmac := &BsnTlvNextHopMac{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvNextHopMac packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvnexthopmac.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvnexthopmac, nil
+}
+
+func NewBsnTlvNextHopMac() *BsnTlvNextHopMac {
+ obj := &BsnTlvNextHopMac{
+ BsnTlv: NewBsnTlv(114),
+ }
+ return obj
+}
+
+type BsnTlvNexthopTypeVxlan struct {
+ *BsnTlv
+}
+
+type IBsnTlvNexthopTypeVxlan interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvNexthopTypeVxlan) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvNexthopTypeVxlan(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvNexthopTypeVxlan, error) {
+ _bsntlvnexthoptypevxlan := &BsnTlvNexthopTypeVxlan{BsnTlv: parent}
+ return _bsntlvnexthoptypevxlan, nil
+}
+
+func NewBsnTlvNexthopTypeVxlan() *BsnTlvNexthopTypeVxlan {
+ obj := &BsnTlvNexthopTypeVxlan{
+ BsnTlv: NewBsnTlv(94),
+ }
+ return obj
+}
+
+type BsnTlvNoArpResponse struct {
+ *BsnTlv
+}
+
+type IBsnTlvNoArpResponse interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvNoArpResponse) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvNoArpResponse(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvNoArpResponse, error) {
+ _bsntlvnoarpresponse := &BsnTlvNoArpResponse{BsnTlv: parent}
+ return _bsntlvnoarpresponse, nil
+}
+
+func NewBsnTlvNoArpResponse() *BsnTlvNoArpResponse {
+ obj := &BsnTlvNoArpResponse{
+ BsnTlv: NewBsnTlv(147),
+ }
+ return obj
+}
+
+type BsnTlvNoNsResponse struct {
+ *BsnTlv
+}
+
+type IBsnTlvNoNsResponse interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvNoNsResponse) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvNoNsResponse(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvNoNsResponse, error) {
+ _bsntlvnonsresponse := &BsnTlvNoNsResponse{BsnTlv: parent}
+ return _bsntlvnonsresponse, nil
+}
+
+func NewBsnTlvNoNsResponse() *BsnTlvNoNsResponse {
+ obj := &BsnTlvNoNsResponse{
+ BsnTlv: NewBsnTlv(148),
+ }
+ return obj
+}
+
+type BsnTlvOffset struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvOffset interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvOffset) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvOffset) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvOffset) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvOffset(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvOffset, error) {
+ _bsntlvoffset := &BsnTlvOffset{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvOffset packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvoffset.Value = uint16(decoder.ReadUint16())
+ return _bsntlvoffset, nil
+}
+
+func NewBsnTlvOffset() *BsnTlvOffset {
+ obj := &BsnTlvOffset{
+ BsnTlv: NewBsnTlv(82),
+ }
+ return obj
+}
+
+type BsnTlvOpticsAlwaysEnabled struct {
+ *BsnTlv
+}
+
+type IBsnTlvOpticsAlwaysEnabled interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvOpticsAlwaysEnabled) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvOpticsAlwaysEnabled(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvOpticsAlwaysEnabled, error) {
+ _bsntlvopticsalwaysenabled := &BsnTlvOpticsAlwaysEnabled{BsnTlv: parent}
+ return _bsntlvopticsalwaysenabled, nil
+}
+
+func NewBsnTlvOpticsAlwaysEnabled() *BsnTlvOpticsAlwaysEnabled {
+ obj := &BsnTlvOpticsAlwaysEnabled{
+ BsnTlv: NewBsnTlv(150),
+ }
+ return obj
+}
+
+type BsnTlvOuterSrcMac struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvOuterSrcMac interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvOuterSrcMac) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvOuterSrcMac) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvOuterSrcMac) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvOuterSrcMac(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvOuterSrcMac, error) {
+ _bsntlvoutersrcmac := &BsnTlvOuterSrcMac{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvOuterSrcMac packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvoutersrcmac.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvoutersrcmac, nil
+}
+
+func NewBsnTlvOuterSrcMac() *BsnTlvOuterSrcMac {
+ obj := &BsnTlvOuterSrcMac{
+ BsnTlv: NewBsnTlv(157),
+ }
+ return obj
+}
+
+type BsnTlvParentPort struct {
+ *BsnTlv
+ Value Port
+}
+
+type IBsnTlvParentPort interface {
+ IBsnTlv
+ GetValue() Port
+}
+
+func (self *BsnTlvParentPort) GetValue() Port {
+ return self.Value
+}
+
+func (self *BsnTlvParentPort) SetValue(v Port) {
+ self.Value = v
+}
+
+func (self *BsnTlvParentPort) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvParentPort(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvParentPort, error) {
+ _bsntlvparentport := &BsnTlvParentPort{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvParentPort packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvparentport.Value.Decode(decoder)
+ return _bsntlvparentport, nil
+}
+
+func NewBsnTlvParentPort() *BsnTlvParentPort {
+ obj := &BsnTlvParentPort{
+ BsnTlv: NewBsnTlv(109),
+ }
+ return obj
+}
+
+type BsnTlvPartnerKey struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvPartnerKey interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvPartnerKey) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvPartnerKey) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvPartnerKey) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPartnerKey(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPartnerKey, error) {
+ _bsntlvpartnerkey := &BsnTlvPartnerKey{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvPartnerKey packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvpartnerkey.Value = uint16(decoder.ReadUint16())
+ return _bsntlvpartnerkey, nil
+}
+
+func NewBsnTlvPartnerKey() *BsnTlvPartnerKey {
+ obj := &BsnTlvPartnerKey{
+ BsnTlv: NewBsnTlv(51),
+ }
+ return obj
+}
+
+type BsnTlvPartnerPortNum struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvPartnerPortNum interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvPartnerPortNum) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvPartnerPortNum) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvPartnerPortNum) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPartnerPortNum(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPartnerPortNum, error) {
+ _bsntlvpartnerportnum := &BsnTlvPartnerPortNum{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvPartnerPortNum packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvpartnerportnum.Value = uint16(decoder.ReadUint16())
+ return _bsntlvpartnerportnum, nil
+}
+
+func NewBsnTlvPartnerPortNum() *BsnTlvPartnerPortNum {
+ obj := &BsnTlvPartnerPortNum{
+ BsnTlv: NewBsnTlv(50),
+ }
+ return obj
+}
+
+type BsnTlvPartnerPortPriority struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvPartnerPortPriority interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvPartnerPortPriority) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvPartnerPortPriority) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvPartnerPortPriority) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPartnerPortPriority(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPartnerPortPriority, error) {
+ _bsntlvpartnerportpriority := &BsnTlvPartnerPortPriority{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvPartnerPortPriority packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvpartnerportpriority.Value = uint16(decoder.ReadUint16())
+ return _bsntlvpartnerportpriority, nil
+}
+
+func NewBsnTlvPartnerPortPriority() *BsnTlvPartnerPortPriority {
+ obj := &BsnTlvPartnerPortPriority{
+ BsnTlv: NewBsnTlv(49),
+ }
+ return obj
+}
+
+type BsnTlvPartnerState struct {
+ *BsnTlv
+ Value BsnLacpState
+}
+
+type IBsnTlvPartnerState interface {
+ IBsnTlv
+ GetValue() BsnLacpState
+}
+
+func (self *BsnTlvPartnerState) GetValue() BsnLacpState {
+ return self.Value
+}
+
+func (self *BsnTlvPartnerState) SetValue(v BsnLacpState) {
+ self.Value = v
+}
+
+func (self *BsnTlvPartnerState) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPartnerState(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPartnerState, error) {
+ _bsntlvpartnerstate := &BsnTlvPartnerState{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvPartnerState packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvpartnerstate.Value = BsnLacpState(decoder.ReadByte())
+ return _bsntlvpartnerstate, nil
+}
+
+func NewBsnTlvPartnerState() *BsnTlvPartnerState {
+ obj := &BsnTlvPartnerState{
+ BsnTlv: NewBsnTlv(54),
+ }
+ return obj
+}
+
+type BsnTlvPartnerSystemMac struct {
+ *BsnTlv
+ Value net.HardwareAddr
+}
+
+type IBsnTlvPartnerSystemMac interface {
+ IBsnTlv
+ GetValue() net.HardwareAddr
+}
+
+func (self *BsnTlvPartnerSystemMac) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *BsnTlvPartnerSystemMac) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *BsnTlvPartnerSystemMac) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPartnerSystemMac(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPartnerSystemMac, error) {
+ _bsntlvpartnersystemmac := &BsnTlvPartnerSystemMac{BsnTlv: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("BsnTlvPartnerSystemMac packet too short: %d < 6", decoder.Length())
+ }
+ _bsntlvpartnersystemmac.Value = net.HardwareAddr(decoder.Read(6))
+ return _bsntlvpartnersystemmac, nil
+}
+
+func NewBsnTlvPartnerSystemMac() *BsnTlvPartnerSystemMac {
+ obj := &BsnTlvPartnerSystemMac{
+ BsnTlv: NewBsnTlv(48),
+ }
+ return obj
+}
+
+type BsnTlvPartnerSystemPriority struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvPartnerSystemPriority interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvPartnerSystemPriority) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvPartnerSystemPriority) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvPartnerSystemPriority) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPartnerSystemPriority(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPartnerSystemPriority, error) {
+ _bsntlvpartnersystempriority := &BsnTlvPartnerSystemPriority{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvPartnerSystemPriority packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvpartnersystempriority.Value = uint16(decoder.ReadUint16())
+ return _bsntlvpartnersystempriority, nil
+}
+
+func NewBsnTlvPartnerSystemPriority() *BsnTlvPartnerSystemPriority {
+ obj := &BsnTlvPartnerSystemPriority{
+ BsnTlv: NewBsnTlv(47),
+ }
+ return obj
+}
+
+type BsnTlvPassive struct {
+ *BsnTlv
+}
+
+type IBsnTlvPassive interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvPassive) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPassive(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPassive, error) {
+ _bsntlvpassive := &BsnTlvPassive{BsnTlv: parent}
+ return _bsntlvpassive, nil
+}
+
+func NewBsnTlvPassive() *BsnTlvPassive {
+ obj := &BsnTlvPassive{
+ BsnTlv: NewBsnTlv(172),
+ }
+ return obj
+}
+
+type BsnTlvPduaRxInstance struct {
+ *BsnTlv
+ Value []byte
+}
+
+type IBsnTlvPduaRxInstance interface {
+ IBsnTlv
+ GetValue() []byte
+}
+
+func (self *BsnTlvPduaRxInstance) GetValue() []byte {
+ return self.Value
+}
+
+func (self *BsnTlvPduaRxInstance) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *BsnTlvPduaRxInstance) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPduaRxInstance(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPduaRxInstance, error) {
+ _bsntlvpduarxinstance := &BsnTlvPduaRxInstance{BsnTlv: parent}
+ _bsntlvpduarxinstance.Value = decoder.Read(int(decoder.Length()))
+ return _bsntlvpduarxinstance, nil
+}
+
+func NewBsnTlvPduaRxInstance() *BsnTlvPduaRxInstance {
+ obj := &BsnTlvPduaRxInstance{
+ BsnTlv: NewBsnTlv(159),
+ }
+ return obj
+}
+
+type BsnTlvPimDr struct {
+ *BsnTlv
+}
+
+type IBsnTlvPimDr interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvPimDr) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPimDr(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPimDr, error) {
+ _bsntlvpimdr := &BsnTlvPimDr{BsnTlv: parent}
+ return _bsntlvpimdr, nil
+}
+
+func NewBsnTlvPimDr() *BsnTlvPimDr {
+ obj := &BsnTlvPimDr{
+ BsnTlv: NewBsnTlv(171),
+ }
+ return obj
+}
+
+type BsnTlvPimHelloFlood struct {
+ *BsnTlv
+}
+
+type IBsnTlvPimHelloFlood interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvPimHelloFlood) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPimHelloFlood(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPimHelloFlood, error) {
+ _bsntlvpimhelloflood := &BsnTlvPimHelloFlood{BsnTlv: parent}
+ return _bsntlvpimhelloflood, nil
+}
+
+func NewBsnTlvPimHelloFlood() *BsnTlvPimHelloFlood {
+ obj := &BsnTlvPimHelloFlood{
+ BsnTlv: NewBsnTlv(181),
+ }
+ return obj
+}
+
+type BsnTlvPort struct {
+ *BsnTlv
+ Value Port
+}
+
+type IBsnTlvPort interface {
+ IBsnTlv
+ GetValue() Port
+}
+
+func (self *BsnTlvPort) GetValue() Port {
+ return self.Value
+}
+
+func (self *BsnTlvPort) SetValue(v Port) {
+ self.Value = v
+}
+
+func (self *BsnTlvPort) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPort(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPort, error) {
+ _bsntlvport := &BsnTlvPort{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvPort packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvport.Value.Decode(decoder)
+ return _bsntlvport, nil
+}
+
+func NewBsnTlvPort() *BsnTlvPort {
+ obj := &BsnTlvPort{
+ BsnTlv: NewBsnTlv(0),
+ }
+ return obj
+}
+
+type BsnTlvPortMode struct {
+ *BsnTlv
+ Value BsnPortMode
+}
+
+type IBsnTlvPortMode interface {
+ IBsnTlv
+ GetValue() BsnPortMode
+}
+
+func (self *BsnTlvPortMode) GetValue() BsnPortMode {
+ return self.Value
+}
+
+func (self *BsnTlvPortMode) SetValue(v BsnPortMode) {
+ self.Value = v
+}
+
+func (self *BsnTlvPortMode) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPortMode(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPortMode, error) {
+ _bsntlvportmode := &BsnTlvPortMode{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvPortMode packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvportmode.Value = BsnPortMode(decoder.ReadUint16())
+ return _bsntlvportmode, nil
+}
+
+func NewBsnTlvPortMode() *BsnTlvPortMode {
+ obj := &BsnTlvPortMode{
+ BsnTlv: NewBsnTlv(179),
+ }
+ return obj
+}
+
+type BsnTlvPortSpeedGbps struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvPortSpeedGbps interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvPortSpeedGbps) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvPortSpeedGbps) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvPortSpeedGbps) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPortSpeedGbps(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPortSpeedGbps, error) {
+ _bsntlvportspeedgbps := &BsnTlvPortSpeedGbps{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvPortSpeedGbps packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvportspeedgbps.Value = uint32(decoder.ReadUint32())
+ return _bsntlvportspeedgbps, nil
+}
+
+func NewBsnTlvPortSpeedGbps() *BsnTlvPortSpeedGbps {
+ obj := &BsnTlvPortSpeedGbps{
+ BsnTlv: NewBsnTlv(156),
+ }
+ return obj
+}
+
+type BsnTlvPortUsage struct {
+ *BsnTlv
+ Value BsnPortUsage
+}
+
+type IBsnTlvPortUsage interface {
+ IBsnTlv
+ GetValue() BsnPortUsage
+}
+
+func (self *BsnTlvPortUsage) GetValue() BsnPortUsage {
+ return self.Value
+}
+
+func (self *BsnTlvPortUsage) SetValue(v BsnPortUsage) {
+ self.Value = v
+}
+
+func (self *BsnTlvPortUsage) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPortUsage(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPortUsage, error) {
+ _bsntlvportusage := &BsnTlvPortUsage{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvPortUsage packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvportusage.Value = BsnPortUsage(decoder.ReadUint16())
+ return _bsntlvportusage, nil
+}
+
+func NewBsnTlvPortUsage() *BsnTlvPortUsage {
+ obj := &BsnTlvPortUsage{
+ BsnTlv: NewBsnTlv(141),
+ }
+ return obj
+}
+
+type BsnTlvPortVxlanMode struct {
+ *BsnTlv
+ Value BsnPortVxlanMode
+}
+
+type IBsnTlvPortVxlanMode interface {
+ IBsnTlv
+ GetValue() BsnPortVxlanMode
+}
+
+func (self *BsnTlvPortVxlanMode) GetValue() BsnPortVxlanMode {
+ return self.Value
+}
+
+func (self *BsnTlvPortVxlanMode) SetValue(v BsnPortVxlanMode) {
+ self.Value = v
+}
+
+func (self *BsnTlvPortVxlanMode) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPortVxlanMode(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPortVxlanMode, error) {
+ _bsntlvportvxlanmode := &BsnTlvPortVxlanMode{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvPortVxlanMode packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvportvxlanmode.Value = BsnPortVxlanMode(decoder.ReadByte())
+ return _bsntlvportvxlanmode, nil
+}
+
+func NewBsnTlvPortVxlanMode() *BsnTlvPortVxlanMode {
+ obj := &BsnTlvPortVxlanMode{
+ BsnTlv: NewBsnTlv(88),
+ }
+ return obj
+}
+
+type BsnTlvPriority struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvPriority interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvPriority) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvPriority) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvPriority) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPriority(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPriority, error) {
+ _bsntlvpriority := &BsnTlvPriority{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvPriority packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvpriority.Value = uint32(decoder.ReadUint32())
+ return _bsntlvpriority, nil
+}
+
+func NewBsnTlvPriority() *BsnTlvPriority {
+ obj := &BsnTlvPriority{
+ BsnTlv: NewBsnTlv(57),
+ }
+ return obj
+}
+
+type BsnTlvPushVlanOnEgress struct {
+ *BsnTlv
+}
+
+type IBsnTlvPushVlanOnEgress interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvPushVlanOnEgress) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPushVlanOnEgress(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPushVlanOnEgress, error) {
+ _bsntlvpushvlanonegress := &BsnTlvPushVlanOnEgress{BsnTlv: parent}
+ return _bsntlvpushvlanonegress, nil
+}
+
+func NewBsnTlvPushVlanOnEgress() *BsnTlvPushVlanOnEgress {
+ obj := &BsnTlvPushVlanOnEgress{
+ BsnTlv: NewBsnTlv(162),
+ }
+ return obj
+}
+
+type BsnTlvPushVlanOnIngress struct {
+ *BsnTlv
+ Flags BsnPushVlan
+}
+
+type IBsnTlvPushVlanOnIngress interface {
+ IBsnTlv
+ GetFlags() BsnPushVlan
+}
+
+func (self *BsnTlvPushVlanOnIngress) GetFlags() BsnPushVlan {
+ return self.Flags
+}
+
+func (self *BsnTlvPushVlanOnIngress) SetFlags(v BsnPushVlan) {
+ self.Flags = v
+}
+
+func (self *BsnTlvPushVlanOnIngress) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Flags))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvPushVlanOnIngress(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvPushVlanOnIngress, error) {
+ _bsntlvpushvlanoningress := &BsnTlvPushVlanOnIngress{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvPushVlanOnIngress packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvpushvlanoningress.Flags = BsnPushVlan(decoder.ReadByte())
+ return _bsntlvpushvlanoningress, nil
+}
+
+func NewBsnTlvPushVlanOnIngress() *BsnTlvPushVlanOnIngress {
+ obj := &BsnTlvPushVlanOnIngress{
+ BsnTlv: NewBsnTlv(128),
+ }
+ return obj
+}
+
+type BsnTlvQosPriority struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvQosPriority interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvQosPriority) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvQosPriority) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvQosPriority) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvQosPriority(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvQosPriority, error) {
+ _bsntlvqospriority := &BsnTlvQosPriority{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvQosPriority packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvqospriority.Value = uint32(decoder.ReadUint32())
+ return _bsntlvqospriority, nil
+}
+
+func NewBsnTlvQosPriority() *BsnTlvQosPriority {
+ obj := &BsnTlvQosPriority{
+ BsnTlv: NewBsnTlv(108),
+ }
+ return obj
+}
+
+type BsnTlvQueueId struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvQueueId interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvQueueId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvQueueId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvQueueId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvQueueId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvQueueId, error) {
+ _bsntlvqueueid := &BsnTlvQueueId{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvQueueId packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvqueueid.Value = uint32(decoder.ReadUint32())
+ return _bsntlvqueueid, nil
+}
+
+func NewBsnTlvQueueId() *BsnTlvQueueId {
+ obj := &BsnTlvQueueId{
+ BsnTlv: NewBsnTlv(20),
+ }
+ return obj
+}
+
+type BsnTlvQueueWeight struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvQueueWeight interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvQueueWeight) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvQueueWeight) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvQueueWeight) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvQueueWeight(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvQueueWeight, error) {
+ _bsntlvqueueweight := &BsnTlvQueueWeight{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvQueueWeight packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvqueueweight.Value = uint32(decoder.ReadUint32())
+ return _bsntlvqueueweight, nil
+}
+
+func NewBsnTlvQueueWeight() *BsnTlvQueueWeight {
+ obj := &BsnTlvQueueWeight{
+ BsnTlv: NewBsnTlv(21),
+ }
+ return obj
+}
+
+type BsnTlvRateLimit struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvRateLimit interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvRateLimit) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvRateLimit) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvRateLimit) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvRateLimit(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvRateLimit, error) {
+ _bsntlvratelimit := &BsnTlvRateLimit{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvRateLimit packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvratelimit.Value = uint32(decoder.ReadUint32())
+ return _bsntlvratelimit, nil
+}
+
+func NewBsnTlvRateLimit() *BsnTlvRateLimit {
+ obj := &BsnTlvRateLimit{
+ BsnTlv: NewBsnTlv(116),
+ }
+ return obj
+}
+
+type BsnTlvRateUnit struct {
+ *BsnTlv
+ Value BsnRateUnit
+}
+
+type IBsnTlvRateUnit interface {
+ IBsnTlv
+ GetValue() BsnRateUnit
+}
+
+func (self *BsnTlvRateUnit) GetValue() BsnRateUnit {
+ return self.Value
+}
+
+func (self *BsnTlvRateUnit) SetValue(v BsnRateUnit) {
+ self.Value = v
+}
+
+func (self *BsnTlvRateUnit) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvRateUnit(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvRateUnit, error) {
+ _bsntlvrateunit := &BsnTlvRateUnit{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvRateUnit packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvrateunit.Value = BsnRateUnit(decoder.ReadByte())
+ return _bsntlvrateunit, nil
+}
+
+func NewBsnTlvRateUnit() *BsnTlvRateUnit {
+ obj := &BsnTlvRateUnit{
+ BsnTlv: NewBsnTlv(89),
+ }
+ return obj
+}
+
+type BsnTlvRecordPackets struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvRecordPackets interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvRecordPackets) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvRecordPackets) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvRecordPackets) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvRecordPackets(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvRecordPackets, error) {
+ _bsntlvrecordpackets := &BsnTlvRecordPackets{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvRecordPackets packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvrecordpackets.Value = uint32(decoder.ReadUint32())
+ return _bsntlvrecordpackets, nil
+}
+
+func NewBsnTlvRecordPackets() *BsnTlvRecordPackets {
+ obj := &BsnTlvRecordPackets{
+ BsnTlv: NewBsnTlv(155),
+ }
+ return obj
+}
+
+type BsnTlvReference struct {
+ *BsnTlv
+ TableId uint16
+ Key []IBsnTlv
+}
+
+type IBsnTlvReference interface {
+ IBsnTlv
+ GetTableId() uint16
+ GetKey() []IBsnTlv
+}
+
+func (self *BsnTlvReference) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnTlvReference) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnTlvReference) GetKey() []IBsnTlv {
+ return self.Key
+}
+
+func (self *BsnTlvReference) SetKey(v []IBsnTlv) {
+ self.Key = v
+}
+
+func (self *BsnTlvReference) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TableId))
+ for _, obj := range self.Key {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvReference(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvReference, error) {
+ _bsntlvreference := &BsnTlvReference{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvReference packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvreference.TableId = uint16(decoder.ReadUint16())
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsntlvreference.Key = append(_bsntlvreference.Key, item)
+ }
+ }
+ return _bsntlvreference, nil
+}
+
+func NewBsnTlvReference() *BsnTlvReference {
+ obj := &BsnTlvReference{
+ BsnTlv: NewBsnTlv(59),
+ }
+ return obj
+}
+
+type BsnTlvReplyPackets struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvReplyPackets interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvReplyPackets) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvReplyPackets) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvReplyPackets) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvReplyPackets(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvReplyPackets, error) {
+ _bsntlvreplypackets := &BsnTlvReplyPackets{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvReplyPackets packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvreplypackets.Value = uint64(decoder.ReadUint64())
+ return _bsntlvreplypackets, nil
+}
+
+func NewBsnTlvReplyPackets() *BsnTlvReplyPackets {
+ obj := &BsnTlvReplyPackets{
+ BsnTlv: NewBsnTlv(12),
+ }
+ return obj
+}
+
+type BsnTlvRequestPackets struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvRequestPackets interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvRequestPackets) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvRequestPackets) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvRequestPackets) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvRequestPackets(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvRequestPackets, error) {
+ _bsntlvrequestpackets := &BsnTlvRequestPackets{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvRequestPackets packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvrequestpackets.Value = uint64(decoder.ReadUint64())
+ return _bsntlvrequestpackets, nil
+}
+
+func NewBsnTlvRequestPackets() *BsnTlvRequestPackets {
+ obj := &BsnTlvRequestPackets{
+ BsnTlv: NewBsnTlv(11),
+ }
+ return obj
+}
+
+type BsnTlvRestServer struct {
+ *BsnTlv
+}
+
+type IBsnTlvRestServer interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvRestServer) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvRestServer(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvRestServer, error) {
+ _bsntlvrestserver := &BsnTlvRestServer{BsnTlv: parent}
+ return _bsntlvrestserver, nil
+}
+
+func NewBsnTlvRestServer() *BsnTlvRestServer {
+ obj := &BsnTlvRestServer{
+ BsnTlv: NewBsnTlv(152),
+ }
+ return obj
+}
+
+type BsnTlvRoutingParam struct {
+ *BsnTlv
+ Value BsnRoutingParam
+}
+
+type IBsnTlvRoutingParam interface {
+ IBsnTlv
+ GetValue() BsnRoutingParam
+}
+
+func (self *BsnTlvRoutingParam) GetValue() BsnRoutingParam {
+ return self.Value
+}
+
+func (self *BsnTlvRoutingParam) SetValue(v BsnRoutingParam) {
+ self.Value = v
+}
+
+func (self *BsnTlvRoutingParam) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvRoutingParam(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvRoutingParam, error) {
+ _bsntlvroutingparam := &BsnTlvRoutingParam{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvRoutingParam packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvroutingparam.Value = BsnRoutingParam(decoder.ReadUint16())
+ return _bsntlvroutingparam, nil
+}
+
+func NewBsnTlvRoutingParam() *BsnTlvRoutingParam {
+ obj := &BsnTlvRoutingParam{
+ BsnTlv: NewBsnTlv(161),
+ }
+ return obj
+}
+
+type BsnTlvRxBytes struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvRxBytes interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvRxBytes) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvRxBytes) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvRxBytes) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvRxBytes(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvRxBytes, error) {
+ _bsntlvrxbytes := &BsnTlvRxBytes{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvRxBytes packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvrxbytes.Value = uint64(decoder.ReadUint64())
+ return _bsntlvrxbytes, nil
+}
+
+func NewBsnTlvRxBytes() *BsnTlvRxBytes {
+ obj := &BsnTlvRxBytes{
+ BsnTlv: NewBsnTlv(71),
+ }
+ return obj
+}
+
+type BsnTlvRxPackets struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvRxPackets interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvRxPackets) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvRxPackets) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvRxPackets) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvRxPackets(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvRxPackets, error) {
+ _bsntlvrxpackets := &BsnTlvRxPackets{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvRxPackets packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvrxpackets.Value = uint64(decoder.ReadUint64())
+ return _bsntlvrxpackets, nil
+}
+
+func NewBsnTlvRxPackets() *BsnTlvRxPackets {
+ obj := &BsnTlvRxPackets{
+ BsnTlv: NewBsnTlv(2),
+ }
+ return obj
+}
+
+type BsnTlvSamplingRate struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvSamplingRate interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvSamplingRate) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvSamplingRate) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvSamplingRate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvSamplingRate(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvSamplingRate, error) {
+ _bsntlvsamplingrate := &BsnTlvSamplingRate{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvSamplingRate packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvsamplingrate.Value = uint32(decoder.ReadUint32())
+ return _bsntlvsamplingrate, nil
+}
+
+func NewBsnTlvSamplingRate() *BsnTlvSamplingRate {
+ obj := &BsnTlvSamplingRate{
+ BsnTlv: NewBsnTlv(30),
+ }
+ return obj
+}
+
+type BsnTlvSetLoopbackMode struct {
+ *BsnTlv
+}
+
+type IBsnTlvSetLoopbackMode interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvSetLoopbackMode) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvSetLoopbackMode(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvSetLoopbackMode, error) {
+ _bsntlvsetloopbackmode := &BsnTlvSetLoopbackMode{BsnTlv: parent}
+ return _bsntlvsetloopbackmode, nil
+}
+
+func NewBsnTlvSetLoopbackMode() *BsnTlvSetLoopbackMode {
+ obj := &BsnTlvSetLoopbackMode{
+ BsnTlv: NewBsnTlv(74),
+ }
+ return obj
+}
+
+type BsnTlvStatus struct {
+ *BsnTlv
+ Value BsnStatus
+}
+
+type IBsnTlvStatus interface {
+ IBsnTlv
+ GetValue() BsnStatus
+}
+
+func (self *BsnTlvStatus) GetValue() BsnStatus {
+ return self.Value
+}
+
+func (self *BsnTlvStatus) SetValue(v BsnStatus) {
+ self.Value = v
+}
+
+func (self *BsnTlvStatus) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvStatus(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvStatus, error) {
+ _bsntlvstatus := &BsnTlvStatus{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvStatus packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvstatus.Value = BsnStatus(decoder.ReadByte())
+ return _bsntlvstatus, nil
+}
+
+func NewBsnTlvStatus() *BsnTlvStatus {
+ obj := &BsnTlvStatus{
+ BsnTlv: NewBsnTlv(97),
+ }
+ return obj
+}
+
+type BsnTlvStripMplsL2OnIngress struct {
+ *BsnTlv
+}
+
+type IBsnTlvStripMplsL2OnIngress interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvStripMplsL2OnIngress) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvStripMplsL2OnIngress(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvStripMplsL2OnIngress, error) {
+ _bsntlvstripmplsl2oningress := &BsnTlvStripMplsL2OnIngress{BsnTlv: parent}
+ return _bsntlvstripmplsl2oningress, nil
+}
+
+func NewBsnTlvStripMplsL2OnIngress() *BsnTlvStripMplsL2OnIngress {
+ obj := &BsnTlvStripMplsL2OnIngress{
+ BsnTlv: NewBsnTlv(75),
+ }
+ return obj
+}
+
+type BsnTlvStripMplsL3OnIngress struct {
+ *BsnTlv
+}
+
+type IBsnTlvStripMplsL3OnIngress interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvStripMplsL3OnIngress) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvStripMplsL3OnIngress(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvStripMplsL3OnIngress, error) {
+ _bsntlvstripmplsl3oningress := &BsnTlvStripMplsL3OnIngress{BsnTlv: parent}
+ return _bsntlvstripmplsl3oningress, nil
+}
+
+func NewBsnTlvStripMplsL3OnIngress() *BsnTlvStripMplsL3OnIngress {
+ obj := &BsnTlvStripMplsL3OnIngress{
+ BsnTlv: NewBsnTlv(76),
+ }
+ return obj
+}
+
+type BsnTlvStripVlanOnEgress struct {
+ *BsnTlv
+ Flags BsnStripVlan
+}
+
+type IBsnTlvStripVlanOnEgress interface {
+ IBsnTlv
+ GetFlags() BsnStripVlan
+}
+
+func (self *BsnTlvStripVlanOnEgress) GetFlags() BsnStripVlan {
+ return self.Flags
+}
+
+func (self *BsnTlvStripVlanOnEgress) SetFlags(v BsnStripVlan) {
+ self.Flags = v
+}
+
+func (self *BsnTlvStripVlanOnEgress) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Flags))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvStripVlanOnEgress(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvStripVlanOnEgress, error) {
+ _bsntlvstripvlanonegress := &BsnTlvStripVlanOnEgress{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvStripVlanOnEgress packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvstripvlanonegress.Flags = BsnStripVlan(decoder.ReadByte())
+ return _bsntlvstripvlanonegress, nil
+}
+
+func NewBsnTlvStripVlanOnEgress() *BsnTlvStripVlanOnEgress {
+ obj := &BsnTlvStripVlanOnEgress{
+ BsnTlv: NewBsnTlv(73),
+ }
+ return obj
+}
+
+type BsnTlvSubAgentId struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvSubAgentId interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvSubAgentId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvSubAgentId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvSubAgentId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvSubAgentId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvSubAgentId, error) {
+ _bsntlvsubagentid := &BsnTlvSubAgentId{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvSubAgentId packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvsubagentid.Value = uint32(decoder.ReadUint32())
+ return _bsntlvsubagentid, nil
+}
+
+func NewBsnTlvSubAgentId() *BsnTlvSubAgentId {
+ obj := &BsnTlvSubAgentId{
+ BsnTlv: NewBsnTlv(38),
+ }
+ return obj
+}
+
+type BsnTlvTcpDst struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvTcpDst interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvTcpDst) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvTcpDst) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvTcpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvTcpDst(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvTcpDst, error) {
+ _bsntlvtcpdst := &BsnTlvTcpDst{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvTcpDst packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvtcpdst.Value = uint16(decoder.ReadUint16())
+ return _bsntlvtcpdst, nil
+}
+
+func NewBsnTlvTcpDst() *BsnTlvTcpDst {
+ obj := &BsnTlvTcpDst{
+ BsnTlv: NewBsnTlv(66),
+ }
+ return obj
+}
+
+type BsnTlvTcpFlags struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvTcpFlags interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvTcpFlags) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvTcpFlags) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvTcpFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvTcpFlags(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvTcpFlags, error) {
+ _bsntlvtcpflags := &BsnTlvTcpFlags{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvTcpFlags packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvtcpflags.Value = uint16(decoder.ReadUint16())
+ return _bsntlvtcpflags, nil
+}
+
+func NewBsnTlvTcpFlags() *BsnTlvTcpFlags {
+ obj := &BsnTlvTcpFlags{
+ BsnTlv: NewBsnTlv(133),
+ }
+ return obj
+}
+
+type BsnTlvTcpSrc struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvTcpSrc interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvTcpSrc) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvTcpSrc) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvTcpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvTcpSrc(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvTcpSrc, error) {
+ _bsntlvtcpsrc := &BsnTlvTcpSrc{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvTcpSrc packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvtcpsrc.Value = uint16(decoder.ReadUint16())
+ return _bsntlvtcpsrc, nil
+}
+
+func NewBsnTlvTcpSrc() *BsnTlvTcpSrc {
+ obj := &BsnTlvTcpSrc{
+ BsnTlv: NewBsnTlv(65),
+ }
+ return obj
+}
+
+type BsnTlvTimestamp struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvTimestamp interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvTimestamp) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvTimestamp) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvTimestamp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvTimestamp(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvTimestamp, error) {
+ _bsntlvtimestamp := &BsnTlvTimestamp{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvTimestamp packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvtimestamp.Value = uint64(decoder.ReadUint64())
+ return _bsntlvtimestamp, nil
+}
+
+func NewBsnTlvTimestamp() *BsnTlvTimestamp {
+ obj := &BsnTlvTimestamp{
+ BsnTlv: NewBsnTlv(154),
+ }
+ return obj
+}
+
+type BsnTlvTtl struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvTtl interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvTtl) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvTtl) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvTtl(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvTtl, error) {
+ _bsntlvttl := &BsnTlvTtl{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvTtl packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvttl.Value = uint16(decoder.ReadUint16())
+ return _bsntlvttl, nil
+}
+
+func NewBsnTlvTtl() *BsnTlvTtl {
+ obj := &BsnTlvTtl{
+ BsnTlv: NewBsnTlv(113),
+ }
+ return obj
+}
+
+type BsnTlvTunnelCapability struct {
+ *BsnTlv
+ Value BsnTunnelType
+}
+
+type IBsnTlvTunnelCapability interface {
+ IBsnTlv
+ GetValue() BsnTunnelType
+}
+
+func (self *BsnTlvTunnelCapability) GetValue() BsnTunnelType {
+ return self.Value
+}
+
+func (self *BsnTlvTunnelCapability) SetValue(v BsnTunnelType) {
+ self.Value = v
+}
+
+func (self *BsnTlvTunnelCapability) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvTunnelCapability(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvTunnelCapability, error) {
+ _bsntlvtunnelcapability := &BsnTlvTunnelCapability{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvTunnelCapability packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvtunnelcapability.Value = BsnTunnelType(decoder.ReadUint64())
+ return _bsntlvtunnelcapability, nil
+}
+
+func NewBsnTlvTunnelCapability() *BsnTlvTunnelCapability {
+ obj := &BsnTlvTunnelCapability{
+ BsnTlv: NewBsnTlv(142),
+ }
+ return obj
+}
+
+type BsnTlvTxBytes struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvTxBytes interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvTxBytes) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvTxBytes) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvTxBytes) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvTxBytes(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvTxBytes, error) {
+ _bsntlvtxbytes := &BsnTlvTxBytes{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvTxBytes packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvtxbytes.Value = uint64(decoder.ReadUint64())
+ return _bsntlvtxbytes, nil
+}
+
+func NewBsnTlvTxBytes() *BsnTlvTxBytes {
+ obj := &BsnTlvTxBytes{
+ BsnTlv: NewBsnTlv(39),
+ }
+ return obj
+}
+
+type BsnTlvTxPackets struct {
+ *BsnTlv
+ Value uint64
+}
+
+type IBsnTlvTxPackets interface {
+ IBsnTlv
+ GetValue() uint64
+}
+
+func (self *BsnTlvTxPackets) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvTxPackets) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvTxPackets) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvTxPackets(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvTxPackets, error) {
+ _bsntlvtxpackets := &BsnTlvTxPackets{BsnTlv: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTlvTxPackets packet too short: %d < 8", decoder.Length())
+ }
+ _bsntlvtxpackets.Value = uint64(decoder.ReadUint64())
+ return _bsntlvtxpackets, nil
+}
+
+func NewBsnTlvTxPackets() *BsnTlvTxPackets {
+ obj := &BsnTlvTxPackets{
+ BsnTlv: NewBsnTlv(3),
+ }
+ return obj
+}
+
+type BsnTlvUdfAnchor struct {
+ *BsnTlv
+ Value BsnUdfAnchor
+}
+
+type IBsnTlvUdfAnchor interface {
+ IBsnTlv
+ GetValue() BsnUdfAnchor
+}
+
+func (self *BsnTlvUdfAnchor) GetValue() BsnUdfAnchor {
+ return self.Value
+}
+
+func (self *BsnTlvUdfAnchor) SetValue(v BsnUdfAnchor) {
+ self.Value = v
+}
+
+func (self *BsnTlvUdfAnchor) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUdfAnchor(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUdfAnchor, error) {
+ _bsntlvudfanchor := &BsnTlvUdfAnchor{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvUdfAnchor packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvudfanchor.Value = BsnUdfAnchor(decoder.ReadUint16())
+ return _bsntlvudfanchor, nil
+}
+
+func NewBsnTlvUdfAnchor() *BsnTlvUdfAnchor {
+ obj := &BsnTlvUdfAnchor{
+ BsnTlv: NewBsnTlv(16),
+ }
+ return obj
+}
+
+type BsnTlvUdfCapability struct {
+ *BsnTlv
+ Value BsnUdfMode
+}
+
+type IBsnTlvUdfCapability interface {
+ IBsnTlv
+ GetValue() BsnUdfMode
+}
+
+func (self *BsnTlvUdfCapability) GetValue() BsnUdfMode {
+ return self.Value
+}
+
+func (self *BsnTlvUdfCapability) SetValue(v BsnUdfMode) {
+ self.Value = v
+}
+
+func (self *BsnTlvUdfCapability) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUdfCapability(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUdfCapability, error) {
+ _bsntlvudfcapability := &BsnTlvUdfCapability{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvUdfCapability packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvudfcapability.Value = BsnUdfMode(decoder.ReadByte())
+ return _bsntlvudfcapability, nil
+}
+
+func NewBsnTlvUdfCapability() *BsnTlvUdfCapability {
+ obj := &BsnTlvUdfCapability{
+ BsnTlv: NewBsnTlv(180),
+ }
+ return obj
+}
+
+type BsnTlvUdfId struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvUdfId interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvUdfId) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvUdfId) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvUdfId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUdfId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUdfId, error) {
+ _bsntlvudfid := &BsnTlvUdfId{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvUdfId packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvudfid.Value = uint16(decoder.ReadUint16())
+ return _bsntlvudfid, nil
+}
+
+func NewBsnTlvUdfId() *BsnTlvUdfId {
+ obj := &BsnTlvUdfId{
+ BsnTlv: NewBsnTlv(15),
+ }
+ return obj
+}
+
+type BsnTlvUdfLength struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvUdfLength interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvUdfLength) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvUdfLength) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvUdfLength) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUdfLength(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUdfLength, error) {
+ _bsntlvudflength := &BsnTlvUdfLength{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvUdfLength packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvudflength.Value = uint16(decoder.ReadUint16())
+ return _bsntlvudflength, nil
+}
+
+func NewBsnTlvUdfLength() *BsnTlvUdfLength {
+ obj := &BsnTlvUdfLength{
+ BsnTlv: NewBsnTlv(18),
+ }
+ return obj
+}
+
+type BsnTlvUdfOffset struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvUdfOffset interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvUdfOffset) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvUdfOffset) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvUdfOffset) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUdfOffset(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUdfOffset, error) {
+ _bsntlvudfoffset := &BsnTlvUdfOffset{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvUdfOffset packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvudfoffset.Value = uint16(decoder.ReadUint16())
+ return _bsntlvudfoffset, nil
+}
+
+func NewBsnTlvUdfOffset() *BsnTlvUdfOffset {
+ obj := &BsnTlvUdfOffset{
+ BsnTlv: NewBsnTlv(17),
+ }
+ return obj
+}
+
+type BsnTlvUdpDst struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvUdpDst interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvUdpDst) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvUdpDst) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvUdpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUdpDst(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUdpDst, error) {
+ _bsntlvudpdst := &BsnTlvUdpDst{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvUdpDst packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvudpdst.Value = uint16(decoder.ReadUint16())
+ return _bsntlvudpdst, nil
+}
+
+func NewBsnTlvUdpDst() *BsnTlvUdpDst {
+ obj := &BsnTlvUdpDst{
+ BsnTlv: NewBsnTlv(37),
+ }
+ return obj
+}
+
+type BsnTlvUdpSrc struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvUdpSrc interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvUdpSrc) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvUdpSrc) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvUdpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUdpSrc(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUdpSrc, error) {
+ _bsntlvudpsrc := &BsnTlvUdpSrc{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvUdpSrc packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvudpsrc.Value = uint16(decoder.ReadUint16())
+ return _bsntlvudpsrc, nil
+}
+
+func NewBsnTlvUdpSrc() *BsnTlvUdpSrc {
+ obj := &BsnTlvUdpSrc{
+ BsnTlv: NewBsnTlv(36),
+ }
+ return obj
+}
+
+type BsnTlvUint32 struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvUint32 interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvUint32) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvUint32) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvUint32) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUint32(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUint32, error) {
+ _bsntlvuint32 := &BsnTlvUint32{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvUint32 packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvuint32.Value = uint32(decoder.ReadUint32())
+ return _bsntlvuint32, nil
+}
+
+func NewBsnTlvUint32() *BsnTlvUint32 {
+ obj := &BsnTlvUint32{
+ BsnTlv: NewBsnTlv(167),
+ }
+ return obj
+}
+
+type BsnTlvUint64List struct {
+ *BsnTlv
+ Value []*Uint64
+}
+
+type IBsnTlvUint64List interface {
+ IBsnTlv
+ GetValue() []*Uint64
+}
+
+func (self *BsnTlvUint64List) GetValue() []*Uint64 {
+ return self.Value
+}
+
+func (self *BsnTlvUint64List) SetValue(v []*Uint64) {
+ self.Value = v
+}
+
+func (self *BsnTlvUint64List) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Value {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUint64List(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUint64List, error) {
+ _bsntlvuint64list := &BsnTlvUint64List{BsnTlv: parent}
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeUint64(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsntlvuint64list.Value = append(_bsntlvuint64list.Value, item)
+ }
+ }
+ return _bsntlvuint64list, nil
+}
+
+func NewBsnTlvUint64List() *BsnTlvUint64List {
+ obj := &BsnTlvUint64List{
+ BsnTlv: NewBsnTlv(119),
+ }
+ return obj
+}
+
+type BsnTlvUnicastQueryTimeout struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvUnicastQueryTimeout interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvUnicastQueryTimeout) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvUnicastQueryTimeout) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvUnicastQueryTimeout) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUnicastQueryTimeout(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUnicastQueryTimeout, error) {
+ _bsntlvunicastquerytimeout := &BsnTlvUnicastQueryTimeout{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvUnicastQueryTimeout packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvunicastquerytimeout.Value = uint32(decoder.ReadUint32())
+ return _bsntlvunicastquerytimeout, nil
+}
+
+func NewBsnTlvUnicastQueryTimeout() *BsnTlvUnicastQueryTimeout {
+ obj := &BsnTlvUnicastQueryTimeout{
+ BsnTlv: NewBsnTlv(9),
+ }
+ return obj
+}
+
+type BsnTlvUnicastRate struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvUnicastRate interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvUnicastRate) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvUnicastRate) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvUnicastRate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUnicastRate(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUnicastRate, error) {
+ _bsntlvunicastrate := &BsnTlvUnicastRate{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvUnicastRate packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvunicastrate.Value = uint32(decoder.ReadUint32())
+ return _bsntlvunicastrate, nil
+}
+
+func NewBsnTlvUnicastRate() *BsnTlvUnicastRate {
+ obj := &BsnTlvUnicastRate{
+ BsnTlv: NewBsnTlv(93),
+ }
+ return obj
+}
+
+type BsnTlvUnknownMulticastRate struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvUnknownMulticastRate interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvUnknownMulticastRate) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvUnknownMulticastRate) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvUnknownMulticastRate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUnknownMulticastRate(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUnknownMulticastRate, error) {
+ _bsntlvunknownmulticastrate := &BsnTlvUnknownMulticastRate{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvUnknownMulticastRate packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvunknownmulticastrate.Value = uint32(decoder.ReadUint32())
+ return _bsntlvunknownmulticastrate, nil
+}
+
+func NewBsnTlvUnknownMulticastRate() *BsnTlvUnknownMulticastRate {
+ obj := &BsnTlvUnknownMulticastRate{
+ BsnTlv: NewBsnTlv(92),
+ }
+ return obj
+}
+
+type BsnTlvUntagged struct {
+ *BsnTlv
+}
+
+type IBsnTlvUntagged interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvUntagged) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUntagged(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUntagged, error) {
+ _bsntlvuntagged := &BsnTlvUntagged{BsnTlv: parent}
+ return _bsntlvuntagged, nil
+}
+
+func NewBsnTlvUntagged() *BsnTlvUntagged {
+ obj := &BsnTlvUntagged{
+ BsnTlv: NewBsnTlv(106),
+ }
+ return obj
+}
+
+type BsnTlvUpgrade struct {
+ *BsnTlv
+ Value BsnUpgrade
+}
+
+type IBsnTlvUpgrade interface {
+ IBsnTlv
+ GetValue() BsnUpgrade
+}
+
+func (self *BsnTlvUpgrade) GetValue() BsnUpgrade {
+ return self.Value
+}
+
+func (self *BsnTlvUpgrade) SetValue(v BsnUpgrade) {
+ self.Value = v
+}
+
+func (self *BsnTlvUpgrade) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUpgrade(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUpgrade, error) {
+ _bsntlvupgrade := &BsnTlvUpgrade{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvUpgrade packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvupgrade.Value = BsnUpgrade(decoder.ReadUint16())
+ return _bsntlvupgrade, nil
+}
+
+func NewBsnTlvUpgrade() *BsnTlvUpgrade {
+ obj := &BsnTlvUpgrade{
+ BsnTlv: NewBsnTlv(164),
+ }
+ return obj
+}
+
+type BsnTlvUriScheme struct {
+ *BsnTlv
+ Value []byte
+}
+
+type IBsnTlvUriScheme interface {
+ IBsnTlv
+ GetValue() []byte
+}
+
+func (self *BsnTlvUriScheme) GetValue() []byte {
+ return self.Value
+}
+
+func (self *BsnTlvUriScheme) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *BsnTlvUriScheme) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUriScheme(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUriScheme, error) {
+ _bsntlvurischeme := &BsnTlvUriScheme{BsnTlv: parent}
+ _bsntlvurischeme.Value = decoder.Read(int(decoder.Length()))
+ return _bsntlvurischeme, nil
+}
+
+func NewBsnTlvUriScheme() *BsnTlvUriScheme {
+ obj := &BsnTlvUriScheme{
+ BsnTlv: NewBsnTlv(153),
+ }
+ return obj
+}
+
+type BsnTlvUsePacketState struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvUsePacketState interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvUsePacketState) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvUsePacketState) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvUsePacketState) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUsePacketState(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUsePacketState, error) {
+ _bsntlvusepacketstate := &BsnTlvUsePacketState{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvUsePacketState packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvusepacketstate.Value = uint8(decoder.ReadByte())
+ return _bsntlvusepacketstate, nil
+}
+
+func NewBsnTlvUsePacketState() *BsnTlvUsePacketState {
+ obj := &BsnTlvUsePacketState{
+ BsnTlv: NewBsnTlv(96),
+ }
+ return obj
+}
+
+type BsnTlvUserConfigured struct {
+ *BsnTlv
+}
+
+type IBsnTlvUserConfigured interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvUserConfigured) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvUserConfigured(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvUserConfigured, error) {
+ _bsntlvuserconfigured := &BsnTlvUserConfigured{BsnTlv: parent}
+ return _bsntlvuserconfigured, nil
+}
+
+func NewBsnTlvUserConfigured() *BsnTlvUserConfigured {
+ obj := &BsnTlvUserConfigured{
+ BsnTlv: NewBsnTlv(166),
+ }
+ return obj
+}
+
+type BsnTlvVfi struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvVfi interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvVfi) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvVfi) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvVfi) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVfi(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVfi, error) {
+ _bsntlvvfi := &BsnTlvVfi{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvVfi packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvvfi.Value = uint16(decoder.ReadUint16())
+ return _bsntlvvfi, nil
+}
+
+func NewBsnTlvVfi() *BsnTlvVfi {
+ obj := &BsnTlvVfi{
+ BsnTlv: NewBsnTlv(99),
+ }
+ return obj
+}
+
+type BsnTlvVfpClassId struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvVfpClassId interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvVfpClassId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvVfpClassId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvVfpClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVfpClassId(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVfpClassId, error) {
+ _bsntlvvfpclassid := &BsnTlvVfpClassId{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvVfpClassId packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvvfpclassid.Value = uint32(decoder.ReadUint32())
+ return _bsntlvvfpclassid, nil
+}
+
+func NewBsnTlvVfpClassId() *BsnTlvVfpClassId {
+ obj := &BsnTlvVfpClassId{
+ BsnTlv: NewBsnTlv(107),
+ }
+ return obj
+}
+
+type BsnTlvVirtual struct {
+ *BsnTlv
+}
+
+type IBsnTlvVirtual interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvVirtual) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVirtual(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVirtual, error) {
+ _bsntlvvirtual := &BsnTlvVirtual{BsnTlv: parent}
+ return _bsntlvvirtual, nil
+}
+
+func NewBsnTlvVirtual() *BsnTlvVirtual {
+ obj := &BsnTlvVirtual{
+ BsnTlv: NewBsnTlv(158),
+ }
+ return obj
+}
+
+type BsnTlvVlanMacList struct {
+ *BsnTlv
+ Key []*BsnVlanMac
+}
+
+type IBsnTlvVlanMacList interface {
+ IBsnTlv
+ GetKey() []*BsnVlanMac
+}
+
+func (self *BsnTlvVlanMacList) GetKey() []*BsnVlanMac {
+ return self.Key
+}
+
+func (self *BsnTlvVlanMacList) SetKey(v []*BsnVlanMac) {
+ self.Key = v
+}
+
+func (self *BsnTlvVlanMacList) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Key {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVlanMacList(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVlanMacList, error) {
+ _bsntlvvlanmaclist := &BsnTlvVlanMacList{BsnTlv: parent}
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeBsnVlanMac(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsntlvvlanmaclist.Key = append(_bsntlvvlanmaclist.Key, item)
+ }
+ }
+ return _bsntlvvlanmaclist, nil
+}
+
+func NewBsnTlvVlanMacList() *BsnTlvVlanMacList {
+ obj := &BsnTlvVlanMacList{
+ BsnTlv: NewBsnTlv(98),
+ }
+ return obj
+}
+
+type BsnTlvVlanPcp struct {
+ *BsnTlv
+ Value uint8
+}
+
+type IBsnTlvVlanPcp interface {
+ IBsnTlv
+ GetValue() uint8
+}
+
+func (self *BsnTlvVlanPcp) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *BsnTlvVlanPcp) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *BsnTlvVlanPcp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVlanPcp(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVlanPcp, error) {
+ _bsntlvvlanpcp := &BsnTlvVlanPcp{BsnTlv: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnTlvVlanPcp packet too short: %d < 1", decoder.Length())
+ }
+ _bsntlvvlanpcp.Value = uint8(decoder.ReadByte())
+ return _bsntlvvlanpcp, nil
+}
+
+func NewBsnTlvVlanPcp() *BsnTlvVlanPcp {
+ obj := &BsnTlvVlanPcp{
+ BsnTlv: NewBsnTlv(72),
+ }
+ return obj
+}
+
+type BsnTlvVlanVid struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvVlanVid interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvVlanVid) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvVlanVid) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvVlanVid) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVlanVid(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVlanVid, error) {
+ _bsntlvvlanvid := &BsnTlvVlanVid{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvVlanVid packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvvlanvid.Value = uint16(decoder.ReadUint16())
+ return _bsntlvvlanvid, nil
+}
+
+func NewBsnTlvVlanVid() *BsnTlvVlanVid {
+ obj := &BsnTlvVlanVid{
+ BsnTlv: NewBsnTlv(6),
+ }
+ return obj
+}
+
+type BsnTlvVlanVidMask struct {
+ *BsnTlv
+ Value uint16
+}
+
+type IBsnTlvVlanVidMask interface {
+ IBsnTlv
+ GetValue() uint16
+}
+
+func (self *BsnTlvVlanVidMask) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *BsnTlvVlanVidMask) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *BsnTlvVlanVidMask) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVlanVidMask(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVlanVidMask, error) {
+ _bsntlvvlanvidmask := &BsnTlvVlanVidMask{BsnTlv: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnTlvVlanVidMask packet too short: %d < 2", decoder.Length())
+ }
+ _bsntlvvlanvidmask.Value = uint16(decoder.ReadUint16())
+ return _bsntlvvlanvidmask, nil
+}
+
+func NewBsnTlvVlanVidMask() *BsnTlvVlanVidMask {
+ obj := &BsnTlvVlanVidMask{
+ BsnTlv: NewBsnTlv(77),
+ }
+ return obj
+}
+
+type BsnTlvVni struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvVni interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvVni) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvVni) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvVni) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVni(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVni, error) {
+ _bsntlvvni := &BsnTlvVni{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvVni packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvvni.Value = uint32(decoder.ReadUint32())
+ return _bsntlvvni, nil
+}
+
+func NewBsnTlvVni() *BsnTlvVni {
+ obj := &BsnTlvVni{
+ BsnTlv: NewBsnTlv(86),
+ }
+ return obj
+}
+
+type BsnTlvVpnKey struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvVpnKey interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvVpnKey) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvVpnKey) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvVpnKey) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVpnKey(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVpnKey, error) {
+ _bsntlvvpnkey := &BsnTlvVpnKey{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvVpnKey packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvvpnkey.Value = uint32(decoder.ReadUint32())
+ return _bsntlvvpnkey, nil
+}
+
+func NewBsnTlvVpnKey() *BsnTlvVpnKey {
+ obj := &BsnTlvVpnKey{
+ BsnTlv: NewBsnTlv(111),
+ }
+ return obj
+}
+
+type BsnTlvVrf struct {
+ *BsnTlv
+ Value uint32
+}
+
+type IBsnTlvVrf interface {
+ IBsnTlv
+ GetValue() uint32
+}
+
+func (self *BsnTlvVrf) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *BsnTlvVrf) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *BsnTlvVrf) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVrf(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVrf, error) {
+ _bsntlvvrf := &BsnTlvVrf{BsnTlv: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnTlvVrf packet too short: %d < 4", decoder.Length())
+ }
+ _bsntlvvrf.Value = uint32(decoder.ReadUint32())
+ return _bsntlvvrf, nil
+}
+
+func NewBsnTlvVrf() *BsnTlvVrf {
+ obj := &BsnTlvVrf{
+ BsnTlv: NewBsnTlv(19),
+ }
+ return obj
+}
+
+type BsnTlvVxlanEgressLag struct {
+ *BsnTlv
+}
+
+type IBsnTlvVxlanEgressLag interface {
+ IBsnTlv
+}
+
+func (self *BsnTlvVxlanEgressLag) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnTlv.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTlvVxlanEgressLag(parent *BsnTlv, decoder *goloxi.Decoder) (*BsnTlvVxlanEgressLag, error) {
+ _bsntlvvxlanegresslag := &BsnTlvVxlanEgressLag{BsnTlv: parent}
+ return _bsntlvvxlanegresslag, nil
+}
+
+func NewBsnTlvVxlanEgressLag() *BsnTlvVxlanEgressLag {
+ obj := &BsnTlvVxlanEgressLag{
+ BsnTlv: NewBsnTlv(117),
+ }
+ return obj
+}
+
+type BsnVport struct {
+ Type uint16
+ Length uint16
+}
+
+type IBsnVport interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLength() uint16
+}
+
+func (self *BsnVport) GetType() uint16 {
+ return self.Type
+}
+
+func (self *BsnVport) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *BsnVport) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *BsnVport) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *BsnVport) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Length))
+
+ return nil
+}
+func (self *BsnVport) Decode(decoder *goloxi.Decoder) error {
+ if decoder.Length() < 4 {
+ return fmt.Errorf("BsnVport packet too short: %d < 4", decoder.Length())
+ }
+
+ self.Type = uint16(decoder.ReadUint16())
+ self.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(self.Length), 2+2)
+
+ return nil
+}
+
+func NewBsnVport(_type uint16) *BsnVport {
+ obj := &BsnVport{}
+ obj.Type = _type
+ return obj
+}
+
+type BsnVlanCounterStatsEntry struct {
+ Length uint16
+ VlanVid uint16
+ Values []*Uint64
+}
+
+type IBsnVlanCounterStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetVlanVid() uint16
+ GetValues() []*Uint64
+}
+
+func (self *BsnVlanCounterStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *BsnVlanCounterStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *BsnVlanCounterStatsEntry) GetVlanVid() uint16 {
+ return self.VlanVid
+}
+
+func (self *BsnVlanCounterStatsEntry) SetVlanVid(v uint16) {
+ self.VlanVid = v
+}
+
+func (self *BsnVlanCounterStatsEntry) GetValues() []*Uint64 {
+ return self.Values
+}
+
+func (self *BsnVlanCounterStatsEntry) SetValues(v []*Uint64) {
+ self.Values = v
+}
+
+func (self *BsnVlanCounterStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint16(uint16(self.VlanVid))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Values {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVlanCounterStatsEntry(decoder *goloxi.Decoder) (*BsnVlanCounterStatsEntry, error) {
+ _bsnvlancounterstatsentry := &BsnVlanCounterStatsEntry{}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnVlanCounterStatsEntry packet too short: %d < 8", decoder.Length())
+ }
+ _bsnvlancounterstatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_bsnvlancounterstatsentry.Length), 2+0)
+ _bsnvlancounterstatsentry.VlanVid = uint16(decoder.ReadUint16())
+ decoder.Skip(4)
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeUint64(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsnvlancounterstatsentry.Values = append(_bsnvlancounterstatsentry.Values, item)
+ }
+ }
+ return _bsnvlancounterstatsentry, nil
+}
+
+func NewBsnVlanCounterStatsEntry() *BsnVlanCounterStatsEntry {
+ obj := &BsnVlanCounterStatsEntry{}
+ return obj
+}
+
+type BsnVlanMac struct {
+ VlanVid uint16
+ Mac net.HardwareAddr
+}
+
+type IBsnVlanMac interface {
+ goloxi.Serializable
+ GetVlanVid() uint16
+ GetMac() net.HardwareAddr
+}
+
+func (self *BsnVlanMac) GetVlanVid() uint16 {
+ return self.VlanVid
+}
+
+func (self *BsnVlanMac) SetVlanVid(v uint16) {
+ self.VlanVid = v
+}
+
+func (self *BsnVlanMac) GetMac() net.HardwareAddr {
+ return self.Mac
+}
+
+func (self *BsnVlanMac) SetMac(v net.HardwareAddr) {
+ self.Mac = v
+}
+
+func (self *BsnVlanMac) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.VlanVid))
+ encoder.Write(self.Mac)
+
+ return nil
+}
+
+func DecodeBsnVlanMac(decoder *goloxi.Decoder) (*BsnVlanMac, error) {
+ _bsnvlanmac := &BsnVlanMac{}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnVlanMac packet too short: %d < 8", decoder.Length())
+ }
+ _bsnvlanmac.VlanVid = uint16(decoder.ReadUint16())
+ _bsnvlanmac.Mac = net.HardwareAddr(decoder.Read(6))
+ return _bsnvlanmac, nil
+}
+
+func NewBsnVlanMac() *BsnVlanMac {
+ obj := &BsnVlanMac{}
+ return obj
+}
+
+type BsnVportL2Gre struct {
+ *BsnVport
+ Flags BsnVportL2GreFlags
+ PortNo Port
+ LoopbackPortNo Port
+ LocalMac net.HardwareAddr
+ NhMac net.HardwareAddr
+ SrcIp net.IP
+ DstIp net.IP
+ Dscp uint8
+ Ttl uint8
+ Vpn uint32
+ RateLimit uint32
+ IfName string
+}
+
+type IBsnVportL2Gre interface {
+ IBsnVport
+ GetFlags() BsnVportL2GreFlags
+ GetPortNo() Port
+ GetLoopbackPortNo() Port
+ GetLocalMac() net.HardwareAddr
+ GetNhMac() net.HardwareAddr
+ GetSrcIp() net.IP
+ GetDstIp() net.IP
+ GetDscp() uint8
+ GetTtl() uint8
+ GetVpn() uint32
+ GetRateLimit() uint32
+ GetIfName() string
+}
+
+func (self *BsnVportL2Gre) GetFlags() BsnVportL2GreFlags {
+ return self.Flags
+}
+
+func (self *BsnVportL2Gre) SetFlags(v BsnVportL2GreFlags) {
+ self.Flags = v
+}
+
+func (self *BsnVportL2Gre) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnVportL2Gre) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnVportL2Gre) GetLoopbackPortNo() Port {
+ return self.LoopbackPortNo
+}
+
+func (self *BsnVportL2Gre) SetLoopbackPortNo(v Port) {
+ self.LoopbackPortNo = v
+}
+
+func (self *BsnVportL2Gre) GetLocalMac() net.HardwareAddr {
+ return self.LocalMac
+}
+
+func (self *BsnVportL2Gre) SetLocalMac(v net.HardwareAddr) {
+ self.LocalMac = v
+}
+
+func (self *BsnVportL2Gre) GetNhMac() net.HardwareAddr {
+ return self.NhMac
+}
+
+func (self *BsnVportL2Gre) SetNhMac(v net.HardwareAddr) {
+ self.NhMac = v
+}
+
+func (self *BsnVportL2Gre) GetSrcIp() net.IP {
+ return self.SrcIp
+}
+
+func (self *BsnVportL2Gre) SetSrcIp(v net.IP) {
+ self.SrcIp = v
+}
+
+func (self *BsnVportL2Gre) GetDstIp() net.IP {
+ return self.DstIp
+}
+
+func (self *BsnVportL2Gre) SetDstIp(v net.IP) {
+ self.DstIp = v
+}
+
+func (self *BsnVportL2Gre) GetDscp() uint8 {
+ return self.Dscp
+}
+
+func (self *BsnVportL2Gre) SetDscp(v uint8) {
+ self.Dscp = v
+}
+
+func (self *BsnVportL2Gre) GetTtl() uint8 {
+ return self.Ttl
+}
+
+func (self *BsnVportL2Gre) SetTtl(v uint8) {
+ self.Ttl = v
+}
+
+func (self *BsnVportL2Gre) GetVpn() uint32 {
+ return self.Vpn
+}
+
+func (self *BsnVportL2Gre) SetVpn(v uint32) {
+ self.Vpn = v
+}
+
+func (self *BsnVportL2Gre) GetRateLimit() uint32 {
+ return self.RateLimit
+}
+
+func (self *BsnVportL2Gre) SetRateLimit(v uint32) {
+ self.RateLimit = v
+}
+
+func (self *BsnVportL2Gre) GetIfName() string {
+ return self.IfName
+}
+
+func (self *BsnVportL2Gre) SetIfName(v string) {
+ self.IfName = v
+}
+
+func (self *BsnVportL2Gre) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnVport.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Flags))
+ self.PortNo.Serialize(encoder)
+ self.LoopbackPortNo.Serialize(encoder)
+ encoder.Write(self.LocalMac)
+ encoder.Write(self.NhMac)
+ encoder.Write(self.SrcIp.To4())
+ encoder.Write(self.DstIp.To4())
+ encoder.PutUint8(uint8(self.Dscp))
+ encoder.PutUint8(uint8(self.Ttl))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.Vpn))
+ encoder.PutUint32(uint32(self.RateLimit))
+ encoder.Write([]byte(self.IfName))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVportL2Gre(parent *BsnVport, decoder *goloxi.Decoder) (*BsnVportL2Gre, error) {
+ _bsnvportl2gre := &BsnVportL2Gre{BsnVport: parent}
+ if decoder.Length() < 60 {
+ return nil, fmt.Errorf("BsnVportL2Gre packet too short: %d < 60", decoder.Length())
+ }
+ _bsnvportl2gre.Flags = BsnVportL2GreFlags(decoder.ReadUint32())
+ _bsnvportl2gre.PortNo.Decode(decoder)
+ _bsnvportl2gre.LoopbackPortNo.Decode(decoder)
+ _bsnvportl2gre.LocalMac = net.HardwareAddr(decoder.Read(6))
+ _bsnvportl2gre.NhMac = net.HardwareAddr(decoder.Read(6))
+ _bsnvportl2gre.SrcIp = net.IP(decoder.Read(4))
+ _bsnvportl2gre.DstIp = net.IP(decoder.Read(4))
+ _bsnvportl2gre.Dscp = uint8(decoder.ReadByte())
+ _bsnvportl2gre.Ttl = uint8(decoder.ReadByte())
+ decoder.Skip(2)
+ _bsnvportl2gre.Vpn = uint32(decoder.ReadUint32())
+ _bsnvportl2gre.RateLimit = uint32(decoder.ReadUint32())
+ _bsnvportl2gre.IfName = string(bytes.Trim(decoder.Read(16), "\x00"))
+ return _bsnvportl2gre, nil
+}
+
+func NewBsnVportL2Gre() *BsnVportL2Gre {
+ obj := &BsnVportL2Gre{
+ BsnVport: NewBsnVport(1),
+ }
+ return obj
+}
+
+type BsnVportQInQ struct {
+ *BsnVport
+ PortNo uint32
+ IngressTpid uint16
+ IngressVlanId uint16
+ EgressTpid uint16
+ EgressVlanId uint16
+ IfName string
+}
+
+type IBsnVportQInQ interface {
+ IBsnVport
+ GetPortNo() uint32
+ GetIngressTpid() uint16
+ GetIngressVlanId() uint16
+ GetEgressTpid() uint16
+ GetEgressVlanId() uint16
+ GetIfName() string
+}
+
+func (self *BsnVportQInQ) GetPortNo() uint32 {
+ return self.PortNo
+}
+
+func (self *BsnVportQInQ) SetPortNo(v uint32) {
+ self.PortNo = v
+}
+
+func (self *BsnVportQInQ) GetIngressTpid() uint16 {
+ return self.IngressTpid
+}
+
+func (self *BsnVportQInQ) SetIngressTpid(v uint16) {
+ self.IngressTpid = v
+}
+
+func (self *BsnVportQInQ) GetIngressVlanId() uint16 {
+ return self.IngressVlanId
+}
+
+func (self *BsnVportQInQ) SetIngressVlanId(v uint16) {
+ self.IngressVlanId = v
+}
+
+func (self *BsnVportQInQ) GetEgressTpid() uint16 {
+ return self.EgressTpid
+}
+
+func (self *BsnVportQInQ) SetEgressTpid(v uint16) {
+ self.EgressTpid = v
+}
+
+func (self *BsnVportQInQ) GetEgressVlanId() uint16 {
+ return self.EgressVlanId
+}
+
+func (self *BsnVportQInQ) SetEgressVlanId(v uint16) {
+ self.EgressVlanId = v
+}
+
+func (self *BsnVportQInQ) GetIfName() string {
+ return self.IfName
+}
+
+func (self *BsnVportQInQ) SetIfName(v string) {
+ self.IfName = v
+}
+
+func (self *BsnVportQInQ) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnVport.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.PortNo))
+ encoder.PutUint16(uint16(self.IngressTpid))
+ encoder.PutUint16(uint16(self.IngressVlanId))
+ encoder.PutUint16(uint16(self.EgressTpid))
+ encoder.PutUint16(uint16(self.EgressVlanId))
+ encoder.Write([]byte(self.IfName))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVportQInQ(parent *BsnVport, decoder *goloxi.Decoder) (*BsnVportQInQ, error) {
+ _bsnvportqinq := &BsnVportQInQ{BsnVport: parent}
+ if decoder.Length() < 28 {
+ return nil, fmt.Errorf("BsnVportQInQ packet too short: %d < 28", decoder.Length())
+ }
+ _bsnvportqinq.PortNo = uint32(decoder.ReadUint32())
+ _bsnvportqinq.IngressTpid = uint16(decoder.ReadUint16())
+ _bsnvportqinq.IngressVlanId = uint16(decoder.ReadUint16())
+ _bsnvportqinq.EgressTpid = uint16(decoder.ReadUint16())
+ _bsnvportqinq.EgressVlanId = uint16(decoder.ReadUint16())
+ _bsnvportqinq.IfName = string(bytes.Trim(decoder.Read(16), "\x00"))
+ return _bsnvportqinq, nil
+}
+
+func NewBsnVportQInQ() *BsnVportQInQ {
+ obj := &BsnVportQInQ{
+ BsnVport: NewBsnVport(0),
+ }
+ return obj
+}
+
+type BsnVrfCounterStatsEntry struct {
+ Length uint16
+ Vrf uint32
+ Values []*Uint64
+}
+
+type IBsnVrfCounterStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetVrf() uint32
+ GetValues() []*Uint64
+}
+
+func (self *BsnVrfCounterStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *BsnVrfCounterStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *BsnVrfCounterStatsEntry) GetVrf() uint32 {
+ return self.Vrf
+}
+
+func (self *BsnVrfCounterStatsEntry) SetVrf(v uint32) {
+ self.Vrf = v
+}
+
+func (self *BsnVrfCounterStatsEntry) GetValues() []*Uint64 {
+ return self.Values
+}
+
+func (self *BsnVrfCounterStatsEntry) SetValues(v []*Uint64) {
+ self.Values = v
+}
+
+func (self *BsnVrfCounterStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.Vrf))
+ for _, obj := range self.Values {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVrfCounterStatsEntry(decoder *goloxi.Decoder) (*BsnVrfCounterStatsEntry, error) {
+ _bsnvrfcounterstatsentry := &BsnVrfCounterStatsEntry{}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnVrfCounterStatsEntry packet too short: %d < 8", decoder.Length())
+ }
+ _bsnvrfcounterstatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_bsnvrfcounterstatsentry.Length), 2+0)
+ decoder.Skip(2)
+ _bsnvrfcounterstatsentry.Vrf = uint32(decoder.ReadUint32())
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeUint64(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsnvrfcounterstatsentry.Values = append(_bsnvrfcounterstatsentry.Values, item)
+ }
+ }
+ return _bsnvrfcounterstatsentry, nil
+}
+
+func NewBsnVrfCounterStatsEntry() *BsnVrfCounterStatsEntry {
+ obj := &BsnVrfCounterStatsEntry{}
+ return obj
+}
+
+type Bucket struct {
+ Len uint16
+ Weight uint16
+ WatchPort Port
+ WatchGroup uint32
+ Actions []goloxi.IAction
+}
+
+type IBucket interface {
+ goloxi.Serializable
+ GetLen() uint16
+ GetWeight() uint16
+ GetWatchPort() Port
+ GetWatchGroup() uint32
+ GetActions() []goloxi.IAction
+}
+
+func (self *Bucket) GetLen() uint16 {
+ return self.Len
+}
+
+func (self *Bucket) SetLen(v uint16) {
+ self.Len = v
+}
+
+func (self *Bucket) GetWeight() uint16 {
+ return self.Weight
+}
+
+func (self *Bucket) SetWeight(v uint16) {
+ self.Weight = v
+}
+
+func (self *Bucket) GetWatchPort() Port {
+ return self.WatchPort
+}
+
+func (self *Bucket) SetWatchPort(v Port) {
+ self.WatchPort = v
+}
+
+func (self *Bucket) GetWatchGroup() uint32 {
+ return self.WatchGroup
+}
+
+func (self *Bucket) SetWatchGroup(v uint32) {
+ self.WatchGroup = v
+}
+
+func (self *Bucket) GetActions() []goloxi.IAction {
+ return self.Actions
+}
+
+func (self *Bucket) SetActions(v []goloxi.IAction) {
+ self.Actions = v
+}
+
+func (self *Bucket) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Len))
+ encoder.PutUint16(uint16(self.Weight))
+ self.WatchPort.Serialize(encoder)
+ encoder.PutUint32(uint32(self.WatchGroup))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Actions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBucket(decoder *goloxi.Decoder) (*Bucket, error) {
+ _bucket := &Bucket{}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("Bucket packet too short: %d < 16", decoder.Length())
+ }
+ _bucket.Len = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_bucket.Len), 2+0)
+ _bucket.Weight = uint16(decoder.ReadUint16())
+ _bucket.WatchPort.Decode(decoder)
+ _bucket.WatchGroup = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeAction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bucket.Actions = append(_bucket.Actions, item)
+ }
+ }
+ return _bucket, nil
+}
+
+func NewBucket() *Bucket {
+ obj := &Bucket{}
+ return obj
+}
+
+type BucketCounter struct {
+ PacketCount uint64
+ ByteCount uint64
+}
+
+type IBucketCounter interface {
+ goloxi.Serializable
+ GetPacketCount() uint64
+ GetByteCount() uint64
+}
+
+func (self *BucketCounter) GetPacketCount() uint64 {
+ return self.PacketCount
+}
+
+func (self *BucketCounter) SetPacketCount(v uint64) {
+ self.PacketCount = v
+}
+
+func (self *BucketCounter) GetByteCount() uint64 {
+ return self.ByteCount
+}
+
+func (self *BucketCounter) SetByteCount(v uint64) {
+ self.ByteCount = v
+}
+
+func (self *BucketCounter) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint64(uint64(self.PacketCount))
+ encoder.PutUint64(uint64(self.ByteCount))
+
+ return nil
+}
+
+func DecodeBucketCounter(decoder *goloxi.Decoder) (*BucketCounter, error) {
+ _bucketcounter := &BucketCounter{}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("BucketCounter packet too short: %d < 16", decoder.Length())
+ }
+ _bucketcounter.PacketCount = uint64(decoder.ReadUint64())
+ _bucketcounter.ByteCount = uint64(decoder.ReadUint64())
+ return _bucketcounter, nil
+}
+
+func NewBucketCounter() *BucketCounter {
+ obj := &BucketCounter{}
+ return obj
+}
+
+type EdPropHeader struct {
+ PropClass uint16
+}
+
+type IEdPropHeader interface {
+ goloxi.Serializable
+ GetPropClass() uint16
+}
+
+func (self *EdPropHeader) GetPropClass() uint16 {
+ return self.PropClass
+}
+
+func (self *EdPropHeader) SetPropClass(v uint16) {
+ self.PropClass = v
+}
+
+func (self *EdPropHeader) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.PropClass))
+
+ return nil
+}
+
+func DecodeEdPropHeader(decoder *goloxi.Decoder) (IEdPropHeader, error) {
+ _edpropheader := &EdPropHeader{}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("EdPropHeader packet too short: %d < 2", decoder.Length())
+ }
+ _edpropheader.PropClass = uint16(decoder.ReadUint16())
+
+ switch _edpropheader.PropClass {
+ case 4:
+ return DecodeEdPropNsh(_edpropheader, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'EdPropHeader'", _edpropheader.PropClass)
+ }
+}
+
+func NewEdPropHeader(_prop_class uint16) *EdPropHeader {
+ obj := &EdPropHeader{}
+ obj.PropClass = _prop_class
+ return obj
+}
+
+type EdPropNsh struct {
+ *EdPropHeader
+ Type uint8
+ Len uint8
+}
+
+type IEdPropNsh interface {
+ IEdPropHeader
+ GetType() uint8
+ GetLen() uint8
+}
+
+func (self *EdPropNsh) GetType() uint8 {
+ return self.Type
+}
+
+func (self *EdPropNsh) SetType(v uint8) {
+ self.Type = v
+}
+
+func (self *EdPropNsh) GetLen() uint8 {
+ return self.Len
+}
+
+func (self *EdPropNsh) SetLen(v uint8) {
+ self.Len = v
+}
+
+func (self *EdPropNsh) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.EdPropHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Type))
+ encoder.PutUint8(uint8(self.Len))
+
+ encoder.SkipAlign()
+
+ return nil
+}
+
+func DecodeEdPropNsh(parent *EdPropHeader, decoder *goloxi.Decoder) (IEdPropNsh, error) {
+ _edpropnsh := &EdPropNsh{EdPropHeader: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("EdPropNsh packet too short: %d < 2", decoder.Length())
+ }
+ defer decoder.SkipAlign()
+
+ _edpropnsh.Type = uint8(decoder.ReadByte())
+ _edpropnsh.Len = uint8(decoder.ReadByte())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(((_edpropnsh.Len)+7)/8*8), 1+3)
+
+ switch _edpropnsh.Type {
+ case 1:
+ return DecodeEdPropNshMdType(_edpropnsh, decoder)
+ case 2:
+ return DecodeEdPropNshTlv(_edpropnsh, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'EdPropNsh'", _edpropnsh.Type)
+ }
+}
+
+func NewEdPropNsh(_type uint8) *EdPropNsh {
+ obj := &EdPropNsh{
+ EdPropHeader: NewEdPropHeader(4),
+ }
+ obj.Type = _type
+ return obj
+}
+
+type EdPropNshMdType struct {
+ *EdPropNsh
+ MdType uint8
+}
+
+type IEdPropNshMdType interface {
+ IEdPropNsh
+ GetMdType() uint8
+}
+
+func (self *EdPropNshMdType) GetMdType() uint8 {
+ return self.MdType
+}
+
+func (self *EdPropNshMdType) SetMdType(v uint8) {
+ self.MdType = v
+}
+
+func (self *EdPropNshMdType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.EdPropNsh.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.MdType))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+
+ encoder.Bytes()[3] = uint8(len(encoder.Bytes()))
+
+ return nil
+}
+
+func DecodeEdPropNshMdType(parent *EdPropNsh, decoder *goloxi.Decoder) (*EdPropNshMdType, error) {
+ _edpropnshmdtype := &EdPropNshMdType{EdPropNsh: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("EdPropNshMdType packet too short: %d < 4", decoder.Length())
+ }
+ _edpropnshmdtype.MdType = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ return _edpropnshmdtype, nil
+}
+
+func NewEdPropNshMdType() *EdPropNshMdType {
+ obj := &EdPropNshMdType{
+ EdPropNsh: NewEdPropNsh(1),
+ }
+ return obj
+}
+
+type EdPropNshTlv struct {
+ *EdPropNsh
+ TlvClass uint16
+ TlvType uint8
+ TlvLen uint8
+ Value []byte
+}
+
+type IEdPropNshTlv interface {
+ IEdPropNsh
+ GetTlvClass() uint16
+ GetTlvType() uint8
+ GetTlvLen() uint8
+ GetValue() []byte
+}
+
+func (self *EdPropNshTlv) GetTlvClass() uint16 {
+ return self.TlvClass
+}
+
+func (self *EdPropNshTlv) SetTlvClass(v uint16) {
+ self.TlvClass = v
+}
+
+func (self *EdPropNshTlv) GetTlvType() uint8 {
+ return self.TlvType
+}
+
+func (self *EdPropNshTlv) SetTlvType(v uint8) {
+ self.TlvType = v
+}
+
+func (self *EdPropNshTlv) GetTlvLen() uint8 {
+ return self.TlvLen
+}
+
+func (self *EdPropNshTlv) SetTlvLen(v uint8) {
+ self.TlvLen = v
+}
+
+func (self *EdPropNshTlv) GetValue() []byte {
+ return self.Value
+}
+
+func (self *EdPropNshTlv) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *EdPropNshTlv) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.EdPropNsh.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TlvClass))
+ encoder.PutUint8(uint8(self.TlvType))
+ encoder.PutUint8(uint8(self.TlvLen))
+ encoder.Write(self.Value)
+
+ encoder.Bytes()[3] = uint8(len(encoder.Bytes()))
+
+ return nil
+}
+
+func DecodeEdPropNshTlv(parent *EdPropNsh, decoder *goloxi.Decoder) (*EdPropNshTlv, error) {
+ _edpropnshtlv := &EdPropNshTlv{EdPropNsh: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("EdPropNshTlv packet too short: %d < 4", decoder.Length())
+ }
+ _edpropnshtlv.TlvClass = uint16(decoder.ReadUint16())
+ _edpropnshtlv.TlvType = uint8(decoder.ReadByte())
+ _edpropnshtlv.TlvLen = uint8(decoder.ReadByte())
+ _edpropnshtlv.Value = decoder.SliceDecoder(int(_edpropnshtlv.TlvLen), 0).Read(int(_edpropnshtlv.TlvLen))
+ return _edpropnshtlv, nil
+}
+
+func NewEdPropNshTlv() *EdPropNshTlv {
+ obj := &EdPropNshTlv{
+ EdPropNsh: NewEdPropNsh(2),
+ }
+ return obj
+}
+
+type FlowModSpec struct {
+ SrcDst uint8
+ NBits uint8
+}
+
+type IFlowModSpec interface {
+ goloxi.Serializable
+ GetSrcDst() uint8
+ GetNBits() uint8
+}
+
+func (self *FlowModSpec) GetSrcDst() uint8 {
+ return self.SrcDst
+}
+
+func (self *FlowModSpec) SetSrcDst(v uint8) {
+ self.SrcDst = v
+}
+
+func (self *FlowModSpec) GetNBits() uint8 {
+ return self.NBits
+}
+
+func (self *FlowModSpec) SetNBits(v uint8) {
+ self.NBits = v
+}
+
+func (self *FlowModSpec) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint8(uint8(self.SrcDst))
+ encoder.PutUint8(uint8(self.NBits))
+
+ return nil
+}
+
+func DecodeFlowModSpec(decoder *goloxi.Decoder) (IFlowModSpec, error) {
+ _flowmodspec := &FlowModSpec{}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("FlowModSpec packet too short: %d < 2", decoder.Length())
+ }
+ _flowmodspec.SrcDst = uint8(decoder.ReadByte())
+ _flowmodspec.NBits = uint8(decoder.ReadByte())
+ if _flowmodspec.SrcDst == 0 && _flowmodspec.NBits == 0 {
+ return nil, nil
+ }
+
+ switch _flowmodspec.SrcDst {
+ case 0:
+ return DecodeFlowModSpecSrc0Dst0(_flowmodspec, decoder)
+ case 8:
+ return DecodeFlowModSpecSrc0Dst1(_flowmodspec, decoder)
+ case 40:
+ return DecodeFlowModSpecSrc1Dst1(_flowmodspec, decoder)
+ case 16:
+ return DecodeFlowModSpecSrc0Dst2(_flowmodspec, decoder)
+ case 32:
+ return DecodeFlowModSpecSrc1Dst0(_flowmodspec, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'FlowModSpec'", _flowmodspec.SrcDst)
+ }
+}
+
+func NewFlowModSpec(_src_dst uint8) *FlowModSpec {
+ obj := &FlowModSpec{}
+ obj.SrcDst = _src_dst
+ return obj
+}
+
+type FlowModSpecSrc0Dst0 struct {
+ *FlowModSpec
+ Src goloxi.IOxmId
+ SrcOfs uint16
+ Dst goloxi.IOxmId
+ DstOfs uint16
+}
+
+type IFlowModSpecSrc0Dst0 interface {
+ IFlowModSpec
+ GetSrc() goloxi.IOxmId
+ GetSrcOfs() uint16
+ GetDst() goloxi.IOxmId
+ GetDstOfs() uint16
+}
+
+func (self *FlowModSpecSrc0Dst0) GetSrc() goloxi.IOxmId {
+ return self.Src
+}
+
+func (self *FlowModSpecSrc0Dst0) SetSrc(v goloxi.IOxmId) {
+ self.Src = v
+}
+
+func (self *FlowModSpecSrc0Dst0) GetSrcOfs() uint16 {
+ return self.SrcOfs
+}
+
+func (self *FlowModSpecSrc0Dst0) SetSrcOfs(v uint16) {
+ self.SrcOfs = v
+}
+
+func (self *FlowModSpecSrc0Dst0) GetDst() goloxi.IOxmId {
+ return self.Dst
+}
+
+func (self *FlowModSpecSrc0Dst0) SetDst(v goloxi.IOxmId) {
+ self.Dst = v
+}
+
+func (self *FlowModSpecSrc0Dst0) GetDstOfs() uint16 {
+ return self.DstOfs
+}
+
+func (self *FlowModSpecSrc0Dst0) SetDstOfs(v uint16) {
+ self.DstOfs = v
+}
+
+func (self *FlowModSpecSrc0Dst0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowModSpec.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Src.Serialize(encoder)
+ encoder.PutUint16(uint16(self.SrcOfs))
+ self.Dst.Serialize(encoder)
+ encoder.PutUint16(uint16(self.DstOfs))
+
+ return nil
+}
+
+func DecodeFlowModSpecSrc0Dst0(parent *FlowModSpec, decoder *goloxi.Decoder) (IFlowModSpecSrc0Dst0, error) {
+ _flowmodspecsrc0dst0 := &FlowModSpecSrc0Dst0{FlowModSpec: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("FlowModSpecSrc0Dst0 packet too short: %d < 12", decoder.Length())
+ }
+ if obj, err := DecodeOxmId(decoder); err != nil {
+ return nil, err
+ } else {
+ _flowmodspecsrc0dst0.Src = obj
+ }
+
+ _flowmodspecsrc0dst0.SrcOfs = uint16(decoder.ReadUint16())
+ if obj, err := DecodeOxmId(decoder); err != nil {
+ return nil, err
+ } else {
+ _flowmodspecsrc0dst0.Dst = obj
+ }
+
+ _flowmodspecsrc0dst0.DstOfs = uint16(decoder.ReadUint16())
+ return _flowmodspecsrc0dst0, nil
+}
+
+func NewFlowModSpecSrc0Dst0(_n_bits uint8) *FlowModSpecSrc0Dst0 {
+ obj := &FlowModSpecSrc0Dst0{
+ FlowModSpec: NewFlowModSpec(0),
+ }
+ obj.NBits = _n_bits
+ return obj
+}
+
+type FlowModSpecSrc0Dst1 struct {
+ *FlowModSpec
+ Src goloxi.IOxmId
+ SrcOfs uint16
+ Dst goloxi.IOxmId
+ DstOfs uint16
+}
+
+type IFlowModSpecSrc0Dst1 interface {
+ IFlowModSpec
+ GetSrc() goloxi.IOxmId
+ GetSrcOfs() uint16
+ GetDst() goloxi.IOxmId
+ GetDstOfs() uint16
+}
+
+func (self *FlowModSpecSrc0Dst1) GetSrc() goloxi.IOxmId {
+ return self.Src
+}
+
+func (self *FlowModSpecSrc0Dst1) SetSrc(v goloxi.IOxmId) {
+ self.Src = v
+}
+
+func (self *FlowModSpecSrc0Dst1) GetSrcOfs() uint16 {
+ return self.SrcOfs
+}
+
+func (self *FlowModSpecSrc0Dst1) SetSrcOfs(v uint16) {
+ self.SrcOfs = v
+}
+
+func (self *FlowModSpecSrc0Dst1) GetDst() goloxi.IOxmId {
+ return self.Dst
+}
+
+func (self *FlowModSpecSrc0Dst1) SetDst(v goloxi.IOxmId) {
+ self.Dst = v
+}
+
+func (self *FlowModSpecSrc0Dst1) GetDstOfs() uint16 {
+ return self.DstOfs
+}
+
+func (self *FlowModSpecSrc0Dst1) SetDstOfs(v uint16) {
+ self.DstOfs = v
+}
+
+func (self *FlowModSpecSrc0Dst1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowModSpec.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Src.Serialize(encoder)
+ encoder.PutUint16(uint16(self.SrcOfs))
+ self.Dst.Serialize(encoder)
+ encoder.PutUint16(uint16(self.DstOfs))
+
+ return nil
+}
+
+func DecodeFlowModSpecSrc0Dst1(parent *FlowModSpec, decoder *goloxi.Decoder) (*FlowModSpecSrc0Dst1, error) {
+ _flowmodspecsrc0dst1 := &FlowModSpecSrc0Dst1{FlowModSpec: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("FlowModSpecSrc0Dst1 packet too short: %d < 12", decoder.Length())
+ }
+ if obj, err := DecodeOxmId(decoder); err != nil {
+ return nil, err
+ } else {
+ _flowmodspecsrc0dst1.Src = obj
+ }
+
+ _flowmodspecsrc0dst1.SrcOfs = uint16(decoder.ReadUint16())
+ if obj, err := DecodeOxmId(decoder); err != nil {
+ return nil, err
+ } else {
+ _flowmodspecsrc0dst1.Dst = obj
+ }
+
+ _flowmodspecsrc0dst1.DstOfs = uint16(decoder.ReadUint16())
+ return _flowmodspecsrc0dst1, nil
+}
+
+func NewFlowModSpecSrc0Dst1() *FlowModSpecSrc0Dst1 {
+ obj := &FlowModSpecSrc0Dst1{
+ FlowModSpec: NewFlowModSpec(8),
+ }
+ return obj
+}
+
+type FlowModSpecSrc0Dst2 struct {
+ *FlowModSpec
+ Src goloxi.IOxmId
+ SrcOfs uint16
+}
+
+type IFlowModSpecSrc0Dst2 interface {
+ IFlowModSpec
+ GetSrc() goloxi.IOxmId
+ GetSrcOfs() uint16
+}
+
+func (self *FlowModSpecSrc0Dst2) GetSrc() goloxi.IOxmId {
+ return self.Src
+}
+
+func (self *FlowModSpecSrc0Dst2) SetSrc(v goloxi.IOxmId) {
+ self.Src = v
+}
+
+func (self *FlowModSpecSrc0Dst2) GetSrcOfs() uint16 {
+ return self.SrcOfs
+}
+
+func (self *FlowModSpecSrc0Dst2) SetSrcOfs(v uint16) {
+ self.SrcOfs = v
+}
+
+func (self *FlowModSpecSrc0Dst2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowModSpec.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Src.Serialize(encoder)
+ encoder.PutUint16(uint16(self.SrcOfs))
+
+ return nil
+}
+
+func DecodeFlowModSpecSrc0Dst2(parent *FlowModSpec, decoder *goloxi.Decoder) (*FlowModSpecSrc0Dst2, error) {
+ _flowmodspecsrc0dst2 := &FlowModSpecSrc0Dst2{FlowModSpec: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("FlowModSpecSrc0Dst2 packet too short: %d < 6", decoder.Length())
+ }
+ if obj, err := DecodeOxmId(decoder); err != nil {
+ return nil, err
+ } else {
+ _flowmodspecsrc0dst2.Src = obj
+ }
+
+ _flowmodspecsrc0dst2.SrcOfs = uint16(decoder.ReadUint16())
+ return _flowmodspecsrc0dst2, nil
+}
+
+func NewFlowModSpecSrc0Dst2() *FlowModSpecSrc0Dst2 {
+ obj := &FlowModSpecSrc0Dst2{
+ FlowModSpec: NewFlowModSpec(16),
+ }
+ return obj
+}
+
+type FlowModSpecSrc1Dst0 struct {
+ *FlowModSpec
+ Src []byte
+ Dst goloxi.IOxmId
+ DstOfs uint16
+}
+
+type IFlowModSpecSrc1Dst0 interface {
+ IFlowModSpec
+ GetSrc() []byte
+ GetDst() goloxi.IOxmId
+ GetDstOfs() uint16
+}
+
+func (self *FlowModSpecSrc1Dst0) GetSrc() []byte {
+ return self.Src
+}
+
+func (self *FlowModSpecSrc1Dst0) SetSrc(v []byte) {
+ self.Src = v
+}
+
+func (self *FlowModSpecSrc1Dst0) GetDst() goloxi.IOxmId {
+ return self.Dst
+}
+
+func (self *FlowModSpecSrc1Dst0) SetDst(v goloxi.IOxmId) {
+ self.Dst = v
+}
+
+func (self *FlowModSpecSrc1Dst0) GetDstOfs() uint16 {
+ return self.DstOfs
+}
+
+func (self *FlowModSpecSrc1Dst0) SetDstOfs(v uint16) {
+ self.DstOfs = v
+}
+
+func (self *FlowModSpecSrc1Dst0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowModSpec.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Src)
+ self.Dst.Serialize(encoder)
+ encoder.PutUint16(uint16(self.DstOfs))
+
+ return nil
+}
+
+func DecodeFlowModSpecSrc1Dst0(parent *FlowModSpec, decoder *goloxi.Decoder) (*FlowModSpecSrc1Dst0, error) {
+ _flowmodspecsrc1dst0 := &FlowModSpecSrc1Dst0{FlowModSpec: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("FlowModSpecSrc1Dst0 packet too short: %d < 6", decoder.Length())
+ }
+ _flowmodspecsrc1dst0.Src = decoder.SliceDecoder(int((_flowmodspecsrc1dst0.NBits+15)/16*2), 0).Read(int(_flowmodspecsrc1dst0.NBits))
+ if obj, err := DecodeOxmId(decoder); err != nil {
+ return nil, err
+ } else {
+ _flowmodspecsrc1dst0.Dst = obj
+ }
+
+ _flowmodspecsrc1dst0.DstOfs = uint16(decoder.ReadUint16())
+ return _flowmodspecsrc1dst0, nil
+}
+
+func NewFlowModSpecSrc1Dst0() *FlowModSpecSrc1Dst0 {
+ obj := &FlowModSpecSrc1Dst0{
+ FlowModSpec: NewFlowModSpec(32),
+ }
+ return obj
+}
+
+type FlowModSpecSrc1Dst1 struct {
+ *FlowModSpec
+ Src []byte
+ Dst goloxi.IOxmId
+ DstOfs uint16
+}
+
+type IFlowModSpecSrc1Dst1 interface {
+ IFlowModSpec
+ GetSrc() []byte
+ GetDst() goloxi.IOxmId
+ GetDstOfs() uint16
+}
+
+func (self *FlowModSpecSrc1Dst1) GetSrc() []byte {
+ return self.Src
+}
+
+func (self *FlowModSpecSrc1Dst1) SetSrc(v []byte) {
+ self.Src = v
+}
+
+func (self *FlowModSpecSrc1Dst1) GetDst() goloxi.IOxmId {
+ return self.Dst
+}
+
+func (self *FlowModSpecSrc1Dst1) SetDst(v goloxi.IOxmId) {
+ self.Dst = v
+}
+
+func (self *FlowModSpecSrc1Dst1) GetDstOfs() uint16 {
+ return self.DstOfs
+}
+
+func (self *FlowModSpecSrc1Dst1) SetDstOfs(v uint16) {
+ self.DstOfs = v
+}
+
+func (self *FlowModSpecSrc1Dst1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowModSpec.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Src)
+ self.Dst.Serialize(encoder)
+ encoder.PutUint16(uint16(self.DstOfs))
+
+ return nil
+}
+
+func DecodeFlowModSpecSrc1Dst1(parent *FlowModSpec, decoder *goloxi.Decoder) (*FlowModSpecSrc1Dst1, error) {
+ _flowmodspecsrc1dst1 := &FlowModSpecSrc1Dst1{FlowModSpec: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("FlowModSpecSrc1Dst1 packet too short: %d < 6", decoder.Length())
+ }
+ _flowmodspecsrc1dst1.Src = decoder.SliceDecoder(int((_flowmodspecsrc1dst1.NBits+15)/16*2), 0).Read(int(_flowmodspecsrc1dst1.NBits))
+ if obj, err := DecodeOxmId(decoder); err != nil {
+ return nil, err
+ } else {
+ _flowmodspecsrc1dst1.Dst = obj
+ }
+
+ _flowmodspecsrc1dst1.DstOfs = uint16(decoder.ReadUint16())
+ return _flowmodspecsrc1dst1, nil
+}
+
+func NewFlowModSpecSrc1Dst1() *FlowModSpecSrc1Dst1 {
+ obj := &FlowModSpecSrc1Dst1{
+ FlowModSpec: NewFlowModSpec(40),
+ }
+ return obj
+}
+
+type FlowStatsEntry struct {
+ Length uint16
+ TableId uint8
+ DurationSec uint32
+ DurationNsec uint32
+ Priority uint16
+ IdleTimeout uint16
+ HardTimeout uint16
+ Flags FlowModFlags
+ Cookie uint64
+ PacketCount uint64
+ ByteCount uint64
+ Match Match
+ Instructions []IInstruction
+}
+
+type IFlowStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetTableId() uint8
+ GetDurationSec() uint32
+ GetDurationNsec() uint32
+ GetPriority() uint16
+ GetIdleTimeout() uint16
+ GetHardTimeout() uint16
+ GetFlags() FlowModFlags
+ GetCookie() uint64
+ GetPacketCount() uint64
+ GetByteCount() uint64
+ GetMatch() Match
+ GetInstructions() []IInstruction
+}
+
+func (self *FlowStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *FlowStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *FlowStatsEntry) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *FlowStatsEntry) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *FlowStatsEntry) GetDurationSec() uint32 {
+ return self.DurationSec
+}
+
+func (self *FlowStatsEntry) SetDurationSec(v uint32) {
+ self.DurationSec = v
+}
+
+func (self *FlowStatsEntry) GetDurationNsec() uint32 {
+ return self.DurationNsec
+}
+
+func (self *FlowStatsEntry) SetDurationNsec(v uint32) {
+ self.DurationNsec = v
+}
+
+func (self *FlowStatsEntry) GetPriority() uint16 {
+ return self.Priority
+}
+
+func (self *FlowStatsEntry) SetPriority(v uint16) {
+ self.Priority = v
+}
+
+func (self *FlowStatsEntry) GetIdleTimeout() uint16 {
+ return self.IdleTimeout
+}
+
+func (self *FlowStatsEntry) SetIdleTimeout(v uint16) {
+ self.IdleTimeout = v
+}
+
+func (self *FlowStatsEntry) GetHardTimeout() uint16 {
+ return self.HardTimeout
+}
+
+func (self *FlowStatsEntry) SetHardTimeout(v uint16) {
+ self.HardTimeout = v
+}
+
+func (self *FlowStatsEntry) GetFlags() FlowModFlags {
+ return self.Flags
+}
+
+func (self *FlowStatsEntry) SetFlags(v FlowModFlags) {
+ self.Flags = v
+}
+
+func (self *FlowStatsEntry) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *FlowStatsEntry) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *FlowStatsEntry) GetPacketCount() uint64 {
+ return self.PacketCount
+}
+
+func (self *FlowStatsEntry) SetPacketCount(v uint64) {
+ self.PacketCount = v
+}
+
+func (self *FlowStatsEntry) GetByteCount() uint64 {
+ return self.ByteCount
+}
+
+func (self *FlowStatsEntry) SetByteCount(v uint64) {
+ self.ByteCount = v
+}
+
+func (self *FlowStatsEntry) GetMatch() Match {
+ return self.Match
+}
+
+func (self *FlowStatsEntry) SetMatch(v Match) {
+ self.Match = v
+}
+
+func (self *FlowStatsEntry) GetInstructions() []IInstruction {
+ return self.Instructions
+}
+
+func (self *FlowStatsEntry) SetInstructions(v []IInstruction) {
+ self.Instructions = v
+}
+
+func (self *FlowStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint32(uint32(self.DurationSec))
+ encoder.PutUint32(uint32(self.DurationNsec))
+ encoder.PutUint16(uint16(self.Priority))
+ encoder.PutUint16(uint16(self.IdleTimeout))
+ encoder.PutUint16(uint16(self.HardTimeout))
+ encoder.PutUint16(uint16(self.Flags))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint64(uint64(self.Cookie))
+ encoder.PutUint64(uint64(self.PacketCount))
+ encoder.PutUint64(uint64(self.ByteCount))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Instructions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowStatsEntry(decoder *goloxi.Decoder) (*FlowStatsEntry, error) {
+ _flowstatsentry := &FlowStatsEntry{}
+ if decoder.Length() < 56 {
+ return nil, fmt.Errorf("FlowStatsEntry packet too short: %d < 56", decoder.Length())
+ }
+ _flowstatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_flowstatsentry.Length), 2+0)
+ _flowstatsentry.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(1)
+ _flowstatsentry.DurationSec = uint32(decoder.ReadUint32())
+ _flowstatsentry.DurationNsec = uint32(decoder.ReadUint32())
+ _flowstatsentry.Priority = uint16(decoder.ReadUint16())
+ _flowstatsentry.IdleTimeout = uint16(decoder.ReadUint16())
+ _flowstatsentry.HardTimeout = uint16(decoder.ReadUint16())
+ _flowstatsentry.Flags = FlowModFlags(decoder.ReadUint16())
+ decoder.Skip(4)
+ _flowstatsentry.Cookie = uint64(decoder.ReadUint64())
+ _flowstatsentry.PacketCount = uint64(decoder.ReadUint64())
+ _flowstatsentry.ByteCount = uint64(decoder.ReadUint64())
+ if err := _flowstatsentry.Match.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeInstruction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _flowstatsentry.Instructions = append(_flowstatsentry.Instructions, item)
+ }
+ }
+ return _flowstatsentry, nil
+}
+
+func NewFlowStatsEntry() *FlowStatsEntry {
+ obj := &FlowStatsEntry{}
+ return obj
+}
+
+type GroupDescStatsEntry struct {
+ Length uint16
+ GroupType GroupType
+ GroupId uint32
+ Buckets []*Bucket
+}
+
+type IGroupDescStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetGroupType() GroupType
+ GetGroupId() uint32
+ GetBuckets() []*Bucket
+}
+
+func (self *GroupDescStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *GroupDescStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *GroupDescStatsEntry) GetGroupType() GroupType {
+ return self.GroupType
+}
+
+func (self *GroupDescStatsEntry) SetGroupType(v GroupType) {
+ self.GroupType = v
+}
+
+func (self *GroupDescStatsEntry) GetGroupId() uint32 {
+ return self.GroupId
+}
+
+func (self *GroupDescStatsEntry) SetGroupId(v uint32) {
+ self.GroupId = v
+}
+
+func (self *GroupDescStatsEntry) GetBuckets() []*Bucket {
+ return self.Buckets
+}
+
+func (self *GroupDescStatsEntry) SetBuckets(v []*Bucket) {
+ self.Buckets = v
+}
+
+func (self *GroupDescStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint8(uint8(self.GroupType))
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint32(uint32(self.GroupId))
+ for _, obj := range self.Buckets {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupDescStatsEntry(decoder *goloxi.Decoder) (*GroupDescStatsEntry, error) {
+ _groupdescstatsentry := &GroupDescStatsEntry{}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("GroupDescStatsEntry packet too short: %d < 8", decoder.Length())
+ }
+ _groupdescstatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_groupdescstatsentry.Length), 2+0)
+ _groupdescstatsentry.GroupType = GroupType(decoder.ReadByte())
+ decoder.Skip(1)
+ _groupdescstatsentry.GroupId = uint32(decoder.ReadUint32())
+
+ for decoder.Length() >= 16 {
+ item, err := DecodeBucket(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _groupdescstatsentry.Buckets = append(_groupdescstatsentry.Buckets, item)
+ }
+ }
+ return _groupdescstatsentry, nil
+}
+
+func NewGroupDescStatsEntry() *GroupDescStatsEntry {
+ obj := &GroupDescStatsEntry{}
+ return obj
+}
+
+type GroupStatsEntry struct {
+ Length uint16
+ GroupId uint32
+ RefCount uint32
+ PacketCount uint64
+ ByteCount uint64
+ DurationSec uint32
+ DurationNsec uint32
+ BucketStats []*BucketCounter
+}
+
+type IGroupStatsEntry interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetGroupId() uint32
+ GetRefCount() uint32
+ GetPacketCount() uint64
+ GetByteCount() uint64
+ GetDurationSec() uint32
+ GetDurationNsec() uint32
+ GetBucketStats() []*BucketCounter
+}
+
+func (self *GroupStatsEntry) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *GroupStatsEntry) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *GroupStatsEntry) GetGroupId() uint32 {
+ return self.GroupId
+}
+
+func (self *GroupStatsEntry) SetGroupId(v uint32) {
+ self.GroupId = v
+}
+
+func (self *GroupStatsEntry) GetRefCount() uint32 {
+ return self.RefCount
+}
+
+func (self *GroupStatsEntry) SetRefCount(v uint32) {
+ self.RefCount = v
+}
+
+func (self *GroupStatsEntry) GetPacketCount() uint64 {
+ return self.PacketCount
+}
+
+func (self *GroupStatsEntry) SetPacketCount(v uint64) {
+ self.PacketCount = v
+}
+
+func (self *GroupStatsEntry) GetByteCount() uint64 {
+ return self.ByteCount
+}
+
+func (self *GroupStatsEntry) SetByteCount(v uint64) {
+ self.ByteCount = v
+}
+
+func (self *GroupStatsEntry) GetDurationSec() uint32 {
+ return self.DurationSec
+}
+
+func (self *GroupStatsEntry) SetDurationSec(v uint32) {
+ self.DurationSec = v
+}
+
+func (self *GroupStatsEntry) GetDurationNsec() uint32 {
+ return self.DurationNsec
+}
+
+func (self *GroupStatsEntry) SetDurationNsec(v uint32) {
+ self.DurationNsec = v
+}
+
+func (self *GroupStatsEntry) GetBucketStats() []*BucketCounter {
+ return self.BucketStats
+}
+
+func (self *GroupStatsEntry) SetBucketStats(v []*BucketCounter) {
+ self.BucketStats = v
+}
+
+func (self *GroupStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.GroupId))
+ encoder.PutUint32(uint32(self.RefCount))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint64(uint64(self.PacketCount))
+ encoder.PutUint64(uint64(self.ByteCount))
+ encoder.PutUint32(uint32(self.DurationSec))
+ encoder.PutUint32(uint32(self.DurationNsec))
+ for _, obj := range self.BucketStats {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupStatsEntry(decoder *goloxi.Decoder) (*GroupStatsEntry, error) {
+ _groupstatsentry := &GroupStatsEntry{}
+ if decoder.Length() < 40 {
+ return nil, fmt.Errorf("GroupStatsEntry packet too short: %d < 40", decoder.Length())
+ }
+ _groupstatsentry.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_groupstatsentry.Length), 2+0)
+ decoder.Skip(2)
+ _groupstatsentry.GroupId = uint32(decoder.ReadUint32())
+ _groupstatsentry.RefCount = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ _groupstatsentry.PacketCount = uint64(decoder.ReadUint64())
+ _groupstatsentry.ByteCount = uint64(decoder.ReadUint64())
+ _groupstatsentry.DurationSec = uint32(decoder.ReadUint32())
+ _groupstatsentry.DurationNsec = uint32(decoder.ReadUint32())
+
+ for decoder.Length() >= 16 {
+ item, err := DecodeBucketCounter(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _groupstatsentry.BucketStats = append(_groupstatsentry.BucketStats, item)
+ }
+ }
+ return _groupstatsentry, nil
+}
+
+func NewGroupStatsEntry() *GroupStatsEntry {
+ obj := &GroupStatsEntry{}
+ return obj
+}
+
+type HelloElem struct {
+ Type uint16
+ Length uint16
+}
+
+type IHelloElem interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLength() uint16
+}
+
+func (self *HelloElem) GetType() uint16 {
+ return self.Type
+}
+
+func (self *HelloElem) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *HelloElem) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *HelloElem) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *HelloElem) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Length))
+
+ return nil
+}
+
+func DecodeHelloElem(decoder *goloxi.Decoder) (IHelloElem, error) {
+ _helloelem := &HelloElem{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("HelloElem packet too short: %d < 4", decoder.Length())
+ }
+ _helloelem.Type = uint16(decoder.ReadUint16())
+ _helloelem.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_helloelem.Length), 2+2)
+
+ switch _helloelem.Type {
+ case 1:
+ return DecodeHelloElemVersionbitmap(_helloelem, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'HelloElem'", _helloelem.Type)
+ }
+}
+
+func NewHelloElem(_type uint16) *HelloElem {
+ obj := &HelloElem{}
+ obj.Type = _type
+ return obj
+}
+
+type HelloElemVersionbitmap struct {
+ *HelloElem
+ Bitmaps []*Uint32
+}
+
+type IHelloElemVersionbitmap interface {
+ IHelloElem
+ GetBitmaps() []*Uint32
+}
+
+func (self *HelloElemVersionbitmap) GetBitmaps() []*Uint32 {
+ return self.Bitmaps
+}
+
+func (self *HelloElemVersionbitmap) SetBitmaps(v []*Uint32) {
+ self.Bitmaps = v
+}
+
+func (self *HelloElemVersionbitmap) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.HelloElem.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Bitmaps {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeHelloElemVersionbitmap(parent *HelloElem, decoder *goloxi.Decoder) (*HelloElemVersionbitmap, error) {
+ _helloelemversionbitmap := &HelloElemVersionbitmap{HelloElem: parent}
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeUint32(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _helloelemversionbitmap.Bitmaps = append(_helloelemversionbitmap.Bitmaps, item)
+ }
+ }
+ return _helloelemversionbitmap, nil
+}
+
+func NewHelloElemVersionbitmap() *HelloElemVersionbitmap {
+ obj := &HelloElemVersionbitmap{
+ HelloElem: NewHelloElem(1),
+ }
+ return obj
+}
+
+type InstructionId struct {
+ Type uint16
+ Len uint16
+}
+
+type IInstructionId interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLen() uint16
+}
+
+func (self *InstructionId) GetType() uint16 {
+ return self.Type
+}
+
+func (self *InstructionId) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *InstructionId) GetLen() uint16 {
+ return self.Len
+}
+
+func (self *InstructionId) SetLen(v uint16) {
+ self.Len = v
+}
+
+func (self *InstructionId) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Len))
+
+ return nil
+}
+
+func DecodeInstructionId(decoder *goloxi.Decoder) (IInstructionId, error) {
+ _instructionid := &InstructionId{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionId packet too short: %d < 4", decoder.Length())
+ }
+ _instructionid.Type = uint16(decoder.ReadUint16())
+ _instructionid.Len = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_instructionid.Len), 2+2)
+
+ switch _instructionid.Type {
+ case 1:
+ return DecodeInstructionIdGotoTable(_instructionid, decoder)
+ case 2:
+ return DecodeInstructionIdWriteMetadata(_instructionid, decoder)
+ case 3:
+ return DecodeInstructionIdWriteActions(_instructionid, decoder)
+ case 4:
+ return DecodeInstructionIdApplyActions(_instructionid, decoder)
+ case 5:
+ return DecodeInstructionIdClearActions(_instructionid, decoder)
+ case 6:
+ return DecodeInstructionIdMeter(_instructionid, decoder)
+ case 65535:
+ return DecodeInstructionIdExperimenter(_instructionid, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'InstructionId'", _instructionid.Type)
+ }
+}
+
+func NewInstructionId(_type uint16) *InstructionId {
+ obj := &InstructionId{}
+ obj.Type = _type
+ return obj
+}
+
+type InstructionIdApplyActions struct {
+ *InstructionId
+}
+
+type IInstructionIdApplyActions interface {
+ IInstructionId
+}
+
+func (self *InstructionIdApplyActions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdApplyActions(parent *InstructionId, decoder *goloxi.Decoder) (*InstructionIdApplyActions, error) {
+ _instructionidapplyactions := &InstructionIdApplyActions{InstructionId: parent}
+ return _instructionidapplyactions, nil
+}
+
+func NewInstructionIdApplyActions() *InstructionIdApplyActions {
+ obj := &InstructionIdApplyActions{
+ InstructionId: NewInstructionId(4),
+ }
+ return obj
+}
+
+type InstructionIdExperimenter struct {
+ *InstructionId
+ Experimenter uint32
+}
+
+type IInstructionIdExperimenter interface {
+ IInstructionId
+ GetExperimenter() uint32
+}
+
+func (self *InstructionIdExperimenter) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *InstructionIdExperimenter) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *InstructionIdExperimenter) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Experimenter))
+
+ return nil
+}
+
+func DecodeInstructionIdExperimenter(parent *InstructionId, decoder *goloxi.Decoder) (IInstructionIdExperimenter, error) {
+ _instructionidexperimenter := &InstructionIdExperimenter{InstructionId: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionIdExperimenter packet too short: %d < 4", decoder.Length())
+ }
+ _instructionidexperimenter.Experimenter = uint32(decoder.ReadUint32())
+
+ switch _instructionidexperimenter.Experimenter {
+ case 6035143:
+ return DecodeInstructionIdBsn(_instructionidexperimenter, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'InstructionIdExperimenter'", _instructionidexperimenter.Experimenter)
+ }
+}
+
+func NewInstructionIdExperimenter(_experimenter uint32) *InstructionIdExperimenter {
+ obj := &InstructionIdExperimenter{
+ InstructionId: NewInstructionId(65535),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type InstructionIdBsn struct {
+ *InstructionIdExperimenter
+ Subtype uint32
+}
+
+type IInstructionIdBsn interface {
+ IInstructionIdExperimenter
+ GetSubtype() uint32
+}
+
+func (self *InstructionIdBsn) GetSubtype() uint32 {
+ return self.Subtype
+}
+
+func (self *InstructionIdBsn) SetSubtype(v uint32) {
+ self.Subtype = v
+}
+
+func (self *InstructionIdBsn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdExperimenter.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Subtype))
+
+ return nil
+}
+
+func DecodeInstructionIdBsn(parent *InstructionIdExperimenter, decoder *goloxi.Decoder) (IInstructionIdBsn, error) {
+ _instructionidbsn := &InstructionIdBsn{InstructionIdExperimenter: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionIdBsn packet too short: %d < 4", decoder.Length())
+ }
+ _instructionidbsn.Subtype = uint32(decoder.ReadUint32())
+
+ switch _instructionidbsn.Subtype {
+ case 0:
+ return DecodeInstructionIdBsnDisableSrcMacCheck(_instructionidbsn, decoder)
+ case 1:
+ return DecodeInstructionIdBsnArpOffload(_instructionidbsn, decoder)
+ case 2:
+ return DecodeInstructionIdBsnDhcpOffload(_instructionidbsn, decoder)
+ case 3:
+ return DecodeInstructionIdBsnDisableSplitHorizonCheck(_instructionidbsn, decoder)
+ case 4:
+ return DecodeInstructionIdBsnPermit(_instructionidbsn, decoder)
+ case 5:
+ return DecodeInstructionIdBsnDeny(_instructionidbsn, decoder)
+ case 6:
+ return DecodeInstructionIdBsnPacketOfDeath(_instructionidbsn, decoder)
+ case 7:
+ return DecodeInstructionIdBsnPrioritizePdus(_instructionidbsn, decoder)
+ case 8:
+ return DecodeInstructionIdBsnRequireVlanXlate(_instructionidbsn, decoder)
+ case 9:
+ return DecodeInstructionIdBsnDisableVlanCounters(_instructionidbsn, decoder)
+ case 10:
+ return DecodeInstructionIdBsnSpanDestination(_instructionidbsn, decoder)
+ case 11:
+ return DecodeInstructionIdBsnAutoNegotiation(_instructionidbsn, decoder)
+ case 12:
+ return DecodeInstructionIdBsnInternalPriority(_instructionidbsn, decoder)
+ case 13:
+ return DecodeInstructionIdBsnDisableL3(_instructionidbsn, decoder)
+ case 14:
+ return DecodeInstructionIdBsnNdpOffload(_instructionidbsn, decoder)
+ case 15:
+ return DecodeInstructionIdBsnHashSelect(_instructionidbsn, decoder)
+ case 16:
+ return DecodeInstructionIdBsnDirectedBroadcast(_instructionidbsn, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'InstructionIdBsn'", _instructionidbsn.Subtype)
+ }
+}
+
+func NewInstructionIdBsn(_subtype uint32) *InstructionIdBsn {
+ obj := &InstructionIdBsn{
+ InstructionIdExperimenter: NewInstructionIdExperimenter(6035143),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type InstructionIdBsnArpOffload struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnArpOffload interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnArpOffload) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnArpOffload(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnArpOffload, error) {
+ _instructionidbsnarpoffload := &InstructionIdBsnArpOffload{InstructionIdBsn: parent}
+ return _instructionidbsnarpoffload, nil
+}
+
+func NewInstructionIdBsnArpOffload() *InstructionIdBsnArpOffload {
+ obj := &InstructionIdBsnArpOffload{
+ InstructionIdBsn: NewInstructionIdBsn(1),
+ }
+ return obj
+}
+
+type InstructionIdBsnAutoNegotiation struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnAutoNegotiation interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnAutoNegotiation) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnAutoNegotiation(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnAutoNegotiation, error) {
+ _instructionidbsnautonegotiation := &InstructionIdBsnAutoNegotiation{InstructionIdBsn: parent}
+ return _instructionidbsnautonegotiation, nil
+}
+
+func NewInstructionIdBsnAutoNegotiation() *InstructionIdBsnAutoNegotiation {
+ obj := &InstructionIdBsnAutoNegotiation{
+ InstructionIdBsn: NewInstructionIdBsn(11),
+ }
+ return obj
+}
+
+type InstructionIdBsnDeny struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnDeny interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnDeny) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnDeny(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnDeny, error) {
+ _instructionidbsndeny := &InstructionIdBsnDeny{InstructionIdBsn: parent}
+ return _instructionidbsndeny, nil
+}
+
+func NewInstructionIdBsnDeny() *InstructionIdBsnDeny {
+ obj := &InstructionIdBsnDeny{
+ InstructionIdBsn: NewInstructionIdBsn(5),
+ }
+ return obj
+}
+
+type InstructionIdBsnDhcpOffload struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnDhcpOffload interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnDhcpOffload) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnDhcpOffload(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnDhcpOffload, error) {
+ _instructionidbsndhcpoffload := &InstructionIdBsnDhcpOffload{InstructionIdBsn: parent}
+ return _instructionidbsndhcpoffload, nil
+}
+
+func NewInstructionIdBsnDhcpOffload() *InstructionIdBsnDhcpOffload {
+ obj := &InstructionIdBsnDhcpOffload{
+ InstructionIdBsn: NewInstructionIdBsn(2),
+ }
+ return obj
+}
+
+type InstructionIdBsnDirectedBroadcast struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnDirectedBroadcast interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnDirectedBroadcast) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnDirectedBroadcast(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnDirectedBroadcast, error) {
+ _instructionidbsndirectedbroadcast := &InstructionIdBsnDirectedBroadcast{InstructionIdBsn: parent}
+ return _instructionidbsndirectedbroadcast, nil
+}
+
+func NewInstructionIdBsnDirectedBroadcast() *InstructionIdBsnDirectedBroadcast {
+ obj := &InstructionIdBsnDirectedBroadcast{
+ InstructionIdBsn: NewInstructionIdBsn(16),
+ }
+ return obj
+}
+
+type InstructionIdBsnDisableL3 struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnDisableL3 interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnDisableL3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnDisableL3(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnDisableL3, error) {
+ _instructionidbsndisablel3 := &InstructionIdBsnDisableL3{InstructionIdBsn: parent}
+ return _instructionidbsndisablel3, nil
+}
+
+func NewInstructionIdBsnDisableL3() *InstructionIdBsnDisableL3 {
+ obj := &InstructionIdBsnDisableL3{
+ InstructionIdBsn: NewInstructionIdBsn(13),
+ }
+ return obj
+}
+
+type InstructionIdBsnDisableSplitHorizonCheck struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnDisableSplitHorizonCheck interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnDisableSplitHorizonCheck) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnDisableSplitHorizonCheck(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnDisableSplitHorizonCheck, error) {
+ _instructionidbsndisablesplithorizoncheck := &InstructionIdBsnDisableSplitHorizonCheck{InstructionIdBsn: parent}
+ return _instructionidbsndisablesplithorizoncheck, nil
+}
+
+func NewInstructionIdBsnDisableSplitHorizonCheck() *InstructionIdBsnDisableSplitHorizonCheck {
+ obj := &InstructionIdBsnDisableSplitHorizonCheck{
+ InstructionIdBsn: NewInstructionIdBsn(3),
+ }
+ return obj
+}
+
+type InstructionIdBsnDisableSrcMacCheck struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnDisableSrcMacCheck interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnDisableSrcMacCheck) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnDisableSrcMacCheck(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnDisableSrcMacCheck, error) {
+ _instructionidbsndisablesrcmaccheck := &InstructionIdBsnDisableSrcMacCheck{InstructionIdBsn: parent}
+ return _instructionidbsndisablesrcmaccheck, nil
+}
+
+func NewInstructionIdBsnDisableSrcMacCheck() *InstructionIdBsnDisableSrcMacCheck {
+ obj := &InstructionIdBsnDisableSrcMacCheck{
+ InstructionIdBsn: NewInstructionIdBsn(0),
+ }
+ return obj
+}
+
+type InstructionIdBsnDisableVlanCounters struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnDisableVlanCounters interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnDisableVlanCounters) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnDisableVlanCounters(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnDisableVlanCounters, error) {
+ _instructionidbsndisablevlancounters := &InstructionIdBsnDisableVlanCounters{InstructionIdBsn: parent}
+ return _instructionidbsndisablevlancounters, nil
+}
+
+func NewInstructionIdBsnDisableVlanCounters() *InstructionIdBsnDisableVlanCounters {
+ obj := &InstructionIdBsnDisableVlanCounters{
+ InstructionIdBsn: NewInstructionIdBsn(9),
+ }
+ return obj
+}
+
+type InstructionIdBsnHashSelect struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnHashSelect interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnHashSelect) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnHashSelect(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnHashSelect, error) {
+ _instructionidbsnhashselect := &InstructionIdBsnHashSelect{InstructionIdBsn: parent}
+ return _instructionidbsnhashselect, nil
+}
+
+func NewInstructionIdBsnHashSelect() *InstructionIdBsnHashSelect {
+ obj := &InstructionIdBsnHashSelect{
+ InstructionIdBsn: NewInstructionIdBsn(15),
+ }
+ return obj
+}
+
+type InstructionIdBsnInternalPriority struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnInternalPriority interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnInternalPriority) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnInternalPriority(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnInternalPriority, error) {
+ _instructionidbsninternalpriority := &InstructionIdBsnInternalPriority{InstructionIdBsn: parent}
+ return _instructionidbsninternalpriority, nil
+}
+
+func NewInstructionIdBsnInternalPriority() *InstructionIdBsnInternalPriority {
+ obj := &InstructionIdBsnInternalPriority{
+ InstructionIdBsn: NewInstructionIdBsn(12),
+ }
+ return obj
+}
+
+type InstructionIdBsnNdpOffload struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnNdpOffload interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnNdpOffload) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnNdpOffload(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnNdpOffload, error) {
+ _instructionidbsnndpoffload := &InstructionIdBsnNdpOffload{InstructionIdBsn: parent}
+ return _instructionidbsnndpoffload, nil
+}
+
+func NewInstructionIdBsnNdpOffload() *InstructionIdBsnNdpOffload {
+ obj := &InstructionIdBsnNdpOffload{
+ InstructionIdBsn: NewInstructionIdBsn(14),
+ }
+ return obj
+}
+
+type InstructionIdBsnPacketOfDeath struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnPacketOfDeath interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnPacketOfDeath) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnPacketOfDeath(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnPacketOfDeath, error) {
+ _instructionidbsnpacketofdeath := &InstructionIdBsnPacketOfDeath{InstructionIdBsn: parent}
+ return _instructionidbsnpacketofdeath, nil
+}
+
+func NewInstructionIdBsnPacketOfDeath() *InstructionIdBsnPacketOfDeath {
+ obj := &InstructionIdBsnPacketOfDeath{
+ InstructionIdBsn: NewInstructionIdBsn(6),
+ }
+ return obj
+}
+
+type InstructionIdBsnPermit struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnPermit interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnPermit) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnPermit(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnPermit, error) {
+ _instructionidbsnpermit := &InstructionIdBsnPermit{InstructionIdBsn: parent}
+ return _instructionidbsnpermit, nil
+}
+
+func NewInstructionIdBsnPermit() *InstructionIdBsnPermit {
+ obj := &InstructionIdBsnPermit{
+ InstructionIdBsn: NewInstructionIdBsn(4),
+ }
+ return obj
+}
+
+type InstructionIdBsnPrioritizePdus struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnPrioritizePdus interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnPrioritizePdus) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnPrioritizePdus(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnPrioritizePdus, error) {
+ _instructionidbsnprioritizepdus := &InstructionIdBsnPrioritizePdus{InstructionIdBsn: parent}
+ return _instructionidbsnprioritizepdus, nil
+}
+
+func NewInstructionIdBsnPrioritizePdus() *InstructionIdBsnPrioritizePdus {
+ obj := &InstructionIdBsnPrioritizePdus{
+ InstructionIdBsn: NewInstructionIdBsn(7),
+ }
+ return obj
+}
+
+type InstructionIdBsnRequireVlanXlate struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnRequireVlanXlate interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnRequireVlanXlate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnRequireVlanXlate(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnRequireVlanXlate, error) {
+ _instructionidbsnrequirevlanxlate := &InstructionIdBsnRequireVlanXlate{InstructionIdBsn: parent}
+ return _instructionidbsnrequirevlanxlate, nil
+}
+
+func NewInstructionIdBsnRequireVlanXlate() *InstructionIdBsnRequireVlanXlate {
+ obj := &InstructionIdBsnRequireVlanXlate{
+ InstructionIdBsn: NewInstructionIdBsn(8),
+ }
+ return obj
+}
+
+type InstructionIdBsnSpanDestination struct {
+ *InstructionIdBsn
+}
+
+type IInstructionIdBsnSpanDestination interface {
+ IInstructionIdBsn
+}
+
+func (self *InstructionIdBsnSpanDestination) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionIdBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdBsnSpanDestination(parent *InstructionIdBsn, decoder *goloxi.Decoder) (*InstructionIdBsnSpanDestination, error) {
+ _instructionidbsnspandestination := &InstructionIdBsnSpanDestination{InstructionIdBsn: parent}
+ return _instructionidbsnspandestination, nil
+}
+
+func NewInstructionIdBsnSpanDestination() *InstructionIdBsnSpanDestination {
+ obj := &InstructionIdBsnSpanDestination{
+ InstructionIdBsn: NewInstructionIdBsn(10),
+ }
+ return obj
+}
+
+type InstructionIdClearActions struct {
+ *InstructionId
+}
+
+type IInstructionIdClearActions interface {
+ IInstructionId
+}
+
+func (self *InstructionIdClearActions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdClearActions(parent *InstructionId, decoder *goloxi.Decoder) (*InstructionIdClearActions, error) {
+ _instructionidclearactions := &InstructionIdClearActions{InstructionId: parent}
+ return _instructionidclearactions, nil
+}
+
+func NewInstructionIdClearActions() *InstructionIdClearActions {
+ obj := &InstructionIdClearActions{
+ InstructionId: NewInstructionId(5),
+ }
+ return obj
+}
+
+type InstructionIdGotoTable struct {
+ *InstructionId
+}
+
+type IInstructionIdGotoTable interface {
+ IInstructionId
+}
+
+func (self *InstructionIdGotoTable) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdGotoTable(parent *InstructionId, decoder *goloxi.Decoder) (*InstructionIdGotoTable, error) {
+ _instructionidgototable := &InstructionIdGotoTable{InstructionId: parent}
+ return _instructionidgototable, nil
+}
+
+func NewInstructionIdGotoTable() *InstructionIdGotoTable {
+ obj := &InstructionIdGotoTable{
+ InstructionId: NewInstructionId(1),
+ }
+ return obj
+}
+
+type InstructionIdMeter struct {
+ *InstructionId
+}
+
+type IInstructionIdMeter interface {
+ IInstructionId
+}
+
+func (self *InstructionIdMeter) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdMeter(parent *InstructionId, decoder *goloxi.Decoder) (*InstructionIdMeter, error) {
+ _instructionidmeter := &InstructionIdMeter{InstructionId: parent}
+ return _instructionidmeter, nil
+}
+
+func NewInstructionIdMeter() *InstructionIdMeter {
+ obj := &InstructionIdMeter{
+ InstructionId: NewInstructionId(6),
+ }
+ return obj
+}
+
+type InstructionIdWriteActions struct {
+ *InstructionId
+}
+
+type IInstructionIdWriteActions interface {
+ IInstructionId
+}
+
+func (self *InstructionIdWriteActions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdWriteActions(parent *InstructionId, decoder *goloxi.Decoder) (*InstructionIdWriteActions, error) {
+ _instructionidwriteactions := &InstructionIdWriteActions{InstructionId: parent}
+ return _instructionidwriteactions, nil
+}
+
+func NewInstructionIdWriteActions() *InstructionIdWriteActions {
+ obj := &InstructionIdWriteActions{
+ InstructionId: NewInstructionId(3),
+ }
+ return obj
+}
+
+type InstructionIdWriteMetadata struct {
+ *InstructionId
+}
+
+type IInstructionIdWriteMetadata interface {
+ IInstructionId
+}
+
+func (self *InstructionIdWriteMetadata) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionIdWriteMetadata(parent *InstructionId, decoder *goloxi.Decoder) (*InstructionIdWriteMetadata, error) {
+ _instructionidwritemetadata := &InstructionIdWriteMetadata{InstructionId: parent}
+ return _instructionidwritemetadata, nil
+}
+
+func NewInstructionIdWriteMetadata() *InstructionIdWriteMetadata {
+ obj := &InstructionIdWriteMetadata{
+ InstructionId: NewInstructionId(2),
+ }
+ return obj
+}
+
+type MatchV3 struct {
+ Type uint16
+ Length uint16
+ OxmList []goloxi.IOxm
+}
+
+type IMatchV3 interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLength() uint16
+ GetOxmList() []goloxi.IOxm
+}
+
+func (self *MatchV3) GetType() uint16 {
+ return self.Type
+}
+
+func (self *MatchV3) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *MatchV3) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *MatchV3) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *MatchV3) GetOxmList() []goloxi.IOxm {
+ return self.OxmList
+}
+
+func (self *MatchV3) SetOxmList(v []goloxi.IOxm) {
+ self.OxmList = v
+}
+
+func (self *MatchV3) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Length))
+ for _, obj := range self.OxmList {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+func (self *MatchV3) Decode(decoder *goloxi.Decoder) error {
+ if decoder.Length() < 4 {
+ return fmt.Errorf("MatchV3 packet too short: %d < 4", decoder.Length())
+ }
+
+ defer decoder.SkipAlign()
+
+ self.Type = uint16(decoder.ReadUint16())
+ self.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(((self.Length)+7)/8*8), 2+2)
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeOxm(decoder)
+ if err != nil {
+ return err
+ }
+ if item != nil {
+ self.OxmList = append(self.OxmList, item)
+ }
+ }
+
+ return nil
+}
+
+func NewMatchV3() *MatchV3 {
+ obj := &MatchV3{}
+ return obj
+}
+
+type MeterBand struct {
+ Type uint16
+ Len uint16
+}
+
+type IMeterBand interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLen() uint16
+}
+
+func (self *MeterBand) GetType() uint16 {
+ return self.Type
+}
+
+func (self *MeterBand) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *MeterBand) GetLen() uint16 {
+ return self.Len
+}
+
+func (self *MeterBand) SetLen(v uint16) {
+ self.Len = v
+}
+
+func (self *MeterBand) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Len))
+
+ return nil
+}
+
+func DecodeMeterBand(decoder *goloxi.Decoder) (IMeterBand, error) {
+ _meterband := &MeterBand{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("MeterBand packet too short: %d < 4", decoder.Length())
+ }
+ _meterband.Type = uint16(decoder.ReadUint16())
+ _meterband.Len = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_meterband.Len), 2+2)
+
+ switch _meterband.Type {
+ case 1:
+ return DecodeMeterBandDrop(_meterband, decoder)
+ case 2:
+ return DecodeMeterBandDscpRemark(_meterband, decoder)
+ case 65535:
+ return DecodeMeterBandExperimenter(_meterband, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'MeterBand'", _meterband.Type)
+ }
+}
+
+func NewMeterBand(_type uint16) *MeterBand {
+ obj := &MeterBand{}
+ obj.Type = _type
+ return obj
+}
+
+type MeterBandDrop struct {
+ *MeterBand
+ Rate uint32
+ BurstSize uint32
+}
+
+type IMeterBandDrop interface {
+ IMeterBand
+ GetRate() uint32
+ GetBurstSize() uint32
+}
+
+func (self *MeterBandDrop) GetRate() uint32 {
+ return self.Rate
+}
+
+func (self *MeterBandDrop) SetRate(v uint32) {
+ self.Rate = v
+}
+
+func (self *MeterBandDrop) GetBurstSize() uint32 {
+ return self.BurstSize
+}
+
+func (self *MeterBandDrop) SetBurstSize(v uint32) {
+ self.BurstSize = v
+}
+
+func (self *MeterBandDrop) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.MeterBand.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Rate))
+ encoder.PutUint32(uint32(self.BurstSize))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterBandDrop(parent *MeterBand, decoder *goloxi.Decoder) (*MeterBandDrop, error) {
+ _meterbanddrop := &MeterBandDrop{MeterBand: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("MeterBandDrop packet too short: %d < 12", decoder.Length())
+ }
+ _meterbanddrop.Rate = uint32(decoder.ReadUint32())
+ _meterbanddrop.BurstSize = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ return _meterbanddrop, nil
+}
+
+func NewMeterBandDrop() *MeterBandDrop {
+ obj := &MeterBandDrop{
+ MeterBand: NewMeterBand(1),
+ }
+ return obj
+}
+
+type MeterBandDscpRemark struct {
+ *MeterBand
+ Rate uint32
+ BurstSize uint32
+ PrecLevel uint8
+}
+
+type IMeterBandDscpRemark interface {
+ IMeterBand
+ GetRate() uint32
+ GetBurstSize() uint32
+ GetPrecLevel() uint8
+}
+
+func (self *MeterBandDscpRemark) GetRate() uint32 {
+ return self.Rate
+}
+
+func (self *MeterBandDscpRemark) SetRate(v uint32) {
+ self.Rate = v
+}
+
+func (self *MeterBandDscpRemark) GetBurstSize() uint32 {
+ return self.BurstSize
+}
+
+func (self *MeterBandDscpRemark) SetBurstSize(v uint32) {
+ self.BurstSize = v
+}
+
+func (self *MeterBandDscpRemark) GetPrecLevel() uint8 {
+ return self.PrecLevel
+}
+
+func (self *MeterBandDscpRemark) SetPrecLevel(v uint8) {
+ self.PrecLevel = v
+}
+
+func (self *MeterBandDscpRemark) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.MeterBand.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Rate))
+ encoder.PutUint32(uint32(self.BurstSize))
+ encoder.PutUint8(uint8(self.PrecLevel))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterBandDscpRemark(parent *MeterBand, decoder *goloxi.Decoder) (*MeterBandDscpRemark, error) {
+ _meterbanddscpremark := &MeterBandDscpRemark{MeterBand: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("MeterBandDscpRemark packet too short: %d < 12", decoder.Length())
+ }
+ _meterbanddscpremark.Rate = uint32(decoder.ReadUint32())
+ _meterbanddscpremark.BurstSize = uint32(decoder.ReadUint32())
+ _meterbanddscpremark.PrecLevel = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ return _meterbanddscpremark, nil
+}
+
+func NewMeterBandDscpRemark() *MeterBandDscpRemark {
+ obj := &MeterBandDscpRemark{
+ MeterBand: NewMeterBand(2),
+ }
+ return obj
+}
+
+type MeterBandExperimenter struct {
+ *MeterBand
+ Rate uint32
+ BurstSize uint32
+ Experimenter uint32
+}
+
+type IMeterBandExperimenter interface {
+ IMeterBand
+ GetRate() uint32
+ GetBurstSize() uint32
+ GetExperimenter() uint32
+}
+
+func (self *MeterBandExperimenter) GetRate() uint32 {
+ return self.Rate
+}
+
+func (self *MeterBandExperimenter) SetRate(v uint32) {
+ self.Rate = v
+}
+
+func (self *MeterBandExperimenter) GetBurstSize() uint32 {
+ return self.BurstSize
+}
+
+func (self *MeterBandExperimenter) SetBurstSize(v uint32) {
+ self.BurstSize = v
+}
+
+func (self *MeterBandExperimenter) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *MeterBandExperimenter) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *MeterBandExperimenter) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.MeterBand.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Rate))
+ encoder.PutUint32(uint32(self.BurstSize))
+ encoder.PutUint32(uint32(self.Experimenter))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterBandExperimenter(parent *MeterBand, decoder *goloxi.Decoder) (*MeterBandExperimenter, error) {
+ _meterbandexperimenter := &MeterBandExperimenter{MeterBand: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("MeterBandExperimenter packet too short: %d < 12", decoder.Length())
+ }
+ _meterbandexperimenter.Rate = uint32(decoder.ReadUint32())
+ _meterbandexperimenter.BurstSize = uint32(decoder.ReadUint32())
+ _meterbandexperimenter.Experimenter = uint32(decoder.ReadUint32())
+ return _meterbandexperimenter, nil
+}
+
+func NewMeterBandExperimenter() *MeterBandExperimenter {
+ obj := &MeterBandExperimenter{
+ MeterBand: NewMeterBand(65535),
+ }
+ return obj
+}
+
+type MeterBandStats struct {
+ PacketBandCount uint64
+ ByteBandCount uint64
+}
+
+type IMeterBandStats interface {
+ goloxi.Serializable
+ GetPacketBandCount() uint64
+ GetByteBandCount() uint64
+}
+
+func (self *MeterBandStats) GetPacketBandCount() uint64 {
+ return self.PacketBandCount
+}
+
+func (self *MeterBandStats) SetPacketBandCount(v uint64) {
+ self.PacketBandCount = v
+}
+
+func (self *MeterBandStats) GetByteBandCount() uint64 {
+ return self.ByteBandCount
+}
+
+func (self *MeterBandStats) SetByteBandCount(v uint64) {
+ self.ByteBandCount = v
+}
+
+func (self *MeterBandStats) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint64(uint64(self.PacketBandCount))
+ encoder.PutUint64(uint64(self.ByteBandCount))
+
+ return nil
+}
+
+func DecodeMeterBandStats(decoder *goloxi.Decoder) (*MeterBandStats, error) {
+ _meterbandstats := &MeterBandStats{}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("MeterBandStats packet too short: %d < 16", decoder.Length())
+ }
+ _meterbandstats.PacketBandCount = uint64(decoder.ReadUint64())
+ _meterbandstats.ByteBandCount = uint64(decoder.ReadUint64())
+ return _meterbandstats, nil
+}
+
+func NewMeterBandStats() *MeterBandStats {
+ obj := &MeterBandStats{}
+ return obj
+}
+
+type MeterConfig struct {
+ Length uint16
+ Flags MeterFlags
+ MeterId uint32
+ Entries []IMeterBand
+}
+
+type IMeterConfig interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetFlags() MeterFlags
+ GetMeterId() uint32
+ GetEntries() []IMeterBand
+}
+
+func (self *MeterConfig) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *MeterConfig) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *MeterConfig) GetFlags() MeterFlags {
+ return self.Flags
+}
+
+func (self *MeterConfig) SetFlags(v MeterFlags) {
+ self.Flags = v
+}
+
+func (self *MeterConfig) GetMeterId() uint32 {
+ return self.MeterId
+}
+
+func (self *MeterConfig) SetMeterId(v uint32) {
+ self.MeterId = v
+}
+
+func (self *MeterConfig) GetEntries() []IMeterBand {
+ return self.Entries
+}
+
+func (self *MeterConfig) SetEntries(v []IMeterBand) {
+ self.Entries = v
+}
+
+func (self *MeterConfig) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint16(uint16(self.Flags))
+ encoder.PutUint32(uint32(self.MeterId))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterConfig(decoder *goloxi.Decoder) (*MeterConfig, error) {
+ _meterconfig := &MeterConfig{}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("MeterConfig packet too short: %d < 8", decoder.Length())
+ }
+ _meterconfig.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_meterconfig.Length), 2+0)
+ _meterconfig.Flags = MeterFlags(decoder.ReadUint16())
+ _meterconfig.MeterId = uint32(decoder.ReadUint32())
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeMeterBand(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _meterconfig.Entries = append(_meterconfig.Entries, item)
+ }
+ }
+ return _meterconfig, nil
+}
+
+func NewMeterConfig() *MeterConfig {
+ obj := &MeterConfig{}
+ return obj
+}
+
+type MeterFeatures struct {
+ MaxMeter uint32
+ BandTypes uint32
+ Capabilities uint32
+ MaxBands uint8
+ MaxColor uint8
+}
+
+type IMeterFeatures interface {
+ goloxi.Serializable
+ GetMaxMeter() uint32
+ GetBandTypes() uint32
+ GetCapabilities() uint32
+ GetMaxBands() uint8
+ GetMaxColor() uint8
+}
+
+func (self *MeterFeatures) GetMaxMeter() uint32 {
+ return self.MaxMeter
+}
+
+func (self *MeterFeatures) SetMaxMeter(v uint32) {
+ self.MaxMeter = v
+}
+
+func (self *MeterFeatures) GetBandTypes() uint32 {
+ return self.BandTypes
+}
+
+func (self *MeterFeatures) SetBandTypes(v uint32) {
+ self.BandTypes = v
+}
+
+func (self *MeterFeatures) GetCapabilities() uint32 {
+ return self.Capabilities
+}
+
+func (self *MeterFeatures) SetCapabilities(v uint32) {
+ self.Capabilities = v
+}
+
+func (self *MeterFeatures) GetMaxBands() uint8 {
+ return self.MaxBands
+}
+
+func (self *MeterFeatures) SetMaxBands(v uint8) {
+ self.MaxBands = v
+}
+
+func (self *MeterFeatures) GetMaxColor() uint8 {
+ return self.MaxColor
+}
+
+func (self *MeterFeatures) SetMaxColor(v uint8) {
+ self.MaxColor = v
+}
+
+func (self *MeterFeatures) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint32(uint32(self.MaxMeter))
+ encoder.PutUint32(uint32(self.BandTypes))
+ encoder.PutUint32(uint32(self.Capabilities))
+ encoder.PutUint8(uint8(self.MaxBands))
+ encoder.PutUint8(uint8(self.MaxColor))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+
+ return nil
+}
+func (self *MeterFeatures) Decode(decoder *goloxi.Decoder) error {
+ if decoder.Length() < 16 {
+ return fmt.Errorf("MeterFeatures packet too short: %d < 16", decoder.Length())
+ }
+
+ self.MaxMeter = uint32(decoder.ReadUint32())
+ self.BandTypes = uint32(decoder.ReadUint32())
+ self.Capabilities = uint32(decoder.ReadUint32())
+ self.MaxBands = uint8(decoder.ReadByte())
+ self.MaxColor = uint8(decoder.ReadByte())
+ decoder.Skip(2)
+
+ return nil
+}
+
+func NewMeterFeatures() *MeterFeatures {
+ obj := &MeterFeatures{}
+ return obj
+}
+
+type MeterStats struct {
+ MeterId uint32
+ Len uint16
+ FlowCount uint32
+ PacketInCount uint64
+ ByteInCount uint64
+ DurationSec uint32
+ DurationNsec uint32
+ BandStats []*MeterBandStats
+}
+
+type IMeterStats interface {
+ goloxi.Serializable
+ GetMeterId() uint32
+ GetLen() uint16
+ GetFlowCount() uint32
+ GetPacketInCount() uint64
+ GetByteInCount() uint64
+ GetDurationSec() uint32
+ GetDurationNsec() uint32
+ GetBandStats() []*MeterBandStats
+}
+
+func (self *MeterStats) GetMeterId() uint32 {
+ return self.MeterId
+}
+
+func (self *MeterStats) SetMeterId(v uint32) {
+ self.MeterId = v
+}
+
+func (self *MeterStats) GetLen() uint16 {
+ return self.Len
+}
+
+func (self *MeterStats) SetLen(v uint16) {
+ self.Len = v
+}
+
+func (self *MeterStats) GetFlowCount() uint32 {
+ return self.FlowCount
+}
+
+func (self *MeterStats) SetFlowCount(v uint32) {
+ self.FlowCount = v
+}
+
+func (self *MeterStats) GetPacketInCount() uint64 {
+ return self.PacketInCount
+}
+
+func (self *MeterStats) SetPacketInCount(v uint64) {
+ self.PacketInCount = v
+}
+
+func (self *MeterStats) GetByteInCount() uint64 {
+ return self.ByteInCount
+}
+
+func (self *MeterStats) SetByteInCount(v uint64) {
+ self.ByteInCount = v
+}
+
+func (self *MeterStats) GetDurationSec() uint32 {
+ return self.DurationSec
+}
+
+func (self *MeterStats) SetDurationSec(v uint32) {
+ self.DurationSec = v
+}
+
+func (self *MeterStats) GetDurationNsec() uint32 {
+ return self.DurationNsec
+}
+
+func (self *MeterStats) SetDurationNsec(v uint32) {
+ self.DurationNsec = v
+}
+
+func (self *MeterStats) GetBandStats() []*MeterBandStats {
+ return self.BandStats
+}
+
+func (self *MeterStats) SetBandStats(v []*MeterBandStats) {
+ self.BandStats = v
+}
+
+func (self *MeterStats) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint32(uint32(self.MeterId))
+ encoder.PutUint16(uint16(self.Len))
+ encoder.Write(bytes.Repeat([]byte{0}, 6))
+ encoder.PutUint32(uint32(self.FlowCount))
+ encoder.PutUint64(uint64(self.PacketInCount))
+ encoder.PutUint64(uint64(self.ByteInCount))
+ encoder.PutUint32(uint32(self.DurationSec))
+ encoder.PutUint32(uint32(self.DurationNsec))
+ for _, obj := range self.BandStats {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[4:6], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterStats(decoder *goloxi.Decoder) (*MeterStats, error) {
+ _meterstats := &MeterStats{}
+ if decoder.Length() < 40 {
+ return nil, fmt.Errorf("MeterStats packet too short: %d < 40", decoder.Length())
+ }
+ _meterstats.MeterId = uint32(decoder.ReadUint32())
+ _meterstats.Len = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_meterstats.Len), 2+4)
+ decoder.Skip(6)
+ _meterstats.FlowCount = uint32(decoder.ReadUint32())
+ _meterstats.PacketInCount = uint64(decoder.ReadUint64())
+ _meterstats.ByteInCount = uint64(decoder.ReadUint64())
+ _meterstats.DurationSec = uint32(decoder.ReadUint32())
+ _meterstats.DurationNsec = uint32(decoder.ReadUint32())
+
+ for decoder.Length() >= 16 {
+ item, err := DecodeMeterBandStats(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _meterstats.BandStats = append(_meterstats.BandStats, item)
+ }
+ }
+ return _meterstats, nil
+}
+
+func NewMeterStats() *MeterStats {
+ obj := &MeterStats{}
+ return obj
+}
+
+type NiciraMatch struct {
+ NxmEntries []goloxi.IOxm
+}
+
+type INiciraMatch interface {
+ goloxi.Serializable
+ GetNxmEntries() []goloxi.IOxm
+}
+
+func (self *NiciraMatch) GetNxmEntries() []goloxi.IOxm {
+ return self.NxmEntries
+}
+
+func (self *NiciraMatch) SetNxmEntries(v []goloxi.IOxm) {
+ self.NxmEntries = v
+}
+
+func (self *NiciraMatch) Serialize(encoder *goloxi.Encoder) error {
+
+ for _, obj := range self.NxmEntries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ return nil
+}
+func (self *NiciraMatch) Decode(decoder *goloxi.Decoder) error {
+
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeOxm(decoder)
+ if err != nil {
+ return err
+ }
+ if item != nil {
+ self.NxmEntries = append(self.NxmEntries, item)
+ }
+ }
+
+ return nil
+}
+
+func NewNiciraMatch() *NiciraMatch {
+ obj := &NiciraMatch{}
+ return obj
+}
+
+type NiciraFlowStats struct {
+ Length uint16
+ TableId uint8
+ DurationSec uint32
+ DurationNsec uint32
+ Priority uint16
+ IdleTimeout uint16
+ HardTimeout uint16
+ MatchLen uint16
+ IdleAge uint16
+ HardAge uint16
+ Cookie uint64
+ PacketCount uint64
+ ByteCount uint64
+ Match NiciraMatch
+ Actions []goloxi.IAction
+}
+
+type INiciraFlowStats interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetTableId() uint8
+ GetDurationSec() uint32
+ GetDurationNsec() uint32
+ GetPriority() uint16
+ GetIdleTimeout() uint16
+ GetHardTimeout() uint16
+ GetMatchLen() uint16
+ GetIdleAge() uint16
+ GetHardAge() uint16
+ GetCookie() uint64
+ GetPacketCount() uint64
+ GetByteCount() uint64
+ GetMatch() NiciraMatch
+ GetActions() []goloxi.IAction
+}
+
+func (self *NiciraFlowStats) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *NiciraFlowStats) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *NiciraFlowStats) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *NiciraFlowStats) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *NiciraFlowStats) GetDurationSec() uint32 {
+ return self.DurationSec
+}
+
+func (self *NiciraFlowStats) SetDurationSec(v uint32) {
+ self.DurationSec = v
+}
+
+func (self *NiciraFlowStats) GetDurationNsec() uint32 {
+ return self.DurationNsec
+}
+
+func (self *NiciraFlowStats) SetDurationNsec(v uint32) {
+ self.DurationNsec = v
+}
+
+func (self *NiciraFlowStats) GetPriority() uint16 {
+ return self.Priority
+}
+
+func (self *NiciraFlowStats) SetPriority(v uint16) {
+ self.Priority = v
+}
+
+func (self *NiciraFlowStats) GetIdleTimeout() uint16 {
+ return self.IdleTimeout
+}
+
+func (self *NiciraFlowStats) SetIdleTimeout(v uint16) {
+ self.IdleTimeout = v
+}
+
+func (self *NiciraFlowStats) GetHardTimeout() uint16 {
+ return self.HardTimeout
+}
+
+func (self *NiciraFlowStats) SetHardTimeout(v uint16) {
+ self.HardTimeout = v
+}
+
+func (self *NiciraFlowStats) GetMatchLen() uint16 {
+ return self.MatchLen
+}
+
+func (self *NiciraFlowStats) SetMatchLen(v uint16) {
+ self.MatchLen = v
+}
+
+func (self *NiciraFlowStats) GetIdleAge() uint16 {
+ return self.IdleAge
+}
+
+func (self *NiciraFlowStats) SetIdleAge(v uint16) {
+ self.IdleAge = v
+}
+
+func (self *NiciraFlowStats) GetHardAge() uint16 {
+ return self.HardAge
+}
+
+func (self *NiciraFlowStats) SetHardAge(v uint16) {
+ self.HardAge = v
+}
+
+func (self *NiciraFlowStats) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *NiciraFlowStats) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *NiciraFlowStats) GetPacketCount() uint64 {
+ return self.PacketCount
+}
+
+func (self *NiciraFlowStats) SetPacketCount(v uint64) {
+ self.PacketCount = v
+}
+
+func (self *NiciraFlowStats) GetByteCount() uint64 {
+ return self.ByteCount
+}
+
+func (self *NiciraFlowStats) SetByteCount(v uint64) {
+ self.ByteCount = v
+}
+
+func (self *NiciraFlowStats) GetMatch() NiciraMatch {
+ return self.Match
+}
+
+func (self *NiciraFlowStats) SetMatch(v NiciraMatch) {
+ self.Match = v
+}
+
+func (self *NiciraFlowStats) GetActions() []goloxi.IAction {
+ return self.Actions
+}
+
+func (self *NiciraFlowStats) SetActions(v []goloxi.IAction) {
+ self.Actions = v
+}
+
+func (self *NiciraFlowStats) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint32(uint32(self.DurationSec))
+ encoder.PutUint32(uint32(self.DurationNsec))
+ encoder.PutUint16(uint16(self.Priority))
+ encoder.PutUint16(uint16(self.IdleTimeout))
+ encoder.PutUint16(uint16(self.HardTimeout))
+ encoder.PutUint16(uint16(self.MatchLen))
+ encoder.PutUint16(uint16(self.IdleAge))
+ encoder.PutUint16(uint16(self.HardAge))
+ encoder.PutUint64(uint64(self.Cookie))
+ encoder.PutUint64(uint64(self.PacketCount))
+ encoder.PutUint64(uint64(self.ByteCount))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Actions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeNiciraFlowStats(decoder *goloxi.Decoder) (*NiciraFlowStats, error) {
+ _niciraflowstats := &NiciraFlowStats{}
+ if decoder.Length() < 48 {
+ return nil, fmt.Errorf("NiciraFlowStats packet too short: %d < 48", decoder.Length())
+ }
+ _niciraflowstats.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_niciraflowstats.Length), 2+0)
+ _niciraflowstats.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(1)
+ _niciraflowstats.DurationSec = uint32(decoder.ReadUint32())
+ _niciraflowstats.DurationNsec = uint32(decoder.ReadUint32())
+ _niciraflowstats.Priority = uint16(decoder.ReadUint16())
+ _niciraflowstats.IdleTimeout = uint16(decoder.ReadUint16())
+ _niciraflowstats.HardTimeout = uint16(decoder.ReadUint16())
+ _niciraflowstats.MatchLen = uint16(decoder.ReadUint16())
+ _niciraflowstats.IdleAge = uint16(decoder.ReadUint16())
+ _niciraflowstats.HardAge = uint16(decoder.ReadUint16())
+ _niciraflowstats.Cookie = uint64(decoder.ReadUint64())
+ _niciraflowstats.PacketCount = uint64(decoder.ReadUint64())
+ _niciraflowstats.ByteCount = uint64(decoder.ReadUint64())
+ if err := _niciraflowstats.Match.Decode(decoder.SliceDecoder(int(_niciraflowstats.MatchLen), 0)); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeAction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _niciraflowstats.Actions = append(_niciraflowstats.Actions, item)
+ }
+ }
+ return _niciraflowstats, nil
+}
+
+func NewNiciraFlowStats() *NiciraFlowStats {
+ obj := &NiciraFlowStats{}
+ return obj
+}
+
+type NiciraFlowUpdateEvent struct {
+ Length uint16
+ Event uint16
+}
+
+type INiciraFlowUpdateEvent interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetEvent() uint16
+}
+
+func (self *NiciraFlowUpdateEvent) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *NiciraFlowUpdateEvent) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *NiciraFlowUpdateEvent) GetEvent() uint16 {
+ return self.Event
+}
+
+func (self *NiciraFlowUpdateEvent) SetEvent(v uint16) {
+ self.Event = v
+}
+
+func (self *NiciraFlowUpdateEvent) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint16(uint16(self.Event))
+
+ return nil
+}
+
+func DecodeNiciraFlowUpdateEvent(decoder *goloxi.Decoder) (INiciraFlowUpdateEvent, error) {
+ _niciraflowupdateevent := &NiciraFlowUpdateEvent{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NiciraFlowUpdateEvent packet too short: %d < 4", decoder.Length())
+ }
+ _niciraflowupdateevent.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_niciraflowupdateevent.Length), 2+0)
+ _niciraflowupdateevent.Event = uint16(decoder.ReadUint16())
+
+ switch _niciraflowupdateevent.Event {
+ case 0:
+ return DecodeNiciraFlowUpdateFullAdd(_niciraflowupdateevent, decoder)
+ case 1:
+ return DecodeNiciraFlowUpdateFullDeleted(_niciraflowupdateevent, decoder)
+ case 2:
+ return DecodeNiciraFlowUpdateFullModified(_niciraflowupdateevent, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'NiciraFlowUpdateEvent'", _niciraflowupdateevent.Event)
+ }
+}
+
+func NewNiciraFlowUpdateEvent(_event uint16) *NiciraFlowUpdateEvent {
+ obj := &NiciraFlowUpdateEvent{}
+ obj.Event = _event
+ return obj
+}
+
+type NiciraFlowUpdateFullAdd struct {
+ *NiciraFlowUpdateEvent
+ Reason uint16
+ Priority uint16
+ IdleTimeout uint16
+ HardTimeout uint16
+ MatchLen uint16
+ TableId uint8
+ Cookie uint64
+ Match NiciraMatch
+ Actions []goloxi.IAction
+}
+
+type INiciraFlowUpdateFullAdd interface {
+ INiciraFlowUpdateEvent
+ GetReason() uint16
+ GetPriority() uint16
+ GetIdleTimeout() uint16
+ GetHardTimeout() uint16
+ GetMatchLen() uint16
+ GetTableId() uint8
+ GetCookie() uint64
+ GetMatch() NiciraMatch
+ GetActions() []goloxi.IAction
+}
+
+func (self *NiciraFlowUpdateFullAdd) GetReason() uint16 {
+ return self.Reason
+}
+
+func (self *NiciraFlowUpdateFullAdd) SetReason(v uint16) {
+ self.Reason = v
+}
+
+func (self *NiciraFlowUpdateFullAdd) GetPriority() uint16 {
+ return self.Priority
+}
+
+func (self *NiciraFlowUpdateFullAdd) SetPriority(v uint16) {
+ self.Priority = v
+}
+
+func (self *NiciraFlowUpdateFullAdd) GetIdleTimeout() uint16 {
+ return self.IdleTimeout
+}
+
+func (self *NiciraFlowUpdateFullAdd) SetIdleTimeout(v uint16) {
+ self.IdleTimeout = v
+}
+
+func (self *NiciraFlowUpdateFullAdd) GetHardTimeout() uint16 {
+ return self.HardTimeout
+}
+
+func (self *NiciraFlowUpdateFullAdd) SetHardTimeout(v uint16) {
+ self.HardTimeout = v
+}
+
+func (self *NiciraFlowUpdateFullAdd) GetMatchLen() uint16 {
+ return self.MatchLen
+}
+
+func (self *NiciraFlowUpdateFullAdd) SetMatchLen(v uint16) {
+ self.MatchLen = v
+}
+
+func (self *NiciraFlowUpdateFullAdd) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *NiciraFlowUpdateFullAdd) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *NiciraFlowUpdateFullAdd) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *NiciraFlowUpdateFullAdd) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *NiciraFlowUpdateFullAdd) GetMatch() NiciraMatch {
+ return self.Match
+}
+
+func (self *NiciraFlowUpdateFullAdd) SetMatch(v NiciraMatch) {
+ self.Match = v
+}
+
+func (self *NiciraFlowUpdateFullAdd) GetActions() []goloxi.IAction {
+ return self.Actions
+}
+
+func (self *NiciraFlowUpdateFullAdd) SetActions(v []goloxi.IAction) {
+ self.Actions = v
+}
+
+func (self *NiciraFlowUpdateFullAdd) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.NiciraFlowUpdateEvent.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Reason))
+ encoder.PutUint16(uint16(self.Priority))
+ encoder.PutUint16(uint16(self.IdleTimeout))
+ encoder.PutUint16(uint16(self.HardTimeout))
+ encoder.PutUint16(uint16(self.MatchLen))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint64(uint64(self.Cookie))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Actions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeNiciraFlowUpdateFullAdd(parent *NiciraFlowUpdateEvent, decoder *goloxi.Decoder) (*NiciraFlowUpdateFullAdd, error) {
+ _niciraflowupdatefulladd := &NiciraFlowUpdateFullAdd{NiciraFlowUpdateEvent: parent}
+ if decoder.Length() < 20 {
+ return nil, fmt.Errorf("NiciraFlowUpdateFullAdd packet too short: %d < 20", decoder.Length())
+ }
+ _niciraflowupdatefulladd.Reason = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulladd.Priority = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulladd.IdleTimeout = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulladd.HardTimeout = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulladd.MatchLen = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulladd.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(1)
+ _niciraflowupdatefulladd.Cookie = uint64(decoder.ReadUint64())
+ if err := _niciraflowupdatefulladd.Match.Decode(decoder.SliceDecoder(int(_niciraflowupdatefulladd.MatchLen), 0)); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeAction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _niciraflowupdatefulladd.Actions = append(_niciraflowupdatefulladd.Actions, item)
+ }
+ }
+ return _niciraflowupdatefulladd, nil
+}
+
+func NewNiciraFlowUpdateFullAdd() *NiciraFlowUpdateFullAdd {
+ obj := &NiciraFlowUpdateFullAdd{
+ NiciraFlowUpdateEvent: NewNiciraFlowUpdateEvent(0),
+ }
+ return obj
+}
+
+type NiciraFlowUpdateFullDeleted struct {
+ *NiciraFlowUpdateEvent
+ Reason uint16
+ Priority uint16
+ IdleTimeout uint16
+ HardTimeout uint16
+ MatchLen uint16
+ TableId uint8
+ Cookie uint64
+ Match NiciraMatch
+ Actions []goloxi.IAction
+}
+
+type INiciraFlowUpdateFullDeleted interface {
+ INiciraFlowUpdateEvent
+ GetReason() uint16
+ GetPriority() uint16
+ GetIdleTimeout() uint16
+ GetHardTimeout() uint16
+ GetMatchLen() uint16
+ GetTableId() uint8
+ GetCookie() uint64
+ GetMatch() NiciraMatch
+ GetActions() []goloxi.IAction
+}
+
+func (self *NiciraFlowUpdateFullDeleted) GetReason() uint16 {
+ return self.Reason
+}
+
+func (self *NiciraFlowUpdateFullDeleted) SetReason(v uint16) {
+ self.Reason = v
+}
+
+func (self *NiciraFlowUpdateFullDeleted) GetPriority() uint16 {
+ return self.Priority
+}
+
+func (self *NiciraFlowUpdateFullDeleted) SetPriority(v uint16) {
+ self.Priority = v
+}
+
+func (self *NiciraFlowUpdateFullDeleted) GetIdleTimeout() uint16 {
+ return self.IdleTimeout
+}
+
+func (self *NiciraFlowUpdateFullDeleted) SetIdleTimeout(v uint16) {
+ self.IdleTimeout = v
+}
+
+func (self *NiciraFlowUpdateFullDeleted) GetHardTimeout() uint16 {
+ return self.HardTimeout
+}
+
+func (self *NiciraFlowUpdateFullDeleted) SetHardTimeout(v uint16) {
+ self.HardTimeout = v
+}
+
+func (self *NiciraFlowUpdateFullDeleted) GetMatchLen() uint16 {
+ return self.MatchLen
+}
+
+func (self *NiciraFlowUpdateFullDeleted) SetMatchLen(v uint16) {
+ self.MatchLen = v
+}
+
+func (self *NiciraFlowUpdateFullDeleted) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *NiciraFlowUpdateFullDeleted) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *NiciraFlowUpdateFullDeleted) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *NiciraFlowUpdateFullDeleted) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *NiciraFlowUpdateFullDeleted) GetMatch() NiciraMatch {
+ return self.Match
+}
+
+func (self *NiciraFlowUpdateFullDeleted) SetMatch(v NiciraMatch) {
+ self.Match = v
+}
+
+func (self *NiciraFlowUpdateFullDeleted) GetActions() []goloxi.IAction {
+ return self.Actions
+}
+
+func (self *NiciraFlowUpdateFullDeleted) SetActions(v []goloxi.IAction) {
+ self.Actions = v
+}
+
+func (self *NiciraFlowUpdateFullDeleted) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.NiciraFlowUpdateEvent.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Reason))
+ encoder.PutUint16(uint16(self.Priority))
+ encoder.PutUint16(uint16(self.IdleTimeout))
+ encoder.PutUint16(uint16(self.HardTimeout))
+ encoder.PutUint16(uint16(self.MatchLen))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint64(uint64(self.Cookie))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Actions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeNiciraFlowUpdateFullDeleted(parent *NiciraFlowUpdateEvent, decoder *goloxi.Decoder) (*NiciraFlowUpdateFullDeleted, error) {
+ _niciraflowupdatefulldeleted := &NiciraFlowUpdateFullDeleted{NiciraFlowUpdateEvent: parent}
+ if decoder.Length() < 20 {
+ return nil, fmt.Errorf("NiciraFlowUpdateFullDeleted packet too short: %d < 20", decoder.Length())
+ }
+ _niciraflowupdatefulldeleted.Reason = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulldeleted.Priority = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulldeleted.IdleTimeout = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulldeleted.HardTimeout = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulldeleted.MatchLen = uint16(decoder.ReadUint16())
+ _niciraflowupdatefulldeleted.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(1)
+ _niciraflowupdatefulldeleted.Cookie = uint64(decoder.ReadUint64())
+ if err := _niciraflowupdatefulldeleted.Match.Decode(decoder.SliceDecoder(int(_niciraflowupdatefulldeleted.MatchLen), 0)); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeAction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _niciraflowupdatefulldeleted.Actions = append(_niciraflowupdatefulldeleted.Actions, item)
+ }
+ }
+ return _niciraflowupdatefulldeleted, nil
+}
+
+func NewNiciraFlowUpdateFullDeleted() *NiciraFlowUpdateFullDeleted {
+ obj := &NiciraFlowUpdateFullDeleted{
+ NiciraFlowUpdateEvent: NewNiciraFlowUpdateEvent(1),
+ }
+ return obj
+}
+
+type NiciraFlowUpdateFullModified struct {
+ *NiciraFlowUpdateEvent
+ Reason uint16
+ Priority uint16
+ IdleTimeout uint16
+ HardTimeout uint16
+ MatchLen uint16
+ TableId uint8
+ Cookie uint64
+ Match NiciraMatch
+ Actions []goloxi.IAction
+}
+
+type INiciraFlowUpdateFullModified interface {
+ INiciraFlowUpdateEvent
+ GetReason() uint16
+ GetPriority() uint16
+ GetIdleTimeout() uint16
+ GetHardTimeout() uint16
+ GetMatchLen() uint16
+ GetTableId() uint8
+ GetCookie() uint64
+ GetMatch() NiciraMatch
+ GetActions() []goloxi.IAction
+}
+
+func (self *NiciraFlowUpdateFullModified) GetReason() uint16 {
+ return self.Reason
+}
+
+func (self *NiciraFlowUpdateFullModified) SetReason(v uint16) {
+ self.Reason = v
+}
+
+func (self *NiciraFlowUpdateFullModified) GetPriority() uint16 {
+ return self.Priority
+}
+
+func (self *NiciraFlowUpdateFullModified) SetPriority(v uint16) {
+ self.Priority = v
+}
+
+func (self *NiciraFlowUpdateFullModified) GetIdleTimeout() uint16 {
+ return self.IdleTimeout
+}
+
+func (self *NiciraFlowUpdateFullModified) SetIdleTimeout(v uint16) {
+ self.IdleTimeout = v
+}
+
+func (self *NiciraFlowUpdateFullModified) GetHardTimeout() uint16 {
+ return self.HardTimeout
+}
+
+func (self *NiciraFlowUpdateFullModified) SetHardTimeout(v uint16) {
+ self.HardTimeout = v
+}
+
+func (self *NiciraFlowUpdateFullModified) GetMatchLen() uint16 {
+ return self.MatchLen
+}
+
+func (self *NiciraFlowUpdateFullModified) SetMatchLen(v uint16) {
+ self.MatchLen = v
+}
+
+func (self *NiciraFlowUpdateFullModified) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *NiciraFlowUpdateFullModified) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *NiciraFlowUpdateFullModified) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *NiciraFlowUpdateFullModified) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *NiciraFlowUpdateFullModified) GetMatch() NiciraMatch {
+ return self.Match
+}
+
+func (self *NiciraFlowUpdateFullModified) SetMatch(v NiciraMatch) {
+ self.Match = v
+}
+
+func (self *NiciraFlowUpdateFullModified) GetActions() []goloxi.IAction {
+ return self.Actions
+}
+
+func (self *NiciraFlowUpdateFullModified) SetActions(v []goloxi.IAction) {
+ self.Actions = v
+}
+
+func (self *NiciraFlowUpdateFullModified) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.NiciraFlowUpdateEvent.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Reason))
+ encoder.PutUint16(uint16(self.Priority))
+ encoder.PutUint16(uint16(self.IdleTimeout))
+ encoder.PutUint16(uint16(self.HardTimeout))
+ encoder.PutUint16(uint16(self.MatchLen))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint64(uint64(self.Cookie))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Actions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeNiciraFlowUpdateFullModified(parent *NiciraFlowUpdateEvent, decoder *goloxi.Decoder) (*NiciraFlowUpdateFullModified, error) {
+ _niciraflowupdatefullmodified := &NiciraFlowUpdateFullModified{NiciraFlowUpdateEvent: parent}
+ if decoder.Length() < 20 {
+ return nil, fmt.Errorf("NiciraFlowUpdateFullModified packet too short: %d < 20", decoder.Length())
+ }
+ _niciraflowupdatefullmodified.Reason = uint16(decoder.ReadUint16())
+ _niciraflowupdatefullmodified.Priority = uint16(decoder.ReadUint16())
+ _niciraflowupdatefullmodified.IdleTimeout = uint16(decoder.ReadUint16())
+ _niciraflowupdatefullmodified.HardTimeout = uint16(decoder.ReadUint16())
+ _niciraflowupdatefullmodified.MatchLen = uint16(decoder.ReadUint16())
+ _niciraflowupdatefullmodified.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(1)
+ _niciraflowupdatefullmodified.Cookie = uint64(decoder.ReadUint64())
+ if err := _niciraflowupdatefullmodified.Match.Decode(decoder.SliceDecoder(int(_niciraflowupdatefullmodified.MatchLen), 0)); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeAction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _niciraflowupdatefullmodified.Actions = append(_niciraflowupdatefullmodified.Actions, item)
+ }
+ }
+ return _niciraflowupdatefullmodified, nil
+}
+
+func NewNiciraFlowUpdateFullModified() *NiciraFlowUpdateFullModified {
+ obj := &NiciraFlowUpdateFullModified{
+ NiciraFlowUpdateEvent: NewNiciraFlowUpdateEvent(2),
+ }
+ return obj
+}
+
+type OxmIdArpOp struct {
+ *OxmId
+}
+
+type IOxmIdArpOp interface {
+ IOxmId
+}
+
+func (self *OxmIdArpOp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpOp(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpOp, error) {
+ _oxmidarpop := &OxmIdArpOp{OxmId: parent}
+ return _oxmidarpop, nil
+}
+
+func NewOxmIdArpOp() *OxmIdArpOp {
+ obj := &OxmIdArpOp{
+ OxmId: NewOxmId(7682),
+ }
+ return obj
+}
+func (self *OxmIdArpOp) GetOXMName() string {
+ return "arp_op"
+}
+
+func (self *OxmIdArpOp) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdArpSha struct {
+ *OxmId
+}
+
+type IOxmIdArpSha interface {
+ IOxmId
+}
+
+func (self *OxmIdArpSha) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpSha(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpSha, error) {
+ _oxmidarpsha := &OxmIdArpSha{OxmId: parent}
+ return _oxmidarpsha, nil
+}
+
+func NewOxmIdArpSha() *OxmIdArpSha {
+ obj := &OxmIdArpSha{
+ OxmId: NewOxmId(74246),
+ }
+ return obj
+}
+func (self *OxmIdArpSha) GetOXMName() string {
+ return "arp_sha"
+}
+
+func (self *OxmIdArpSha) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdArpShaMasked struct {
+ *OxmId
+}
+
+type IOxmIdArpShaMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdArpShaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpShaMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpShaMasked, error) {
+ _oxmidarpshamasked := &OxmIdArpShaMasked{OxmId: parent}
+ return _oxmidarpshamasked, nil
+}
+
+func NewOxmIdArpShaMasked() *OxmIdArpShaMasked {
+ obj := &OxmIdArpShaMasked{
+ OxmId: NewOxmId(74507),
+ }
+ return obj
+}
+func (self *OxmIdArpShaMasked) GetOXMName() string {
+ return "arp_sha_masked"
+}
+
+func (self *OxmIdArpShaMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdArpSpa struct {
+ *OxmId
+}
+
+type IOxmIdArpSpa interface {
+ IOxmId
+}
+
+func (self *OxmIdArpSpa) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpSpa(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpSpa, error) {
+ _oxmidarpspa := &OxmIdArpSpa{OxmId: parent}
+ return _oxmidarpspa, nil
+}
+
+func NewOxmIdArpSpa() *OxmIdArpSpa {
+ obj := &OxmIdArpSpa{
+ OxmId: NewOxmId(8196),
+ }
+ return obj
+}
+func (self *OxmIdArpSpa) GetOXMName() string {
+ return "arp_spa"
+}
+
+func (self *OxmIdArpSpa) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdArpSpaMasked struct {
+ *OxmId
+}
+
+type IOxmIdArpSpaMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdArpSpaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpSpaMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpSpaMasked, error) {
+ _oxmidarpspamasked := &OxmIdArpSpaMasked{OxmId: parent}
+ return _oxmidarpspamasked, nil
+}
+
+func NewOxmIdArpSpaMasked() *OxmIdArpSpaMasked {
+ obj := &OxmIdArpSpaMasked{
+ OxmId: NewOxmId(8452),
+ }
+ return obj
+}
+func (self *OxmIdArpSpaMasked) GetOXMName() string {
+ return "arp_spa_masked"
+}
+
+func (self *OxmIdArpSpaMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdArpTha struct {
+ *OxmId
+}
+
+type IOxmIdArpTha interface {
+ IOxmId
+}
+
+func (self *OxmIdArpTha) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpTha(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpTha, error) {
+ _oxmidarptha := &OxmIdArpTha{OxmId: parent}
+ return _oxmidarptha, nil
+}
+
+func NewOxmIdArpTha() *OxmIdArpTha {
+ obj := &OxmIdArpTha{
+ OxmId: NewOxmId(74758),
+ }
+ return obj
+}
+func (self *OxmIdArpTha) GetOXMName() string {
+ return "arp_tha"
+}
+
+func (self *OxmIdArpTha) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdArpThaMasked struct {
+ *OxmId
+}
+
+type IOxmIdArpThaMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdArpThaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpThaMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpThaMasked, error) {
+ _oxmidarpthamasked := &OxmIdArpThaMasked{OxmId: parent}
+ return _oxmidarpthamasked, nil
+}
+
+func NewOxmIdArpThaMasked() *OxmIdArpThaMasked {
+ obj := &OxmIdArpThaMasked{
+ OxmId: NewOxmId(75019),
+ }
+ return obj
+}
+func (self *OxmIdArpThaMasked) GetOXMName() string {
+ return "arp_tha_masked"
+}
+
+func (self *OxmIdArpThaMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdArpTpa struct {
+ *OxmId
+}
+
+type IOxmIdArpTpa interface {
+ IOxmId
+}
+
+func (self *OxmIdArpTpa) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpTpa(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpTpa, error) {
+ _oxmidarptpa := &OxmIdArpTpa{OxmId: parent}
+ return _oxmidarptpa, nil
+}
+
+func NewOxmIdArpTpa() *OxmIdArpTpa {
+ obj := &OxmIdArpTpa{
+ OxmId: NewOxmId(8708),
+ }
+ return obj
+}
+func (self *OxmIdArpTpa) GetOXMName() string {
+ return "arp_tpa"
+}
+
+func (self *OxmIdArpTpa) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdArpTpaMasked struct {
+ *OxmId
+}
+
+type IOxmIdArpTpaMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdArpTpaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpTpaMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpTpaMasked, error) {
+ _oxmidarptpamasked := &OxmIdArpTpaMasked{OxmId: parent}
+ return _oxmidarptpamasked, nil
+}
+
+func NewOxmIdArpTpaMasked() *OxmIdArpTpaMasked {
+ obj := &OxmIdArpTpaMasked{
+ OxmId: NewOxmId(8968),
+ }
+ return obj
+}
+func (self *OxmIdArpTpaMasked) GetOXMName() string {
+ return "arp_tpa_masked"
+}
+
+func (self *OxmIdArpTpaMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConjId struct {
+ *OxmId
+}
+
+type IOxmIdConjId interface {
+ IOxmId
+}
+
+func (self *OxmIdConjId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConjId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConjId, error) {
+ _oxmidconjid := &OxmIdConjId{OxmId: parent}
+ return _oxmidconjid, nil
+}
+
+func NewOxmIdConjId() *OxmIdConjId {
+ obj := &OxmIdConjId{
+ OxmId: NewOxmId(84484),
+ }
+ return obj
+}
+func (self *OxmIdConjId) GetOXMName() string {
+ return "conj_id"
+}
+
+func (self *OxmIdConjId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtIpv6Dst struct {
+ *OxmId
+}
+
+type IOxmIdCtIpv6Dst interface {
+ IOxmId
+}
+
+func (self *OxmIdCtIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtIpv6Dst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtIpv6Dst, error) {
+ _oxmidctipv6dst := &OxmIdCtIpv6Dst{OxmId: parent}
+ return _oxmidctipv6dst, nil
+}
+
+func NewOxmIdCtIpv6Dst() *OxmIdCtIpv6Dst {
+ obj := &OxmIdCtIpv6Dst{
+ OxmId: NewOxmId(128528),
+ }
+ return obj
+}
+func (self *OxmIdCtIpv6Dst) GetOXMName() string {
+ return "ct_ipv6_dst"
+}
+
+func (self *OxmIdCtIpv6Dst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtIpv6DstMasked struct {
+ *OxmId
+}
+
+type IOxmIdCtIpv6DstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdCtIpv6DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtIpv6DstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtIpv6DstMasked, error) {
+ _oxmidctipv6dstmasked := &OxmIdCtIpv6DstMasked{OxmId: parent}
+ return _oxmidctipv6dstmasked, nil
+}
+
+func NewOxmIdCtIpv6DstMasked() *OxmIdCtIpv6DstMasked {
+ obj := &OxmIdCtIpv6DstMasked{
+ OxmId: NewOxmId(128800),
+ }
+ return obj
+}
+func (self *OxmIdCtIpv6DstMasked) GetOXMName() string {
+ return "ct_ipv6_dst_masked"
+}
+
+func (self *OxmIdCtIpv6DstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtIpv6Src struct {
+ *OxmId
+}
+
+type IOxmIdCtIpv6Src interface {
+ IOxmId
+}
+
+func (self *OxmIdCtIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtIpv6Src(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtIpv6Src, error) {
+ _oxmidctipv6src := &OxmIdCtIpv6Src{OxmId: parent}
+ return _oxmidctipv6src, nil
+}
+
+func NewOxmIdCtIpv6Src() *OxmIdCtIpv6Src {
+ obj := &OxmIdCtIpv6Src{
+ OxmId: NewOxmId(128016),
+ }
+ return obj
+}
+func (self *OxmIdCtIpv6Src) GetOXMName() string {
+ return "ct_ipv6_src"
+}
+
+func (self *OxmIdCtIpv6Src) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtIpv6SrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdCtIpv6SrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdCtIpv6SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtIpv6SrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtIpv6SrcMasked, error) {
+ _oxmidctipv6srcmasked := &OxmIdCtIpv6SrcMasked{OxmId: parent}
+ return _oxmidctipv6srcmasked, nil
+}
+
+func NewOxmIdCtIpv6SrcMasked() *OxmIdCtIpv6SrcMasked {
+ obj := &OxmIdCtIpv6SrcMasked{
+ OxmId: NewOxmId(128288),
+ }
+ return obj
+}
+func (self *OxmIdCtIpv6SrcMasked) GetOXMName() string {
+ return "ct_ipv6_src_masked"
+}
+
+func (self *OxmIdCtIpv6SrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtLabel struct {
+ *OxmId
+}
+
+type IOxmIdCtLabel interface {
+ IOxmId
+}
+
+func (self *OxmIdCtLabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtLabel(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtLabel, error) {
+ _oxmidctlabel := &OxmIdCtLabel{OxmId: parent}
+ return _oxmidctlabel, nil
+}
+
+func NewOxmIdCtLabel() *OxmIdCtLabel {
+ obj := &OxmIdCtLabel{
+ OxmId: NewOxmId(120848),
+ }
+ return obj
+}
+func (self *OxmIdCtLabel) GetOXMName() string {
+ return "ct_label"
+}
+
+func (self *OxmIdCtLabel) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtLabelMasked struct {
+ *OxmId
+}
+
+type IOxmIdCtLabelMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdCtLabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtLabelMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtLabelMasked, error) {
+ _oxmidctlabelmasked := &OxmIdCtLabelMasked{OxmId: parent}
+ return _oxmidctlabelmasked, nil
+}
+
+func NewOxmIdCtLabelMasked() *OxmIdCtLabelMasked {
+ obj := &OxmIdCtLabelMasked{
+ OxmId: NewOxmId(121120),
+ }
+ return obj
+}
+func (self *OxmIdCtLabelMasked) GetOXMName() string {
+ return "ct_label_masked"
+}
+
+func (self *OxmIdCtLabelMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtMark struct {
+ *OxmId
+}
+
+type IOxmIdCtMark interface {
+ IOxmId
+}
+
+func (self *OxmIdCtMark) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtMark(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtMark, error) {
+ _oxmidctmark := &OxmIdCtMark{OxmId: parent}
+ return _oxmidctmark, nil
+}
+
+func NewOxmIdCtMark() *OxmIdCtMark {
+ obj := &OxmIdCtMark{
+ OxmId: NewOxmId(120324),
+ }
+ return obj
+}
+func (self *OxmIdCtMark) GetOXMName() string {
+ return "ct_mark"
+}
+
+func (self *OxmIdCtMark) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtMarkMasked struct {
+ *OxmId
+}
+
+type IOxmIdCtMarkMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdCtMarkMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtMarkMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtMarkMasked, error) {
+ _oxmidctmarkmasked := &OxmIdCtMarkMasked{OxmId: parent}
+ return _oxmidctmarkmasked, nil
+}
+
+func NewOxmIdCtMarkMasked() *OxmIdCtMarkMasked {
+ obj := &OxmIdCtMarkMasked{
+ OxmId: NewOxmId(120584),
+ }
+ return obj
+}
+func (self *OxmIdCtMarkMasked) GetOXMName() string {
+ return "ct_mark_masked"
+}
+
+func (self *OxmIdCtMarkMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtNwDst struct {
+ *OxmId
+}
+
+type IOxmIdCtNwDst interface {
+ IOxmId
+}
+
+func (self *OxmIdCtNwDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtNwDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtNwDst, error) {
+ _oxmidctnwdst := &OxmIdCtNwDst{OxmId: parent}
+ return _oxmidctnwdst, nil
+}
+
+func NewOxmIdCtNwDst() *OxmIdCtNwDst {
+ obj := &OxmIdCtNwDst{
+ OxmId: NewOxmId(127492),
+ }
+ return obj
+}
+func (self *OxmIdCtNwDst) GetOXMName() string {
+ return "ct_nw_dst"
+}
+
+func (self *OxmIdCtNwDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtNwDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdCtNwDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdCtNwDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtNwDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtNwDstMasked, error) {
+ _oxmidctnwdstmasked := &OxmIdCtNwDstMasked{OxmId: parent}
+ return _oxmidctnwdstmasked, nil
+}
+
+func NewOxmIdCtNwDstMasked() *OxmIdCtNwDstMasked {
+ obj := &OxmIdCtNwDstMasked{
+ OxmId: NewOxmId(127752),
+ }
+ return obj
+}
+func (self *OxmIdCtNwDstMasked) GetOXMName() string {
+ return "ct_nw_dst_masked"
+}
+
+func (self *OxmIdCtNwDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtNwProto struct {
+ *OxmId
+}
+
+type IOxmIdCtNwProto interface {
+ IOxmId
+}
+
+func (self *OxmIdCtNwProto) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtNwProto(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtNwProto, error) {
+ _oxmidctnwproto := &OxmIdCtNwProto{OxmId: parent}
+ return _oxmidctnwproto, nil
+}
+
+func NewOxmIdCtNwProto() *OxmIdCtNwProto {
+ obj := &OxmIdCtNwProto{
+ OxmId: NewOxmId(126465),
+ }
+ return obj
+}
+func (self *OxmIdCtNwProto) GetOXMName() string {
+ return "ct_nw_proto"
+}
+
+func (self *OxmIdCtNwProto) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtNwSrc struct {
+ *OxmId
+}
+
+type IOxmIdCtNwSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdCtNwSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtNwSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtNwSrc, error) {
+ _oxmidctnwsrc := &OxmIdCtNwSrc{OxmId: parent}
+ return _oxmidctnwsrc, nil
+}
+
+func NewOxmIdCtNwSrc() *OxmIdCtNwSrc {
+ obj := &OxmIdCtNwSrc{
+ OxmId: NewOxmId(126980),
+ }
+ return obj
+}
+func (self *OxmIdCtNwSrc) GetOXMName() string {
+ return "ct_nw_src"
+}
+
+func (self *OxmIdCtNwSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtNwSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdCtNwSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdCtNwSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtNwSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtNwSrcMasked, error) {
+ _oxmidctnwsrcmasked := &OxmIdCtNwSrcMasked{OxmId: parent}
+ return _oxmidctnwsrcmasked, nil
+}
+
+func NewOxmIdCtNwSrcMasked() *OxmIdCtNwSrcMasked {
+ obj := &OxmIdCtNwSrcMasked{
+ OxmId: NewOxmId(127240),
+ }
+ return obj
+}
+func (self *OxmIdCtNwSrcMasked) GetOXMName() string {
+ return "ct_nw_src_masked"
+}
+
+func (self *OxmIdCtNwSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtState struct {
+ *OxmId
+}
+
+type IOxmIdCtState interface {
+ IOxmId
+}
+
+func (self *OxmIdCtState) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtState(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtState, error) {
+ _oxmidctstate := &OxmIdCtState{OxmId: parent}
+ return _oxmidctstate, nil
+}
+
+func NewOxmIdCtState() *OxmIdCtState {
+ obj := &OxmIdCtState{
+ OxmId: NewOxmId(119300),
+ }
+ return obj
+}
+func (self *OxmIdCtState) GetOXMName() string {
+ return "ct_state"
+}
+
+func (self *OxmIdCtState) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtStateMasked struct {
+ *OxmId
+}
+
+type IOxmIdCtStateMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdCtStateMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtStateMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtStateMasked, error) {
+ _oxmidctstatemasked := &OxmIdCtStateMasked{OxmId: parent}
+ return _oxmidctstatemasked, nil
+}
+
+func NewOxmIdCtStateMasked() *OxmIdCtStateMasked {
+ obj := &OxmIdCtStateMasked{
+ OxmId: NewOxmId(119560),
+ }
+ return obj
+}
+func (self *OxmIdCtStateMasked) GetOXMName() string {
+ return "ct_state_masked"
+}
+
+func (self *OxmIdCtStateMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtTpDst struct {
+ *OxmId
+}
+
+type IOxmIdCtTpDst interface {
+ IOxmId
+}
+
+func (self *OxmIdCtTpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtTpDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtTpDst, error) {
+ _oxmidcttpdst := &OxmIdCtTpDst{OxmId: parent}
+ return _oxmidcttpdst, nil
+}
+
+func NewOxmIdCtTpDst() *OxmIdCtTpDst {
+ obj := &OxmIdCtTpDst{
+ OxmId: NewOxmId(129538),
+ }
+ return obj
+}
+func (self *OxmIdCtTpDst) GetOXMName() string {
+ return "ct_tp_dst"
+}
+
+func (self *OxmIdCtTpDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtTpDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdCtTpDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdCtTpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtTpDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtTpDstMasked, error) {
+ _oxmidcttpdstmasked := &OxmIdCtTpDstMasked{OxmId: parent}
+ return _oxmidcttpdstmasked, nil
+}
+
+func NewOxmIdCtTpDstMasked() *OxmIdCtTpDstMasked {
+ obj := &OxmIdCtTpDstMasked{
+ OxmId: NewOxmId(129796),
+ }
+ return obj
+}
+func (self *OxmIdCtTpDstMasked) GetOXMName() string {
+ return "ct_tp_dst_masked"
+}
+
+func (self *OxmIdCtTpDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtTpSrc struct {
+ *OxmId
+}
+
+type IOxmIdCtTpSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdCtTpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtTpSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtTpSrc, error) {
+ _oxmidcttpsrc := &OxmIdCtTpSrc{OxmId: parent}
+ return _oxmidcttpsrc, nil
+}
+
+func NewOxmIdCtTpSrc() *OxmIdCtTpSrc {
+ obj := &OxmIdCtTpSrc{
+ OxmId: NewOxmId(129026),
+ }
+ return obj
+}
+func (self *OxmIdCtTpSrc) GetOXMName() string {
+ return "ct_tp_src"
+}
+
+func (self *OxmIdCtTpSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtTpSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdCtTpSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdCtTpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtTpSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtTpSrcMasked, error) {
+ _oxmidcttpsrcmasked := &OxmIdCtTpSrcMasked{OxmId: parent}
+ return _oxmidcttpsrcmasked, nil
+}
+
+func NewOxmIdCtTpSrcMasked() *OxmIdCtTpSrcMasked {
+ obj := &OxmIdCtTpSrcMasked{
+ OxmId: NewOxmId(129284),
+ }
+ return obj
+}
+func (self *OxmIdCtTpSrcMasked) GetOXMName() string {
+ return "ct_tp_src_masked"
+}
+
+func (self *OxmIdCtTpSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdCtZone struct {
+ *OxmId
+}
+
+type IOxmIdCtZone interface {
+ IOxmId
+}
+
+func (self *OxmIdCtZone) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdCtZone(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdCtZone, error) {
+ _oxmidctzone := &OxmIdCtZone{OxmId: parent}
+ return _oxmidctzone, nil
+}
+
+func NewOxmIdCtZone() *OxmIdCtZone {
+ obj := &OxmIdCtZone{
+ OxmId: NewOxmId(119810),
+ }
+ return obj
+}
+func (self *OxmIdCtZone) GetOXMName() string {
+ return "ct_zone"
+}
+
+func (self *OxmIdCtZone) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdDpHash struct {
+ *OxmId
+}
+
+type IOxmIdDpHash interface {
+ IOxmId
+}
+
+func (self *OxmIdDpHash) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdDpHash(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdDpHash, error) {
+ _oxmiddphash := &OxmIdDpHash{OxmId: parent}
+ return _oxmiddphash, nil
+}
+
+func NewOxmIdDpHash() *OxmIdDpHash {
+ obj := &OxmIdDpHash{
+ OxmId: NewOxmId(83460),
+ }
+ return obj
+}
+func (self *OxmIdDpHash) GetOXMName() string {
+ return "dp_hash"
+}
+
+func (self *OxmIdDpHash) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdDpHashMasked struct {
+ *OxmId
+}
+
+type IOxmIdDpHashMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdDpHashMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdDpHashMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdDpHashMasked, error) {
+ _oxmiddphashmasked := &OxmIdDpHashMasked{OxmId: parent}
+ return _oxmiddphashmasked, nil
+}
+
+func NewOxmIdDpHashMasked() *OxmIdDpHashMasked {
+ obj := &OxmIdDpHashMasked{
+ OxmId: NewOxmId(83720),
+ }
+ return obj
+}
+func (self *OxmIdDpHashMasked) GetOXMName() string {
+ return "dp_hash_masked"
+}
+
+func (self *OxmIdDpHashMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdEthDst struct {
+ *OxmId
+}
+
+type IOxmIdEthDst interface {
+ IOxmId
+}
+
+func (self *OxmIdEthDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdEthDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdEthDst, error) {
+ _oxmidethdst := &OxmIdEthDst{OxmId: parent}
+ return _oxmidethdst, nil
+}
+
+func NewOxmIdEthDst() *OxmIdEthDst {
+ obj := &OxmIdEthDst{
+ OxmId: NewOxmId(518),
+ }
+ return obj
+}
+func (self *OxmIdEthDst) GetOXMName() string {
+ return "eth_dst"
+}
+
+func (self *OxmIdEthDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdEthDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdEthDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdEthDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdEthDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdEthDstMasked, error) {
+ _oxmidethdstmasked := &OxmIdEthDstMasked{OxmId: parent}
+ return _oxmidethdstmasked, nil
+}
+
+func NewOxmIdEthDstMasked() *OxmIdEthDstMasked {
+ obj := &OxmIdEthDstMasked{
+ OxmId: NewOxmId(779),
+ }
+ return obj
+}
+func (self *OxmIdEthDstMasked) GetOXMName() string {
+ return "eth_dst_masked"
+}
+
+func (self *OxmIdEthDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdEthSrc struct {
+ *OxmId
+}
+
+type IOxmIdEthSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdEthSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdEthSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdEthSrc, error) {
+ _oxmidethsrc := &OxmIdEthSrc{OxmId: parent}
+ return _oxmidethsrc, nil
+}
+
+func NewOxmIdEthSrc() *OxmIdEthSrc {
+ obj := &OxmIdEthSrc{
+ OxmId: NewOxmId(1030),
+ }
+ return obj
+}
+func (self *OxmIdEthSrc) GetOXMName() string {
+ return "eth_src"
+}
+
+func (self *OxmIdEthSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdEthSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdEthSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdEthSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdEthSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdEthSrcMasked, error) {
+ _oxmidethsrcmasked := &OxmIdEthSrcMasked{OxmId: parent}
+ return _oxmidethsrcmasked, nil
+}
+
+func NewOxmIdEthSrcMasked() *OxmIdEthSrcMasked {
+ obj := &OxmIdEthSrcMasked{
+ OxmId: NewOxmId(1286),
+ }
+ return obj
+}
+func (self *OxmIdEthSrcMasked) GetOXMName() string {
+ return "eth_src_masked"
+}
+
+func (self *OxmIdEthSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdEthType struct {
+ *OxmId
+}
+
+type IOxmIdEthType interface {
+ IOxmId
+}
+
+func (self *OxmIdEthType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdEthType(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdEthType, error) {
+ _oxmidethtype := &OxmIdEthType{OxmId: parent}
+ return _oxmidethtype, nil
+}
+
+func NewOxmIdEthType() *OxmIdEthType {
+ obj := &OxmIdEthType{
+ OxmId: NewOxmId(1538),
+ }
+ return obj
+}
+func (self *OxmIdEthType) GetOXMName() string {
+ return "eth_type"
+}
+
+func (self *OxmIdEthType) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpCode struct {
+ *OxmId
+}
+
+type IOxmIdIcmpCode interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpCode) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpCode(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpCode, error) {
+ _oxmidicmpcode := &OxmIdIcmpCode{OxmId: parent}
+ return _oxmidicmpcode, nil
+}
+
+func NewOxmIdIcmpCode() *OxmIdIcmpCode {
+ obj := &OxmIdIcmpCode{
+ OxmId: NewOxmId(7169),
+ }
+ return obj
+}
+func (self *OxmIdIcmpCode) GetOXMName() string {
+ return "icmp_code"
+}
+
+func (self *OxmIdIcmpCode) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpType struct {
+ *OxmId
+}
+
+type IOxmIdIcmpType interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpType(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpType, error) {
+ _oxmidicmptype := &OxmIdIcmpType{OxmId: parent}
+ return _oxmidicmptype, nil
+}
+
+func NewOxmIdIcmpType() *OxmIdIcmpType {
+ obj := &OxmIdIcmpType{
+ OxmId: NewOxmId(6657),
+ }
+ return obj
+}
+func (self *OxmIdIcmpType) GetOXMName() string {
+ return "icmp_type"
+}
+
+func (self *OxmIdIcmpType) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpv6Code struct {
+ *OxmId
+}
+
+type IOxmIdIcmpv6Code interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpv6Code) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpv6Code(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpv6Code, error) {
+ _oxmidicmpv6code := &OxmIdIcmpv6Code{OxmId: parent}
+ return _oxmidicmpv6code, nil
+}
+
+func NewOxmIdIcmpv6Code() *OxmIdIcmpv6Code {
+ obj := &OxmIdIcmpv6Code{
+ OxmId: NewOxmId(76801),
+ }
+ return obj
+}
+func (self *OxmIdIcmpv6Code) GetOXMName() string {
+ return "icmpv6_code"
+}
+
+func (self *OxmIdIcmpv6Code) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpv6Type struct {
+ *OxmId
+}
+
+type IOxmIdIcmpv6Type interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpv6Type) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpv6Type(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpv6Type, error) {
+ _oxmidicmpv6type := &OxmIdIcmpv6Type{OxmId: parent}
+ return _oxmidicmpv6type, nil
+}
+
+func NewOxmIdIcmpv6Type() *OxmIdIcmpv6Type {
+ obj := &OxmIdIcmpv6Type{
+ OxmId: NewOxmId(76289),
+ }
+ return obj
+}
+func (self *OxmIdIcmpv6Type) GetOXMName() string {
+ return "icmpv6_type"
+}
+
+func (self *OxmIdIcmpv6Type) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdInPort struct {
+ *OxmId
+}
+
+type IOxmIdInPort interface {
+ IOxmId
+}
+
+func (self *OxmIdInPort) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdInPort(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdInPort, error) {
+ _oxmidinport := &OxmIdInPort{OxmId: parent}
+ return _oxmidinport, nil
+}
+
+func NewOxmIdInPort() *OxmIdInPort {
+ obj := &OxmIdInPort{
+ OxmId: NewOxmId(2),
+ }
+ return obj
+}
+func (self *OxmIdInPort) GetOXMName() string {
+ return "in_port"
+}
+
+func (self *OxmIdInPort) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpDst struct {
+ *OxmId
+}
+
+type IOxmIdIpDst interface {
+ IOxmId
+}
+
+func (self *OxmIdIpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpDst, error) {
+ _oxmidipdst := &OxmIdIpDst{OxmId: parent}
+ return _oxmidipdst, nil
+}
+
+func NewOxmIdIpDst() *OxmIdIpDst {
+ obj := &OxmIdIpDst{
+ OxmId: NewOxmId(4100),
+ }
+ return obj
+}
+func (self *OxmIdIpDst) GetOXMName() string {
+ return "ip_dst"
+}
+
+func (self *OxmIdIpDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpDstMasked, error) {
+ _oxmidipdstmasked := &OxmIdIpDstMasked{OxmId: parent}
+ return _oxmidipdstmasked, nil
+}
+
+func NewOxmIdIpDstMasked() *OxmIdIpDstMasked {
+ obj := &OxmIdIpDstMasked{
+ OxmId: NewOxmId(4360),
+ }
+ return obj
+}
+func (self *OxmIdIpDstMasked) GetOXMName() string {
+ return "ip_dst_masked"
+}
+
+func (self *OxmIdIpDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpFrag struct {
+ *OxmId
+}
+
+type IOxmIdIpFrag interface {
+ IOxmId
+}
+
+func (self *OxmIdIpFrag) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpFrag(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpFrag, error) {
+ _oxmidipfrag := &OxmIdIpFrag{OxmId: parent}
+ return _oxmidipfrag, nil
+}
+
+func NewOxmIdIpFrag() *OxmIdIpFrag {
+ obj := &OxmIdIpFrag{
+ OxmId: NewOxmId(78849),
+ }
+ return obj
+}
+func (self *OxmIdIpFrag) GetOXMName() string {
+ return "ip_frag"
+}
+
+func (self *OxmIdIpFrag) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpFragMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpFragMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpFragMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpFragMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpFragMasked, error) {
+ _oxmidipfragmasked := &OxmIdIpFragMasked{OxmId: parent}
+ return _oxmidipfragmasked, nil
+}
+
+func NewOxmIdIpFragMasked() *OxmIdIpFragMasked {
+ obj := &OxmIdIpFragMasked{
+ OxmId: NewOxmId(79106),
+ }
+ return obj
+}
+func (self *OxmIdIpFragMasked) GetOXMName() string {
+ return "ip_frag_masked"
+}
+
+func (self *OxmIdIpFragMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpSrc struct {
+ *OxmId
+}
+
+type IOxmIdIpSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdIpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpSrc, error) {
+ _oxmidipsrc := &OxmIdIpSrc{OxmId: parent}
+ return _oxmidipsrc, nil
+}
+
+func NewOxmIdIpSrc() *OxmIdIpSrc {
+ obj := &OxmIdIpSrc{
+ OxmId: NewOxmId(3588),
+ }
+ return obj
+}
+func (self *OxmIdIpSrc) GetOXMName() string {
+ return "ip_src"
+}
+
+func (self *OxmIdIpSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpSrcMasked, error) {
+ _oxmidipsrcmasked := &OxmIdIpSrcMasked{OxmId: parent}
+ return _oxmidipsrcmasked, nil
+}
+
+func NewOxmIdIpSrcMasked() *OxmIdIpSrcMasked {
+ obj := &OxmIdIpSrcMasked{
+ OxmId: NewOxmId(3848),
+ }
+ return obj
+}
+func (self *OxmIdIpSrcMasked) GetOXMName() string {
+ return "ip_src_masked"
+}
+
+func (self *OxmIdIpSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6Dst struct {
+ *OxmId
+}
+
+type IOxmIdIpv6Dst interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6Dst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6Dst, error) {
+ _oxmidipv6dst := &OxmIdIpv6Dst{OxmId: parent}
+ return _oxmidipv6dst, nil
+}
+
+func NewOxmIdIpv6Dst() *OxmIdIpv6Dst {
+ obj := &OxmIdIpv6Dst{
+ OxmId: NewOxmId(75792),
+ }
+ return obj
+}
+func (self *OxmIdIpv6Dst) GetOXMName() string {
+ return "ipv6_dst"
+}
+
+func (self *OxmIdIpv6Dst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6DstMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv6DstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6DstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6DstMasked, error) {
+ _oxmidipv6dstmasked := &OxmIdIpv6DstMasked{OxmId: parent}
+ return _oxmidipv6dstmasked, nil
+}
+
+func NewOxmIdIpv6DstMasked() *OxmIdIpv6DstMasked {
+ obj := &OxmIdIpv6DstMasked{
+ OxmId: NewOxmId(76064),
+ }
+ return obj
+}
+func (self *OxmIdIpv6DstMasked) GetOXMName() string {
+ return "ipv6_dst_masked"
+}
+
+func (self *OxmIdIpv6DstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6Label struct {
+ *OxmId
+}
+
+type IOxmIdIpv6Label interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6Label) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6Label(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6Label, error) {
+ _oxmidipv6label := &OxmIdIpv6Label{OxmId: parent}
+ return _oxmidipv6label, nil
+}
+
+func NewOxmIdIpv6Label() *OxmIdIpv6Label {
+ obj := &OxmIdIpv6Label{
+ OxmId: NewOxmId(79364),
+ }
+ return obj
+}
+func (self *OxmIdIpv6Label) GetOXMName() string {
+ return "ipv6_label"
+}
+
+func (self *OxmIdIpv6Label) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6LabelMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv6LabelMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6LabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6LabelMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6LabelMasked, error) {
+ _oxmidipv6labelmasked := &OxmIdIpv6LabelMasked{OxmId: parent}
+ return _oxmidipv6labelmasked, nil
+}
+
+func NewOxmIdIpv6LabelMasked() *OxmIdIpv6LabelMasked {
+ obj := &OxmIdIpv6LabelMasked{
+ OxmId: NewOxmId(79624),
+ }
+ return obj
+}
+func (self *OxmIdIpv6LabelMasked) GetOXMName() string {
+ return "ipv6_label_masked"
+}
+
+func (self *OxmIdIpv6LabelMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6Src struct {
+ *OxmId
+}
+
+type IOxmIdIpv6Src interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6Src(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6Src, error) {
+ _oxmidipv6src := &OxmIdIpv6Src{OxmId: parent}
+ return _oxmidipv6src, nil
+}
+
+func NewOxmIdIpv6Src() *OxmIdIpv6Src {
+ obj := &OxmIdIpv6Src{
+ OxmId: NewOxmId(75280),
+ }
+ return obj
+}
+func (self *OxmIdIpv6Src) GetOXMName() string {
+ return "ipv6_src"
+}
+
+func (self *OxmIdIpv6Src) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6SrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv6SrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6SrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6SrcMasked, error) {
+ _oxmidipv6srcmasked := &OxmIdIpv6SrcMasked{OxmId: parent}
+ return _oxmidipv6srcmasked, nil
+}
+
+func NewOxmIdIpv6SrcMasked() *OxmIdIpv6SrcMasked {
+ obj := &OxmIdIpv6SrcMasked{
+ OxmId: NewOxmId(75552),
+ }
+ return obj
+}
+func (self *OxmIdIpv6SrcMasked) GetOXMName() string {
+ return "ipv6_src_masked"
+}
+
+func (self *OxmIdIpv6SrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdMplsTtl struct {
+ *OxmId
+}
+
+type IOxmIdMplsTtl interface {
+ IOxmId
+}
+
+func (self *OxmIdMplsTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdMplsTtl(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdMplsTtl, error) {
+ _oxmidmplsttl := &OxmIdMplsTtl{OxmId: parent}
+ return _oxmidmplsttl, nil
+}
+
+func NewOxmIdMplsTtl() *OxmIdMplsTtl {
+ obj := &OxmIdMplsTtl{
+ OxmId: NewOxmId(80897),
+ }
+ return obj
+}
+func (self *OxmIdMplsTtl) GetOXMName() string {
+ return "mpls_ttl"
+}
+
+func (self *OxmIdMplsTtl) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNdSll struct {
+ *OxmId
+}
+
+type IOxmIdNdSll interface {
+ IOxmId
+}
+
+func (self *OxmIdNdSll) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNdSll(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNdSll, error) {
+ _oxmidndsll := &OxmIdNdSll{OxmId: parent}
+ return _oxmidndsll, nil
+}
+
+func NewOxmIdNdSll() *OxmIdNdSll {
+ obj := &OxmIdNdSll{
+ OxmId: NewOxmId(77830),
+ }
+ return obj
+}
+func (self *OxmIdNdSll) GetOXMName() string {
+ return "nd_sll"
+}
+
+func (self *OxmIdNdSll) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNdSllMasked struct {
+ *OxmId
+}
+
+type IOxmIdNdSllMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdNdSllMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNdSllMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNdSllMasked, error) {
+ _oxmidndsllmasked := &OxmIdNdSllMasked{OxmId: parent}
+ return _oxmidndsllmasked, nil
+}
+
+func NewOxmIdNdSllMasked() *OxmIdNdSllMasked {
+ obj := &OxmIdNdSllMasked{
+ OxmId: NewOxmId(78091),
+ }
+ return obj
+}
+func (self *OxmIdNdSllMasked) GetOXMName() string {
+ return "nd_sll_masked"
+}
+
+func (self *OxmIdNdSllMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNdTarget struct {
+ *OxmId
+}
+
+type IOxmIdNdTarget interface {
+ IOxmId
+}
+
+func (self *OxmIdNdTarget) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNdTarget(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNdTarget, error) {
+ _oxmidndtarget := &OxmIdNdTarget{OxmId: parent}
+ return _oxmidndtarget, nil
+}
+
+func NewOxmIdNdTarget() *OxmIdNdTarget {
+ obj := &OxmIdNdTarget{
+ OxmId: NewOxmId(77328),
+ }
+ return obj
+}
+func (self *OxmIdNdTarget) GetOXMName() string {
+ return "nd_target"
+}
+
+func (self *OxmIdNdTarget) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNdTargetMasked struct {
+ *OxmId
+}
+
+type IOxmIdNdTargetMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdNdTargetMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNdTargetMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNdTargetMasked, error) {
+ _oxmidndtargetmasked := &OxmIdNdTargetMasked{OxmId: parent}
+ return _oxmidndtargetmasked, nil
+}
+
+func NewOxmIdNdTargetMasked() *OxmIdNdTargetMasked {
+ obj := &OxmIdNdTargetMasked{
+ OxmId: NewOxmId(77600),
+ }
+ return obj
+}
+func (self *OxmIdNdTargetMasked) GetOXMName() string {
+ return "nd_target_masked"
+}
+
+func (self *OxmIdNdTargetMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNdTll struct {
+ *OxmId
+}
+
+type IOxmIdNdTll interface {
+ IOxmId
+}
+
+func (self *OxmIdNdTll) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNdTll(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNdTll, error) {
+ _oxmidndtll := &OxmIdNdTll{OxmId: parent}
+ return _oxmidndtll, nil
+}
+
+func NewOxmIdNdTll() *OxmIdNdTll {
+ obj := &OxmIdNdTll{
+ OxmId: NewOxmId(78342),
+ }
+ return obj
+}
+func (self *OxmIdNdTll) GetOXMName() string {
+ return "nd_tll"
+}
+
+func (self *OxmIdNdTll) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNdTllMasked struct {
+ *OxmId
+}
+
+type IOxmIdNdTllMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdNdTllMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNdTllMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNdTllMasked, error) {
+ _oxmidndtllmasked := &OxmIdNdTllMasked{OxmId: parent}
+ return _oxmidndtllmasked, nil
+}
+
+func NewOxmIdNdTllMasked() *OxmIdNdTllMasked {
+ obj := &OxmIdNdTllMasked{
+ OxmId: NewOxmId(78603),
+ }
+ return obj
+}
+func (self *OxmIdNdTllMasked) GetOXMName() string {
+ return "nd_tll_masked"
+}
+
+func (self *OxmIdNdTllMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNwEcn struct {
+ *OxmId
+}
+
+type IOxmIdNwEcn interface {
+ IOxmId
+}
+
+func (self *OxmIdNwEcn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNwEcn(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNwEcn, error) {
+ _oxmidnwecn := &OxmIdNwEcn{OxmId: parent}
+ return _oxmidnwecn, nil
+}
+
+func NewOxmIdNwEcn() *OxmIdNwEcn {
+ obj := &OxmIdNwEcn{
+ OxmId: NewOxmId(79873),
+ }
+ return obj
+}
+func (self *OxmIdNwEcn) GetOXMName() string {
+ return "nw_ecn"
+}
+
+func (self *OxmIdNwEcn) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNwProto struct {
+ *OxmId
+}
+
+type IOxmIdNwProto interface {
+ IOxmId
+}
+
+func (self *OxmIdNwProto) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNwProto(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNwProto, error) {
+ _oxmidnwproto := &OxmIdNwProto{OxmId: parent}
+ return _oxmidnwproto, nil
+}
+
+func NewOxmIdNwProto() *OxmIdNwProto {
+ obj := &OxmIdNwProto{
+ OxmId: NewOxmId(3073),
+ }
+ return obj
+}
+func (self *OxmIdNwProto) GetOXMName() string {
+ return "nw_proto"
+}
+
+func (self *OxmIdNwProto) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNwTos struct {
+ *OxmId
+}
+
+type IOxmIdNwTos interface {
+ IOxmId
+}
+
+func (self *OxmIdNwTos) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNwTos(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNwTos, error) {
+ _oxmidnwtos := &OxmIdNwTos{OxmId: parent}
+ return _oxmidnwtos, nil
+}
+
+func NewOxmIdNwTos() *OxmIdNwTos {
+ obj := &OxmIdNwTos{
+ OxmId: NewOxmId(2561),
+ }
+ return obj
+}
+func (self *OxmIdNwTos) GetOXMName() string {
+ return "nw_tos"
+}
+
+func (self *OxmIdNwTos) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdNwTtl struct {
+ *OxmId
+}
+
+type IOxmIdNwTtl interface {
+ IOxmId
+}
+
+func (self *OxmIdNwTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdNwTtl(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdNwTtl, error) {
+ _oxmidnwttl := &OxmIdNwTtl{OxmId: parent}
+ return _oxmidnwttl, nil
+}
+
+func NewOxmIdNwTtl() *OxmIdNwTtl {
+ obj := &OxmIdNwTtl{
+ OxmId: NewOxmId(80385),
+ }
+ return obj
+}
+func (self *OxmIdNwTtl) GetOXMName() string {
+ return "nw_ttl"
+}
+
+func (self *OxmIdNwTtl) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdPktMark struct {
+ *OxmId
+}
+
+type IOxmIdPktMark interface {
+ IOxmId
+}
+
+func (self *OxmIdPktMark) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdPktMark(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdPktMark, error) {
+ _oxmidpktmark := &OxmIdPktMark{OxmId: parent}
+ return _oxmidpktmark, nil
+}
+
+func NewOxmIdPktMark() *OxmIdPktMark {
+ obj := &OxmIdPktMark{
+ OxmId: NewOxmId(82436),
+ }
+ return obj
+}
+func (self *OxmIdPktMark) GetOXMName() string {
+ return "pkt_mark"
+}
+
+func (self *OxmIdPktMark) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdPktMarkMasked struct {
+ *OxmId
+}
+
+type IOxmIdPktMarkMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdPktMarkMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdPktMarkMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdPktMarkMasked, error) {
+ _oxmidpktmarkmasked := &OxmIdPktMarkMasked{OxmId: parent}
+ return _oxmidpktmarkmasked, nil
+}
+
+func NewOxmIdPktMarkMasked() *OxmIdPktMarkMasked {
+ obj := &OxmIdPktMarkMasked{
+ OxmId: NewOxmId(82696),
+ }
+ return obj
+}
+func (self *OxmIdPktMarkMasked) GetOXMName() string {
+ return "pkt_mark_masked"
+}
+
+func (self *OxmIdPktMarkMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdRecircId struct {
+ *OxmId
+}
+
+type IOxmIdRecircId interface {
+ IOxmId
+}
+
+func (self *OxmIdRecircId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdRecircId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdRecircId, error) {
+ _oxmidrecircid := &OxmIdRecircId{OxmId: parent}
+ return _oxmidrecircid, nil
+}
+
+func NewOxmIdRecircId() *OxmIdRecircId {
+ obj := &OxmIdRecircId{
+ OxmId: NewOxmId(83972),
+ }
+ return obj
+}
+func (self *OxmIdRecircId) GetOXMName() string {
+ return "recirc_id"
+}
+
+func (self *OxmIdRecircId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg0 struct {
+ *OxmId
+}
+
+type IOxmIdReg0 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg0(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg0, error) {
+ _oxmidreg0 := &OxmIdReg0{OxmId: parent}
+ return _oxmidreg0, nil
+}
+
+func NewOxmIdReg0() *OxmIdReg0 {
+ obj := &OxmIdReg0{
+ OxmId: NewOxmId(65540),
+ }
+ return obj
+}
+func (self *OxmIdReg0) GetOXMName() string {
+ return "reg0"
+}
+
+func (self *OxmIdReg0) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg0Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg0Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg0Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg0Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg0Masked, error) {
+ _oxmidreg0masked := &OxmIdReg0Masked{OxmId: parent}
+ return _oxmidreg0masked, nil
+}
+
+func NewOxmIdReg0Masked() *OxmIdReg0Masked {
+ obj := &OxmIdReg0Masked{
+ OxmId: NewOxmId(65800),
+ }
+ return obj
+}
+func (self *OxmIdReg0Masked) GetOXMName() string {
+ return "reg0_masked"
+}
+
+func (self *OxmIdReg0Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg1 struct {
+ *OxmId
+}
+
+type IOxmIdReg1 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg1(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg1, error) {
+ _oxmidreg1 := &OxmIdReg1{OxmId: parent}
+ return _oxmidreg1, nil
+}
+
+func NewOxmIdReg1() *OxmIdReg1 {
+ obj := &OxmIdReg1{
+ OxmId: NewOxmId(66052),
+ }
+ return obj
+}
+func (self *OxmIdReg1) GetOXMName() string {
+ return "reg1"
+}
+
+func (self *OxmIdReg1) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg10 struct {
+ *OxmId
+}
+
+type IOxmIdReg10 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg10) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg10(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg10, error) {
+ _oxmidreg10 := &OxmIdReg10{OxmId: parent}
+ return _oxmidreg10, nil
+}
+
+func NewOxmIdReg10() *OxmIdReg10 {
+ obj := &OxmIdReg10{
+ OxmId: NewOxmId(70660),
+ }
+ return obj
+}
+func (self *OxmIdReg10) GetOXMName() string {
+ return "reg10"
+}
+
+func (self *OxmIdReg10) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg10Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg10Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg10Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg10Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg10Masked, error) {
+ _oxmidreg10masked := &OxmIdReg10Masked{OxmId: parent}
+ return _oxmidreg10masked, nil
+}
+
+func NewOxmIdReg10Masked() *OxmIdReg10Masked {
+ obj := &OxmIdReg10Masked{
+ OxmId: NewOxmId(70920),
+ }
+ return obj
+}
+func (self *OxmIdReg10Masked) GetOXMName() string {
+ return "reg10_masked"
+}
+
+func (self *OxmIdReg10Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg11 struct {
+ *OxmId
+}
+
+type IOxmIdReg11 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg11) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg11(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg11, error) {
+ _oxmidreg11 := &OxmIdReg11{OxmId: parent}
+ return _oxmidreg11, nil
+}
+
+func NewOxmIdReg11() *OxmIdReg11 {
+ obj := &OxmIdReg11{
+ OxmId: NewOxmId(71172),
+ }
+ return obj
+}
+func (self *OxmIdReg11) GetOXMName() string {
+ return "reg11"
+}
+
+func (self *OxmIdReg11) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg11Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg11Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg11Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg11Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg11Masked, error) {
+ _oxmidreg11masked := &OxmIdReg11Masked{OxmId: parent}
+ return _oxmidreg11masked, nil
+}
+
+func NewOxmIdReg11Masked() *OxmIdReg11Masked {
+ obj := &OxmIdReg11Masked{
+ OxmId: NewOxmId(71432),
+ }
+ return obj
+}
+func (self *OxmIdReg11Masked) GetOXMName() string {
+ return "reg11_masked"
+}
+
+func (self *OxmIdReg11Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg12 struct {
+ *OxmId
+}
+
+type IOxmIdReg12 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg12) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg12(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg12, error) {
+ _oxmidreg12 := &OxmIdReg12{OxmId: parent}
+ return _oxmidreg12, nil
+}
+
+func NewOxmIdReg12() *OxmIdReg12 {
+ obj := &OxmIdReg12{
+ OxmId: NewOxmId(71684),
+ }
+ return obj
+}
+func (self *OxmIdReg12) GetOXMName() string {
+ return "reg12"
+}
+
+func (self *OxmIdReg12) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg12Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg12Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg12Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg12Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg12Masked, error) {
+ _oxmidreg12masked := &OxmIdReg12Masked{OxmId: parent}
+ return _oxmidreg12masked, nil
+}
+
+func NewOxmIdReg12Masked() *OxmIdReg12Masked {
+ obj := &OxmIdReg12Masked{
+ OxmId: NewOxmId(71944),
+ }
+ return obj
+}
+func (self *OxmIdReg12Masked) GetOXMName() string {
+ return "reg12_masked"
+}
+
+func (self *OxmIdReg12Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg13 struct {
+ *OxmId
+}
+
+type IOxmIdReg13 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg13) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg13(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg13, error) {
+ _oxmidreg13 := &OxmIdReg13{OxmId: parent}
+ return _oxmidreg13, nil
+}
+
+func NewOxmIdReg13() *OxmIdReg13 {
+ obj := &OxmIdReg13{
+ OxmId: NewOxmId(72196),
+ }
+ return obj
+}
+func (self *OxmIdReg13) GetOXMName() string {
+ return "reg13"
+}
+
+func (self *OxmIdReg13) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg13Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg13Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg13Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg13Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg13Masked, error) {
+ _oxmidreg13masked := &OxmIdReg13Masked{OxmId: parent}
+ return _oxmidreg13masked, nil
+}
+
+func NewOxmIdReg13Masked() *OxmIdReg13Masked {
+ obj := &OxmIdReg13Masked{
+ OxmId: NewOxmId(72456),
+ }
+ return obj
+}
+func (self *OxmIdReg13Masked) GetOXMName() string {
+ return "reg13_masked"
+}
+
+func (self *OxmIdReg13Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg14 struct {
+ *OxmId
+}
+
+type IOxmIdReg14 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg14) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg14(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg14, error) {
+ _oxmidreg14 := &OxmIdReg14{OxmId: parent}
+ return _oxmidreg14, nil
+}
+
+func NewOxmIdReg14() *OxmIdReg14 {
+ obj := &OxmIdReg14{
+ OxmId: NewOxmId(72708),
+ }
+ return obj
+}
+func (self *OxmIdReg14) GetOXMName() string {
+ return "reg14"
+}
+
+func (self *OxmIdReg14) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg14Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg14Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg14Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg14Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg14Masked, error) {
+ _oxmidreg14masked := &OxmIdReg14Masked{OxmId: parent}
+ return _oxmidreg14masked, nil
+}
+
+func NewOxmIdReg14Masked() *OxmIdReg14Masked {
+ obj := &OxmIdReg14Masked{
+ OxmId: NewOxmId(72968),
+ }
+ return obj
+}
+func (self *OxmIdReg14Masked) GetOXMName() string {
+ return "reg14_masked"
+}
+
+func (self *OxmIdReg14Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg15 struct {
+ *OxmId
+}
+
+type IOxmIdReg15 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg15) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg15(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg15, error) {
+ _oxmidreg15 := &OxmIdReg15{OxmId: parent}
+ return _oxmidreg15, nil
+}
+
+func NewOxmIdReg15() *OxmIdReg15 {
+ obj := &OxmIdReg15{
+ OxmId: NewOxmId(73220),
+ }
+ return obj
+}
+func (self *OxmIdReg15) GetOXMName() string {
+ return "reg15"
+}
+
+func (self *OxmIdReg15) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg15Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg15Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg15Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg15Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg15Masked, error) {
+ _oxmidreg15masked := &OxmIdReg15Masked{OxmId: parent}
+ return _oxmidreg15masked, nil
+}
+
+func NewOxmIdReg15Masked() *OxmIdReg15Masked {
+ obj := &OxmIdReg15Masked{
+ OxmId: NewOxmId(73480),
+ }
+ return obj
+}
+func (self *OxmIdReg15Masked) GetOXMName() string {
+ return "reg15_masked"
+}
+
+func (self *OxmIdReg15Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg1Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg1Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg1Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg1Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg1Masked, error) {
+ _oxmidreg1masked := &OxmIdReg1Masked{OxmId: parent}
+ return _oxmidreg1masked, nil
+}
+
+func NewOxmIdReg1Masked() *OxmIdReg1Masked {
+ obj := &OxmIdReg1Masked{
+ OxmId: NewOxmId(66312),
+ }
+ return obj
+}
+func (self *OxmIdReg1Masked) GetOXMName() string {
+ return "reg1_masked"
+}
+
+func (self *OxmIdReg1Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg2 struct {
+ *OxmId
+}
+
+type IOxmIdReg2 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg2(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg2, error) {
+ _oxmidreg2 := &OxmIdReg2{OxmId: parent}
+ return _oxmidreg2, nil
+}
+
+func NewOxmIdReg2() *OxmIdReg2 {
+ obj := &OxmIdReg2{
+ OxmId: NewOxmId(66564),
+ }
+ return obj
+}
+func (self *OxmIdReg2) GetOXMName() string {
+ return "reg2"
+}
+
+func (self *OxmIdReg2) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg2Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg2Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg2Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg2Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg2Masked, error) {
+ _oxmidreg2masked := &OxmIdReg2Masked{OxmId: parent}
+ return _oxmidreg2masked, nil
+}
+
+func NewOxmIdReg2Masked() *OxmIdReg2Masked {
+ obj := &OxmIdReg2Masked{
+ OxmId: NewOxmId(66824),
+ }
+ return obj
+}
+func (self *OxmIdReg2Masked) GetOXMName() string {
+ return "reg2_masked"
+}
+
+func (self *OxmIdReg2Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg3 struct {
+ *OxmId
+}
+
+type IOxmIdReg3 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg3(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg3, error) {
+ _oxmidreg3 := &OxmIdReg3{OxmId: parent}
+ return _oxmidreg3, nil
+}
+
+func NewOxmIdReg3() *OxmIdReg3 {
+ obj := &OxmIdReg3{
+ OxmId: NewOxmId(67076),
+ }
+ return obj
+}
+func (self *OxmIdReg3) GetOXMName() string {
+ return "reg3"
+}
+
+func (self *OxmIdReg3) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg3Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg3Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg3Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg3Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg3Masked, error) {
+ _oxmidreg3masked := &OxmIdReg3Masked{OxmId: parent}
+ return _oxmidreg3masked, nil
+}
+
+func NewOxmIdReg3Masked() *OxmIdReg3Masked {
+ obj := &OxmIdReg3Masked{
+ OxmId: NewOxmId(67336),
+ }
+ return obj
+}
+func (self *OxmIdReg3Masked) GetOXMName() string {
+ return "reg3_masked"
+}
+
+func (self *OxmIdReg3Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg4 struct {
+ *OxmId
+}
+
+type IOxmIdReg4 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg4) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg4(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg4, error) {
+ _oxmidreg4 := &OxmIdReg4{OxmId: parent}
+ return _oxmidreg4, nil
+}
+
+func NewOxmIdReg4() *OxmIdReg4 {
+ obj := &OxmIdReg4{
+ OxmId: NewOxmId(67588),
+ }
+ return obj
+}
+func (self *OxmIdReg4) GetOXMName() string {
+ return "reg4"
+}
+
+func (self *OxmIdReg4) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg4Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg4Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg4Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg4Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg4Masked, error) {
+ _oxmidreg4masked := &OxmIdReg4Masked{OxmId: parent}
+ return _oxmidreg4masked, nil
+}
+
+func NewOxmIdReg4Masked() *OxmIdReg4Masked {
+ obj := &OxmIdReg4Masked{
+ OxmId: NewOxmId(67848),
+ }
+ return obj
+}
+func (self *OxmIdReg4Masked) GetOXMName() string {
+ return "reg4_masked"
+}
+
+func (self *OxmIdReg4Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg5 struct {
+ *OxmId
+}
+
+type IOxmIdReg5 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg5) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg5(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg5, error) {
+ _oxmidreg5 := &OxmIdReg5{OxmId: parent}
+ return _oxmidreg5, nil
+}
+
+func NewOxmIdReg5() *OxmIdReg5 {
+ obj := &OxmIdReg5{
+ OxmId: NewOxmId(68100),
+ }
+ return obj
+}
+func (self *OxmIdReg5) GetOXMName() string {
+ return "reg5"
+}
+
+func (self *OxmIdReg5) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg5Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg5Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg5Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg5Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg5Masked, error) {
+ _oxmidreg5masked := &OxmIdReg5Masked{OxmId: parent}
+ return _oxmidreg5masked, nil
+}
+
+func NewOxmIdReg5Masked() *OxmIdReg5Masked {
+ obj := &OxmIdReg5Masked{
+ OxmId: NewOxmId(68360),
+ }
+ return obj
+}
+func (self *OxmIdReg5Masked) GetOXMName() string {
+ return "reg5_masked"
+}
+
+func (self *OxmIdReg5Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg6 struct {
+ *OxmId
+}
+
+type IOxmIdReg6 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg6) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg6(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg6, error) {
+ _oxmidreg6 := &OxmIdReg6{OxmId: parent}
+ return _oxmidreg6, nil
+}
+
+func NewOxmIdReg6() *OxmIdReg6 {
+ obj := &OxmIdReg6{
+ OxmId: NewOxmId(68612),
+ }
+ return obj
+}
+func (self *OxmIdReg6) GetOXMName() string {
+ return "reg6"
+}
+
+func (self *OxmIdReg6) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg6Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg6Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg6Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg6Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg6Masked, error) {
+ _oxmidreg6masked := &OxmIdReg6Masked{OxmId: parent}
+ return _oxmidreg6masked, nil
+}
+
+func NewOxmIdReg6Masked() *OxmIdReg6Masked {
+ obj := &OxmIdReg6Masked{
+ OxmId: NewOxmId(68872),
+ }
+ return obj
+}
+func (self *OxmIdReg6Masked) GetOXMName() string {
+ return "reg6_masked"
+}
+
+func (self *OxmIdReg6Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg7 struct {
+ *OxmId
+}
+
+type IOxmIdReg7 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg7) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg7(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg7, error) {
+ _oxmidreg7 := &OxmIdReg7{OxmId: parent}
+ return _oxmidreg7, nil
+}
+
+func NewOxmIdReg7() *OxmIdReg7 {
+ obj := &OxmIdReg7{
+ OxmId: NewOxmId(69124),
+ }
+ return obj
+}
+func (self *OxmIdReg7) GetOXMName() string {
+ return "reg7"
+}
+
+func (self *OxmIdReg7) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg7Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg7Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg7Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg7Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg7Masked, error) {
+ _oxmidreg7masked := &OxmIdReg7Masked{OxmId: parent}
+ return _oxmidreg7masked, nil
+}
+
+func NewOxmIdReg7Masked() *OxmIdReg7Masked {
+ obj := &OxmIdReg7Masked{
+ OxmId: NewOxmId(69384),
+ }
+ return obj
+}
+func (self *OxmIdReg7Masked) GetOXMName() string {
+ return "reg7_masked"
+}
+
+func (self *OxmIdReg7Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg8 struct {
+ *OxmId
+}
+
+type IOxmIdReg8 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg8) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg8(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg8, error) {
+ _oxmidreg8 := &OxmIdReg8{OxmId: parent}
+ return _oxmidreg8, nil
+}
+
+func NewOxmIdReg8() *OxmIdReg8 {
+ obj := &OxmIdReg8{
+ OxmId: NewOxmId(69636),
+ }
+ return obj
+}
+func (self *OxmIdReg8) GetOXMName() string {
+ return "reg8"
+}
+
+func (self *OxmIdReg8) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg8Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg8Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg8Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg8Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg8Masked, error) {
+ _oxmidreg8masked := &OxmIdReg8Masked{OxmId: parent}
+ return _oxmidreg8masked, nil
+}
+
+func NewOxmIdReg8Masked() *OxmIdReg8Masked {
+ obj := &OxmIdReg8Masked{
+ OxmId: NewOxmId(69896),
+ }
+ return obj
+}
+func (self *OxmIdReg8Masked) GetOXMName() string {
+ return "reg8_masked"
+}
+
+func (self *OxmIdReg8Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg9 struct {
+ *OxmId
+}
+
+type IOxmIdReg9 interface {
+ IOxmId
+}
+
+func (self *OxmIdReg9) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg9(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg9, error) {
+ _oxmidreg9 := &OxmIdReg9{OxmId: parent}
+ return _oxmidreg9, nil
+}
+
+func NewOxmIdReg9() *OxmIdReg9 {
+ obj := &OxmIdReg9{
+ OxmId: NewOxmId(70148),
+ }
+ return obj
+}
+func (self *OxmIdReg9) GetOXMName() string {
+ return "reg9"
+}
+
+func (self *OxmIdReg9) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdReg9Masked struct {
+ *OxmId
+}
+
+type IOxmIdReg9Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdReg9Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdReg9Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdReg9Masked, error) {
+ _oxmidreg9masked := &OxmIdReg9Masked{OxmId: parent}
+ return _oxmidreg9masked, nil
+}
+
+func NewOxmIdReg9Masked() *OxmIdReg9Masked {
+ obj := &OxmIdReg9Masked{
+ OxmId: NewOxmId(70408),
+ }
+ return obj
+}
+func (self *OxmIdReg9Masked) GetOXMName() string {
+ return "reg9_masked"
+}
+
+func (self *OxmIdReg9Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTcpDst struct {
+ *OxmId
+}
+
+type IOxmIdTcpDst interface {
+ IOxmId
+}
+
+func (self *OxmIdTcpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTcpDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTcpDst, error) {
+ _oxmidtcpdst := &OxmIdTcpDst{OxmId: parent}
+ return _oxmidtcpdst, nil
+}
+
+func NewOxmIdTcpDst() *OxmIdTcpDst {
+ obj := &OxmIdTcpDst{
+ OxmId: NewOxmId(5122),
+ }
+ return obj
+}
+func (self *OxmIdTcpDst) GetOXMName() string {
+ return "tcp_dst"
+}
+
+func (self *OxmIdTcpDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTcpDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdTcpDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTcpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTcpDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTcpDstMasked, error) {
+ _oxmidtcpdstmasked := &OxmIdTcpDstMasked{OxmId: parent}
+ return _oxmidtcpdstmasked, nil
+}
+
+func NewOxmIdTcpDstMasked() *OxmIdTcpDstMasked {
+ obj := &OxmIdTcpDstMasked{
+ OxmId: NewOxmId(5378),
+ }
+ return obj
+}
+func (self *OxmIdTcpDstMasked) GetOXMName() string {
+ return "tcp_dst_masked"
+}
+
+func (self *OxmIdTcpDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTcpFlags struct {
+ *OxmId
+}
+
+type IOxmIdTcpFlags interface {
+ IOxmId
+}
+
+func (self *OxmIdTcpFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTcpFlags(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTcpFlags, error) {
+ _oxmidtcpflags := &OxmIdTcpFlags{OxmId: parent}
+ return _oxmidtcpflags, nil
+}
+
+func NewOxmIdTcpFlags() *OxmIdTcpFlags {
+ obj := &OxmIdTcpFlags{
+ OxmId: NewOxmId(82946),
+ }
+ return obj
+}
+func (self *OxmIdTcpFlags) GetOXMName() string {
+ return "tcp_flags"
+}
+
+func (self *OxmIdTcpFlags) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTcpFlagsMasked struct {
+ *OxmId
+}
+
+type IOxmIdTcpFlagsMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTcpFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTcpFlagsMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTcpFlagsMasked, error) {
+ _oxmidtcpflagsmasked := &OxmIdTcpFlagsMasked{OxmId: parent}
+ return _oxmidtcpflagsmasked, nil
+}
+
+func NewOxmIdTcpFlagsMasked() *OxmIdTcpFlagsMasked {
+ obj := &OxmIdTcpFlagsMasked{
+ OxmId: NewOxmId(83204),
+ }
+ return obj
+}
+func (self *OxmIdTcpFlagsMasked) GetOXMName() string {
+ return "tcp_flags_masked"
+}
+
+func (self *OxmIdTcpFlagsMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTcpSrc struct {
+ *OxmId
+}
+
+type IOxmIdTcpSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdTcpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTcpSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTcpSrc, error) {
+ _oxmidtcpsrc := &OxmIdTcpSrc{OxmId: parent}
+ return _oxmidtcpsrc, nil
+}
+
+func NewOxmIdTcpSrc() *OxmIdTcpSrc {
+ obj := &OxmIdTcpSrc{
+ OxmId: NewOxmId(4610),
+ }
+ return obj
+}
+func (self *OxmIdTcpSrc) GetOXMName() string {
+ return "tcp_src"
+}
+
+func (self *OxmIdTcpSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTcpSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdTcpSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTcpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTcpSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTcpSrcMasked, error) {
+ _oxmidtcpsrcmasked := &OxmIdTcpSrcMasked{OxmId: parent}
+ return _oxmidtcpsrcmasked, nil
+}
+
+func NewOxmIdTcpSrcMasked() *OxmIdTcpSrcMasked {
+ obj := &OxmIdTcpSrcMasked{
+ OxmId: NewOxmId(4868),
+ }
+ return obj
+}
+func (self *OxmIdTcpSrcMasked) GetOXMName() string {
+ return "tcp_src_masked"
+}
+
+func (self *OxmIdTcpSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunDst struct {
+ *OxmId
+}
+
+type IOxmIdTunDst interface {
+ IOxmId
+}
+
+func (self *OxmIdTunDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunDst, error) {
+ _oxmidtundst := &OxmIdTunDst{OxmId: parent}
+ return _oxmidtundst, nil
+}
+
+func NewOxmIdTunDst() *OxmIdTunDst {
+ obj := &OxmIdTunDst{
+ OxmId: NewOxmId(81924),
+ }
+ return obj
+}
+func (self *OxmIdTunDst) GetOXMName() string {
+ return "tun_dst"
+}
+
+func (self *OxmIdTunDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunDstMasked, error) {
+ _oxmidtundstmasked := &OxmIdTunDstMasked{OxmId: parent}
+ return _oxmidtundstmasked, nil
+}
+
+func NewOxmIdTunDstMasked() *OxmIdTunDstMasked {
+ obj := &OxmIdTunDstMasked{
+ OxmId: NewOxmId(82184),
+ }
+ return obj
+}
+func (self *OxmIdTunDstMasked) GetOXMName() string {
+ return "tun_dst_masked"
+}
+
+func (self *OxmIdTunDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunFlags struct {
+ *OxmId
+}
+
+type IOxmIdTunFlags interface {
+ IOxmId
+}
+
+func (self *OxmIdTunFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunFlags(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunFlags, error) {
+ _oxmidtunflags := &OxmIdTunFlags{OxmId: parent}
+ return _oxmidtunflags, nil
+}
+
+func NewOxmIdTunFlags() *OxmIdTunFlags {
+ obj := &OxmIdTunFlags{
+ OxmId: NewOxmId(118786),
+ }
+ return obj
+}
+func (self *OxmIdTunFlags) GetOXMName() string {
+ return "tun_flags"
+}
+
+func (self *OxmIdTunFlags) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunFlagsMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunFlagsMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunFlagsMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunFlagsMasked, error) {
+ _oxmidtunflagsmasked := &OxmIdTunFlagsMasked{OxmId: parent}
+ return _oxmidtunflagsmasked, nil
+}
+
+func NewOxmIdTunFlagsMasked() *OxmIdTunFlagsMasked {
+ obj := &OxmIdTunFlagsMasked{
+ OxmId: NewOxmId(119044),
+ }
+ return obj
+}
+func (self *OxmIdTunFlagsMasked) GetOXMName() string {
+ return "tun_flags_masked"
+}
+
+func (self *OxmIdTunFlagsMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunGbpFlags struct {
+ *OxmId
+}
+
+type IOxmIdTunGbpFlags interface {
+ IOxmId
+}
+
+func (self *OxmIdTunGbpFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunGbpFlags(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunGbpFlags, error) {
+ _oxmidtungbpflags := &OxmIdTunGbpFlags{OxmId: parent}
+ return _oxmidtungbpflags, nil
+}
+
+func NewOxmIdTunGbpFlags() *OxmIdTunGbpFlags {
+ obj := &OxmIdTunGbpFlags{
+ OxmId: NewOxmId(85505),
+ }
+ return obj
+}
+func (self *OxmIdTunGbpFlags) GetOXMName() string {
+ return "tun_gbp_flags"
+}
+
+func (self *OxmIdTunGbpFlags) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunGbpFlagsMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunGbpFlagsMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunGbpFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunGbpFlagsMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunGbpFlagsMasked, error) {
+ _oxmidtungbpflagsmasked := &OxmIdTunGbpFlagsMasked{OxmId: parent}
+ return _oxmidtungbpflagsmasked, nil
+}
+
+func NewOxmIdTunGbpFlagsMasked() *OxmIdTunGbpFlagsMasked {
+ obj := &OxmIdTunGbpFlagsMasked{
+ OxmId: NewOxmId(85762),
+ }
+ return obj
+}
+func (self *OxmIdTunGbpFlagsMasked) GetOXMName() string {
+ return "tun_gbp_flags_masked"
+}
+
+func (self *OxmIdTunGbpFlagsMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunGbpId struct {
+ *OxmId
+}
+
+type IOxmIdTunGbpId interface {
+ IOxmId
+}
+
+func (self *OxmIdTunGbpId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunGbpId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunGbpId, error) {
+ _oxmidtungbpid := &OxmIdTunGbpId{OxmId: parent}
+ return _oxmidtungbpid, nil
+}
+
+func NewOxmIdTunGbpId() *OxmIdTunGbpId {
+ obj := &OxmIdTunGbpId{
+ OxmId: NewOxmId(84994),
+ }
+ return obj
+}
+func (self *OxmIdTunGbpId) GetOXMName() string {
+ return "tun_gbp_id"
+}
+
+func (self *OxmIdTunGbpId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunGbpIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunGbpIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunGbpIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunGbpIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunGbpIdMasked, error) {
+ _oxmidtungbpidmasked := &OxmIdTunGbpIdMasked{OxmId: parent}
+ return _oxmidtungbpidmasked, nil
+}
+
+func NewOxmIdTunGbpIdMasked() *OxmIdTunGbpIdMasked {
+ obj := &OxmIdTunGbpIdMasked{
+ OxmId: NewOxmId(85252),
+ }
+ return obj
+}
+func (self *OxmIdTunGbpIdMasked) GetOXMName() string {
+ return "tun_gbp_id_masked"
+}
+
+func (self *OxmIdTunGbpIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunId struct {
+ *OxmId
+}
+
+type IOxmIdTunId interface {
+ IOxmId
+}
+
+func (self *OxmIdTunId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunId, error) {
+ _oxmidtunid := &OxmIdTunId{OxmId: parent}
+ return _oxmidtunid, nil
+}
+
+func NewOxmIdTunId() *OxmIdTunId {
+ obj := &OxmIdTunId{
+ OxmId: NewOxmId(73736),
+ }
+ return obj
+}
+func (self *OxmIdTunId) GetOXMName() string {
+ return "tun_id"
+}
+
+func (self *OxmIdTunId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunIdMasked, error) {
+ _oxmidtunidmasked := &OxmIdTunIdMasked{OxmId: parent}
+ return _oxmidtunidmasked, nil
+}
+
+func NewOxmIdTunIdMasked() *OxmIdTunIdMasked {
+ obj := &OxmIdTunIdMasked{
+ OxmId: NewOxmId(74000),
+ }
+ return obj
+}
+func (self *OxmIdTunIdMasked) GetOXMName() string {
+ return "tun_id_masked"
+}
+
+func (self *OxmIdTunIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunIpv6Dst struct {
+ *OxmId
+}
+
+type IOxmIdTunIpv6Dst interface {
+ IOxmId
+}
+
+func (self *OxmIdTunIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunIpv6Dst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunIpv6Dst, error) {
+ _oxmidtunipv6dst := &OxmIdTunIpv6Dst{OxmId: parent}
+ return _oxmidtunipv6dst, nil
+}
+
+func NewOxmIdTunIpv6Dst() *OxmIdTunIpv6Dst {
+ obj := &OxmIdTunIpv6Dst{
+ OxmId: NewOxmId(121872),
+ }
+ return obj
+}
+func (self *OxmIdTunIpv6Dst) GetOXMName() string {
+ return "tun_ipv6_dst"
+}
+
+func (self *OxmIdTunIpv6Dst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunIpv6DstMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunIpv6DstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunIpv6DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunIpv6DstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunIpv6DstMasked, error) {
+ _oxmidtunipv6dstmasked := &OxmIdTunIpv6DstMasked{OxmId: parent}
+ return _oxmidtunipv6dstmasked, nil
+}
+
+func NewOxmIdTunIpv6DstMasked() *OxmIdTunIpv6DstMasked {
+ obj := &OxmIdTunIpv6DstMasked{
+ OxmId: NewOxmId(122144),
+ }
+ return obj
+}
+func (self *OxmIdTunIpv6DstMasked) GetOXMName() string {
+ return "tun_ipv6_dst_masked"
+}
+
+func (self *OxmIdTunIpv6DstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunIpv6Src struct {
+ *OxmId
+}
+
+type IOxmIdTunIpv6Src interface {
+ IOxmId
+}
+
+func (self *OxmIdTunIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunIpv6Src(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunIpv6Src, error) {
+ _oxmidtunipv6src := &OxmIdTunIpv6Src{OxmId: parent}
+ return _oxmidtunipv6src, nil
+}
+
+func NewOxmIdTunIpv6Src() *OxmIdTunIpv6Src {
+ obj := &OxmIdTunIpv6Src{
+ OxmId: NewOxmId(121360),
+ }
+ return obj
+}
+func (self *OxmIdTunIpv6Src) GetOXMName() string {
+ return "tun_ipv6_src"
+}
+
+func (self *OxmIdTunIpv6Src) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunIpv6SrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunIpv6SrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunIpv6SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunIpv6SrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunIpv6SrcMasked, error) {
+ _oxmidtunipv6srcmasked := &OxmIdTunIpv6SrcMasked{OxmId: parent}
+ return _oxmidtunipv6srcmasked, nil
+}
+
+func NewOxmIdTunIpv6SrcMasked() *OxmIdTunIpv6SrcMasked {
+ obj := &OxmIdTunIpv6SrcMasked{
+ OxmId: NewOxmId(121632),
+ }
+ return obj
+}
+func (self *OxmIdTunIpv6SrcMasked) GetOXMName() string {
+ return "tun_ipv6_src_masked"
+}
+
+func (self *OxmIdTunIpv6SrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata0 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata0 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata0(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata0, error) {
+ _oxmidtunmetadata0 := &OxmIdTunMetadata0{OxmId: parent}
+ return _oxmidtunmetadata0, nil
+}
+
+func NewOxmIdTunMetadata0() *OxmIdTunMetadata0 {
+ obj := &OxmIdTunMetadata0{
+ OxmId: NewOxmId(86140),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata0) GetOXMName() string {
+ return "tun_metadata0"
+}
+
+func (self *OxmIdTunMetadata0) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata0Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata0Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata0Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata0Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata0Masked, error) {
+ _oxmidtunmetadata0masked := &OxmIdTunMetadata0Masked{OxmId: parent}
+ return _oxmidtunmetadata0masked, nil
+}
+
+func NewOxmIdTunMetadata0Masked() *OxmIdTunMetadata0Masked {
+ obj := &OxmIdTunMetadata0Masked{
+ OxmId: NewOxmId(86520),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata0Masked) GetOXMName() string {
+ return "tun_metadata0_masked"
+}
+
+func (self *OxmIdTunMetadata0Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata1 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata1 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata1(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata1, error) {
+ _oxmidtunmetadata1 := &OxmIdTunMetadata1{OxmId: parent}
+ return _oxmidtunmetadata1, nil
+}
+
+func NewOxmIdTunMetadata1() *OxmIdTunMetadata1 {
+ obj := &OxmIdTunMetadata1{
+ OxmId: NewOxmId(86652),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata1) GetOXMName() string {
+ return "tun_metadata1"
+}
+
+func (self *OxmIdTunMetadata1) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata10 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata10 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata10) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata10(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata10, error) {
+ _oxmidtunmetadata10 := &OxmIdTunMetadata10{OxmId: parent}
+ return _oxmidtunmetadata10, nil
+}
+
+func NewOxmIdTunMetadata10() *OxmIdTunMetadata10 {
+ obj := &OxmIdTunMetadata10{
+ OxmId: NewOxmId(91260),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata10) GetOXMName() string {
+ return "tun_metadata10"
+}
+
+func (self *OxmIdTunMetadata10) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata10Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata10Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata10Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata10Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata10Masked, error) {
+ _oxmidtunmetadata10masked := &OxmIdTunMetadata10Masked{OxmId: parent}
+ return _oxmidtunmetadata10masked, nil
+}
+
+func NewOxmIdTunMetadata10Masked() *OxmIdTunMetadata10Masked {
+ obj := &OxmIdTunMetadata10Masked{
+ OxmId: NewOxmId(91640),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata10Masked) GetOXMName() string {
+ return "tun_metadata10_masked"
+}
+
+func (self *OxmIdTunMetadata10Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata11 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata11 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata11) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata11(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata11, error) {
+ _oxmidtunmetadata11 := &OxmIdTunMetadata11{OxmId: parent}
+ return _oxmidtunmetadata11, nil
+}
+
+func NewOxmIdTunMetadata11() *OxmIdTunMetadata11 {
+ obj := &OxmIdTunMetadata11{
+ OxmId: NewOxmId(91772),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata11) GetOXMName() string {
+ return "tun_metadata11"
+}
+
+func (self *OxmIdTunMetadata11) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata11Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata11Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata11Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata11Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata11Masked, error) {
+ _oxmidtunmetadata11masked := &OxmIdTunMetadata11Masked{OxmId: parent}
+ return _oxmidtunmetadata11masked, nil
+}
+
+func NewOxmIdTunMetadata11Masked() *OxmIdTunMetadata11Masked {
+ obj := &OxmIdTunMetadata11Masked{
+ OxmId: NewOxmId(92152),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata11Masked) GetOXMName() string {
+ return "tun_metadata11_masked"
+}
+
+func (self *OxmIdTunMetadata11Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata12 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata12 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata12) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata12(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata12, error) {
+ _oxmidtunmetadata12 := &OxmIdTunMetadata12{OxmId: parent}
+ return _oxmidtunmetadata12, nil
+}
+
+func NewOxmIdTunMetadata12() *OxmIdTunMetadata12 {
+ obj := &OxmIdTunMetadata12{
+ OxmId: NewOxmId(92284),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata12) GetOXMName() string {
+ return "tun_metadata12"
+}
+
+func (self *OxmIdTunMetadata12) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata12Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata12Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata12Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata12Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata12Masked, error) {
+ _oxmidtunmetadata12masked := &OxmIdTunMetadata12Masked{OxmId: parent}
+ return _oxmidtunmetadata12masked, nil
+}
+
+func NewOxmIdTunMetadata12Masked() *OxmIdTunMetadata12Masked {
+ obj := &OxmIdTunMetadata12Masked{
+ OxmId: NewOxmId(92664),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata12Masked) GetOXMName() string {
+ return "tun_metadata12_masked"
+}
+
+func (self *OxmIdTunMetadata12Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata13 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata13 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata13) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata13(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata13, error) {
+ _oxmidtunmetadata13 := &OxmIdTunMetadata13{OxmId: parent}
+ return _oxmidtunmetadata13, nil
+}
+
+func NewOxmIdTunMetadata13() *OxmIdTunMetadata13 {
+ obj := &OxmIdTunMetadata13{
+ OxmId: NewOxmId(92796),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata13) GetOXMName() string {
+ return "tun_metadata13"
+}
+
+func (self *OxmIdTunMetadata13) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata13Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata13Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata13Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata13Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata13Masked, error) {
+ _oxmidtunmetadata13masked := &OxmIdTunMetadata13Masked{OxmId: parent}
+ return _oxmidtunmetadata13masked, nil
+}
+
+func NewOxmIdTunMetadata13Masked() *OxmIdTunMetadata13Masked {
+ obj := &OxmIdTunMetadata13Masked{
+ OxmId: NewOxmId(93176),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata13Masked) GetOXMName() string {
+ return "tun_metadata13_masked"
+}
+
+func (self *OxmIdTunMetadata13Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata14 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata14 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata14) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata14(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata14, error) {
+ _oxmidtunmetadata14 := &OxmIdTunMetadata14{OxmId: parent}
+ return _oxmidtunmetadata14, nil
+}
+
+func NewOxmIdTunMetadata14() *OxmIdTunMetadata14 {
+ obj := &OxmIdTunMetadata14{
+ OxmId: NewOxmId(93308),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata14) GetOXMName() string {
+ return "tun_metadata14"
+}
+
+func (self *OxmIdTunMetadata14) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata14Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata14Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata14Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata14Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata14Masked, error) {
+ _oxmidtunmetadata14masked := &OxmIdTunMetadata14Masked{OxmId: parent}
+ return _oxmidtunmetadata14masked, nil
+}
+
+func NewOxmIdTunMetadata14Masked() *OxmIdTunMetadata14Masked {
+ obj := &OxmIdTunMetadata14Masked{
+ OxmId: NewOxmId(93688),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata14Masked) GetOXMName() string {
+ return "tun_metadata14_masked"
+}
+
+func (self *OxmIdTunMetadata14Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata15 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata15 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata15) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata15(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata15, error) {
+ _oxmidtunmetadata15 := &OxmIdTunMetadata15{OxmId: parent}
+ return _oxmidtunmetadata15, nil
+}
+
+func NewOxmIdTunMetadata15() *OxmIdTunMetadata15 {
+ obj := &OxmIdTunMetadata15{
+ OxmId: NewOxmId(93820),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata15) GetOXMName() string {
+ return "tun_metadata15"
+}
+
+func (self *OxmIdTunMetadata15) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata15Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata15Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata15Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata15Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata15Masked, error) {
+ _oxmidtunmetadata15masked := &OxmIdTunMetadata15Masked{OxmId: parent}
+ return _oxmidtunmetadata15masked, nil
+}
+
+func NewOxmIdTunMetadata15Masked() *OxmIdTunMetadata15Masked {
+ obj := &OxmIdTunMetadata15Masked{
+ OxmId: NewOxmId(94200),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata15Masked) GetOXMName() string {
+ return "tun_metadata15_masked"
+}
+
+func (self *OxmIdTunMetadata15Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata16 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata16 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata16) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata16(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata16, error) {
+ _oxmidtunmetadata16 := &OxmIdTunMetadata16{OxmId: parent}
+ return _oxmidtunmetadata16, nil
+}
+
+func NewOxmIdTunMetadata16() *OxmIdTunMetadata16 {
+ obj := &OxmIdTunMetadata16{
+ OxmId: NewOxmId(94332),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata16) GetOXMName() string {
+ return "tun_metadata16"
+}
+
+func (self *OxmIdTunMetadata16) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata16Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata16Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata16Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata16Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata16Masked, error) {
+ _oxmidtunmetadata16masked := &OxmIdTunMetadata16Masked{OxmId: parent}
+ return _oxmidtunmetadata16masked, nil
+}
+
+func NewOxmIdTunMetadata16Masked() *OxmIdTunMetadata16Masked {
+ obj := &OxmIdTunMetadata16Masked{
+ OxmId: NewOxmId(94712),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata16Masked) GetOXMName() string {
+ return "tun_metadata16_masked"
+}
+
+func (self *OxmIdTunMetadata16Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata17 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata17 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata17) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata17(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata17, error) {
+ _oxmidtunmetadata17 := &OxmIdTunMetadata17{OxmId: parent}
+ return _oxmidtunmetadata17, nil
+}
+
+func NewOxmIdTunMetadata17() *OxmIdTunMetadata17 {
+ obj := &OxmIdTunMetadata17{
+ OxmId: NewOxmId(94844),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata17) GetOXMName() string {
+ return "tun_metadata17"
+}
+
+func (self *OxmIdTunMetadata17) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata17Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata17Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata17Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata17Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata17Masked, error) {
+ _oxmidtunmetadata17masked := &OxmIdTunMetadata17Masked{OxmId: parent}
+ return _oxmidtunmetadata17masked, nil
+}
+
+func NewOxmIdTunMetadata17Masked() *OxmIdTunMetadata17Masked {
+ obj := &OxmIdTunMetadata17Masked{
+ OxmId: NewOxmId(95224),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata17Masked) GetOXMName() string {
+ return "tun_metadata17_masked"
+}
+
+func (self *OxmIdTunMetadata17Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata18 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata18 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata18) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata18(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata18, error) {
+ _oxmidtunmetadata18 := &OxmIdTunMetadata18{OxmId: parent}
+ return _oxmidtunmetadata18, nil
+}
+
+func NewOxmIdTunMetadata18() *OxmIdTunMetadata18 {
+ obj := &OxmIdTunMetadata18{
+ OxmId: NewOxmId(95356),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata18) GetOXMName() string {
+ return "tun_metadata18"
+}
+
+func (self *OxmIdTunMetadata18) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata18Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata18Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata18Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata18Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata18Masked, error) {
+ _oxmidtunmetadata18masked := &OxmIdTunMetadata18Masked{OxmId: parent}
+ return _oxmidtunmetadata18masked, nil
+}
+
+func NewOxmIdTunMetadata18Masked() *OxmIdTunMetadata18Masked {
+ obj := &OxmIdTunMetadata18Masked{
+ OxmId: NewOxmId(95736),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata18Masked) GetOXMName() string {
+ return "tun_metadata18_masked"
+}
+
+func (self *OxmIdTunMetadata18Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata19 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata19 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata19) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata19(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata19, error) {
+ _oxmidtunmetadata19 := &OxmIdTunMetadata19{OxmId: parent}
+ return _oxmidtunmetadata19, nil
+}
+
+func NewOxmIdTunMetadata19() *OxmIdTunMetadata19 {
+ obj := &OxmIdTunMetadata19{
+ OxmId: NewOxmId(95868),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata19) GetOXMName() string {
+ return "tun_metadata19"
+}
+
+func (self *OxmIdTunMetadata19) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata19Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata19Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata19Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata19Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata19Masked, error) {
+ _oxmidtunmetadata19masked := &OxmIdTunMetadata19Masked{OxmId: parent}
+ return _oxmidtunmetadata19masked, nil
+}
+
+func NewOxmIdTunMetadata19Masked() *OxmIdTunMetadata19Masked {
+ obj := &OxmIdTunMetadata19Masked{
+ OxmId: NewOxmId(96248),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata19Masked) GetOXMName() string {
+ return "tun_metadata19_masked"
+}
+
+func (self *OxmIdTunMetadata19Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata1Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata1Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata1Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata1Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata1Masked, error) {
+ _oxmidtunmetadata1masked := &OxmIdTunMetadata1Masked{OxmId: parent}
+ return _oxmidtunmetadata1masked, nil
+}
+
+func NewOxmIdTunMetadata1Masked() *OxmIdTunMetadata1Masked {
+ obj := &OxmIdTunMetadata1Masked{
+ OxmId: NewOxmId(87032),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata1Masked) GetOXMName() string {
+ return "tun_metadata1_masked"
+}
+
+func (self *OxmIdTunMetadata1Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata2 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata2 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata2(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata2, error) {
+ _oxmidtunmetadata2 := &OxmIdTunMetadata2{OxmId: parent}
+ return _oxmidtunmetadata2, nil
+}
+
+func NewOxmIdTunMetadata2() *OxmIdTunMetadata2 {
+ obj := &OxmIdTunMetadata2{
+ OxmId: NewOxmId(87164),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata2) GetOXMName() string {
+ return "tun_metadata2"
+}
+
+func (self *OxmIdTunMetadata2) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata20 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata20 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata20) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata20(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata20, error) {
+ _oxmidtunmetadata20 := &OxmIdTunMetadata20{OxmId: parent}
+ return _oxmidtunmetadata20, nil
+}
+
+func NewOxmIdTunMetadata20() *OxmIdTunMetadata20 {
+ obj := &OxmIdTunMetadata20{
+ OxmId: NewOxmId(96380),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata20) GetOXMName() string {
+ return "tun_metadata20"
+}
+
+func (self *OxmIdTunMetadata20) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata20Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata20Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata20Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata20Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata20Masked, error) {
+ _oxmidtunmetadata20masked := &OxmIdTunMetadata20Masked{OxmId: parent}
+ return _oxmidtunmetadata20masked, nil
+}
+
+func NewOxmIdTunMetadata20Masked() *OxmIdTunMetadata20Masked {
+ obj := &OxmIdTunMetadata20Masked{
+ OxmId: NewOxmId(96760),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata20Masked) GetOXMName() string {
+ return "tun_metadata20_masked"
+}
+
+func (self *OxmIdTunMetadata20Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata21 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata21 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata21) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata21(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata21, error) {
+ _oxmidtunmetadata21 := &OxmIdTunMetadata21{OxmId: parent}
+ return _oxmidtunmetadata21, nil
+}
+
+func NewOxmIdTunMetadata21() *OxmIdTunMetadata21 {
+ obj := &OxmIdTunMetadata21{
+ OxmId: NewOxmId(96892),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata21) GetOXMName() string {
+ return "tun_metadata21"
+}
+
+func (self *OxmIdTunMetadata21) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata21Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata21Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata21Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata21Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata21Masked, error) {
+ _oxmidtunmetadata21masked := &OxmIdTunMetadata21Masked{OxmId: parent}
+ return _oxmidtunmetadata21masked, nil
+}
+
+func NewOxmIdTunMetadata21Masked() *OxmIdTunMetadata21Masked {
+ obj := &OxmIdTunMetadata21Masked{
+ OxmId: NewOxmId(97272),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata21Masked) GetOXMName() string {
+ return "tun_metadata21_masked"
+}
+
+func (self *OxmIdTunMetadata21Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata22 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata22 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata22) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata22(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata22, error) {
+ _oxmidtunmetadata22 := &OxmIdTunMetadata22{OxmId: parent}
+ return _oxmidtunmetadata22, nil
+}
+
+func NewOxmIdTunMetadata22() *OxmIdTunMetadata22 {
+ obj := &OxmIdTunMetadata22{
+ OxmId: NewOxmId(97404),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata22) GetOXMName() string {
+ return "tun_metadata22"
+}
+
+func (self *OxmIdTunMetadata22) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata22Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata22Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata22Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata22Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata22Masked, error) {
+ _oxmidtunmetadata22masked := &OxmIdTunMetadata22Masked{OxmId: parent}
+ return _oxmidtunmetadata22masked, nil
+}
+
+func NewOxmIdTunMetadata22Masked() *OxmIdTunMetadata22Masked {
+ obj := &OxmIdTunMetadata22Masked{
+ OxmId: NewOxmId(97784),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata22Masked) GetOXMName() string {
+ return "tun_metadata22_masked"
+}
+
+func (self *OxmIdTunMetadata22Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata23 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata23 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata23) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata23(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata23, error) {
+ _oxmidtunmetadata23 := &OxmIdTunMetadata23{OxmId: parent}
+ return _oxmidtunmetadata23, nil
+}
+
+func NewOxmIdTunMetadata23() *OxmIdTunMetadata23 {
+ obj := &OxmIdTunMetadata23{
+ OxmId: NewOxmId(97916),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata23) GetOXMName() string {
+ return "tun_metadata23"
+}
+
+func (self *OxmIdTunMetadata23) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata23Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata23Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata23Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata23Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata23Masked, error) {
+ _oxmidtunmetadata23masked := &OxmIdTunMetadata23Masked{OxmId: parent}
+ return _oxmidtunmetadata23masked, nil
+}
+
+func NewOxmIdTunMetadata23Masked() *OxmIdTunMetadata23Masked {
+ obj := &OxmIdTunMetadata23Masked{
+ OxmId: NewOxmId(98296),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata23Masked) GetOXMName() string {
+ return "tun_metadata23_masked"
+}
+
+func (self *OxmIdTunMetadata23Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata24 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata24 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata24) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata24(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata24, error) {
+ _oxmidtunmetadata24 := &OxmIdTunMetadata24{OxmId: parent}
+ return _oxmidtunmetadata24, nil
+}
+
+func NewOxmIdTunMetadata24() *OxmIdTunMetadata24 {
+ obj := &OxmIdTunMetadata24{
+ OxmId: NewOxmId(98428),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata24) GetOXMName() string {
+ return "tun_metadata24"
+}
+
+func (self *OxmIdTunMetadata24) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata24Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata24Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata24Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata24Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata24Masked, error) {
+ _oxmidtunmetadata24masked := &OxmIdTunMetadata24Masked{OxmId: parent}
+ return _oxmidtunmetadata24masked, nil
+}
+
+func NewOxmIdTunMetadata24Masked() *OxmIdTunMetadata24Masked {
+ obj := &OxmIdTunMetadata24Masked{
+ OxmId: NewOxmId(98808),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata24Masked) GetOXMName() string {
+ return "tun_metadata24_masked"
+}
+
+func (self *OxmIdTunMetadata24Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata25 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata25 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata25) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata25(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata25, error) {
+ _oxmidtunmetadata25 := &OxmIdTunMetadata25{OxmId: parent}
+ return _oxmidtunmetadata25, nil
+}
+
+func NewOxmIdTunMetadata25() *OxmIdTunMetadata25 {
+ obj := &OxmIdTunMetadata25{
+ OxmId: NewOxmId(98940),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata25) GetOXMName() string {
+ return "tun_metadata25"
+}
+
+func (self *OxmIdTunMetadata25) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata25Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata25Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata25Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata25Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata25Masked, error) {
+ _oxmidtunmetadata25masked := &OxmIdTunMetadata25Masked{OxmId: parent}
+ return _oxmidtunmetadata25masked, nil
+}
+
+func NewOxmIdTunMetadata25Masked() *OxmIdTunMetadata25Masked {
+ obj := &OxmIdTunMetadata25Masked{
+ OxmId: NewOxmId(99320),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata25Masked) GetOXMName() string {
+ return "tun_metadata25_masked"
+}
+
+func (self *OxmIdTunMetadata25Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata26 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata26 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata26) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata26(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata26, error) {
+ _oxmidtunmetadata26 := &OxmIdTunMetadata26{OxmId: parent}
+ return _oxmidtunmetadata26, nil
+}
+
+func NewOxmIdTunMetadata26() *OxmIdTunMetadata26 {
+ obj := &OxmIdTunMetadata26{
+ OxmId: NewOxmId(99452),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata26) GetOXMName() string {
+ return "tun_metadata26"
+}
+
+func (self *OxmIdTunMetadata26) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata26Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata26Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata26Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata26Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata26Masked, error) {
+ _oxmidtunmetadata26masked := &OxmIdTunMetadata26Masked{OxmId: parent}
+ return _oxmidtunmetadata26masked, nil
+}
+
+func NewOxmIdTunMetadata26Masked() *OxmIdTunMetadata26Masked {
+ obj := &OxmIdTunMetadata26Masked{
+ OxmId: NewOxmId(99832),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata26Masked) GetOXMName() string {
+ return "tun_metadata26_masked"
+}
+
+func (self *OxmIdTunMetadata26Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata27 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata27 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata27) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata27(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata27, error) {
+ _oxmidtunmetadata27 := &OxmIdTunMetadata27{OxmId: parent}
+ return _oxmidtunmetadata27, nil
+}
+
+func NewOxmIdTunMetadata27() *OxmIdTunMetadata27 {
+ obj := &OxmIdTunMetadata27{
+ OxmId: NewOxmId(99964),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata27) GetOXMName() string {
+ return "tun_metadata27"
+}
+
+func (self *OxmIdTunMetadata27) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata27Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata27Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata27Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata27Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata27Masked, error) {
+ _oxmidtunmetadata27masked := &OxmIdTunMetadata27Masked{OxmId: parent}
+ return _oxmidtunmetadata27masked, nil
+}
+
+func NewOxmIdTunMetadata27Masked() *OxmIdTunMetadata27Masked {
+ obj := &OxmIdTunMetadata27Masked{
+ OxmId: NewOxmId(100344),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata27Masked) GetOXMName() string {
+ return "tun_metadata27_masked"
+}
+
+func (self *OxmIdTunMetadata27Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata28 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata28 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata28) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata28(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata28, error) {
+ _oxmidtunmetadata28 := &OxmIdTunMetadata28{OxmId: parent}
+ return _oxmidtunmetadata28, nil
+}
+
+func NewOxmIdTunMetadata28() *OxmIdTunMetadata28 {
+ obj := &OxmIdTunMetadata28{
+ OxmId: NewOxmId(100476),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata28) GetOXMName() string {
+ return "tun_metadata28"
+}
+
+func (self *OxmIdTunMetadata28) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata28Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata28Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata28Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata28Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata28Masked, error) {
+ _oxmidtunmetadata28masked := &OxmIdTunMetadata28Masked{OxmId: parent}
+ return _oxmidtunmetadata28masked, nil
+}
+
+func NewOxmIdTunMetadata28Masked() *OxmIdTunMetadata28Masked {
+ obj := &OxmIdTunMetadata28Masked{
+ OxmId: NewOxmId(100856),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata28Masked) GetOXMName() string {
+ return "tun_metadata28_masked"
+}
+
+func (self *OxmIdTunMetadata28Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata29 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata29 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata29) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata29(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata29, error) {
+ _oxmidtunmetadata29 := &OxmIdTunMetadata29{OxmId: parent}
+ return _oxmidtunmetadata29, nil
+}
+
+func NewOxmIdTunMetadata29() *OxmIdTunMetadata29 {
+ obj := &OxmIdTunMetadata29{
+ OxmId: NewOxmId(100988),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata29) GetOXMName() string {
+ return "tun_metadata29"
+}
+
+func (self *OxmIdTunMetadata29) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata29Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata29Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata29Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata29Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata29Masked, error) {
+ _oxmidtunmetadata29masked := &OxmIdTunMetadata29Masked{OxmId: parent}
+ return _oxmidtunmetadata29masked, nil
+}
+
+func NewOxmIdTunMetadata29Masked() *OxmIdTunMetadata29Masked {
+ obj := &OxmIdTunMetadata29Masked{
+ OxmId: NewOxmId(101368),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata29Masked) GetOXMName() string {
+ return "tun_metadata29_masked"
+}
+
+func (self *OxmIdTunMetadata29Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata2Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata2Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata2Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata2Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata2Masked, error) {
+ _oxmidtunmetadata2masked := &OxmIdTunMetadata2Masked{OxmId: parent}
+ return _oxmidtunmetadata2masked, nil
+}
+
+func NewOxmIdTunMetadata2Masked() *OxmIdTunMetadata2Masked {
+ obj := &OxmIdTunMetadata2Masked{
+ OxmId: NewOxmId(87544),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata2Masked) GetOXMName() string {
+ return "tun_metadata2_masked"
+}
+
+func (self *OxmIdTunMetadata2Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata3 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata3 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata3(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata3, error) {
+ _oxmidtunmetadata3 := &OxmIdTunMetadata3{OxmId: parent}
+ return _oxmidtunmetadata3, nil
+}
+
+func NewOxmIdTunMetadata3() *OxmIdTunMetadata3 {
+ obj := &OxmIdTunMetadata3{
+ OxmId: NewOxmId(87676),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata3) GetOXMName() string {
+ return "tun_metadata3"
+}
+
+func (self *OxmIdTunMetadata3) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata30 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata30 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata30) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata30(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata30, error) {
+ _oxmidtunmetadata30 := &OxmIdTunMetadata30{OxmId: parent}
+ return _oxmidtunmetadata30, nil
+}
+
+func NewOxmIdTunMetadata30() *OxmIdTunMetadata30 {
+ obj := &OxmIdTunMetadata30{
+ OxmId: NewOxmId(101500),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata30) GetOXMName() string {
+ return "tun_metadata30"
+}
+
+func (self *OxmIdTunMetadata30) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata30Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata30Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata30Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata30Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata30Masked, error) {
+ _oxmidtunmetadata30masked := &OxmIdTunMetadata30Masked{OxmId: parent}
+ return _oxmidtunmetadata30masked, nil
+}
+
+func NewOxmIdTunMetadata30Masked() *OxmIdTunMetadata30Masked {
+ obj := &OxmIdTunMetadata30Masked{
+ OxmId: NewOxmId(101880),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata30Masked) GetOXMName() string {
+ return "tun_metadata30_masked"
+}
+
+func (self *OxmIdTunMetadata30Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata31 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata31 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata31) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata31(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata31, error) {
+ _oxmidtunmetadata31 := &OxmIdTunMetadata31{OxmId: parent}
+ return _oxmidtunmetadata31, nil
+}
+
+func NewOxmIdTunMetadata31() *OxmIdTunMetadata31 {
+ obj := &OxmIdTunMetadata31{
+ OxmId: NewOxmId(102012),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata31) GetOXMName() string {
+ return "tun_metadata31"
+}
+
+func (self *OxmIdTunMetadata31) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata31Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata31Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata31Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata31Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata31Masked, error) {
+ _oxmidtunmetadata31masked := &OxmIdTunMetadata31Masked{OxmId: parent}
+ return _oxmidtunmetadata31masked, nil
+}
+
+func NewOxmIdTunMetadata31Masked() *OxmIdTunMetadata31Masked {
+ obj := &OxmIdTunMetadata31Masked{
+ OxmId: NewOxmId(102392),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata31Masked) GetOXMName() string {
+ return "tun_metadata31_masked"
+}
+
+func (self *OxmIdTunMetadata31Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata32 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata32 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata32) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata32(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata32, error) {
+ _oxmidtunmetadata32 := &OxmIdTunMetadata32{OxmId: parent}
+ return _oxmidtunmetadata32, nil
+}
+
+func NewOxmIdTunMetadata32() *OxmIdTunMetadata32 {
+ obj := &OxmIdTunMetadata32{
+ OxmId: NewOxmId(102524),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata32) GetOXMName() string {
+ return "tun_metadata32"
+}
+
+func (self *OxmIdTunMetadata32) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata32Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata32Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata32Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata32Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata32Masked, error) {
+ _oxmidtunmetadata32masked := &OxmIdTunMetadata32Masked{OxmId: parent}
+ return _oxmidtunmetadata32masked, nil
+}
+
+func NewOxmIdTunMetadata32Masked() *OxmIdTunMetadata32Masked {
+ obj := &OxmIdTunMetadata32Masked{
+ OxmId: NewOxmId(102904),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata32Masked) GetOXMName() string {
+ return "tun_metadata32_masked"
+}
+
+func (self *OxmIdTunMetadata32Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata33 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata33 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata33) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata33(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata33, error) {
+ _oxmidtunmetadata33 := &OxmIdTunMetadata33{OxmId: parent}
+ return _oxmidtunmetadata33, nil
+}
+
+func NewOxmIdTunMetadata33() *OxmIdTunMetadata33 {
+ obj := &OxmIdTunMetadata33{
+ OxmId: NewOxmId(103036),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata33) GetOXMName() string {
+ return "tun_metadata33"
+}
+
+func (self *OxmIdTunMetadata33) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata33Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata33Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata33Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata33Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata33Masked, error) {
+ _oxmidtunmetadata33masked := &OxmIdTunMetadata33Masked{OxmId: parent}
+ return _oxmidtunmetadata33masked, nil
+}
+
+func NewOxmIdTunMetadata33Masked() *OxmIdTunMetadata33Masked {
+ obj := &OxmIdTunMetadata33Masked{
+ OxmId: NewOxmId(103416),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata33Masked) GetOXMName() string {
+ return "tun_metadata33_masked"
+}
+
+func (self *OxmIdTunMetadata33Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata34 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata34 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata34) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata34(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata34, error) {
+ _oxmidtunmetadata34 := &OxmIdTunMetadata34{OxmId: parent}
+ return _oxmidtunmetadata34, nil
+}
+
+func NewOxmIdTunMetadata34() *OxmIdTunMetadata34 {
+ obj := &OxmIdTunMetadata34{
+ OxmId: NewOxmId(103548),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata34) GetOXMName() string {
+ return "tun_metadata34"
+}
+
+func (self *OxmIdTunMetadata34) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata34Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata34Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata34Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata34Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata34Masked, error) {
+ _oxmidtunmetadata34masked := &OxmIdTunMetadata34Masked{OxmId: parent}
+ return _oxmidtunmetadata34masked, nil
+}
+
+func NewOxmIdTunMetadata34Masked() *OxmIdTunMetadata34Masked {
+ obj := &OxmIdTunMetadata34Masked{
+ OxmId: NewOxmId(103928),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata34Masked) GetOXMName() string {
+ return "tun_metadata34_masked"
+}
+
+func (self *OxmIdTunMetadata34Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata35 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata35 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata35) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata35(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata35, error) {
+ _oxmidtunmetadata35 := &OxmIdTunMetadata35{OxmId: parent}
+ return _oxmidtunmetadata35, nil
+}
+
+func NewOxmIdTunMetadata35() *OxmIdTunMetadata35 {
+ obj := &OxmIdTunMetadata35{
+ OxmId: NewOxmId(104060),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata35) GetOXMName() string {
+ return "tun_metadata35"
+}
+
+func (self *OxmIdTunMetadata35) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata35Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata35Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata35Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata35Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata35Masked, error) {
+ _oxmidtunmetadata35masked := &OxmIdTunMetadata35Masked{OxmId: parent}
+ return _oxmidtunmetadata35masked, nil
+}
+
+func NewOxmIdTunMetadata35Masked() *OxmIdTunMetadata35Masked {
+ obj := &OxmIdTunMetadata35Masked{
+ OxmId: NewOxmId(104440),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata35Masked) GetOXMName() string {
+ return "tun_metadata35_masked"
+}
+
+func (self *OxmIdTunMetadata35Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata36 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata36 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata36) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata36(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata36, error) {
+ _oxmidtunmetadata36 := &OxmIdTunMetadata36{OxmId: parent}
+ return _oxmidtunmetadata36, nil
+}
+
+func NewOxmIdTunMetadata36() *OxmIdTunMetadata36 {
+ obj := &OxmIdTunMetadata36{
+ OxmId: NewOxmId(104572),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata36) GetOXMName() string {
+ return "tun_metadata36"
+}
+
+func (self *OxmIdTunMetadata36) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata36Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata36Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata36Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata36Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata36Masked, error) {
+ _oxmidtunmetadata36masked := &OxmIdTunMetadata36Masked{OxmId: parent}
+ return _oxmidtunmetadata36masked, nil
+}
+
+func NewOxmIdTunMetadata36Masked() *OxmIdTunMetadata36Masked {
+ obj := &OxmIdTunMetadata36Masked{
+ OxmId: NewOxmId(104952),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata36Masked) GetOXMName() string {
+ return "tun_metadata36_masked"
+}
+
+func (self *OxmIdTunMetadata36Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata37 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata37 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata37) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata37(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata37, error) {
+ _oxmidtunmetadata37 := &OxmIdTunMetadata37{OxmId: parent}
+ return _oxmidtunmetadata37, nil
+}
+
+func NewOxmIdTunMetadata37() *OxmIdTunMetadata37 {
+ obj := &OxmIdTunMetadata37{
+ OxmId: NewOxmId(105084),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata37) GetOXMName() string {
+ return "tun_metadata37"
+}
+
+func (self *OxmIdTunMetadata37) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata37Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata37Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata37Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata37Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata37Masked, error) {
+ _oxmidtunmetadata37masked := &OxmIdTunMetadata37Masked{OxmId: parent}
+ return _oxmidtunmetadata37masked, nil
+}
+
+func NewOxmIdTunMetadata37Masked() *OxmIdTunMetadata37Masked {
+ obj := &OxmIdTunMetadata37Masked{
+ OxmId: NewOxmId(105464),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata37Masked) GetOXMName() string {
+ return "tun_metadata37_masked"
+}
+
+func (self *OxmIdTunMetadata37Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata38 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata38 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata38) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata38(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata38, error) {
+ _oxmidtunmetadata38 := &OxmIdTunMetadata38{OxmId: parent}
+ return _oxmidtunmetadata38, nil
+}
+
+func NewOxmIdTunMetadata38() *OxmIdTunMetadata38 {
+ obj := &OxmIdTunMetadata38{
+ OxmId: NewOxmId(105596),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata38) GetOXMName() string {
+ return "tun_metadata38"
+}
+
+func (self *OxmIdTunMetadata38) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata38Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata38Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata38Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata38Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata38Masked, error) {
+ _oxmidtunmetadata38masked := &OxmIdTunMetadata38Masked{OxmId: parent}
+ return _oxmidtunmetadata38masked, nil
+}
+
+func NewOxmIdTunMetadata38Masked() *OxmIdTunMetadata38Masked {
+ obj := &OxmIdTunMetadata38Masked{
+ OxmId: NewOxmId(105976),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata38Masked) GetOXMName() string {
+ return "tun_metadata38_masked"
+}
+
+func (self *OxmIdTunMetadata38Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata39 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata39 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata39) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata39(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata39, error) {
+ _oxmidtunmetadata39 := &OxmIdTunMetadata39{OxmId: parent}
+ return _oxmidtunmetadata39, nil
+}
+
+func NewOxmIdTunMetadata39() *OxmIdTunMetadata39 {
+ obj := &OxmIdTunMetadata39{
+ OxmId: NewOxmId(106108),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata39) GetOXMName() string {
+ return "tun_metadata39"
+}
+
+func (self *OxmIdTunMetadata39) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata39Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata39Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata39Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata39Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata39Masked, error) {
+ _oxmidtunmetadata39masked := &OxmIdTunMetadata39Masked{OxmId: parent}
+ return _oxmidtunmetadata39masked, nil
+}
+
+func NewOxmIdTunMetadata39Masked() *OxmIdTunMetadata39Masked {
+ obj := &OxmIdTunMetadata39Masked{
+ OxmId: NewOxmId(106488),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata39Masked) GetOXMName() string {
+ return "tun_metadata39_masked"
+}
+
+func (self *OxmIdTunMetadata39Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata3Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata3Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata3Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata3Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata3Masked, error) {
+ _oxmidtunmetadata3masked := &OxmIdTunMetadata3Masked{OxmId: parent}
+ return _oxmidtunmetadata3masked, nil
+}
+
+func NewOxmIdTunMetadata3Masked() *OxmIdTunMetadata3Masked {
+ obj := &OxmIdTunMetadata3Masked{
+ OxmId: NewOxmId(88056),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata3Masked) GetOXMName() string {
+ return "tun_metadata3_masked"
+}
+
+func (self *OxmIdTunMetadata3Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata4 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata4 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata4) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata4(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata4, error) {
+ _oxmidtunmetadata4 := &OxmIdTunMetadata4{OxmId: parent}
+ return _oxmidtunmetadata4, nil
+}
+
+func NewOxmIdTunMetadata4() *OxmIdTunMetadata4 {
+ obj := &OxmIdTunMetadata4{
+ OxmId: NewOxmId(88188),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata4) GetOXMName() string {
+ return "tun_metadata4"
+}
+
+func (self *OxmIdTunMetadata4) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata40 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata40 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata40) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata40(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata40, error) {
+ _oxmidtunmetadata40 := &OxmIdTunMetadata40{OxmId: parent}
+ return _oxmidtunmetadata40, nil
+}
+
+func NewOxmIdTunMetadata40() *OxmIdTunMetadata40 {
+ obj := &OxmIdTunMetadata40{
+ OxmId: NewOxmId(106620),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata40) GetOXMName() string {
+ return "tun_metadata40"
+}
+
+func (self *OxmIdTunMetadata40) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata40Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata40Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata40Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata40Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata40Masked, error) {
+ _oxmidtunmetadata40masked := &OxmIdTunMetadata40Masked{OxmId: parent}
+ return _oxmidtunmetadata40masked, nil
+}
+
+func NewOxmIdTunMetadata40Masked() *OxmIdTunMetadata40Masked {
+ obj := &OxmIdTunMetadata40Masked{
+ OxmId: NewOxmId(107000),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata40Masked) GetOXMName() string {
+ return "tun_metadata40_masked"
+}
+
+func (self *OxmIdTunMetadata40Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata41 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata41 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata41) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata41(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata41, error) {
+ _oxmidtunmetadata41 := &OxmIdTunMetadata41{OxmId: parent}
+ return _oxmidtunmetadata41, nil
+}
+
+func NewOxmIdTunMetadata41() *OxmIdTunMetadata41 {
+ obj := &OxmIdTunMetadata41{
+ OxmId: NewOxmId(107132),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata41) GetOXMName() string {
+ return "tun_metadata41"
+}
+
+func (self *OxmIdTunMetadata41) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata41Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata41Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata41Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata41Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata41Masked, error) {
+ _oxmidtunmetadata41masked := &OxmIdTunMetadata41Masked{OxmId: parent}
+ return _oxmidtunmetadata41masked, nil
+}
+
+func NewOxmIdTunMetadata41Masked() *OxmIdTunMetadata41Masked {
+ obj := &OxmIdTunMetadata41Masked{
+ OxmId: NewOxmId(107512),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata41Masked) GetOXMName() string {
+ return "tun_metadata41_masked"
+}
+
+func (self *OxmIdTunMetadata41Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata42 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata42 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata42) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata42(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata42, error) {
+ _oxmidtunmetadata42 := &OxmIdTunMetadata42{OxmId: parent}
+ return _oxmidtunmetadata42, nil
+}
+
+func NewOxmIdTunMetadata42() *OxmIdTunMetadata42 {
+ obj := &OxmIdTunMetadata42{
+ OxmId: NewOxmId(107644),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata42) GetOXMName() string {
+ return "tun_metadata42"
+}
+
+func (self *OxmIdTunMetadata42) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata42Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata42Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata42Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata42Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata42Masked, error) {
+ _oxmidtunmetadata42masked := &OxmIdTunMetadata42Masked{OxmId: parent}
+ return _oxmidtunmetadata42masked, nil
+}
+
+func NewOxmIdTunMetadata42Masked() *OxmIdTunMetadata42Masked {
+ obj := &OxmIdTunMetadata42Masked{
+ OxmId: NewOxmId(108024),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata42Masked) GetOXMName() string {
+ return "tun_metadata42_masked"
+}
+
+func (self *OxmIdTunMetadata42Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata43 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata43 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata43) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata43(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata43, error) {
+ _oxmidtunmetadata43 := &OxmIdTunMetadata43{OxmId: parent}
+ return _oxmidtunmetadata43, nil
+}
+
+func NewOxmIdTunMetadata43() *OxmIdTunMetadata43 {
+ obj := &OxmIdTunMetadata43{
+ OxmId: NewOxmId(108156),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata43) GetOXMName() string {
+ return "tun_metadata43"
+}
+
+func (self *OxmIdTunMetadata43) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata43Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata43Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata43Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata43Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata43Masked, error) {
+ _oxmidtunmetadata43masked := &OxmIdTunMetadata43Masked{OxmId: parent}
+ return _oxmidtunmetadata43masked, nil
+}
+
+func NewOxmIdTunMetadata43Masked() *OxmIdTunMetadata43Masked {
+ obj := &OxmIdTunMetadata43Masked{
+ OxmId: NewOxmId(108536),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata43Masked) GetOXMName() string {
+ return "tun_metadata43_masked"
+}
+
+func (self *OxmIdTunMetadata43Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata44 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata44 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata44) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata44(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata44, error) {
+ _oxmidtunmetadata44 := &OxmIdTunMetadata44{OxmId: parent}
+ return _oxmidtunmetadata44, nil
+}
+
+func NewOxmIdTunMetadata44() *OxmIdTunMetadata44 {
+ obj := &OxmIdTunMetadata44{
+ OxmId: NewOxmId(108668),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata44) GetOXMName() string {
+ return "tun_metadata44"
+}
+
+func (self *OxmIdTunMetadata44) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata44Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata44Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata44Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata44Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata44Masked, error) {
+ _oxmidtunmetadata44masked := &OxmIdTunMetadata44Masked{OxmId: parent}
+ return _oxmidtunmetadata44masked, nil
+}
+
+func NewOxmIdTunMetadata44Masked() *OxmIdTunMetadata44Masked {
+ obj := &OxmIdTunMetadata44Masked{
+ OxmId: NewOxmId(109048),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata44Masked) GetOXMName() string {
+ return "tun_metadata44_masked"
+}
+
+func (self *OxmIdTunMetadata44Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata45 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata45 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata45) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata45(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata45, error) {
+ _oxmidtunmetadata45 := &OxmIdTunMetadata45{OxmId: parent}
+ return _oxmidtunmetadata45, nil
+}
+
+func NewOxmIdTunMetadata45() *OxmIdTunMetadata45 {
+ obj := &OxmIdTunMetadata45{
+ OxmId: NewOxmId(109180),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata45) GetOXMName() string {
+ return "tun_metadata45"
+}
+
+func (self *OxmIdTunMetadata45) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata45Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata45Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata45Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata45Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata45Masked, error) {
+ _oxmidtunmetadata45masked := &OxmIdTunMetadata45Masked{OxmId: parent}
+ return _oxmidtunmetadata45masked, nil
+}
+
+func NewOxmIdTunMetadata45Masked() *OxmIdTunMetadata45Masked {
+ obj := &OxmIdTunMetadata45Masked{
+ OxmId: NewOxmId(109560),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata45Masked) GetOXMName() string {
+ return "tun_metadata45_masked"
+}
+
+func (self *OxmIdTunMetadata45Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata46 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata46 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata46) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata46(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata46, error) {
+ _oxmidtunmetadata46 := &OxmIdTunMetadata46{OxmId: parent}
+ return _oxmidtunmetadata46, nil
+}
+
+func NewOxmIdTunMetadata46() *OxmIdTunMetadata46 {
+ obj := &OxmIdTunMetadata46{
+ OxmId: NewOxmId(109692),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata46) GetOXMName() string {
+ return "tun_metadata46"
+}
+
+func (self *OxmIdTunMetadata46) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata46Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata46Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata46Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata46Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata46Masked, error) {
+ _oxmidtunmetadata46masked := &OxmIdTunMetadata46Masked{OxmId: parent}
+ return _oxmidtunmetadata46masked, nil
+}
+
+func NewOxmIdTunMetadata46Masked() *OxmIdTunMetadata46Masked {
+ obj := &OxmIdTunMetadata46Masked{
+ OxmId: NewOxmId(110072),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata46Masked) GetOXMName() string {
+ return "tun_metadata46_masked"
+}
+
+func (self *OxmIdTunMetadata46Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata47 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata47 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata47) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata47(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata47, error) {
+ _oxmidtunmetadata47 := &OxmIdTunMetadata47{OxmId: parent}
+ return _oxmidtunmetadata47, nil
+}
+
+func NewOxmIdTunMetadata47() *OxmIdTunMetadata47 {
+ obj := &OxmIdTunMetadata47{
+ OxmId: NewOxmId(110204),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata47) GetOXMName() string {
+ return "tun_metadata47"
+}
+
+func (self *OxmIdTunMetadata47) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata47Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata47Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata47Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata47Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata47Masked, error) {
+ _oxmidtunmetadata47masked := &OxmIdTunMetadata47Masked{OxmId: parent}
+ return _oxmidtunmetadata47masked, nil
+}
+
+func NewOxmIdTunMetadata47Masked() *OxmIdTunMetadata47Masked {
+ obj := &OxmIdTunMetadata47Masked{
+ OxmId: NewOxmId(110584),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata47Masked) GetOXMName() string {
+ return "tun_metadata47_masked"
+}
+
+func (self *OxmIdTunMetadata47Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata48 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata48 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata48) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata48(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata48, error) {
+ _oxmidtunmetadata48 := &OxmIdTunMetadata48{OxmId: parent}
+ return _oxmidtunmetadata48, nil
+}
+
+func NewOxmIdTunMetadata48() *OxmIdTunMetadata48 {
+ obj := &OxmIdTunMetadata48{
+ OxmId: NewOxmId(110716),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata48) GetOXMName() string {
+ return "tun_metadata48"
+}
+
+func (self *OxmIdTunMetadata48) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata48Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata48Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata48Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata48Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata48Masked, error) {
+ _oxmidtunmetadata48masked := &OxmIdTunMetadata48Masked{OxmId: parent}
+ return _oxmidtunmetadata48masked, nil
+}
+
+func NewOxmIdTunMetadata48Masked() *OxmIdTunMetadata48Masked {
+ obj := &OxmIdTunMetadata48Masked{
+ OxmId: NewOxmId(111096),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata48Masked) GetOXMName() string {
+ return "tun_metadata48_masked"
+}
+
+func (self *OxmIdTunMetadata48Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata49 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata49 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata49) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata49(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata49, error) {
+ _oxmidtunmetadata49 := &OxmIdTunMetadata49{OxmId: parent}
+ return _oxmidtunmetadata49, nil
+}
+
+func NewOxmIdTunMetadata49() *OxmIdTunMetadata49 {
+ obj := &OxmIdTunMetadata49{
+ OxmId: NewOxmId(111228),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata49) GetOXMName() string {
+ return "tun_metadata49"
+}
+
+func (self *OxmIdTunMetadata49) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata49Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata49Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata49Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata49Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata49Masked, error) {
+ _oxmidtunmetadata49masked := &OxmIdTunMetadata49Masked{OxmId: parent}
+ return _oxmidtunmetadata49masked, nil
+}
+
+func NewOxmIdTunMetadata49Masked() *OxmIdTunMetadata49Masked {
+ obj := &OxmIdTunMetadata49Masked{
+ OxmId: NewOxmId(111608),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata49Masked) GetOXMName() string {
+ return "tun_metadata49_masked"
+}
+
+func (self *OxmIdTunMetadata49Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata4Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata4Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata4Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata4Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata4Masked, error) {
+ _oxmidtunmetadata4masked := &OxmIdTunMetadata4Masked{OxmId: parent}
+ return _oxmidtunmetadata4masked, nil
+}
+
+func NewOxmIdTunMetadata4Masked() *OxmIdTunMetadata4Masked {
+ obj := &OxmIdTunMetadata4Masked{
+ OxmId: NewOxmId(88568),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata4Masked) GetOXMName() string {
+ return "tun_metadata4_masked"
+}
+
+func (self *OxmIdTunMetadata4Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata5 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata5 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata5) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata5(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata5, error) {
+ _oxmidtunmetadata5 := &OxmIdTunMetadata5{OxmId: parent}
+ return _oxmidtunmetadata5, nil
+}
+
+func NewOxmIdTunMetadata5() *OxmIdTunMetadata5 {
+ obj := &OxmIdTunMetadata5{
+ OxmId: NewOxmId(88700),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata5) GetOXMName() string {
+ return "tun_metadata5"
+}
+
+func (self *OxmIdTunMetadata5) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata50 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata50 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata50) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata50(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata50, error) {
+ _oxmidtunmetadata50 := &OxmIdTunMetadata50{OxmId: parent}
+ return _oxmidtunmetadata50, nil
+}
+
+func NewOxmIdTunMetadata50() *OxmIdTunMetadata50 {
+ obj := &OxmIdTunMetadata50{
+ OxmId: NewOxmId(111740),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata50) GetOXMName() string {
+ return "tun_metadata50"
+}
+
+func (self *OxmIdTunMetadata50) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata50Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata50Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata50Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata50Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata50Masked, error) {
+ _oxmidtunmetadata50masked := &OxmIdTunMetadata50Masked{OxmId: parent}
+ return _oxmidtunmetadata50masked, nil
+}
+
+func NewOxmIdTunMetadata50Masked() *OxmIdTunMetadata50Masked {
+ obj := &OxmIdTunMetadata50Masked{
+ OxmId: NewOxmId(112120),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata50Masked) GetOXMName() string {
+ return "tun_metadata50_masked"
+}
+
+func (self *OxmIdTunMetadata50Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata51 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata51 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata51) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata51(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata51, error) {
+ _oxmidtunmetadata51 := &OxmIdTunMetadata51{OxmId: parent}
+ return _oxmidtunmetadata51, nil
+}
+
+func NewOxmIdTunMetadata51() *OxmIdTunMetadata51 {
+ obj := &OxmIdTunMetadata51{
+ OxmId: NewOxmId(112252),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata51) GetOXMName() string {
+ return "tun_metadata51"
+}
+
+func (self *OxmIdTunMetadata51) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata51Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata51Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata51Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata51Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata51Masked, error) {
+ _oxmidtunmetadata51masked := &OxmIdTunMetadata51Masked{OxmId: parent}
+ return _oxmidtunmetadata51masked, nil
+}
+
+func NewOxmIdTunMetadata51Masked() *OxmIdTunMetadata51Masked {
+ obj := &OxmIdTunMetadata51Masked{
+ OxmId: NewOxmId(112632),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata51Masked) GetOXMName() string {
+ return "tun_metadata51_masked"
+}
+
+func (self *OxmIdTunMetadata51Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata52 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata52 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata52) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata52(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata52, error) {
+ _oxmidtunmetadata52 := &OxmIdTunMetadata52{OxmId: parent}
+ return _oxmidtunmetadata52, nil
+}
+
+func NewOxmIdTunMetadata52() *OxmIdTunMetadata52 {
+ obj := &OxmIdTunMetadata52{
+ OxmId: NewOxmId(112764),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata52) GetOXMName() string {
+ return "tun_metadata52"
+}
+
+func (self *OxmIdTunMetadata52) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata52Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata52Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata52Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata52Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata52Masked, error) {
+ _oxmidtunmetadata52masked := &OxmIdTunMetadata52Masked{OxmId: parent}
+ return _oxmidtunmetadata52masked, nil
+}
+
+func NewOxmIdTunMetadata52Masked() *OxmIdTunMetadata52Masked {
+ obj := &OxmIdTunMetadata52Masked{
+ OxmId: NewOxmId(113144),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata52Masked) GetOXMName() string {
+ return "tun_metadata52_masked"
+}
+
+func (self *OxmIdTunMetadata52Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata53 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata53 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata53) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata53(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata53, error) {
+ _oxmidtunmetadata53 := &OxmIdTunMetadata53{OxmId: parent}
+ return _oxmidtunmetadata53, nil
+}
+
+func NewOxmIdTunMetadata53() *OxmIdTunMetadata53 {
+ obj := &OxmIdTunMetadata53{
+ OxmId: NewOxmId(113276),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata53) GetOXMName() string {
+ return "tun_metadata53"
+}
+
+func (self *OxmIdTunMetadata53) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata53Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata53Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata53Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata53Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata53Masked, error) {
+ _oxmidtunmetadata53masked := &OxmIdTunMetadata53Masked{OxmId: parent}
+ return _oxmidtunmetadata53masked, nil
+}
+
+func NewOxmIdTunMetadata53Masked() *OxmIdTunMetadata53Masked {
+ obj := &OxmIdTunMetadata53Masked{
+ OxmId: NewOxmId(113656),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata53Masked) GetOXMName() string {
+ return "tun_metadata53_masked"
+}
+
+func (self *OxmIdTunMetadata53Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata54 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata54 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata54) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata54(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata54, error) {
+ _oxmidtunmetadata54 := &OxmIdTunMetadata54{OxmId: parent}
+ return _oxmidtunmetadata54, nil
+}
+
+func NewOxmIdTunMetadata54() *OxmIdTunMetadata54 {
+ obj := &OxmIdTunMetadata54{
+ OxmId: NewOxmId(113788),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata54) GetOXMName() string {
+ return "tun_metadata54"
+}
+
+func (self *OxmIdTunMetadata54) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata54Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata54Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata54Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata54Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata54Masked, error) {
+ _oxmidtunmetadata54masked := &OxmIdTunMetadata54Masked{OxmId: parent}
+ return _oxmidtunmetadata54masked, nil
+}
+
+func NewOxmIdTunMetadata54Masked() *OxmIdTunMetadata54Masked {
+ obj := &OxmIdTunMetadata54Masked{
+ OxmId: NewOxmId(114168),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata54Masked) GetOXMName() string {
+ return "tun_metadata54_masked"
+}
+
+func (self *OxmIdTunMetadata54Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata55 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata55 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata55) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata55(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata55, error) {
+ _oxmidtunmetadata55 := &OxmIdTunMetadata55{OxmId: parent}
+ return _oxmidtunmetadata55, nil
+}
+
+func NewOxmIdTunMetadata55() *OxmIdTunMetadata55 {
+ obj := &OxmIdTunMetadata55{
+ OxmId: NewOxmId(114300),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata55) GetOXMName() string {
+ return "tun_metadata55"
+}
+
+func (self *OxmIdTunMetadata55) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata55Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata55Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata55Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata55Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata55Masked, error) {
+ _oxmidtunmetadata55masked := &OxmIdTunMetadata55Masked{OxmId: parent}
+ return _oxmidtunmetadata55masked, nil
+}
+
+func NewOxmIdTunMetadata55Masked() *OxmIdTunMetadata55Masked {
+ obj := &OxmIdTunMetadata55Masked{
+ OxmId: NewOxmId(114680),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata55Masked) GetOXMName() string {
+ return "tun_metadata55_masked"
+}
+
+func (self *OxmIdTunMetadata55Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata56 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata56 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata56) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata56(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata56, error) {
+ _oxmidtunmetadata56 := &OxmIdTunMetadata56{OxmId: parent}
+ return _oxmidtunmetadata56, nil
+}
+
+func NewOxmIdTunMetadata56() *OxmIdTunMetadata56 {
+ obj := &OxmIdTunMetadata56{
+ OxmId: NewOxmId(114812),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata56) GetOXMName() string {
+ return "tun_metadata56"
+}
+
+func (self *OxmIdTunMetadata56) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata56Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata56Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata56Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata56Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata56Masked, error) {
+ _oxmidtunmetadata56masked := &OxmIdTunMetadata56Masked{OxmId: parent}
+ return _oxmidtunmetadata56masked, nil
+}
+
+func NewOxmIdTunMetadata56Masked() *OxmIdTunMetadata56Masked {
+ obj := &OxmIdTunMetadata56Masked{
+ OxmId: NewOxmId(115192),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata56Masked) GetOXMName() string {
+ return "tun_metadata56_masked"
+}
+
+func (self *OxmIdTunMetadata56Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata57 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata57 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata57) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata57(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata57, error) {
+ _oxmidtunmetadata57 := &OxmIdTunMetadata57{OxmId: parent}
+ return _oxmidtunmetadata57, nil
+}
+
+func NewOxmIdTunMetadata57() *OxmIdTunMetadata57 {
+ obj := &OxmIdTunMetadata57{
+ OxmId: NewOxmId(115324),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata57) GetOXMName() string {
+ return "tun_metadata57"
+}
+
+func (self *OxmIdTunMetadata57) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata57Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata57Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata57Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata57Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata57Masked, error) {
+ _oxmidtunmetadata57masked := &OxmIdTunMetadata57Masked{OxmId: parent}
+ return _oxmidtunmetadata57masked, nil
+}
+
+func NewOxmIdTunMetadata57Masked() *OxmIdTunMetadata57Masked {
+ obj := &OxmIdTunMetadata57Masked{
+ OxmId: NewOxmId(115704),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata57Masked) GetOXMName() string {
+ return "tun_metadata57_masked"
+}
+
+func (self *OxmIdTunMetadata57Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata58 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata58 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata58) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata58(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata58, error) {
+ _oxmidtunmetadata58 := &OxmIdTunMetadata58{OxmId: parent}
+ return _oxmidtunmetadata58, nil
+}
+
+func NewOxmIdTunMetadata58() *OxmIdTunMetadata58 {
+ obj := &OxmIdTunMetadata58{
+ OxmId: NewOxmId(115836),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata58) GetOXMName() string {
+ return "tun_metadata58"
+}
+
+func (self *OxmIdTunMetadata58) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata58Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata58Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata58Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata58Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata58Masked, error) {
+ _oxmidtunmetadata58masked := &OxmIdTunMetadata58Masked{OxmId: parent}
+ return _oxmidtunmetadata58masked, nil
+}
+
+func NewOxmIdTunMetadata58Masked() *OxmIdTunMetadata58Masked {
+ obj := &OxmIdTunMetadata58Masked{
+ OxmId: NewOxmId(116216),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata58Masked) GetOXMName() string {
+ return "tun_metadata58_masked"
+}
+
+func (self *OxmIdTunMetadata58Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata59 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata59 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata59) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata59(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata59, error) {
+ _oxmidtunmetadata59 := &OxmIdTunMetadata59{OxmId: parent}
+ return _oxmidtunmetadata59, nil
+}
+
+func NewOxmIdTunMetadata59() *OxmIdTunMetadata59 {
+ obj := &OxmIdTunMetadata59{
+ OxmId: NewOxmId(116348),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata59) GetOXMName() string {
+ return "tun_metadata59"
+}
+
+func (self *OxmIdTunMetadata59) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata59Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata59Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata59Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata59Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata59Masked, error) {
+ _oxmidtunmetadata59masked := &OxmIdTunMetadata59Masked{OxmId: parent}
+ return _oxmidtunmetadata59masked, nil
+}
+
+func NewOxmIdTunMetadata59Masked() *OxmIdTunMetadata59Masked {
+ obj := &OxmIdTunMetadata59Masked{
+ OxmId: NewOxmId(116728),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata59Masked) GetOXMName() string {
+ return "tun_metadata59_masked"
+}
+
+func (self *OxmIdTunMetadata59Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata5Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata5Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata5Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata5Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata5Masked, error) {
+ _oxmidtunmetadata5masked := &OxmIdTunMetadata5Masked{OxmId: parent}
+ return _oxmidtunmetadata5masked, nil
+}
+
+func NewOxmIdTunMetadata5Masked() *OxmIdTunMetadata5Masked {
+ obj := &OxmIdTunMetadata5Masked{
+ OxmId: NewOxmId(89080),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata5Masked) GetOXMName() string {
+ return "tun_metadata5_masked"
+}
+
+func (self *OxmIdTunMetadata5Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata6 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata6 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata6) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata6(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata6, error) {
+ _oxmidtunmetadata6 := &OxmIdTunMetadata6{OxmId: parent}
+ return _oxmidtunmetadata6, nil
+}
+
+func NewOxmIdTunMetadata6() *OxmIdTunMetadata6 {
+ obj := &OxmIdTunMetadata6{
+ OxmId: NewOxmId(89212),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata6) GetOXMName() string {
+ return "tun_metadata6"
+}
+
+func (self *OxmIdTunMetadata6) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata60 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata60 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata60) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata60(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata60, error) {
+ _oxmidtunmetadata60 := &OxmIdTunMetadata60{OxmId: parent}
+ return _oxmidtunmetadata60, nil
+}
+
+func NewOxmIdTunMetadata60() *OxmIdTunMetadata60 {
+ obj := &OxmIdTunMetadata60{
+ OxmId: NewOxmId(116860),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata60) GetOXMName() string {
+ return "tun_metadata60"
+}
+
+func (self *OxmIdTunMetadata60) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata60Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata60Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata60Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata60Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata60Masked, error) {
+ _oxmidtunmetadata60masked := &OxmIdTunMetadata60Masked{OxmId: parent}
+ return _oxmidtunmetadata60masked, nil
+}
+
+func NewOxmIdTunMetadata60Masked() *OxmIdTunMetadata60Masked {
+ obj := &OxmIdTunMetadata60Masked{
+ OxmId: NewOxmId(117240),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata60Masked) GetOXMName() string {
+ return "tun_metadata60_masked"
+}
+
+func (self *OxmIdTunMetadata60Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata61 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata61 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata61) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata61(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata61, error) {
+ _oxmidtunmetadata61 := &OxmIdTunMetadata61{OxmId: parent}
+ return _oxmidtunmetadata61, nil
+}
+
+func NewOxmIdTunMetadata61() *OxmIdTunMetadata61 {
+ obj := &OxmIdTunMetadata61{
+ OxmId: NewOxmId(117372),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata61) GetOXMName() string {
+ return "tun_metadata61"
+}
+
+func (self *OxmIdTunMetadata61) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata61Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata61Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata61Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata61Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata61Masked, error) {
+ _oxmidtunmetadata61masked := &OxmIdTunMetadata61Masked{OxmId: parent}
+ return _oxmidtunmetadata61masked, nil
+}
+
+func NewOxmIdTunMetadata61Masked() *OxmIdTunMetadata61Masked {
+ obj := &OxmIdTunMetadata61Masked{
+ OxmId: NewOxmId(117752),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata61Masked) GetOXMName() string {
+ return "tun_metadata61_masked"
+}
+
+func (self *OxmIdTunMetadata61Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata62 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata62 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata62) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata62(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata62, error) {
+ _oxmidtunmetadata62 := &OxmIdTunMetadata62{OxmId: parent}
+ return _oxmidtunmetadata62, nil
+}
+
+func NewOxmIdTunMetadata62() *OxmIdTunMetadata62 {
+ obj := &OxmIdTunMetadata62{
+ OxmId: NewOxmId(117884),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata62) GetOXMName() string {
+ return "tun_metadata62"
+}
+
+func (self *OxmIdTunMetadata62) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata62Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata62Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata62Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata62Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata62Masked, error) {
+ _oxmidtunmetadata62masked := &OxmIdTunMetadata62Masked{OxmId: parent}
+ return _oxmidtunmetadata62masked, nil
+}
+
+func NewOxmIdTunMetadata62Masked() *OxmIdTunMetadata62Masked {
+ obj := &OxmIdTunMetadata62Masked{
+ OxmId: NewOxmId(118264),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata62Masked) GetOXMName() string {
+ return "tun_metadata62_masked"
+}
+
+func (self *OxmIdTunMetadata62Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata63 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata63 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata63) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata63(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata63, error) {
+ _oxmidtunmetadata63 := &OxmIdTunMetadata63{OxmId: parent}
+ return _oxmidtunmetadata63, nil
+}
+
+func NewOxmIdTunMetadata63() *OxmIdTunMetadata63 {
+ obj := &OxmIdTunMetadata63{
+ OxmId: NewOxmId(118396),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata63) GetOXMName() string {
+ return "tun_metadata63"
+}
+
+func (self *OxmIdTunMetadata63) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata63Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata63Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata63Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata63Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata63Masked, error) {
+ _oxmidtunmetadata63masked := &OxmIdTunMetadata63Masked{OxmId: parent}
+ return _oxmidtunmetadata63masked, nil
+}
+
+func NewOxmIdTunMetadata63Masked() *OxmIdTunMetadata63Masked {
+ obj := &OxmIdTunMetadata63Masked{
+ OxmId: NewOxmId(118776),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata63Masked) GetOXMName() string {
+ return "tun_metadata63_masked"
+}
+
+func (self *OxmIdTunMetadata63Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata6Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata6Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata6Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata6Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata6Masked, error) {
+ _oxmidtunmetadata6masked := &OxmIdTunMetadata6Masked{OxmId: parent}
+ return _oxmidtunmetadata6masked, nil
+}
+
+func NewOxmIdTunMetadata6Masked() *OxmIdTunMetadata6Masked {
+ obj := &OxmIdTunMetadata6Masked{
+ OxmId: NewOxmId(89592),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata6Masked) GetOXMName() string {
+ return "tun_metadata6_masked"
+}
+
+func (self *OxmIdTunMetadata6Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata7 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata7 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata7) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata7(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata7, error) {
+ _oxmidtunmetadata7 := &OxmIdTunMetadata7{OxmId: parent}
+ return _oxmidtunmetadata7, nil
+}
+
+func NewOxmIdTunMetadata7() *OxmIdTunMetadata7 {
+ obj := &OxmIdTunMetadata7{
+ OxmId: NewOxmId(89724),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata7) GetOXMName() string {
+ return "tun_metadata7"
+}
+
+func (self *OxmIdTunMetadata7) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata7Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata7Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata7Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata7Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata7Masked, error) {
+ _oxmidtunmetadata7masked := &OxmIdTunMetadata7Masked{OxmId: parent}
+ return _oxmidtunmetadata7masked, nil
+}
+
+func NewOxmIdTunMetadata7Masked() *OxmIdTunMetadata7Masked {
+ obj := &OxmIdTunMetadata7Masked{
+ OxmId: NewOxmId(90104),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata7Masked) GetOXMName() string {
+ return "tun_metadata7_masked"
+}
+
+func (self *OxmIdTunMetadata7Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata8 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata8 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata8) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata8(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata8, error) {
+ _oxmidtunmetadata8 := &OxmIdTunMetadata8{OxmId: parent}
+ return _oxmidtunmetadata8, nil
+}
+
+func NewOxmIdTunMetadata8() *OxmIdTunMetadata8 {
+ obj := &OxmIdTunMetadata8{
+ OxmId: NewOxmId(90236),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata8) GetOXMName() string {
+ return "tun_metadata8"
+}
+
+func (self *OxmIdTunMetadata8) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata8Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata8Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata8Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata8Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata8Masked, error) {
+ _oxmidtunmetadata8masked := &OxmIdTunMetadata8Masked{OxmId: parent}
+ return _oxmidtunmetadata8masked, nil
+}
+
+func NewOxmIdTunMetadata8Masked() *OxmIdTunMetadata8Masked {
+ obj := &OxmIdTunMetadata8Masked{
+ OxmId: NewOxmId(90616),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata8Masked) GetOXMName() string {
+ return "tun_metadata8_masked"
+}
+
+func (self *OxmIdTunMetadata8Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata9 struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata9 interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata9) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata9(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata9, error) {
+ _oxmidtunmetadata9 := &OxmIdTunMetadata9{OxmId: parent}
+ return _oxmidtunmetadata9, nil
+}
+
+func NewOxmIdTunMetadata9() *OxmIdTunMetadata9 {
+ obj := &OxmIdTunMetadata9{
+ OxmId: NewOxmId(90748),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata9) GetOXMName() string {
+ return "tun_metadata9"
+}
+
+func (self *OxmIdTunMetadata9) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunMetadata9Masked struct {
+ *OxmId
+}
+
+type IOxmIdTunMetadata9Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunMetadata9Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunMetadata9Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunMetadata9Masked, error) {
+ _oxmidtunmetadata9masked := &OxmIdTunMetadata9Masked{OxmId: parent}
+ return _oxmidtunmetadata9masked, nil
+}
+
+func NewOxmIdTunMetadata9Masked() *OxmIdTunMetadata9Masked {
+ obj := &OxmIdTunMetadata9Masked{
+ OxmId: NewOxmId(91128),
+ }
+ return obj
+}
+func (self *OxmIdTunMetadata9Masked) GetOXMName() string {
+ return "tun_metadata9_masked"
+}
+
+func (self *OxmIdTunMetadata9Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunSrc struct {
+ *OxmId
+}
+
+type IOxmIdTunSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdTunSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunSrc, error) {
+ _oxmidtunsrc := &OxmIdTunSrc{OxmId: parent}
+ return _oxmidtunsrc, nil
+}
+
+func NewOxmIdTunSrc() *OxmIdTunSrc {
+ obj := &OxmIdTunSrc{
+ OxmId: NewOxmId(81412),
+ }
+ return obj
+}
+func (self *OxmIdTunSrc) GetOXMName() string {
+ return "tun_src"
+}
+
+func (self *OxmIdTunSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunSrcMasked, error) {
+ _oxmidtunsrcmasked := &OxmIdTunSrcMasked{OxmId: parent}
+ return _oxmidtunsrcmasked, nil
+}
+
+func NewOxmIdTunSrcMasked() *OxmIdTunSrcMasked {
+ obj := &OxmIdTunSrcMasked{
+ OxmId: NewOxmId(81672),
+ }
+ return obj
+}
+func (self *OxmIdTunSrcMasked) GetOXMName() string {
+ return "tun_src_masked"
+}
+
+func (self *OxmIdTunSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdUdpDst struct {
+ *OxmId
+}
+
+type IOxmIdUdpDst interface {
+ IOxmId
+}
+
+func (self *OxmIdUdpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdUdpDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdUdpDst, error) {
+ _oxmidudpdst := &OxmIdUdpDst{OxmId: parent}
+ return _oxmidudpdst, nil
+}
+
+func NewOxmIdUdpDst() *OxmIdUdpDst {
+ obj := &OxmIdUdpDst{
+ OxmId: NewOxmId(6146),
+ }
+ return obj
+}
+func (self *OxmIdUdpDst) GetOXMName() string {
+ return "udp_dst"
+}
+
+func (self *OxmIdUdpDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdUdpDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdUdpDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdUdpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdUdpDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdUdpDstMasked, error) {
+ _oxmidudpdstmasked := &OxmIdUdpDstMasked{OxmId: parent}
+ return _oxmidudpdstmasked, nil
+}
+
+func NewOxmIdUdpDstMasked() *OxmIdUdpDstMasked {
+ obj := &OxmIdUdpDstMasked{
+ OxmId: NewOxmId(6404),
+ }
+ return obj
+}
+func (self *OxmIdUdpDstMasked) GetOXMName() string {
+ return "udp_dst_masked"
+}
+
+func (self *OxmIdUdpDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdUdpSrc struct {
+ *OxmId
+}
+
+type IOxmIdUdpSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdUdpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdUdpSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdUdpSrc, error) {
+ _oxmidudpsrc := &OxmIdUdpSrc{OxmId: parent}
+ return _oxmidudpsrc, nil
+}
+
+func NewOxmIdUdpSrc() *OxmIdUdpSrc {
+ obj := &OxmIdUdpSrc{
+ OxmId: NewOxmId(5634),
+ }
+ return obj
+}
+func (self *OxmIdUdpSrc) GetOXMName() string {
+ return "udp_src"
+}
+
+func (self *OxmIdUdpSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdUdpSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdUdpSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdUdpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdUdpSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdUdpSrcMasked, error) {
+ _oxmidudpsrcmasked := &OxmIdUdpSrcMasked{OxmId: parent}
+ return _oxmidudpsrcmasked, nil
+}
+
+func NewOxmIdUdpSrcMasked() *OxmIdUdpSrcMasked {
+ obj := &OxmIdUdpSrcMasked{
+ OxmId: NewOxmId(5892),
+ }
+ return obj
+}
+func (self *OxmIdUdpSrcMasked) GetOXMName() string {
+ return "udp_src_masked"
+}
+
+func (self *OxmIdUdpSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdVlanTci struct {
+ *OxmId
+}
+
+type IOxmIdVlanTci interface {
+ IOxmId
+}
+
+func (self *OxmIdVlanTci) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdVlanTci(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdVlanTci, error) {
+ _oxmidvlantci := &OxmIdVlanTci{OxmId: parent}
+ return _oxmidvlantci, nil
+}
+
+func NewOxmIdVlanTci() *OxmIdVlanTci {
+ obj := &OxmIdVlanTci{
+ OxmId: NewOxmId(2050),
+ }
+ return obj
+}
+func (self *OxmIdVlanTci) GetOXMName() string {
+ return "vlan_tci"
+}
+
+func (self *OxmIdVlanTci) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdVlanTciMasked struct {
+ *OxmId
+}
+
+type IOxmIdVlanTciMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdVlanTciMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdVlanTciMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdVlanTciMasked, error) {
+ _oxmidvlantcimasked := &OxmIdVlanTciMasked{OxmId: parent}
+ return _oxmidvlantcimasked, nil
+}
+
+func NewOxmIdVlanTciMasked() *OxmIdVlanTciMasked {
+ obj := &OxmIdVlanTciMasked{
+ OxmId: NewOxmId(2308),
+ }
+ return obj
+}
+func (self *OxmIdVlanTciMasked) GetOXMName() string {
+ return "vlan_tci_masked"
+}
+
+func (self *OxmIdVlanTciMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdXxreg0 struct {
+ *OxmId
+}
+
+type IOxmIdXxreg0 interface {
+ IOxmId
+}
+
+func (self *OxmIdXxreg0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdXxreg0(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdXxreg0, error) {
+ _oxmidxxreg0 := &OxmIdXxreg0{OxmId: parent}
+ return _oxmidxxreg0, nil
+}
+
+func NewOxmIdXxreg0() *OxmIdXxreg0 {
+ obj := &OxmIdXxreg0{
+ OxmId: NewOxmId(122384),
+ }
+ return obj
+}
+func (self *OxmIdXxreg0) GetOXMName() string {
+ return "xxreg0"
+}
+
+func (self *OxmIdXxreg0) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdXxreg0Masked struct {
+ *OxmId
+}
+
+type IOxmIdXxreg0Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdXxreg0Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdXxreg0Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdXxreg0Masked, error) {
+ _oxmidxxreg0masked := &OxmIdXxreg0Masked{OxmId: parent}
+ return _oxmidxxreg0masked, nil
+}
+
+func NewOxmIdXxreg0Masked() *OxmIdXxreg0Masked {
+ obj := &OxmIdXxreg0Masked{
+ OxmId: NewOxmId(122656),
+ }
+ return obj
+}
+func (self *OxmIdXxreg0Masked) GetOXMName() string {
+ return "xxreg0_masked"
+}
+
+func (self *OxmIdXxreg0Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdXxreg1 struct {
+ *OxmId
+}
+
+type IOxmIdXxreg1 interface {
+ IOxmId
+}
+
+func (self *OxmIdXxreg1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdXxreg1(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdXxreg1, error) {
+ _oxmidxxreg1 := &OxmIdXxreg1{OxmId: parent}
+ return _oxmidxxreg1, nil
+}
+
+func NewOxmIdXxreg1() *OxmIdXxreg1 {
+ obj := &OxmIdXxreg1{
+ OxmId: NewOxmId(122896),
+ }
+ return obj
+}
+func (self *OxmIdXxreg1) GetOXMName() string {
+ return "xxreg1"
+}
+
+func (self *OxmIdXxreg1) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdXxreg1Masked struct {
+ *OxmId
+}
+
+type IOxmIdXxreg1Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdXxreg1Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdXxreg1Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdXxreg1Masked, error) {
+ _oxmidxxreg1masked := &OxmIdXxreg1Masked{OxmId: parent}
+ return _oxmidxxreg1masked, nil
+}
+
+func NewOxmIdXxreg1Masked() *OxmIdXxreg1Masked {
+ obj := &OxmIdXxreg1Masked{
+ OxmId: NewOxmId(123168),
+ }
+ return obj
+}
+func (self *OxmIdXxreg1Masked) GetOXMName() string {
+ return "xxreg1_masked"
+}
+
+func (self *OxmIdXxreg1Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdXxreg2 struct {
+ *OxmId
+}
+
+type IOxmIdXxreg2 interface {
+ IOxmId
+}
+
+func (self *OxmIdXxreg2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdXxreg2(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdXxreg2, error) {
+ _oxmidxxreg2 := &OxmIdXxreg2{OxmId: parent}
+ return _oxmidxxreg2, nil
+}
+
+func NewOxmIdXxreg2() *OxmIdXxreg2 {
+ obj := &OxmIdXxreg2{
+ OxmId: NewOxmId(123408),
+ }
+ return obj
+}
+func (self *OxmIdXxreg2) GetOXMName() string {
+ return "xxreg2"
+}
+
+func (self *OxmIdXxreg2) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdXxreg2Masked struct {
+ *OxmId
+}
+
+type IOxmIdXxreg2Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdXxreg2Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdXxreg2Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdXxreg2Masked, error) {
+ _oxmidxxreg2masked := &OxmIdXxreg2Masked{OxmId: parent}
+ return _oxmidxxreg2masked, nil
+}
+
+func NewOxmIdXxreg2Masked() *OxmIdXxreg2Masked {
+ obj := &OxmIdXxreg2Masked{
+ OxmId: NewOxmId(123680),
+ }
+ return obj
+}
+func (self *OxmIdXxreg2Masked) GetOXMName() string {
+ return "xxreg2_masked"
+}
+
+func (self *OxmIdXxreg2Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdXxreg3 struct {
+ *OxmId
+}
+
+type IOxmIdXxreg3 interface {
+ IOxmId
+}
+
+func (self *OxmIdXxreg3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdXxreg3(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdXxreg3, error) {
+ _oxmidxxreg3 := &OxmIdXxreg3{OxmId: parent}
+ return _oxmidxxreg3, nil
+}
+
+func NewOxmIdXxreg3() *OxmIdXxreg3 {
+ obj := &OxmIdXxreg3{
+ OxmId: NewOxmId(123920),
+ }
+ return obj
+}
+func (self *OxmIdXxreg3) GetOXMName() string {
+ return "xxreg3"
+}
+
+func (self *OxmIdXxreg3) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdXxreg3Masked struct {
+ *OxmId
+}
+
+type IOxmIdXxreg3Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdXxreg3Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdXxreg3Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdXxreg3Masked, error) {
+ _oxmidxxreg3masked := &OxmIdXxreg3Masked{OxmId: parent}
+ return _oxmidxxreg3masked, nil
+}
+
+func NewOxmIdXxreg3Masked() *OxmIdXxreg3Masked {
+ obj := &OxmIdXxreg3Masked{
+ OxmId: NewOxmId(124192),
+ }
+ return obj
+}
+func (self *OxmIdXxreg3Masked) GetOXMName() string {
+ return "xxreg3_masked"
+}
+
+func (self *OxmIdXxreg3Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdArpOpMasked struct {
+ *OxmId
+}
+
+type IOxmIdArpOpMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdArpOpMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdArpOpMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdArpOpMasked, error) {
+ _oxmidarpopmasked := &OxmIdArpOpMasked{OxmId: parent}
+ return _oxmidarpopmasked, nil
+}
+
+func NewOxmIdArpOpMasked() *OxmIdArpOpMasked {
+ obj := &OxmIdArpOpMasked{
+ OxmId: NewOxmId(2147494660),
+ }
+ return obj
+}
+func (self *OxmIdArpOpMasked) GetOXMName() string {
+ return "arp_op_masked"
+}
+
+func (self *OxmIdArpOpMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnEgrPortGroupId struct {
+ *OxmId
+}
+
+type IOxmIdBsnEgrPortGroupId interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnEgrPortGroupId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnEgrPortGroupId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnEgrPortGroupId, error) {
+ _oxmidbsnegrportgroupid := &OxmIdBsnEgrPortGroupId{OxmId: parent}
+ return _oxmidbsnegrportgroupid, nil
+}
+
+func NewOxmIdBsnEgrPortGroupId() *OxmIdBsnEgrPortGroupId {
+ obj := &OxmIdBsnEgrPortGroupId{
+ OxmId: NewOxmId(200196),
+ }
+ return obj
+}
+func (self *OxmIdBsnEgrPortGroupId) GetOXMName() string {
+ return "bsn_egr_port_group_id"
+}
+
+func (self *OxmIdBsnEgrPortGroupId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnEgrPortGroupIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnEgrPortGroupIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnEgrPortGroupIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnEgrPortGroupIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnEgrPortGroupIdMasked, error) {
+ _oxmidbsnegrportgroupidmasked := &OxmIdBsnEgrPortGroupIdMasked{OxmId: parent}
+ return _oxmidbsnegrportgroupidmasked, nil
+}
+
+func NewOxmIdBsnEgrPortGroupIdMasked() *OxmIdBsnEgrPortGroupIdMasked {
+ obj := &OxmIdBsnEgrPortGroupIdMasked{
+ OxmId: NewOxmId(200456),
+ }
+ return obj
+}
+func (self *OxmIdBsnEgrPortGroupIdMasked) GetOXMName() string {
+ return "bsn_egr_port_group_id_masked"
+}
+
+func (self *OxmIdBsnEgrPortGroupIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnGlobalVrfAllowed struct {
+ *OxmId
+}
+
+type IOxmIdBsnGlobalVrfAllowed interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnGlobalVrfAllowed) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnGlobalVrfAllowed(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnGlobalVrfAllowed, error) {
+ _oxmidbsnglobalvrfallowed := &OxmIdBsnGlobalVrfAllowed{OxmId: parent}
+ return _oxmidbsnglobalvrfallowed, nil
+}
+
+func NewOxmIdBsnGlobalVrfAllowed() *OxmIdBsnGlobalVrfAllowed {
+ obj := &OxmIdBsnGlobalVrfAllowed{
+ OxmId: NewOxmId(198145),
+ }
+ return obj
+}
+func (self *OxmIdBsnGlobalVrfAllowed) GetOXMName() string {
+ return "bsn_global_vrf_allowed"
+}
+
+func (self *OxmIdBsnGlobalVrfAllowed) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnGlobalVrfAllowedMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnGlobalVrfAllowedMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnGlobalVrfAllowedMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnGlobalVrfAllowedMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnGlobalVrfAllowedMasked, error) {
+ _oxmidbsnglobalvrfallowedmasked := &OxmIdBsnGlobalVrfAllowedMasked{OxmId: parent}
+ return _oxmidbsnglobalvrfallowedmasked, nil
+}
+
+func NewOxmIdBsnGlobalVrfAllowedMasked() *OxmIdBsnGlobalVrfAllowedMasked {
+ obj := &OxmIdBsnGlobalVrfAllowedMasked{
+ OxmId: NewOxmId(198402),
+ }
+ return obj
+}
+func (self *OxmIdBsnGlobalVrfAllowedMasked) GetOXMName() string {
+ return "bsn_global_vrf_allowed_masked"
+}
+
+func (self *OxmIdBsnGlobalVrfAllowedMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInPorts128 struct {
+ *OxmId
+}
+
+type IOxmIdBsnInPorts128 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInPorts128) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInPorts128(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInPorts128, error) {
+ _oxmidbsninports128 := &OxmIdBsnInPorts128{OxmId: parent}
+ return _oxmidbsninports128, nil
+}
+
+func NewOxmIdBsnInPorts128() *OxmIdBsnInPorts128 {
+ obj := &OxmIdBsnInPorts128{
+ OxmId: NewOxmId(196624),
+ }
+ return obj
+}
+func (self *OxmIdBsnInPorts128) GetOXMName() string {
+ return "bsn_in_ports_128"
+}
+
+func (self *OxmIdBsnInPorts128) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInPorts128Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnInPorts128Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInPorts128Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInPorts128Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInPorts128Masked, error) {
+ _oxmidbsninports128masked := &OxmIdBsnInPorts128Masked{OxmId: parent}
+ return _oxmidbsninports128masked, nil
+}
+
+func NewOxmIdBsnInPorts128Masked() *OxmIdBsnInPorts128Masked {
+ obj := &OxmIdBsnInPorts128Masked{
+ OxmId: NewOxmId(196896),
+ }
+ return obj
+}
+func (self *OxmIdBsnInPorts128Masked) GetOXMName() string {
+ return "bsn_in_ports_128_masked"
+}
+
+func (self *OxmIdBsnInPorts128Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInPorts512 struct {
+ *OxmId
+}
+
+type IOxmIdBsnInPorts512 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInPorts512) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInPorts512(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInPorts512, error) {
+ _oxmidbsninports512 := &OxmIdBsnInPorts512{OxmId: parent}
+ return _oxmidbsninports512, nil
+}
+
+func NewOxmIdBsnInPorts512() *OxmIdBsnInPorts512 {
+ obj := &OxmIdBsnInPorts512{
+ OxmId: NewOxmId(206400),
+ }
+ return obj
+}
+func (self *OxmIdBsnInPorts512) GetOXMName() string {
+ return "bsn_in_ports_512"
+}
+
+func (self *OxmIdBsnInPorts512) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInPorts512Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnInPorts512Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInPorts512Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInPorts512Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInPorts512Masked, error) {
+ _oxmidbsninports512masked := &OxmIdBsnInPorts512Masked{OxmId: parent}
+ return _oxmidbsninports512masked, nil
+}
+
+func NewOxmIdBsnInPorts512Masked() *OxmIdBsnInPorts512Masked {
+ obj := &OxmIdBsnInPorts512Masked{
+ OxmId: NewOxmId(206720),
+ }
+ return obj
+}
+func (self *OxmIdBsnInPorts512Masked) GetOXMName() string {
+ return "bsn_in_ports_512_masked"
+}
+
+func (self *OxmIdBsnInPorts512Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnIngressPortGroupId struct {
+ *OxmId
+}
+
+type IOxmIdBsnIngressPortGroupId interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnIngressPortGroupId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnIngressPortGroupId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnIngressPortGroupId, error) {
+ _oxmidbsningressportgroupid := &OxmIdBsnIngressPortGroupId{OxmId: parent}
+ return _oxmidbsningressportgroupid, nil
+}
+
+func NewOxmIdBsnIngressPortGroupId() *OxmIdBsnIngressPortGroupId {
+ obj := &OxmIdBsnIngressPortGroupId{
+ OxmId: NewOxmId(206852),
+ }
+ return obj
+}
+func (self *OxmIdBsnIngressPortGroupId) GetOXMName() string {
+ return "bsn_ingress_port_group_id"
+}
+
+func (self *OxmIdBsnIngressPortGroupId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnIngressPortGroupIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnIngressPortGroupIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnIngressPortGroupIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnIngressPortGroupIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnIngressPortGroupIdMasked, error) {
+ _oxmidbsningressportgroupidmasked := &OxmIdBsnIngressPortGroupIdMasked{OxmId: parent}
+ return _oxmidbsningressportgroupidmasked, nil
+}
+
+func NewOxmIdBsnIngressPortGroupIdMasked() *OxmIdBsnIngressPortGroupIdMasked {
+ obj := &OxmIdBsnIngressPortGroupIdMasked{
+ OxmId: NewOxmId(207112),
+ }
+ return obj
+}
+func (self *OxmIdBsnIngressPortGroupIdMasked) GetOXMName() string {
+ return "bsn_ingress_port_group_id_masked"
+}
+
+func (self *OxmIdBsnIngressPortGroupIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInnerEthDst struct {
+ *OxmId
+}
+
+type IOxmIdBsnInnerEthDst interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInnerEthDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInnerEthDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInnerEthDst, error) {
+ _oxmidbsninnerethdst := &OxmIdBsnInnerEthDst{OxmId: parent}
+ return _oxmidbsninnerethdst, nil
+}
+
+func NewOxmIdBsnInnerEthDst() *OxmIdBsnInnerEthDst {
+ obj := &OxmIdBsnInnerEthDst{
+ OxmId: NewOxmId(207878),
+ }
+ return obj
+}
+func (self *OxmIdBsnInnerEthDst) GetOXMName() string {
+ return "bsn_inner_eth_dst"
+}
+
+func (self *OxmIdBsnInnerEthDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInnerEthDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnInnerEthDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInnerEthDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInnerEthDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInnerEthDstMasked, error) {
+ _oxmidbsninnerethdstmasked := &OxmIdBsnInnerEthDstMasked{OxmId: parent}
+ return _oxmidbsninnerethdstmasked, nil
+}
+
+func NewOxmIdBsnInnerEthDstMasked() *OxmIdBsnInnerEthDstMasked {
+ obj := &OxmIdBsnInnerEthDstMasked{
+ OxmId: NewOxmId(208140),
+ }
+ return obj
+}
+func (self *OxmIdBsnInnerEthDstMasked) GetOXMName() string {
+ return "bsn_inner_eth_dst_masked"
+}
+
+func (self *OxmIdBsnInnerEthDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInnerEthSrc struct {
+ *OxmId
+}
+
+type IOxmIdBsnInnerEthSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInnerEthSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInnerEthSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInnerEthSrc, error) {
+ _oxmidbsninnerethsrc := &OxmIdBsnInnerEthSrc{OxmId: parent}
+ return _oxmidbsninnerethsrc, nil
+}
+
+func NewOxmIdBsnInnerEthSrc() *OxmIdBsnInnerEthSrc {
+ obj := &OxmIdBsnInnerEthSrc{
+ OxmId: NewOxmId(208390),
+ }
+ return obj
+}
+func (self *OxmIdBsnInnerEthSrc) GetOXMName() string {
+ return "bsn_inner_eth_src"
+}
+
+func (self *OxmIdBsnInnerEthSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInnerEthSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnInnerEthSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInnerEthSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInnerEthSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInnerEthSrcMasked, error) {
+ _oxmidbsninnerethsrcmasked := &OxmIdBsnInnerEthSrcMasked{OxmId: parent}
+ return _oxmidbsninnerethsrcmasked, nil
+}
+
+func NewOxmIdBsnInnerEthSrcMasked() *OxmIdBsnInnerEthSrcMasked {
+ obj := &OxmIdBsnInnerEthSrcMasked{
+ OxmId: NewOxmId(208652),
+ }
+ return obj
+}
+func (self *OxmIdBsnInnerEthSrcMasked) GetOXMName() string {
+ return "bsn_inner_eth_src_masked"
+}
+
+func (self *OxmIdBsnInnerEthSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInnerVlanVid struct {
+ *OxmId
+}
+
+type IOxmIdBsnInnerVlanVid interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInnerVlanVid) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInnerVlanVid(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInnerVlanVid, error) {
+ _oxmidbsninnervlanvid := &OxmIdBsnInnerVlanVid{OxmId: parent}
+ return _oxmidbsninnervlanvid, nil
+}
+
+func NewOxmIdBsnInnerVlanVid() *OxmIdBsnInnerVlanVid {
+ obj := &OxmIdBsnInnerVlanVid{
+ OxmId: NewOxmId(208898),
+ }
+ return obj
+}
+func (self *OxmIdBsnInnerVlanVid) GetOXMName() string {
+ return "bsn_inner_vlan_vid"
+}
+
+func (self *OxmIdBsnInnerVlanVid) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnInnerVlanVidMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnInnerVlanVidMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnInnerVlanVidMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnInnerVlanVidMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnInnerVlanVidMasked, error) {
+ _oxmidbsninnervlanvidmasked := &OxmIdBsnInnerVlanVidMasked{OxmId: parent}
+ return _oxmidbsninnervlanvidmasked, nil
+}
+
+func NewOxmIdBsnInnerVlanVidMasked() *OxmIdBsnInnerVlanVidMasked {
+ obj := &OxmIdBsnInnerVlanVidMasked{
+ OxmId: NewOxmId(209156),
+ }
+ return obj
+}
+func (self *OxmIdBsnInnerVlanVidMasked) GetOXMName() string {
+ return "bsn_inner_vlan_vid_masked"
+}
+
+func (self *OxmIdBsnInnerVlanVidMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnIpFragmentation struct {
+ *OxmId
+}
+
+type IOxmIdBsnIpFragmentation interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnIpFragmentation) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnIpFragmentation(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnIpFragmentation, error) {
+ _oxmidbsnipfragmentation := &OxmIdBsnIpFragmentation{OxmId: parent}
+ return _oxmidbsnipfragmentation, nil
+}
+
+func NewOxmIdBsnIpFragmentation() *OxmIdBsnIpFragmentation {
+ obj := &OxmIdBsnIpFragmentation{
+ OxmId: NewOxmId(209921),
+ }
+ return obj
+}
+func (self *OxmIdBsnIpFragmentation) GetOXMName() string {
+ return "bsn_ip_fragmentation"
+}
+
+func (self *OxmIdBsnIpFragmentation) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnIpFragmentationMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnIpFragmentationMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnIpFragmentationMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnIpFragmentationMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnIpFragmentationMasked, error) {
+ _oxmidbsnipfragmentationmasked := &OxmIdBsnIpFragmentationMasked{OxmId: parent}
+ return _oxmidbsnipfragmentationmasked, nil
+}
+
+func NewOxmIdBsnIpFragmentationMasked() *OxmIdBsnIpFragmentationMasked {
+ obj := &OxmIdBsnIpFragmentationMasked{
+ OxmId: NewOxmId(210178),
+ }
+ return obj
+}
+func (self *OxmIdBsnIpFragmentationMasked) GetOXMName() string {
+ return "bsn_ip_fragmentation_masked"
+}
+
+func (self *OxmIdBsnIpFragmentationMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnL2CacheHit struct {
+ *OxmId
+}
+
+type IOxmIdBsnL2CacheHit interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnL2CacheHit) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnL2CacheHit(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnL2CacheHit, error) {
+ _oxmidbsnl2cachehit := &OxmIdBsnL2CacheHit{OxmId: parent}
+ return _oxmidbsnl2cachehit, nil
+}
+
+func NewOxmIdBsnL2CacheHit() *OxmIdBsnL2CacheHit {
+ obj := &OxmIdBsnL2CacheHit{
+ OxmId: NewOxmId(205825),
+ }
+ return obj
+}
+func (self *OxmIdBsnL2CacheHit) GetOXMName() string {
+ return "bsn_l2_cache_hit"
+}
+
+func (self *OxmIdBsnL2CacheHit) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnL2CacheHitMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnL2CacheHitMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnL2CacheHitMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnL2CacheHitMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnL2CacheHitMasked, error) {
+ _oxmidbsnl2cachehitmasked := &OxmIdBsnL2CacheHitMasked{OxmId: parent}
+ return _oxmidbsnl2cachehitmasked, nil
+}
+
+func NewOxmIdBsnL2CacheHitMasked() *OxmIdBsnL2CacheHitMasked {
+ obj := &OxmIdBsnL2CacheHitMasked{
+ OxmId: NewOxmId(206082),
+ }
+ return obj
+}
+func (self *OxmIdBsnL2CacheHitMasked) GetOXMName() string {
+ return "bsn_l2_cache_hit_masked"
+}
+
+func (self *OxmIdBsnL2CacheHitMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnL3DstClassId struct {
+ *OxmId
+}
+
+type IOxmIdBsnL3DstClassId interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnL3DstClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnL3DstClassId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnL3DstClassId, error) {
+ _oxmidbsnl3dstclassid := &OxmIdBsnL3DstClassId{OxmId: parent}
+ return _oxmidbsnl3dstclassid, nil
+}
+
+func NewOxmIdBsnL3DstClassId() *OxmIdBsnL3DstClassId {
+ obj := &OxmIdBsnL3DstClassId{
+ OxmId: NewOxmId(199684),
+ }
+ return obj
+}
+func (self *OxmIdBsnL3DstClassId) GetOXMName() string {
+ return "bsn_l3_dst_class_id"
+}
+
+func (self *OxmIdBsnL3DstClassId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnL3DstClassIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnL3DstClassIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnL3DstClassIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnL3DstClassIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnL3DstClassIdMasked, error) {
+ _oxmidbsnl3dstclassidmasked := &OxmIdBsnL3DstClassIdMasked{OxmId: parent}
+ return _oxmidbsnl3dstclassidmasked, nil
+}
+
+func NewOxmIdBsnL3DstClassIdMasked() *OxmIdBsnL3DstClassIdMasked {
+ obj := &OxmIdBsnL3DstClassIdMasked{
+ OxmId: NewOxmId(199944),
+ }
+ return obj
+}
+func (self *OxmIdBsnL3DstClassIdMasked) GetOXMName() string {
+ return "bsn_l3_dst_class_id_masked"
+}
+
+func (self *OxmIdBsnL3DstClassIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnL3InterfaceClassId struct {
+ *OxmId
+}
+
+type IOxmIdBsnL3InterfaceClassId interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnL3InterfaceClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnL3InterfaceClassId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnL3InterfaceClassId, error) {
+ _oxmidbsnl3interfaceclassid := &OxmIdBsnL3InterfaceClassId{OxmId: parent}
+ return _oxmidbsnl3interfaceclassid, nil
+}
+
+func NewOxmIdBsnL3InterfaceClassId() *OxmIdBsnL3InterfaceClassId {
+ obj := &OxmIdBsnL3InterfaceClassId{
+ OxmId: NewOxmId(198660),
+ }
+ return obj
+}
+func (self *OxmIdBsnL3InterfaceClassId) GetOXMName() string {
+ return "bsn_l3_interface_class_id"
+}
+
+func (self *OxmIdBsnL3InterfaceClassId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnL3InterfaceClassIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnL3InterfaceClassIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnL3InterfaceClassIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnL3InterfaceClassIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnL3InterfaceClassIdMasked, error) {
+ _oxmidbsnl3interfaceclassidmasked := &OxmIdBsnL3InterfaceClassIdMasked{OxmId: parent}
+ return _oxmidbsnl3interfaceclassidmasked, nil
+}
+
+func NewOxmIdBsnL3InterfaceClassIdMasked() *OxmIdBsnL3InterfaceClassIdMasked {
+ obj := &OxmIdBsnL3InterfaceClassIdMasked{
+ OxmId: NewOxmId(198920),
+ }
+ return obj
+}
+func (self *OxmIdBsnL3InterfaceClassIdMasked) GetOXMName() string {
+ return "bsn_l3_interface_class_id_masked"
+}
+
+func (self *OxmIdBsnL3InterfaceClassIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnL3SrcClassId struct {
+ *OxmId
+}
+
+type IOxmIdBsnL3SrcClassId interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnL3SrcClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnL3SrcClassId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnL3SrcClassId, error) {
+ _oxmidbsnl3srcclassid := &OxmIdBsnL3SrcClassId{OxmId: parent}
+ return _oxmidbsnl3srcclassid, nil
+}
+
+func NewOxmIdBsnL3SrcClassId() *OxmIdBsnL3SrcClassId {
+ obj := &OxmIdBsnL3SrcClassId{
+ OxmId: NewOxmId(199172),
+ }
+ return obj
+}
+func (self *OxmIdBsnL3SrcClassId) GetOXMName() string {
+ return "bsn_l3_src_class_id"
+}
+
+func (self *OxmIdBsnL3SrcClassId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnL3SrcClassIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnL3SrcClassIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnL3SrcClassIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnL3SrcClassIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnL3SrcClassIdMasked, error) {
+ _oxmidbsnl3srcclassidmasked := &OxmIdBsnL3SrcClassIdMasked{OxmId: parent}
+ return _oxmidbsnl3srcclassidmasked, nil
+}
+
+func NewOxmIdBsnL3SrcClassIdMasked() *OxmIdBsnL3SrcClassIdMasked {
+ obj := &OxmIdBsnL3SrcClassIdMasked{
+ OxmId: NewOxmId(199432),
+ }
+ return obj
+}
+func (self *OxmIdBsnL3SrcClassIdMasked) GetOXMName() string {
+ return "bsn_l3_src_class_id_masked"
+}
+
+func (self *OxmIdBsnL3SrcClassIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnLagId struct {
+ *OxmId
+}
+
+type IOxmIdBsnLagId interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnLagId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnLagId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnLagId, error) {
+ _oxmidbsnlagid := &OxmIdBsnLagId{OxmId: parent}
+ return _oxmidbsnlagid, nil
+}
+
+func NewOxmIdBsnLagId() *OxmIdBsnLagId {
+ obj := &OxmIdBsnLagId{
+ OxmId: NewOxmId(197124),
+ }
+ return obj
+}
+func (self *OxmIdBsnLagId) GetOXMName() string {
+ return "bsn_lag_id"
+}
+
+func (self *OxmIdBsnLagId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnLagIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnLagIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnLagIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnLagIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnLagIdMasked, error) {
+ _oxmidbsnlagidmasked := &OxmIdBsnLagIdMasked{OxmId: parent}
+ return _oxmidbsnlagidmasked, nil
+}
+
+func NewOxmIdBsnLagIdMasked() *OxmIdBsnLagIdMasked {
+ obj := &OxmIdBsnLagIdMasked{
+ OxmId: NewOxmId(197384),
+ }
+ return obj
+}
+func (self *OxmIdBsnLagIdMasked) GetOXMName() string {
+ return "bsn_lag_id_masked"
+}
+
+func (self *OxmIdBsnLagIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnTcpFlags struct {
+ *OxmId
+}
+
+type IOxmIdBsnTcpFlags interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnTcpFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnTcpFlags(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnTcpFlags, error) {
+ _oxmidbsntcpflags := &OxmIdBsnTcpFlags{OxmId: parent}
+ return _oxmidbsntcpflags, nil
+}
+
+func NewOxmIdBsnTcpFlags() *OxmIdBsnTcpFlags {
+ obj := &OxmIdBsnTcpFlags{
+ OxmId: NewOxmId(204802),
+ }
+ return obj
+}
+func (self *OxmIdBsnTcpFlags) GetOXMName() string {
+ return "bsn_tcp_flags"
+}
+
+func (self *OxmIdBsnTcpFlags) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnTcpFlagsMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnTcpFlagsMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnTcpFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnTcpFlagsMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnTcpFlagsMasked, error) {
+ _oxmidbsntcpflagsmasked := &OxmIdBsnTcpFlagsMasked{OxmId: parent}
+ return _oxmidbsntcpflagsmasked, nil
+}
+
+func NewOxmIdBsnTcpFlagsMasked() *OxmIdBsnTcpFlagsMasked {
+ obj := &OxmIdBsnTcpFlagsMasked{
+ OxmId: NewOxmId(205060),
+ }
+ return obj
+}
+func (self *OxmIdBsnTcpFlagsMasked) GetOXMName() string {
+ return "bsn_tcp_flags_masked"
+}
+
+func (self *OxmIdBsnTcpFlagsMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf0 struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf0 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf0(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf0, error) {
+ _oxmidbsnudf0 := &OxmIdBsnUdf0{OxmId: parent}
+ return _oxmidbsnudf0, nil
+}
+
+func NewOxmIdBsnUdf0() *OxmIdBsnUdf0 {
+ obj := &OxmIdBsnUdf0{
+ OxmId: NewOxmId(200708),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf0) GetOXMName() string {
+ return "bsn_udf0"
+}
+
+func (self *OxmIdBsnUdf0) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf0Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf0Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf0Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf0Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf0Masked, error) {
+ _oxmidbsnudf0masked := &OxmIdBsnUdf0Masked{OxmId: parent}
+ return _oxmidbsnudf0masked, nil
+}
+
+func NewOxmIdBsnUdf0Masked() *OxmIdBsnUdf0Masked {
+ obj := &OxmIdBsnUdf0Masked{
+ OxmId: NewOxmId(200968),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf0Masked) GetOXMName() string {
+ return "bsn_udf0_masked"
+}
+
+func (self *OxmIdBsnUdf0Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf1 struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf1 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf1(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf1, error) {
+ _oxmidbsnudf1 := &OxmIdBsnUdf1{OxmId: parent}
+ return _oxmidbsnudf1, nil
+}
+
+func NewOxmIdBsnUdf1() *OxmIdBsnUdf1 {
+ obj := &OxmIdBsnUdf1{
+ OxmId: NewOxmId(201220),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf1) GetOXMName() string {
+ return "bsn_udf1"
+}
+
+func (self *OxmIdBsnUdf1) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf1Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf1Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf1Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf1Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf1Masked, error) {
+ _oxmidbsnudf1masked := &OxmIdBsnUdf1Masked{OxmId: parent}
+ return _oxmidbsnudf1masked, nil
+}
+
+func NewOxmIdBsnUdf1Masked() *OxmIdBsnUdf1Masked {
+ obj := &OxmIdBsnUdf1Masked{
+ OxmId: NewOxmId(201480),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf1Masked) GetOXMName() string {
+ return "bsn_udf1_masked"
+}
+
+func (self *OxmIdBsnUdf1Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf2 struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf2 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf2(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf2, error) {
+ _oxmidbsnudf2 := &OxmIdBsnUdf2{OxmId: parent}
+ return _oxmidbsnudf2, nil
+}
+
+func NewOxmIdBsnUdf2() *OxmIdBsnUdf2 {
+ obj := &OxmIdBsnUdf2{
+ OxmId: NewOxmId(201732),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf2) GetOXMName() string {
+ return "bsn_udf2"
+}
+
+func (self *OxmIdBsnUdf2) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf2Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf2Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf2Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf2Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf2Masked, error) {
+ _oxmidbsnudf2masked := &OxmIdBsnUdf2Masked{OxmId: parent}
+ return _oxmidbsnudf2masked, nil
+}
+
+func NewOxmIdBsnUdf2Masked() *OxmIdBsnUdf2Masked {
+ obj := &OxmIdBsnUdf2Masked{
+ OxmId: NewOxmId(201992),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf2Masked) GetOXMName() string {
+ return "bsn_udf2_masked"
+}
+
+func (self *OxmIdBsnUdf2Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf3 struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf3 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf3(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf3, error) {
+ _oxmidbsnudf3 := &OxmIdBsnUdf3{OxmId: parent}
+ return _oxmidbsnudf3, nil
+}
+
+func NewOxmIdBsnUdf3() *OxmIdBsnUdf3 {
+ obj := &OxmIdBsnUdf3{
+ OxmId: NewOxmId(202244),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf3) GetOXMName() string {
+ return "bsn_udf3"
+}
+
+func (self *OxmIdBsnUdf3) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf3Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf3Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf3Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf3Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf3Masked, error) {
+ _oxmidbsnudf3masked := &OxmIdBsnUdf3Masked{OxmId: parent}
+ return _oxmidbsnudf3masked, nil
+}
+
+func NewOxmIdBsnUdf3Masked() *OxmIdBsnUdf3Masked {
+ obj := &OxmIdBsnUdf3Masked{
+ OxmId: NewOxmId(202504),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf3Masked) GetOXMName() string {
+ return "bsn_udf3_masked"
+}
+
+func (self *OxmIdBsnUdf3Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf4 struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf4 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf4) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf4(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf4, error) {
+ _oxmidbsnudf4 := &OxmIdBsnUdf4{OxmId: parent}
+ return _oxmidbsnudf4, nil
+}
+
+func NewOxmIdBsnUdf4() *OxmIdBsnUdf4 {
+ obj := &OxmIdBsnUdf4{
+ OxmId: NewOxmId(202756),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf4) GetOXMName() string {
+ return "bsn_udf4"
+}
+
+func (self *OxmIdBsnUdf4) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf4Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf4Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf4Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf4Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf4Masked, error) {
+ _oxmidbsnudf4masked := &OxmIdBsnUdf4Masked{OxmId: parent}
+ return _oxmidbsnudf4masked, nil
+}
+
+func NewOxmIdBsnUdf4Masked() *OxmIdBsnUdf4Masked {
+ obj := &OxmIdBsnUdf4Masked{
+ OxmId: NewOxmId(203016),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf4Masked) GetOXMName() string {
+ return "bsn_udf4_masked"
+}
+
+func (self *OxmIdBsnUdf4Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf5 struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf5 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf5) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf5(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf5, error) {
+ _oxmidbsnudf5 := &OxmIdBsnUdf5{OxmId: parent}
+ return _oxmidbsnudf5, nil
+}
+
+func NewOxmIdBsnUdf5() *OxmIdBsnUdf5 {
+ obj := &OxmIdBsnUdf5{
+ OxmId: NewOxmId(203268),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf5) GetOXMName() string {
+ return "bsn_udf5"
+}
+
+func (self *OxmIdBsnUdf5) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf5Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf5Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf5Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf5Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf5Masked, error) {
+ _oxmidbsnudf5masked := &OxmIdBsnUdf5Masked{OxmId: parent}
+ return _oxmidbsnudf5masked, nil
+}
+
+func NewOxmIdBsnUdf5Masked() *OxmIdBsnUdf5Masked {
+ obj := &OxmIdBsnUdf5Masked{
+ OxmId: NewOxmId(203528),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf5Masked) GetOXMName() string {
+ return "bsn_udf5_masked"
+}
+
+func (self *OxmIdBsnUdf5Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf6 struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf6 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf6) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf6(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf6, error) {
+ _oxmidbsnudf6 := &OxmIdBsnUdf6{OxmId: parent}
+ return _oxmidbsnudf6, nil
+}
+
+func NewOxmIdBsnUdf6() *OxmIdBsnUdf6 {
+ obj := &OxmIdBsnUdf6{
+ OxmId: NewOxmId(203780),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf6) GetOXMName() string {
+ return "bsn_udf6"
+}
+
+func (self *OxmIdBsnUdf6) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf6Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf6Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf6Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf6Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf6Masked, error) {
+ _oxmidbsnudf6masked := &OxmIdBsnUdf6Masked{OxmId: parent}
+ return _oxmidbsnudf6masked, nil
+}
+
+func NewOxmIdBsnUdf6Masked() *OxmIdBsnUdf6Masked {
+ obj := &OxmIdBsnUdf6Masked{
+ OxmId: NewOxmId(204040),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf6Masked) GetOXMName() string {
+ return "bsn_udf6_masked"
+}
+
+func (self *OxmIdBsnUdf6Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf7 struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf7 interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf7) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf7(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf7, error) {
+ _oxmidbsnudf7 := &OxmIdBsnUdf7{OxmId: parent}
+ return _oxmidbsnudf7, nil
+}
+
+func NewOxmIdBsnUdf7() *OxmIdBsnUdf7 {
+ obj := &OxmIdBsnUdf7{
+ OxmId: NewOxmId(204292),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf7) GetOXMName() string {
+ return "bsn_udf7"
+}
+
+func (self *OxmIdBsnUdf7) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnUdf7Masked struct {
+ *OxmId
+}
+
+type IOxmIdBsnUdf7Masked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnUdf7Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnUdf7Masked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnUdf7Masked, error) {
+ _oxmidbsnudf7masked := &OxmIdBsnUdf7Masked{OxmId: parent}
+ return _oxmidbsnudf7masked, nil
+}
+
+func NewOxmIdBsnUdf7Masked() *OxmIdBsnUdf7Masked {
+ obj := &OxmIdBsnUdf7Masked{
+ OxmId: NewOxmId(204552),
+ }
+ return obj
+}
+func (self *OxmIdBsnUdf7Masked) GetOXMName() string {
+ return "bsn_udf7_masked"
+}
+
+func (self *OxmIdBsnUdf7Masked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnVfi struct {
+ *OxmId
+}
+
+type IOxmIdBsnVfi interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnVfi) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnVfi(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnVfi, error) {
+ _oxmidbsnvfi := &OxmIdBsnVfi{OxmId: parent}
+ return _oxmidbsnvfi, nil
+}
+
+func NewOxmIdBsnVfi() *OxmIdBsnVfi {
+ obj := &OxmIdBsnVfi{
+ OxmId: NewOxmId(209410),
+ }
+ return obj
+}
+func (self *OxmIdBsnVfi) GetOXMName() string {
+ return "bsn_vfi"
+}
+
+func (self *OxmIdBsnVfi) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnVfiMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnVfiMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnVfiMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnVfiMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnVfiMasked, error) {
+ _oxmidbsnvfimasked := &OxmIdBsnVfiMasked{OxmId: parent}
+ return _oxmidbsnvfimasked, nil
+}
+
+func NewOxmIdBsnVfiMasked() *OxmIdBsnVfiMasked {
+ obj := &OxmIdBsnVfiMasked{
+ OxmId: NewOxmId(209668),
+ }
+ return obj
+}
+func (self *OxmIdBsnVfiMasked) GetOXMName() string {
+ return "bsn_vfi_masked"
+}
+
+func (self *OxmIdBsnVfiMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnVlanXlatePortGroupId struct {
+ *OxmId
+}
+
+type IOxmIdBsnVlanXlatePortGroupId interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnVlanXlatePortGroupId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnVlanXlatePortGroupId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnVlanXlatePortGroupId, error) {
+ _oxmidbsnvlanxlateportgroupid := &OxmIdBsnVlanXlatePortGroupId{OxmId: parent}
+ return _oxmidbsnvlanxlateportgroupid, nil
+}
+
+func NewOxmIdBsnVlanXlatePortGroupId() *OxmIdBsnVlanXlatePortGroupId {
+ obj := &OxmIdBsnVlanXlatePortGroupId{
+ OxmId: NewOxmId(205316),
+ }
+ return obj
+}
+func (self *OxmIdBsnVlanXlatePortGroupId) GetOXMName() string {
+ return "bsn_vlan_xlate_port_group_id"
+}
+
+func (self *OxmIdBsnVlanXlatePortGroupId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnVlanXlatePortGroupIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnVlanXlatePortGroupIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnVlanXlatePortGroupIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnVlanXlatePortGroupIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnVlanXlatePortGroupIdMasked, error) {
+ _oxmidbsnvlanxlateportgroupidmasked := &OxmIdBsnVlanXlatePortGroupIdMasked{OxmId: parent}
+ return _oxmidbsnvlanxlateportgroupidmasked, nil
+}
+
+func NewOxmIdBsnVlanXlatePortGroupIdMasked() *OxmIdBsnVlanXlatePortGroupIdMasked {
+ obj := &OxmIdBsnVlanXlatePortGroupIdMasked{
+ OxmId: NewOxmId(205576),
+ }
+ return obj
+}
+func (self *OxmIdBsnVlanXlatePortGroupIdMasked) GetOXMName() string {
+ return "bsn_vlan_xlate_port_group_id_masked"
+}
+
+func (self *OxmIdBsnVlanXlatePortGroupIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnVrf struct {
+ *OxmId
+}
+
+type IOxmIdBsnVrf interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnVrf) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnVrf(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnVrf, error) {
+ _oxmidbsnvrf := &OxmIdBsnVrf{OxmId: parent}
+ return _oxmidbsnvrf, nil
+}
+
+func NewOxmIdBsnVrf() *OxmIdBsnVrf {
+ obj := &OxmIdBsnVrf{
+ OxmId: NewOxmId(197636),
+ }
+ return obj
+}
+func (self *OxmIdBsnVrf) GetOXMName() string {
+ return "bsn_vrf"
+}
+
+func (self *OxmIdBsnVrf) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnVrfMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnVrfMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnVrfMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnVrfMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnVrfMasked, error) {
+ _oxmidbsnvrfmasked := &OxmIdBsnVrfMasked{OxmId: parent}
+ return _oxmidbsnvrfmasked, nil
+}
+
+func NewOxmIdBsnVrfMasked() *OxmIdBsnVrfMasked {
+ obj := &OxmIdBsnVrfMasked{
+ OxmId: NewOxmId(197896),
+ }
+ return obj
+}
+func (self *OxmIdBsnVrfMasked) GetOXMName() string {
+ return "bsn_vrf_masked"
+}
+
+func (self *OxmIdBsnVrfMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnVxlanNetworkId struct {
+ *OxmId
+}
+
+type IOxmIdBsnVxlanNetworkId interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnVxlanNetworkId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnVxlanNetworkId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnVxlanNetworkId, error) {
+ _oxmidbsnvxlannetworkid := &OxmIdBsnVxlanNetworkId{OxmId: parent}
+ return _oxmidbsnvxlannetworkid, nil
+}
+
+func NewOxmIdBsnVxlanNetworkId() *OxmIdBsnVxlanNetworkId {
+ obj := &OxmIdBsnVxlanNetworkId{
+ OxmId: NewOxmId(207364),
+ }
+ return obj
+}
+func (self *OxmIdBsnVxlanNetworkId) GetOXMName() string {
+ return "bsn_vxlan_network_id"
+}
+
+func (self *OxmIdBsnVxlanNetworkId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdBsnVxlanNetworkIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdBsnVxlanNetworkIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdBsnVxlanNetworkIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdBsnVxlanNetworkIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdBsnVxlanNetworkIdMasked, error) {
+ _oxmidbsnvxlannetworkidmasked := &OxmIdBsnVxlanNetworkIdMasked{OxmId: parent}
+ return _oxmidbsnvxlannetworkidmasked, nil
+}
+
+func NewOxmIdBsnVxlanNetworkIdMasked() *OxmIdBsnVxlanNetworkIdMasked {
+ obj := &OxmIdBsnVxlanNetworkIdMasked{
+ OxmId: NewOxmId(207624),
+ }
+ return obj
+}
+func (self *OxmIdBsnVxlanNetworkIdMasked) GetOXMName() string {
+ return "bsn_vxlan_network_id_masked"
+}
+
+func (self *OxmIdBsnVxlanNetworkIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingIpv6Dst struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingIpv6Dst interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingIpv6Dst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingIpv6Dst, error) {
+ _oxmidconntrackingipv6dst := &OxmIdConnTrackingIpv6Dst{OxmId: parent}
+ return _oxmidconntrackingipv6dst, nil
+}
+
+func NewOxmIdConnTrackingIpv6Dst() *OxmIdConnTrackingIpv6Dst {
+ obj := &OxmIdConnTrackingIpv6Dst{
+ OxmId: NewOxmId(128528),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingIpv6Dst) GetOXMName() string {
+ return "conn_tracking_ipv6_dst"
+}
+
+func (self *OxmIdConnTrackingIpv6Dst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingIpv6DstMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingIpv6DstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingIpv6DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingIpv6DstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingIpv6DstMasked, error) {
+ _oxmidconntrackingipv6dstmasked := &OxmIdConnTrackingIpv6DstMasked{OxmId: parent}
+ return _oxmidconntrackingipv6dstmasked, nil
+}
+
+func NewOxmIdConnTrackingIpv6DstMasked() *OxmIdConnTrackingIpv6DstMasked {
+ obj := &OxmIdConnTrackingIpv6DstMasked{
+ OxmId: NewOxmId(128800),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingIpv6DstMasked) GetOXMName() string {
+ return "conn_tracking_ipv6_dst_masked"
+}
+
+func (self *OxmIdConnTrackingIpv6DstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingIpv6Src struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingIpv6Src interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingIpv6Src(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingIpv6Src, error) {
+ _oxmidconntrackingipv6src := &OxmIdConnTrackingIpv6Src{OxmId: parent}
+ return _oxmidconntrackingipv6src, nil
+}
+
+func NewOxmIdConnTrackingIpv6Src() *OxmIdConnTrackingIpv6Src {
+ obj := &OxmIdConnTrackingIpv6Src{
+ OxmId: NewOxmId(128016),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingIpv6Src) GetOXMName() string {
+ return "conn_tracking_ipv6_src"
+}
+
+func (self *OxmIdConnTrackingIpv6Src) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingIpv6SrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingIpv6SrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingIpv6SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingIpv6SrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingIpv6SrcMasked, error) {
+ _oxmidconntrackingipv6srcmasked := &OxmIdConnTrackingIpv6SrcMasked{OxmId: parent}
+ return _oxmidconntrackingipv6srcmasked, nil
+}
+
+func NewOxmIdConnTrackingIpv6SrcMasked() *OxmIdConnTrackingIpv6SrcMasked {
+ obj := &OxmIdConnTrackingIpv6SrcMasked{
+ OxmId: NewOxmId(128288),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingIpv6SrcMasked) GetOXMName() string {
+ return "conn_tracking_ipv6_src_masked"
+}
+
+func (self *OxmIdConnTrackingIpv6SrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingLabel struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingLabel interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingLabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingLabel(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingLabel, error) {
+ _oxmidconntrackinglabel := &OxmIdConnTrackingLabel{OxmId: parent}
+ return _oxmidconntrackinglabel, nil
+}
+
+func NewOxmIdConnTrackingLabel() *OxmIdConnTrackingLabel {
+ obj := &OxmIdConnTrackingLabel{
+ OxmId: NewOxmId(120848),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingLabel) GetOXMName() string {
+ return "conn_tracking_label"
+}
+
+func (self *OxmIdConnTrackingLabel) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingLabelMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingLabelMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingLabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingLabelMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingLabelMasked, error) {
+ _oxmidconntrackinglabelmasked := &OxmIdConnTrackingLabelMasked{OxmId: parent}
+ return _oxmidconntrackinglabelmasked, nil
+}
+
+func NewOxmIdConnTrackingLabelMasked() *OxmIdConnTrackingLabelMasked {
+ obj := &OxmIdConnTrackingLabelMasked{
+ OxmId: NewOxmId(121120),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingLabelMasked) GetOXMName() string {
+ return "conn_tracking_label_masked"
+}
+
+func (self *OxmIdConnTrackingLabelMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingMark struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingMark interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingMark) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingMark(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingMark, error) {
+ _oxmidconntrackingmark := &OxmIdConnTrackingMark{OxmId: parent}
+ return _oxmidconntrackingmark, nil
+}
+
+func NewOxmIdConnTrackingMark() *OxmIdConnTrackingMark {
+ obj := &OxmIdConnTrackingMark{
+ OxmId: NewOxmId(120324),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingMark) GetOXMName() string {
+ return "conn_tracking_mark"
+}
+
+func (self *OxmIdConnTrackingMark) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingMarkMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingMarkMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingMarkMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingMarkMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingMarkMasked, error) {
+ _oxmidconntrackingmarkmasked := &OxmIdConnTrackingMarkMasked{OxmId: parent}
+ return _oxmidconntrackingmarkmasked, nil
+}
+
+func NewOxmIdConnTrackingMarkMasked() *OxmIdConnTrackingMarkMasked {
+ obj := &OxmIdConnTrackingMarkMasked{
+ OxmId: NewOxmId(120584),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingMarkMasked) GetOXMName() string {
+ return "conn_tracking_mark_masked"
+}
+
+func (self *OxmIdConnTrackingMarkMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingNwDst struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingNwDst interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingNwDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingNwDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingNwDst, error) {
+ _oxmidconntrackingnwdst := &OxmIdConnTrackingNwDst{OxmId: parent}
+ return _oxmidconntrackingnwdst, nil
+}
+
+func NewOxmIdConnTrackingNwDst() *OxmIdConnTrackingNwDst {
+ obj := &OxmIdConnTrackingNwDst{
+ OxmId: NewOxmId(127492),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingNwDst) GetOXMName() string {
+ return "conn_tracking_nw_dst"
+}
+
+func (self *OxmIdConnTrackingNwDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingNwDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingNwDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingNwDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingNwDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingNwDstMasked, error) {
+ _oxmidconntrackingnwdstmasked := &OxmIdConnTrackingNwDstMasked{OxmId: parent}
+ return _oxmidconntrackingnwdstmasked, nil
+}
+
+func NewOxmIdConnTrackingNwDstMasked() *OxmIdConnTrackingNwDstMasked {
+ obj := &OxmIdConnTrackingNwDstMasked{
+ OxmId: NewOxmId(127752),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingNwDstMasked) GetOXMName() string {
+ return "conn_tracking_nw_dst_masked"
+}
+
+func (self *OxmIdConnTrackingNwDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingNwProto struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingNwProto interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingNwProto) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingNwProto(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingNwProto, error) {
+ _oxmidconntrackingnwproto := &OxmIdConnTrackingNwProto{OxmId: parent}
+ return _oxmidconntrackingnwproto, nil
+}
+
+func NewOxmIdConnTrackingNwProto() *OxmIdConnTrackingNwProto {
+ obj := &OxmIdConnTrackingNwProto{
+ OxmId: NewOxmId(126465),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingNwProto) GetOXMName() string {
+ return "conn_tracking_nw_proto"
+}
+
+func (self *OxmIdConnTrackingNwProto) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingNwProtoMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingNwProtoMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingNwProtoMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingNwProtoMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingNwProtoMasked, error) {
+ _oxmidconntrackingnwprotomasked := &OxmIdConnTrackingNwProtoMasked{OxmId: parent}
+ return _oxmidconntrackingnwprotomasked, nil
+}
+
+func NewOxmIdConnTrackingNwProtoMasked() *OxmIdConnTrackingNwProtoMasked {
+ obj := &OxmIdConnTrackingNwProtoMasked{
+ OxmId: NewOxmId(126722),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingNwProtoMasked) GetOXMName() string {
+ return "conn_tracking_nw_proto_masked"
+}
+
+func (self *OxmIdConnTrackingNwProtoMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingNwSrc struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingNwSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingNwSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingNwSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingNwSrc, error) {
+ _oxmidconntrackingnwsrc := &OxmIdConnTrackingNwSrc{OxmId: parent}
+ return _oxmidconntrackingnwsrc, nil
+}
+
+func NewOxmIdConnTrackingNwSrc() *OxmIdConnTrackingNwSrc {
+ obj := &OxmIdConnTrackingNwSrc{
+ OxmId: NewOxmId(126980),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingNwSrc) GetOXMName() string {
+ return "conn_tracking_nw_src"
+}
+
+func (self *OxmIdConnTrackingNwSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingNwSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingNwSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingNwSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingNwSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingNwSrcMasked, error) {
+ _oxmidconntrackingnwsrcmasked := &OxmIdConnTrackingNwSrcMasked{OxmId: parent}
+ return _oxmidconntrackingnwsrcmasked, nil
+}
+
+func NewOxmIdConnTrackingNwSrcMasked() *OxmIdConnTrackingNwSrcMasked {
+ obj := &OxmIdConnTrackingNwSrcMasked{
+ OxmId: NewOxmId(127240),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingNwSrcMasked) GetOXMName() string {
+ return "conn_tracking_nw_src_masked"
+}
+
+func (self *OxmIdConnTrackingNwSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingState struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingState interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingState) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingState(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingState, error) {
+ _oxmidconntrackingstate := &OxmIdConnTrackingState{OxmId: parent}
+ return _oxmidconntrackingstate, nil
+}
+
+func NewOxmIdConnTrackingState() *OxmIdConnTrackingState {
+ obj := &OxmIdConnTrackingState{
+ OxmId: NewOxmId(119300),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingState) GetOXMName() string {
+ return "conn_tracking_state"
+}
+
+func (self *OxmIdConnTrackingState) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingStateMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingStateMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingStateMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingStateMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingStateMasked, error) {
+ _oxmidconntrackingstatemasked := &OxmIdConnTrackingStateMasked{OxmId: parent}
+ return _oxmidconntrackingstatemasked, nil
+}
+
+func NewOxmIdConnTrackingStateMasked() *OxmIdConnTrackingStateMasked {
+ obj := &OxmIdConnTrackingStateMasked{
+ OxmId: NewOxmId(119560),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingStateMasked) GetOXMName() string {
+ return "conn_tracking_state_masked"
+}
+
+func (self *OxmIdConnTrackingStateMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingTpDst struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingTpDst interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingTpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingTpDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingTpDst, error) {
+ _oxmidconntrackingtpdst := &OxmIdConnTrackingTpDst{OxmId: parent}
+ return _oxmidconntrackingtpdst, nil
+}
+
+func NewOxmIdConnTrackingTpDst() *OxmIdConnTrackingTpDst {
+ obj := &OxmIdConnTrackingTpDst{
+ OxmId: NewOxmId(129538),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingTpDst) GetOXMName() string {
+ return "conn_tracking_tp_dst"
+}
+
+func (self *OxmIdConnTrackingTpDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingTpDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingTpDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingTpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingTpDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingTpDstMasked, error) {
+ _oxmidconntrackingtpdstmasked := &OxmIdConnTrackingTpDstMasked{OxmId: parent}
+ return _oxmidconntrackingtpdstmasked, nil
+}
+
+func NewOxmIdConnTrackingTpDstMasked() *OxmIdConnTrackingTpDstMasked {
+ obj := &OxmIdConnTrackingTpDstMasked{
+ OxmId: NewOxmId(129796),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingTpDstMasked) GetOXMName() string {
+ return "conn_tracking_tp_dst_masked"
+}
+
+func (self *OxmIdConnTrackingTpDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingTpSrc struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingTpSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingTpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingTpSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingTpSrc, error) {
+ _oxmidconntrackingtpsrc := &OxmIdConnTrackingTpSrc{OxmId: parent}
+ return _oxmidconntrackingtpsrc, nil
+}
+
+func NewOxmIdConnTrackingTpSrc() *OxmIdConnTrackingTpSrc {
+ obj := &OxmIdConnTrackingTpSrc{
+ OxmId: NewOxmId(129026),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingTpSrc) GetOXMName() string {
+ return "conn_tracking_tp_src"
+}
+
+func (self *OxmIdConnTrackingTpSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingTpSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingTpSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingTpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingTpSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingTpSrcMasked, error) {
+ _oxmidconntrackingtpsrcmasked := &OxmIdConnTrackingTpSrcMasked{OxmId: parent}
+ return _oxmidconntrackingtpsrcmasked, nil
+}
+
+func NewOxmIdConnTrackingTpSrcMasked() *OxmIdConnTrackingTpSrcMasked {
+ obj := &OxmIdConnTrackingTpSrcMasked{
+ OxmId: NewOxmId(129284),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingTpSrcMasked) GetOXMName() string {
+ return "conn_tracking_tp_src_masked"
+}
+
+func (self *OxmIdConnTrackingTpSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingZone struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingZone interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingZone) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingZone(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingZone, error) {
+ _oxmidconntrackingzone := &OxmIdConnTrackingZone{OxmId: parent}
+ return _oxmidconntrackingzone, nil
+}
+
+func NewOxmIdConnTrackingZone() *OxmIdConnTrackingZone {
+ obj := &OxmIdConnTrackingZone{
+ OxmId: NewOxmId(119810),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingZone) GetOXMName() string {
+ return "conn_tracking_zone"
+}
+
+func (self *OxmIdConnTrackingZone) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdConnTrackingZoneMasked struct {
+ *OxmId
+}
+
+type IOxmIdConnTrackingZoneMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdConnTrackingZoneMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdConnTrackingZoneMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdConnTrackingZoneMasked, error) {
+ _oxmidconntrackingzonemasked := &OxmIdConnTrackingZoneMasked{OxmId: parent}
+ return _oxmidconntrackingzonemasked, nil
+}
+
+func NewOxmIdConnTrackingZoneMasked() *OxmIdConnTrackingZoneMasked {
+ obj := &OxmIdConnTrackingZoneMasked{
+ OxmId: NewOxmId(120068),
+ }
+ return obj
+}
+func (self *OxmIdConnTrackingZoneMasked) GetOXMName() string {
+ return "conn_tracking_zone_masked"
+}
+
+func (self *OxmIdConnTrackingZoneMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdEthTypeMasked struct {
+ *OxmId
+}
+
+type IOxmIdEthTypeMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdEthTypeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdEthTypeMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdEthTypeMasked, error) {
+ _oxmidethtypemasked := &OxmIdEthTypeMasked{OxmId: parent}
+ return _oxmidethtypemasked, nil
+}
+
+func NewOxmIdEthTypeMasked() *OxmIdEthTypeMasked {
+ obj := &OxmIdEthTypeMasked{
+ OxmId: NewOxmId(2147486468),
+ }
+ return obj
+}
+func (self *OxmIdEthTypeMasked) GetOXMName() string {
+ return "eth_type_masked"
+}
+
+func (self *OxmIdEthTypeMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpv4Code struct {
+ *OxmId
+}
+
+type IOxmIdIcmpv4Code interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpv4Code) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpv4Code(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpv4Code, error) {
+ _oxmidicmpv4code := &OxmIdIcmpv4Code{OxmId: parent}
+ return _oxmidicmpv4code, nil
+}
+
+func NewOxmIdIcmpv4Code() *OxmIdIcmpv4Code {
+ obj := &OxmIdIcmpv4Code{
+ OxmId: NewOxmId(2147493889),
+ }
+ return obj
+}
+func (self *OxmIdIcmpv4Code) GetOXMName() string {
+ return "icmpv4_code"
+}
+
+func (self *OxmIdIcmpv4Code) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpv4CodeMasked struct {
+ *OxmId
+}
+
+type IOxmIdIcmpv4CodeMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpv4CodeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpv4CodeMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpv4CodeMasked, error) {
+ _oxmidicmpv4codemasked := &OxmIdIcmpv4CodeMasked{OxmId: parent}
+ return _oxmidicmpv4codemasked, nil
+}
+
+func NewOxmIdIcmpv4CodeMasked() *OxmIdIcmpv4CodeMasked {
+ obj := &OxmIdIcmpv4CodeMasked{
+ OxmId: NewOxmId(2147494146),
+ }
+ return obj
+}
+func (self *OxmIdIcmpv4CodeMasked) GetOXMName() string {
+ return "icmpv4_code_masked"
+}
+
+func (self *OxmIdIcmpv4CodeMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpv4Type struct {
+ *OxmId
+}
+
+type IOxmIdIcmpv4Type interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpv4Type) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpv4Type(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpv4Type, error) {
+ _oxmidicmpv4type := &OxmIdIcmpv4Type{OxmId: parent}
+ return _oxmidicmpv4type, nil
+}
+
+func NewOxmIdIcmpv4Type() *OxmIdIcmpv4Type {
+ obj := &OxmIdIcmpv4Type{
+ OxmId: NewOxmId(2147493377),
+ }
+ return obj
+}
+func (self *OxmIdIcmpv4Type) GetOXMName() string {
+ return "icmpv4_type"
+}
+
+func (self *OxmIdIcmpv4Type) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpv4TypeMasked struct {
+ *OxmId
+}
+
+type IOxmIdIcmpv4TypeMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpv4TypeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpv4TypeMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpv4TypeMasked, error) {
+ _oxmidicmpv4typemasked := &OxmIdIcmpv4TypeMasked{OxmId: parent}
+ return _oxmidicmpv4typemasked, nil
+}
+
+func NewOxmIdIcmpv4TypeMasked() *OxmIdIcmpv4TypeMasked {
+ obj := &OxmIdIcmpv4TypeMasked{
+ OxmId: NewOxmId(2147493634),
+ }
+ return obj
+}
+func (self *OxmIdIcmpv4TypeMasked) GetOXMName() string {
+ return "icmpv4_type_masked"
+}
+
+func (self *OxmIdIcmpv4TypeMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpv6CodeMasked struct {
+ *OxmId
+}
+
+type IOxmIdIcmpv6CodeMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpv6CodeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpv6CodeMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpv6CodeMasked, error) {
+ _oxmidicmpv6codemasked := &OxmIdIcmpv6CodeMasked{OxmId: parent}
+ return _oxmidicmpv6codemasked, nil
+}
+
+func NewOxmIdIcmpv6CodeMasked() *OxmIdIcmpv6CodeMasked {
+ obj := &OxmIdIcmpv6CodeMasked{
+ OxmId: NewOxmId(2147499266),
+ }
+ return obj
+}
+func (self *OxmIdIcmpv6CodeMasked) GetOXMName() string {
+ return "icmpv6_code_masked"
+}
+
+func (self *OxmIdIcmpv6CodeMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIcmpv6TypeMasked struct {
+ *OxmId
+}
+
+type IOxmIdIcmpv6TypeMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIcmpv6TypeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIcmpv6TypeMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIcmpv6TypeMasked, error) {
+ _oxmidicmpv6typemasked := &OxmIdIcmpv6TypeMasked{OxmId: parent}
+ return _oxmidicmpv6typemasked, nil
+}
+
+func NewOxmIdIcmpv6TypeMasked() *OxmIdIcmpv6TypeMasked {
+ obj := &OxmIdIcmpv6TypeMasked{
+ OxmId: NewOxmId(2147498754),
+ }
+ return obj
+}
+func (self *OxmIdIcmpv6TypeMasked) GetOXMName() string {
+ return "icmpv6_type_masked"
+}
+
+func (self *OxmIdIcmpv6TypeMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdInPhyPort struct {
+ *OxmId
+}
+
+type IOxmIdInPhyPort interface {
+ IOxmId
+}
+
+func (self *OxmIdInPhyPort) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdInPhyPort(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdInPhyPort, error) {
+ _oxmidinphyport := &OxmIdInPhyPort{OxmId: parent}
+ return _oxmidinphyport, nil
+}
+
+func NewOxmIdInPhyPort() *OxmIdInPhyPort {
+ obj := &OxmIdInPhyPort{
+ OxmId: NewOxmId(2147484164),
+ }
+ return obj
+}
+func (self *OxmIdInPhyPort) GetOXMName() string {
+ return "in_phy_port"
+}
+
+func (self *OxmIdInPhyPort) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdInPhyPortMasked struct {
+ *OxmId
+}
+
+type IOxmIdInPhyPortMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdInPhyPortMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdInPhyPortMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdInPhyPortMasked, error) {
+ _oxmidinphyportmasked := &OxmIdInPhyPortMasked{OxmId: parent}
+ return _oxmidinphyportmasked, nil
+}
+
+func NewOxmIdInPhyPortMasked() *OxmIdInPhyPortMasked {
+ obj := &OxmIdInPhyPortMasked{
+ OxmId: NewOxmId(2147484424),
+ }
+ return obj
+}
+func (self *OxmIdInPhyPortMasked) GetOXMName() string {
+ return "in_phy_port_masked"
+}
+
+func (self *OxmIdInPhyPortMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdInPortMasked struct {
+ *OxmId
+}
+
+type IOxmIdInPortMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdInPortMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdInPortMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdInPortMasked, error) {
+ _oxmidinportmasked := &OxmIdInPortMasked{OxmId: parent}
+ return _oxmidinportmasked, nil
+}
+
+func NewOxmIdInPortMasked() *OxmIdInPortMasked {
+ obj := &OxmIdInPortMasked{
+ OxmId: NewOxmId(2147483912),
+ }
+ return obj
+}
+func (self *OxmIdInPortMasked) GetOXMName() string {
+ return "in_port_masked"
+}
+
+func (self *OxmIdInPortMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpDscp struct {
+ *OxmId
+}
+
+type IOxmIdIpDscp interface {
+ IOxmId
+}
+
+func (self *OxmIdIpDscp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpDscp(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpDscp, error) {
+ _oxmidipdscp := &OxmIdIpDscp{OxmId: parent}
+ return _oxmidipdscp, nil
+}
+
+func NewOxmIdIpDscp() *OxmIdIpDscp {
+ obj := &OxmIdIpDscp{
+ OxmId: NewOxmId(2147487745),
+ }
+ return obj
+}
+func (self *OxmIdIpDscp) GetOXMName() string {
+ return "ip_dscp"
+}
+
+func (self *OxmIdIpDscp) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpDscpMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpDscpMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpDscpMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpDscpMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpDscpMasked, error) {
+ _oxmidipdscpmasked := &OxmIdIpDscpMasked{OxmId: parent}
+ return _oxmidipdscpmasked, nil
+}
+
+func NewOxmIdIpDscpMasked() *OxmIdIpDscpMasked {
+ obj := &OxmIdIpDscpMasked{
+ OxmId: NewOxmId(2147488002),
+ }
+ return obj
+}
+func (self *OxmIdIpDscpMasked) GetOXMName() string {
+ return "ip_dscp_masked"
+}
+
+func (self *OxmIdIpDscpMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpEcn struct {
+ *OxmId
+}
+
+type IOxmIdIpEcn interface {
+ IOxmId
+}
+
+func (self *OxmIdIpEcn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpEcn(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpEcn, error) {
+ _oxmidipecn := &OxmIdIpEcn{OxmId: parent}
+ return _oxmidipecn, nil
+}
+
+func NewOxmIdIpEcn() *OxmIdIpEcn {
+ obj := &OxmIdIpEcn{
+ OxmId: NewOxmId(2147488257),
+ }
+ return obj
+}
+func (self *OxmIdIpEcn) GetOXMName() string {
+ return "ip_ecn"
+}
+
+func (self *OxmIdIpEcn) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpEcnMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpEcnMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpEcnMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpEcnMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpEcnMasked, error) {
+ _oxmidipecnmasked := &OxmIdIpEcnMasked{OxmId: parent}
+ return _oxmidipecnmasked, nil
+}
+
+func NewOxmIdIpEcnMasked() *OxmIdIpEcnMasked {
+ obj := &OxmIdIpEcnMasked{
+ OxmId: NewOxmId(2147488514),
+ }
+ return obj
+}
+func (self *OxmIdIpEcnMasked) GetOXMName() string {
+ return "ip_ecn_masked"
+}
+
+func (self *OxmIdIpEcnMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpProto struct {
+ *OxmId
+}
+
+type IOxmIdIpProto interface {
+ IOxmId
+}
+
+func (self *OxmIdIpProto) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpProto(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpProto, error) {
+ _oxmidipproto := &OxmIdIpProto{OxmId: parent}
+ return _oxmidipproto, nil
+}
+
+func NewOxmIdIpProto() *OxmIdIpProto {
+ obj := &OxmIdIpProto{
+ OxmId: NewOxmId(2147488769),
+ }
+ return obj
+}
+func (self *OxmIdIpProto) GetOXMName() string {
+ return "ip_proto"
+}
+
+func (self *OxmIdIpProto) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpProtoMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpProtoMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpProtoMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpProtoMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpProtoMasked, error) {
+ _oxmidipprotomasked := &OxmIdIpProtoMasked{OxmId: parent}
+ return _oxmidipprotomasked, nil
+}
+
+func NewOxmIdIpProtoMasked() *OxmIdIpProtoMasked {
+ obj := &OxmIdIpProtoMasked{
+ OxmId: NewOxmId(2147489026),
+ }
+ return obj
+}
+func (self *OxmIdIpProtoMasked) GetOXMName() string {
+ return "ip_proto_masked"
+}
+
+func (self *OxmIdIpProtoMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv4Dst struct {
+ *OxmId
+}
+
+type IOxmIdIpv4Dst interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv4Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv4Dst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv4Dst, error) {
+ _oxmidipv4dst := &OxmIdIpv4Dst{OxmId: parent}
+ return _oxmidipv4dst, nil
+}
+
+func NewOxmIdIpv4Dst() *OxmIdIpv4Dst {
+ obj := &OxmIdIpv4Dst{
+ OxmId: NewOxmId(2147489796),
+ }
+ return obj
+}
+func (self *OxmIdIpv4Dst) GetOXMName() string {
+ return "ipv4_dst"
+}
+
+func (self *OxmIdIpv4Dst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv4DstMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv4DstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv4DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv4DstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv4DstMasked, error) {
+ _oxmidipv4dstmasked := &OxmIdIpv4DstMasked{OxmId: parent}
+ return _oxmidipv4dstmasked, nil
+}
+
+func NewOxmIdIpv4DstMasked() *OxmIdIpv4DstMasked {
+ obj := &OxmIdIpv4DstMasked{
+ OxmId: NewOxmId(2147490056),
+ }
+ return obj
+}
+func (self *OxmIdIpv4DstMasked) GetOXMName() string {
+ return "ipv4_dst_masked"
+}
+
+func (self *OxmIdIpv4DstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv4Src struct {
+ *OxmId
+}
+
+type IOxmIdIpv4Src interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv4Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv4Src(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv4Src, error) {
+ _oxmidipv4src := &OxmIdIpv4Src{OxmId: parent}
+ return _oxmidipv4src, nil
+}
+
+func NewOxmIdIpv4Src() *OxmIdIpv4Src {
+ obj := &OxmIdIpv4Src{
+ OxmId: NewOxmId(2147489284),
+ }
+ return obj
+}
+func (self *OxmIdIpv4Src) GetOXMName() string {
+ return "ipv4_src"
+}
+
+func (self *OxmIdIpv4Src) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv4SrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv4SrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv4SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv4SrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv4SrcMasked, error) {
+ _oxmidipv4srcmasked := &OxmIdIpv4SrcMasked{OxmId: parent}
+ return _oxmidipv4srcmasked, nil
+}
+
+func NewOxmIdIpv4SrcMasked() *OxmIdIpv4SrcMasked {
+ obj := &OxmIdIpv4SrcMasked{
+ OxmId: NewOxmId(2147489544),
+ }
+ return obj
+}
+func (self *OxmIdIpv4SrcMasked) GetOXMName() string {
+ return "ipv4_src_masked"
+}
+
+func (self *OxmIdIpv4SrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6Exthdr struct {
+ *OxmId
+}
+
+type IOxmIdIpv6Exthdr interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6Exthdr) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6Exthdr(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6Exthdr, error) {
+ _oxmidipv6exthdr := &OxmIdIpv6Exthdr{OxmId: parent}
+ return _oxmidipv6exthdr, nil
+}
+
+func NewOxmIdIpv6Exthdr() *OxmIdIpv6Exthdr {
+ obj := &OxmIdIpv6Exthdr{
+ OxmId: NewOxmId(2147503618),
+ }
+ return obj
+}
+func (self *OxmIdIpv6Exthdr) GetOXMName() string {
+ return "ipv6_exthdr"
+}
+
+func (self *OxmIdIpv6Exthdr) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6ExthdrMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv6ExthdrMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6ExthdrMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6ExthdrMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6ExthdrMasked, error) {
+ _oxmidipv6exthdrmasked := &OxmIdIpv6ExthdrMasked{OxmId: parent}
+ return _oxmidipv6exthdrmasked, nil
+}
+
+func NewOxmIdIpv6ExthdrMasked() *OxmIdIpv6ExthdrMasked {
+ obj := &OxmIdIpv6ExthdrMasked{
+ OxmId: NewOxmId(2147503876),
+ }
+ return obj
+}
+func (self *OxmIdIpv6ExthdrMasked) GetOXMName() string {
+ return "ipv6_exthdr_masked"
+}
+
+func (self *OxmIdIpv6ExthdrMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6Flabel struct {
+ *OxmId
+}
+
+type IOxmIdIpv6Flabel interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6Flabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6Flabel(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6Flabel, error) {
+ _oxmidipv6flabel := &OxmIdIpv6Flabel{OxmId: parent}
+ return _oxmidipv6flabel, nil
+}
+
+func NewOxmIdIpv6Flabel() *OxmIdIpv6Flabel {
+ obj := &OxmIdIpv6Flabel{
+ OxmId: NewOxmId(2147497988),
+ }
+ return obj
+}
+func (self *OxmIdIpv6Flabel) GetOXMName() string {
+ return "ipv6_flabel"
+}
+
+func (self *OxmIdIpv6Flabel) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6FlabelMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv6FlabelMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6FlabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6FlabelMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6FlabelMasked, error) {
+ _oxmidipv6flabelmasked := &OxmIdIpv6FlabelMasked{OxmId: parent}
+ return _oxmidipv6flabelmasked, nil
+}
+
+func NewOxmIdIpv6FlabelMasked() *OxmIdIpv6FlabelMasked {
+ obj := &OxmIdIpv6FlabelMasked{
+ OxmId: NewOxmId(2147498248),
+ }
+ return obj
+}
+func (self *OxmIdIpv6FlabelMasked) GetOXMName() string {
+ return "ipv6_flabel_masked"
+}
+
+func (self *OxmIdIpv6FlabelMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6NdSll struct {
+ *OxmId
+}
+
+type IOxmIdIpv6NdSll interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6NdSll) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6NdSll(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6NdSll, error) {
+ _oxmidipv6ndsll := &OxmIdIpv6NdSll{OxmId: parent}
+ return _oxmidipv6ndsll, nil
+}
+
+func NewOxmIdIpv6NdSll() *OxmIdIpv6NdSll {
+ obj := &OxmIdIpv6NdSll{
+ OxmId: NewOxmId(2147500038),
+ }
+ return obj
+}
+func (self *OxmIdIpv6NdSll) GetOXMName() string {
+ return "ipv6_nd_sll"
+}
+
+func (self *OxmIdIpv6NdSll) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6NdSllMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv6NdSllMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6NdSllMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6NdSllMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6NdSllMasked, error) {
+ _oxmidipv6ndsllmasked := &OxmIdIpv6NdSllMasked{OxmId: parent}
+ return _oxmidipv6ndsllmasked, nil
+}
+
+func NewOxmIdIpv6NdSllMasked() *OxmIdIpv6NdSllMasked {
+ obj := &OxmIdIpv6NdSllMasked{
+ OxmId: NewOxmId(2147500300),
+ }
+ return obj
+}
+func (self *OxmIdIpv6NdSllMasked) GetOXMName() string {
+ return "ipv6_nd_sll_masked"
+}
+
+func (self *OxmIdIpv6NdSllMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6NdTarget struct {
+ *OxmId
+}
+
+type IOxmIdIpv6NdTarget interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6NdTarget) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6NdTarget(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6NdTarget, error) {
+ _oxmidipv6ndtarget := &OxmIdIpv6NdTarget{OxmId: parent}
+ return _oxmidipv6ndtarget, nil
+}
+
+func NewOxmIdIpv6NdTarget() *OxmIdIpv6NdTarget {
+ obj := &OxmIdIpv6NdTarget{
+ OxmId: NewOxmId(2147499536),
+ }
+ return obj
+}
+func (self *OxmIdIpv6NdTarget) GetOXMName() string {
+ return "ipv6_nd_target"
+}
+
+func (self *OxmIdIpv6NdTarget) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6NdTargetMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv6NdTargetMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6NdTargetMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6NdTargetMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6NdTargetMasked, error) {
+ _oxmidipv6ndtargetmasked := &OxmIdIpv6NdTargetMasked{OxmId: parent}
+ return _oxmidipv6ndtargetmasked, nil
+}
+
+func NewOxmIdIpv6NdTargetMasked() *OxmIdIpv6NdTargetMasked {
+ obj := &OxmIdIpv6NdTargetMasked{
+ OxmId: NewOxmId(2147499808),
+ }
+ return obj
+}
+func (self *OxmIdIpv6NdTargetMasked) GetOXMName() string {
+ return "ipv6_nd_target_masked"
+}
+
+func (self *OxmIdIpv6NdTargetMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6NdTll struct {
+ *OxmId
+}
+
+type IOxmIdIpv6NdTll interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6NdTll) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6NdTll(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6NdTll, error) {
+ _oxmidipv6ndtll := &OxmIdIpv6NdTll{OxmId: parent}
+ return _oxmidipv6ndtll, nil
+}
+
+func NewOxmIdIpv6NdTll() *OxmIdIpv6NdTll {
+ obj := &OxmIdIpv6NdTll{
+ OxmId: NewOxmId(2147500550),
+ }
+ return obj
+}
+func (self *OxmIdIpv6NdTll) GetOXMName() string {
+ return "ipv6_nd_tll"
+}
+
+func (self *OxmIdIpv6NdTll) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdIpv6NdTllMasked struct {
+ *OxmId
+}
+
+type IOxmIdIpv6NdTllMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdIpv6NdTllMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdIpv6NdTllMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdIpv6NdTllMasked, error) {
+ _oxmidipv6ndtllmasked := &OxmIdIpv6NdTllMasked{OxmId: parent}
+ return _oxmidipv6ndtllmasked, nil
+}
+
+func NewOxmIdIpv6NdTllMasked() *OxmIdIpv6NdTllMasked {
+ obj := &OxmIdIpv6NdTllMasked{
+ OxmId: NewOxmId(2147500812),
+ }
+ return obj
+}
+func (self *OxmIdIpv6NdTllMasked) GetOXMName() string {
+ return "ipv6_nd_tll_masked"
+}
+
+func (self *OxmIdIpv6NdTllMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdMetadata struct {
+ *OxmId
+}
+
+type IOxmIdMetadata interface {
+ IOxmId
+}
+
+func (self *OxmIdMetadata) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdMetadata(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdMetadata, error) {
+ _oxmidmetadata := &OxmIdMetadata{OxmId: parent}
+ return _oxmidmetadata, nil
+}
+
+func NewOxmIdMetadata() *OxmIdMetadata {
+ obj := &OxmIdMetadata{
+ OxmId: NewOxmId(2147484680),
+ }
+ return obj
+}
+func (self *OxmIdMetadata) GetOXMName() string {
+ return "metadata"
+}
+
+func (self *OxmIdMetadata) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdMetadataMasked struct {
+ *OxmId
+}
+
+type IOxmIdMetadataMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdMetadataMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdMetadataMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdMetadataMasked, error) {
+ _oxmidmetadatamasked := &OxmIdMetadataMasked{OxmId: parent}
+ return _oxmidmetadatamasked, nil
+}
+
+func NewOxmIdMetadataMasked() *OxmIdMetadataMasked {
+ obj := &OxmIdMetadataMasked{
+ OxmId: NewOxmId(2147484944),
+ }
+ return obj
+}
+func (self *OxmIdMetadataMasked) GetOXMName() string {
+ return "metadata_masked"
+}
+
+func (self *OxmIdMetadataMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdMplsBos struct {
+ *OxmId
+}
+
+type IOxmIdMplsBos interface {
+ IOxmId
+}
+
+func (self *OxmIdMplsBos) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdMplsBos(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdMplsBos, error) {
+ _oxmidmplsbos := &OxmIdMplsBos{OxmId: parent}
+ return _oxmidmplsbos, nil
+}
+
+func NewOxmIdMplsBos() *OxmIdMplsBos {
+ obj := &OxmIdMplsBos{
+ OxmId: NewOxmId(2147502081),
+ }
+ return obj
+}
+func (self *OxmIdMplsBos) GetOXMName() string {
+ return "mpls_bos"
+}
+
+func (self *OxmIdMplsBos) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdMplsBosMasked struct {
+ *OxmId
+}
+
+type IOxmIdMplsBosMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdMplsBosMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdMplsBosMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdMplsBosMasked, error) {
+ _oxmidmplsbosmasked := &OxmIdMplsBosMasked{OxmId: parent}
+ return _oxmidmplsbosmasked, nil
+}
+
+func NewOxmIdMplsBosMasked() *OxmIdMplsBosMasked {
+ obj := &OxmIdMplsBosMasked{
+ OxmId: NewOxmId(2147502338),
+ }
+ return obj
+}
+func (self *OxmIdMplsBosMasked) GetOXMName() string {
+ return "mpls_bos_masked"
+}
+
+func (self *OxmIdMplsBosMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdMplsLabel struct {
+ *OxmId
+}
+
+type IOxmIdMplsLabel interface {
+ IOxmId
+}
+
+func (self *OxmIdMplsLabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdMplsLabel(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdMplsLabel, error) {
+ _oxmidmplslabel := &OxmIdMplsLabel{OxmId: parent}
+ return _oxmidmplslabel, nil
+}
+
+func NewOxmIdMplsLabel() *OxmIdMplsLabel {
+ obj := &OxmIdMplsLabel{
+ OxmId: NewOxmId(2147501060),
+ }
+ return obj
+}
+func (self *OxmIdMplsLabel) GetOXMName() string {
+ return "mpls_label"
+}
+
+func (self *OxmIdMplsLabel) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdMplsLabelMasked struct {
+ *OxmId
+}
+
+type IOxmIdMplsLabelMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdMplsLabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdMplsLabelMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdMplsLabelMasked, error) {
+ _oxmidmplslabelmasked := &OxmIdMplsLabelMasked{OxmId: parent}
+ return _oxmidmplslabelmasked, nil
+}
+
+func NewOxmIdMplsLabelMasked() *OxmIdMplsLabelMasked {
+ obj := &OxmIdMplsLabelMasked{
+ OxmId: NewOxmId(2147501320),
+ }
+ return obj
+}
+func (self *OxmIdMplsLabelMasked) GetOXMName() string {
+ return "mpls_label_masked"
+}
+
+func (self *OxmIdMplsLabelMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdMplsTc struct {
+ *OxmId
+}
+
+type IOxmIdMplsTc interface {
+ IOxmId
+}
+
+func (self *OxmIdMplsTc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdMplsTc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdMplsTc, error) {
+ _oxmidmplstc := &OxmIdMplsTc{OxmId: parent}
+ return _oxmidmplstc, nil
+}
+
+func NewOxmIdMplsTc() *OxmIdMplsTc {
+ obj := &OxmIdMplsTc{
+ OxmId: NewOxmId(2147501569),
+ }
+ return obj
+}
+func (self *OxmIdMplsTc) GetOXMName() string {
+ return "mpls_tc"
+}
+
+func (self *OxmIdMplsTc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdMplsTcMasked struct {
+ *OxmId
+}
+
+type IOxmIdMplsTcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdMplsTcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdMplsTcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdMplsTcMasked, error) {
+ _oxmidmplstcmasked := &OxmIdMplsTcMasked{OxmId: parent}
+ return _oxmidmplstcmasked, nil
+}
+
+func NewOxmIdMplsTcMasked() *OxmIdMplsTcMasked {
+ obj := &OxmIdMplsTcMasked{
+ OxmId: NewOxmId(2147501826),
+ }
+ return obj
+}
+func (self *OxmIdMplsTcMasked) GetOXMName() string {
+ return "mpls_tc_masked"
+}
+
+func (self *OxmIdMplsTcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdOvsTcpFlags struct {
+ *OxmId
+ ExperimenterId uint32
+}
+
+type IOxmIdOvsTcpFlags interface {
+ IOxmId
+ GetExperimenterId() uint32
+}
+
+func (self *OxmIdOvsTcpFlags) GetExperimenterId() uint32 {
+ return self.ExperimenterId
+}
+
+func (self *OxmIdOvsTcpFlags) SetExperimenterId(v uint32) {
+ self.ExperimenterId = v
+}
+
+func (self *OxmIdOvsTcpFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.ExperimenterId))
+
+ return nil
+}
+
+func DecodeOxmIdOvsTcpFlags(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdOvsTcpFlags, error) {
+ _oxmidovstcpflags := &OxmIdOvsTcpFlags{OxmId: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmIdOvsTcpFlags packet too short: %d < 4", decoder.Length())
+ }
+ _oxmidovstcpflags.ExperimenterId = uint32(decoder.ReadUint32())
+ return _oxmidovstcpflags, nil
+}
+
+func NewOxmIdOvsTcpFlags() *OxmIdOvsTcpFlags {
+ obj := &OxmIdOvsTcpFlags{
+ OxmId: NewOxmId(4294923270),
+ }
+ return obj
+}
+func (self *OxmIdOvsTcpFlags) GetOXMName() string {
+ return "ovs_tcp_flags"
+}
+
+func (self *OxmIdOvsTcpFlags) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdOvsTcpFlagsMasked struct {
+ *OxmId
+ ExperimenterId uint32
+}
+
+type IOxmIdOvsTcpFlagsMasked interface {
+ IOxmId
+ GetExperimenterId() uint32
+}
+
+func (self *OxmIdOvsTcpFlagsMasked) GetExperimenterId() uint32 {
+ return self.ExperimenterId
+}
+
+func (self *OxmIdOvsTcpFlagsMasked) SetExperimenterId(v uint32) {
+ self.ExperimenterId = v
+}
+
+func (self *OxmIdOvsTcpFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.ExperimenterId))
+
+ return nil
+}
+
+func DecodeOxmIdOvsTcpFlagsMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdOvsTcpFlagsMasked, error) {
+ _oxmidovstcpflagsmasked := &OxmIdOvsTcpFlagsMasked{OxmId: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmIdOvsTcpFlagsMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmidovstcpflagsmasked.ExperimenterId = uint32(decoder.ReadUint32())
+ return _oxmidovstcpflagsmasked, nil
+}
+
+func NewOxmIdOvsTcpFlagsMasked() *OxmIdOvsTcpFlagsMasked {
+ obj := &OxmIdOvsTcpFlagsMasked{
+ OxmId: NewOxmId(4294923528),
+ }
+ return obj
+}
+func (self *OxmIdOvsTcpFlagsMasked) GetOXMName() string {
+ return "ovs_tcp_flags_masked"
+}
+
+func (self *OxmIdOvsTcpFlagsMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdSctpDst struct {
+ *OxmId
+}
+
+type IOxmIdSctpDst interface {
+ IOxmId
+}
+
+func (self *OxmIdSctpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdSctpDst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdSctpDst, error) {
+ _oxmidsctpdst := &OxmIdSctpDst{OxmId: parent}
+ return _oxmidsctpdst, nil
+}
+
+func NewOxmIdSctpDst() *OxmIdSctpDst {
+ obj := &OxmIdSctpDst{
+ OxmId: NewOxmId(2147492866),
+ }
+ return obj
+}
+func (self *OxmIdSctpDst) GetOXMName() string {
+ return "sctp_dst"
+}
+
+func (self *OxmIdSctpDst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdSctpDstMasked struct {
+ *OxmId
+}
+
+type IOxmIdSctpDstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdSctpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdSctpDstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdSctpDstMasked, error) {
+ _oxmidsctpdstmasked := &OxmIdSctpDstMasked{OxmId: parent}
+ return _oxmidsctpdstmasked, nil
+}
+
+func NewOxmIdSctpDstMasked() *OxmIdSctpDstMasked {
+ obj := &OxmIdSctpDstMasked{
+ OxmId: NewOxmId(2147493124),
+ }
+ return obj
+}
+func (self *OxmIdSctpDstMasked) GetOXMName() string {
+ return "sctp_dst_masked"
+}
+
+func (self *OxmIdSctpDstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdSctpSrc struct {
+ *OxmId
+}
+
+type IOxmIdSctpSrc interface {
+ IOxmId
+}
+
+func (self *OxmIdSctpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdSctpSrc(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdSctpSrc, error) {
+ _oxmidsctpsrc := &OxmIdSctpSrc{OxmId: parent}
+ return _oxmidsctpsrc, nil
+}
+
+func NewOxmIdSctpSrc() *OxmIdSctpSrc {
+ obj := &OxmIdSctpSrc{
+ OxmId: NewOxmId(2147492354),
+ }
+ return obj
+}
+func (self *OxmIdSctpSrc) GetOXMName() string {
+ return "sctp_src"
+}
+
+func (self *OxmIdSctpSrc) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdSctpSrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdSctpSrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdSctpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdSctpSrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdSctpSrcMasked, error) {
+ _oxmidsctpsrcmasked := &OxmIdSctpSrcMasked{OxmId: parent}
+ return _oxmidsctpsrcmasked, nil
+}
+
+func NewOxmIdSctpSrcMasked() *OxmIdSctpSrcMasked {
+ obj := &OxmIdSctpSrcMasked{
+ OxmId: NewOxmId(2147492612),
+ }
+ return obj
+}
+func (self *OxmIdSctpSrcMasked) GetOXMName() string {
+ return "sctp_src_masked"
+}
+
+func (self *OxmIdSctpSrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunnelId struct {
+ *OxmId
+}
+
+type IOxmIdTunnelId interface {
+ IOxmId
+}
+
+func (self *OxmIdTunnelId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunnelId(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunnelId, error) {
+ _oxmidtunnelid := &OxmIdTunnelId{OxmId: parent}
+ return _oxmidtunnelid, nil
+}
+
+func NewOxmIdTunnelId() *OxmIdTunnelId {
+ obj := &OxmIdTunnelId{
+ OxmId: NewOxmId(2147503112),
+ }
+ return obj
+}
+func (self *OxmIdTunnelId) GetOXMName() string {
+ return "tunnel_id"
+}
+
+func (self *OxmIdTunnelId) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunnelIdMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunnelIdMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunnelIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunnelIdMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunnelIdMasked, error) {
+ _oxmidtunnelidmasked := &OxmIdTunnelIdMasked{OxmId: parent}
+ return _oxmidtunnelidmasked, nil
+}
+
+func NewOxmIdTunnelIdMasked() *OxmIdTunnelIdMasked {
+ obj := &OxmIdTunnelIdMasked{
+ OxmId: NewOxmId(2147503376),
+ }
+ return obj
+}
+func (self *OxmIdTunnelIdMasked) GetOXMName() string {
+ return "tunnel_id_masked"
+}
+
+func (self *OxmIdTunnelIdMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunnelIpv4Dst struct {
+ *OxmId
+}
+
+type IOxmIdTunnelIpv4Dst interface {
+ IOxmId
+}
+
+func (self *OxmIdTunnelIpv4Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunnelIpv4Dst(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunnelIpv4Dst, error) {
+ _oxmidtunnelipv4dst := &OxmIdTunnelIpv4Dst{OxmId: parent}
+ return _oxmidtunnelipv4dst, nil
+}
+
+func NewOxmIdTunnelIpv4Dst() *OxmIdTunnelIpv4Dst {
+ obj := &OxmIdTunnelIpv4Dst{
+ OxmId: NewOxmId(81924),
+ }
+ return obj
+}
+func (self *OxmIdTunnelIpv4Dst) GetOXMName() string {
+ return "tunnel_ipv4_dst"
+}
+
+func (self *OxmIdTunnelIpv4Dst) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunnelIpv4DstMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunnelIpv4DstMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunnelIpv4DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunnelIpv4DstMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunnelIpv4DstMasked, error) {
+ _oxmidtunnelipv4dstmasked := &OxmIdTunnelIpv4DstMasked{OxmId: parent}
+ return _oxmidtunnelipv4dstmasked, nil
+}
+
+func NewOxmIdTunnelIpv4DstMasked() *OxmIdTunnelIpv4DstMasked {
+ obj := &OxmIdTunnelIpv4DstMasked{
+ OxmId: NewOxmId(82184),
+ }
+ return obj
+}
+func (self *OxmIdTunnelIpv4DstMasked) GetOXMName() string {
+ return "tunnel_ipv4_dst_masked"
+}
+
+func (self *OxmIdTunnelIpv4DstMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunnelIpv4Src struct {
+ *OxmId
+}
+
+type IOxmIdTunnelIpv4Src interface {
+ IOxmId
+}
+
+func (self *OxmIdTunnelIpv4Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunnelIpv4Src(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunnelIpv4Src, error) {
+ _oxmidtunnelipv4src := &OxmIdTunnelIpv4Src{OxmId: parent}
+ return _oxmidtunnelipv4src, nil
+}
+
+func NewOxmIdTunnelIpv4Src() *OxmIdTunnelIpv4Src {
+ obj := &OxmIdTunnelIpv4Src{
+ OxmId: NewOxmId(81412),
+ }
+ return obj
+}
+func (self *OxmIdTunnelIpv4Src) GetOXMName() string {
+ return "tunnel_ipv4_src"
+}
+
+func (self *OxmIdTunnelIpv4Src) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdTunnelIpv4SrcMasked struct {
+ *OxmId
+}
+
+type IOxmIdTunnelIpv4SrcMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdTunnelIpv4SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdTunnelIpv4SrcMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdTunnelIpv4SrcMasked, error) {
+ _oxmidtunnelipv4srcmasked := &OxmIdTunnelIpv4SrcMasked{OxmId: parent}
+ return _oxmidtunnelipv4srcmasked, nil
+}
+
+func NewOxmIdTunnelIpv4SrcMasked() *OxmIdTunnelIpv4SrcMasked {
+ obj := &OxmIdTunnelIpv4SrcMasked{
+ OxmId: NewOxmId(81672),
+ }
+ return obj
+}
+func (self *OxmIdTunnelIpv4SrcMasked) GetOXMName() string {
+ return "tunnel_ipv4_src_masked"
+}
+
+func (self *OxmIdTunnelIpv4SrcMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdVlanPcp struct {
+ *OxmId
+}
+
+type IOxmIdVlanPcp interface {
+ IOxmId
+}
+
+func (self *OxmIdVlanPcp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdVlanPcp(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdVlanPcp, error) {
+ _oxmidvlanpcp := &OxmIdVlanPcp{OxmId: parent}
+ return _oxmidvlanpcp, nil
+}
+
+func NewOxmIdVlanPcp() *OxmIdVlanPcp {
+ obj := &OxmIdVlanPcp{
+ OxmId: NewOxmId(2147487233),
+ }
+ return obj
+}
+func (self *OxmIdVlanPcp) GetOXMName() string {
+ return "vlan_pcp"
+}
+
+func (self *OxmIdVlanPcp) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdVlanPcpMasked struct {
+ *OxmId
+}
+
+type IOxmIdVlanPcpMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdVlanPcpMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdVlanPcpMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdVlanPcpMasked, error) {
+ _oxmidvlanpcpmasked := &OxmIdVlanPcpMasked{OxmId: parent}
+ return _oxmidvlanpcpmasked, nil
+}
+
+func NewOxmIdVlanPcpMasked() *OxmIdVlanPcpMasked {
+ obj := &OxmIdVlanPcpMasked{
+ OxmId: NewOxmId(2147487490),
+ }
+ return obj
+}
+func (self *OxmIdVlanPcpMasked) GetOXMName() string {
+ return "vlan_pcp_masked"
+}
+
+func (self *OxmIdVlanPcpMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdVlanVid struct {
+ *OxmId
+}
+
+type IOxmIdVlanVid interface {
+ IOxmId
+}
+
+func (self *OxmIdVlanVid) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdVlanVid(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdVlanVid, error) {
+ _oxmidvlanvid := &OxmIdVlanVid{OxmId: parent}
+ return _oxmidvlanvid, nil
+}
+
+func NewOxmIdVlanVid() *OxmIdVlanVid {
+ obj := &OxmIdVlanVid{
+ OxmId: NewOxmId(2147486722),
+ }
+ return obj
+}
+func (self *OxmIdVlanVid) GetOXMName() string {
+ return "vlan_vid"
+}
+
+func (self *OxmIdVlanVid) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type OxmIdVlanVidMasked struct {
+ *OxmId
+}
+
+type IOxmIdVlanVidMasked interface {
+ IOxmId
+}
+
+func (self *OxmIdVlanVidMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.OxmId.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeOxmIdVlanVidMasked(parent *OxmId, decoder *goloxi.Decoder) (*OxmIdVlanVidMasked, error) {
+ _oxmidvlanvidmasked := &OxmIdVlanVidMasked{OxmId: parent}
+ return _oxmidvlanvidmasked, nil
+}
+
+func NewOxmIdVlanVidMasked() *OxmIdVlanVidMasked {
+ obj := &OxmIdVlanVidMasked{
+ OxmId: NewOxmId(2147486980),
+ }
+ return obj
+}
+func (self *OxmIdVlanVidMasked) GetOXMName() string {
+ return "vlan_vid_masked"
+}
+
+func (self *OxmIdVlanVidMasked) MarshalJSON() ([]byte, error) {
+ if self.TypeLen == 0 {
+ return []byte("\"\""), nil
+ } else {
+ return []byte("\"" + self.GetOXMName() + "\""), nil
+ }
+}
+
+type PacketQueue struct {
+ QueueId uint32
+ Port Port
+ Len uint16
+ Properties []IQueueProp
+}
+
+type IPacketQueue interface {
+ goloxi.Serializable
+ GetQueueId() uint32
+ GetPort() Port
+ GetLen() uint16
+ GetProperties() []IQueueProp
+}
+
+func (self *PacketQueue) GetQueueId() uint32 {
+ return self.QueueId
+}
+
+func (self *PacketQueue) SetQueueId(v uint32) {
+ self.QueueId = v
+}
+
+func (self *PacketQueue) GetPort() Port {
+ return self.Port
+}
+
+func (self *PacketQueue) SetPort(v Port) {
+ self.Port = v
+}
+
+func (self *PacketQueue) GetLen() uint16 {
+ return self.Len
+}
+
+func (self *PacketQueue) SetLen(v uint16) {
+ self.Len = v
+}
+
+func (self *PacketQueue) GetProperties() []IQueueProp {
+ return self.Properties
+}
+
+func (self *PacketQueue) SetProperties(v []IQueueProp) {
+ self.Properties = v
+}
+
+func (self *PacketQueue) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint32(uint32(self.QueueId))
+ self.Port.Serialize(encoder)
+ encoder.PutUint16(uint16(self.Len))
+ encoder.Write(bytes.Repeat([]byte{0}, 6))
+ for _, obj := range self.Properties {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[8:10], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePacketQueue(decoder *goloxi.Decoder) (*PacketQueue, error) {
+ _packetqueue := &PacketQueue{}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("PacketQueue packet too short: %d < 16", decoder.Length())
+ }
+ _packetqueue.QueueId = uint32(decoder.ReadUint32())
+ _packetqueue.Port.Decode(decoder)
+ _packetqueue.Len = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_packetqueue.Len), 2+8)
+ decoder.Skip(6)
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeQueueProp(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _packetqueue.Properties = append(_packetqueue.Properties, item)
+ }
+ }
+ return _packetqueue, nil
+}
+
+func NewPacketQueue() *PacketQueue {
+ obj := &PacketQueue{}
+ return obj
+}
+
+type PortDesc struct {
+ PortNo Port
+ HwAddr net.HardwareAddr
+ Name string
+ Config PortConfig
+ State PortState
+ Curr PortFeatures
+ Advertised PortFeatures
+ Supported PortFeatures
+ Peer PortFeatures
+ CurrSpeed uint32
+ MaxSpeed uint32
+}
+
+type IPortDesc interface {
+ goloxi.Serializable
+ GetPortNo() Port
+ GetHwAddr() net.HardwareAddr
+ GetName() string
+ GetConfig() PortConfig
+ GetState() PortState
+ GetCurr() PortFeatures
+ GetAdvertised() PortFeatures
+ GetSupported() PortFeatures
+ GetPeer() PortFeatures
+ GetCurrSpeed() uint32
+ GetMaxSpeed() uint32
+}
+
+func (self *PortDesc) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *PortDesc) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *PortDesc) GetHwAddr() net.HardwareAddr {
+ return self.HwAddr
+}
+
+func (self *PortDesc) SetHwAddr(v net.HardwareAddr) {
+ self.HwAddr = v
+}
+
+func (self *PortDesc) GetName() string {
+ return self.Name
+}
+
+func (self *PortDesc) SetName(v string) {
+ self.Name = v
+}
+
+func (self *PortDesc) GetConfig() PortConfig {
+ return self.Config
+}
+
+func (self *PortDesc) SetConfig(v PortConfig) {
+ self.Config = v
+}
+
+func (self *PortDesc) GetState() PortState {
+ return self.State
+}
+
+func (self *PortDesc) SetState(v PortState) {
+ self.State = v
+}
+
+func (self *PortDesc) GetCurr() PortFeatures {
+ return self.Curr
+}
+
+func (self *PortDesc) SetCurr(v PortFeatures) {
+ self.Curr = v
+}
+
+func (self *PortDesc) GetAdvertised() PortFeatures {
+ return self.Advertised
+}
+
+func (self *PortDesc) SetAdvertised(v PortFeatures) {
+ self.Advertised = v
+}
+
+func (self *PortDesc) GetSupported() PortFeatures {
+ return self.Supported
+}
+
+func (self *PortDesc) SetSupported(v PortFeatures) {
+ self.Supported = v
+}
+
+func (self *PortDesc) GetPeer() PortFeatures {
+ return self.Peer
+}
+
+func (self *PortDesc) SetPeer(v PortFeatures) {
+ self.Peer = v
+}
+
+func (self *PortDesc) GetCurrSpeed() uint32 {
+ return self.CurrSpeed
+}
+
+func (self *PortDesc) SetCurrSpeed(v uint32) {
+ self.CurrSpeed = v
+}
+
+func (self *PortDesc) GetMaxSpeed() uint32 {
+ return self.MaxSpeed
+}
+
+func (self *PortDesc) SetMaxSpeed(v uint32) {
+ self.MaxSpeed = v
+}
+
+func (self *PortDesc) Serialize(encoder *goloxi.Encoder) error {
+
+ self.PortNo.Serialize(encoder)
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.Write(self.HwAddr)
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.Write([]byte(self.Name))
+ encoder.PutUint32(uint32(self.Config))
+ encoder.PutUint32(uint32(self.State))
+ encoder.PutUint32(uint32(self.Curr))
+ encoder.PutUint32(uint32(self.Advertised))
+ encoder.PutUint32(uint32(self.Supported))
+ encoder.PutUint32(uint32(self.Peer))
+ encoder.PutUint32(uint32(self.CurrSpeed))
+ encoder.PutUint32(uint32(self.MaxSpeed))
+
+ return nil
+}
+func (self *PortDesc) Decode(decoder *goloxi.Decoder) error {
+ if decoder.Length() < 64 {
+ return fmt.Errorf("PortDesc packet too short: %d < 64", decoder.Length())
+ }
+
+ self.PortNo.Decode(decoder)
+ decoder.Skip(4)
+ self.HwAddr = net.HardwareAddr(decoder.Read(6))
+ decoder.Skip(2)
+ self.Name = string(bytes.Trim(decoder.Read(16), "\x00"))
+ self.Config = PortConfig(decoder.ReadUint32())
+ self.State = PortState(decoder.ReadUint32())
+ self.Curr = PortFeatures(decoder.ReadUint32())
+ self.Advertised = PortFeatures(decoder.ReadUint32())
+ self.Supported = PortFeatures(decoder.ReadUint32())
+ self.Peer = PortFeatures(decoder.ReadUint32())
+ self.CurrSpeed = uint32(decoder.ReadUint32())
+ self.MaxSpeed = uint32(decoder.ReadUint32())
+
+ return nil
+}
+
+func NewPortDesc() *PortDesc {
+ obj := &PortDesc{}
+ return obj
+}
+
+type PortStatsEntry struct {
+ PortNo Port
+ RxPackets uint64
+ TxPackets uint64
+ RxBytes uint64
+ TxBytes uint64
+ RxDropped uint64
+ TxDropped uint64
+ RxErrors uint64
+ TxErrors uint64
+ RxFrameErr uint64
+ RxOverErr uint64
+ RxCrcErr uint64
+ Collisions uint64
+ DurationSec uint32
+ DurationNsec uint32
+}
+
+type IPortStatsEntry interface {
+ goloxi.Serializable
+ GetPortNo() Port
+ GetRxPackets() uint64
+ GetTxPackets() uint64
+ GetRxBytes() uint64
+ GetTxBytes() uint64
+ GetRxDropped() uint64
+ GetTxDropped() uint64
+ GetRxErrors() uint64
+ GetTxErrors() uint64
+ GetRxFrameErr() uint64
+ GetRxOverErr() uint64
+ GetRxCrcErr() uint64
+ GetCollisions() uint64
+ GetDurationSec() uint32
+ GetDurationNsec() uint32
+}
+
+func (self *PortStatsEntry) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *PortStatsEntry) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *PortStatsEntry) GetRxPackets() uint64 {
+ return self.RxPackets
+}
+
+func (self *PortStatsEntry) SetRxPackets(v uint64) {
+ self.RxPackets = v
+}
+
+func (self *PortStatsEntry) GetTxPackets() uint64 {
+ return self.TxPackets
+}
+
+func (self *PortStatsEntry) SetTxPackets(v uint64) {
+ self.TxPackets = v
+}
+
+func (self *PortStatsEntry) GetRxBytes() uint64 {
+ return self.RxBytes
+}
+
+func (self *PortStatsEntry) SetRxBytes(v uint64) {
+ self.RxBytes = v
+}
+
+func (self *PortStatsEntry) GetTxBytes() uint64 {
+ return self.TxBytes
+}
+
+func (self *PortStatsEntry) SetTxBytes(v uint64) {
+ self.TxBytes = v
+}
+
+func (self *PortStatsEntry) GetRxDropped() uint64 {
+ return self.RxDropped
+}
+
+func (self *PortStatsEntry) SetRxDropped(v uint64) {
+ self.RxDropped = v
+}
+
+func (self *PortStatsEntry) GetTxDropped() uint64 {
+ return self.TxDropped
+}
+
+func (self *PortStatsEntry) SetTxDropped(v uint64) {
+ self.TxDropped = v
+}
+
+func (self *PortStatsEntry) GetRxErrors() uint64 {
+ return self.RxErrors
+}
+
+func (self *PortStatsEntry) SetRxErrors(v uint64) {
+ self.RxErrors = v
+}
+
+func (self *PortStatsEntry) GetTxErrors() uint64 {
+ return self.TxErrors
+}
+
+func (self *PortStatsEntry) SetTxErrors(v uint64) {
+ self.TxErrors = v
+}
+
+func (self *PortStatsEntry) GetRxFrameErr() uint64 {
+ return self.RxFrameErr
+}
+
+func (self *PortStatsEntry) SetRxFrameErr(v uint64) {
+ self.RxFrameErr = v
+}
+
+func (self *PortStatsEntry) GetRxOverErr() uint64 {
+ return self.RxOverErr
+}
+
+func (self *PortStatsEntry) SetRxOverErr(v uint64) {
+ self.RxOverErr = v
+}
+
+func (self *PortStatsEntry) GetRxCrcErr() uint64 {
+ return self.RxCrcErr
+}
+
+func (self *PortStatsEntry) SetRxCrcErr(v uint64) {
+ self.RxCrcErr = v
+}
+
+func (self *PortStatsEntry) GetCollisions() uint64 {
+ return self.Collisions
+}
+
+func (self *PortStatsEntry) SetCollisions(v uint64) {
+ self.Collisions = v
+}
+
+func (self *PortStatsEntry) GetDurationSec() uint32 {
+ return self.DurationSec
+}
+
+func (self *PortStatsEntry) SetDurationSec(v uint32) {
+ self.DurationSec = v
+}
+
+func (self *PortStatsEntry) GetDurationNsec() uint32 {
+ return self.DurationNsec
+}
+
+func (self *PortStatsEntry) SetDurationNsec(v uint32) {
+ self.DurationNsec = v
+}
+
+func (self *PortStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ self.PortNo.Serialize(encoder)
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint64(uint64(self.RxPackets))
+ encoder.PutUint64(uint64(self.TxPackets))
+ encoder.PutUint64(uint64(self.RxBytes))
+ encoder.PutUint64(uint64(self.TxBytes))
+ encoder.PutUint64(uint64(self.RxDropped))
+ encoder.PutUint64(uint64(self.TxDropped))
+ encoder.PutUint64(uint64(self.RxErrors))
+ encoder.PutUint64(uint64(self.TxErrors))
+ encoder.PutUint64(uint64(self.RxFrameErr))
+ encoder.PutUint64(uint64(self.RxOverErr))
+ encoder.PutUint64(uint64(self.RxCrcErr))
+ encoder.PutUint64(uint64(self.Collisions))
+ encoder.PutUint32(uint32(self.DurationSec))
+ encoder.PutUint32(uint32(self.DurationNsec))
+
+ return nil
+}
+
+func DecodePortStatsEntry(decoder *goloxi.Decoder) (*PortStatsEntry, error) {
+ _portstatsentry := &PortStatsEntry{}
+ if decoder.Length() < 112 {
+ return nil, fmt.Errorf("PortStatsEntry packet too short: %d < 112", decoder.Length())
+ }
+ _portstatsentry.PortNo.Decode(decoder)
+ decoder.Skip(4)
+ _portstatsentry.RxPackets = uint64(decoder.ReadUint64())
+ _portstatsentry.TxPackets = uint64(decoder.ReadUint64())
+ _portstatsentry.RxBytes = uint64(decoder.ReadUint64())
+ _portstatsentry.TxBytes = uint64(decoder.ReadUint64())
+ _portstatsentry.RxDropped = uint64(decoder.ReadUint64())
+ _portstatsentry.TxDropped = uint64(decoder.ReadUint64())
+ _portstatsentry.RxErrors = uint64(decoder.ReadUint64())
+ _portstatsentry.TxErrors = uint64(decoder.ReadUint64())
+ _portstatsentry.RxFrameErr = uint64(decoder.ReadUint64())
+ _portstatsentry.RxOverErr = uint64(decoder.ReadUint64())
+ _portstatsentry.RxCrcErr = uint64(decoder.ReadUint64())
+ _portstatsentry.Collisions = uint64(decoder.ReadUint64())
+ _portstatsentry.DurationSec = uint32(decoder.ReadUint32())
+ _portstatsentry.DurationNsec = uint32(decoder.ReadUint32())
+ return _portstatsentry, nil
+}
+
+func NewPortStatsEntry() *PortStatsEntry {
+ obj := &PortStatsEntry{}
+ return obj
+}
+
+type QueueProp struct {
+ Type uint16
+ Len uint16
+}
+
+type IQueueProp interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLen() uint16
+}
+
+func (self *QueueProp) GetType() uint16 {
+ return self.Type
+}
+
+func (self *QueueProp) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *QueueProp) GetLen() uint16 {
+ return self.Len
+}
+
+func (self *QueueProp) SetLen(v uint16) {
+ self.Len = v
+}
+
+func (self *QueueProp) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Len))
+
+ return nil
+}
+
+func DecodeQueueProp(decoder *goloxi.Decoder) (IQueueProp, error) {
+ _queueprop := &QueueProp{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("QueueProp packet too short: %d < 4", decoder.Length())
+ }
+ _queueprop.Type = uint16(decoder.ReadUint16())
+ _queueprop.Len = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_queueprop.Len), 2+2)
+
+ switch _queueprop.Type {
+ case 1:
+ return DecodeQueuePropMinRate(_queueprop, decoder)
+ case 2:
+ return DecodeQueuePropMaxRate(_queueprop, decoder)
+ case 65535:
+ return DecodeQueuePropExperimenter(_queueprop, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'QueueProp'", _queueprop.Type)
+ }
+}
+
+func NewQueueProp(_type uint16) *QueueProp {
+ obj := &QueueProp{}
+ obj.Type = _type
+ return obj
+}
+
+type QueuePropExperimenter struct {
+ *QueueProp
+ Experimenter uint32
+}
+
+type IQueuePropExperimenter interface {
+ IQueueProp
+ GetExperimenter() uint32
+}
+
+func (self *QueuePropExperimenter) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *QueuePropExperimenter) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *QueuePropExperimenter) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.QueueProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint32(uint32(self.Experimenter))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ return nil
+}
+
+func DecodeQueuePropExperimenter(parent *QueueProp, decoder *goloxi.Decoder) (IQueuePropExperimenter, error) {
+ _queuepropexperimenter := &QueuePropExperimenter{QueueProp: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("QueuePropExperimenter packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ _queuepropexperimenter.Experimenter = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ return _queuepropexperimenter, nil
+}
+
+func NewQueuePropExperimenter(_experimenter uint32) *QueuePropExperimenter {
+ obj := &QueuePropExperimenter{
+ QueueProp: NewQueueProp(65535),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type QueuePropMaxRate struct {
+ *QueueProp
+ Rate uint16
+}
+
+type IQueuePropMaxRate interface {
+ IQueueProp
+ GetRate() uint16
+}
+
+func (self *QueuePropMaxRate) GetRate() uint16 {
+ return self.Rate
+}
+
+func (self *QueuePropMaxRate) SetRate(v uint16) {
+ self.Rate = v
+}
+
+func (self *QueuePropMaxRate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.QueueProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint16(uint16(self.Rate))
+ encoder.Write(bytes.Repeat([]byte{0}, 6))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeQueuePropMaxRate(parent *QueueProp, decoder *goloxi.Decoder) (*QueuePropMaxRate, error) {
+ _queuepropmaxrate := &QueuePropMaxRate{QueueProp: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("QueuePropMaxRate packet too short: %d < 12", decoder.Length())
+ }
+ decoder.Skip(4)
+ _queuepropmaxrate.Rate = uint16(decoder.ReadUint16())
+ decoder.Skip(6)
+ return _queuepropmaxrate, nil
+}
+
+func NewQueuePropMaxRate() *QueuePropMaxRate {
+ obj := &QueuePropMaxRate{
+ QueueProp: NewQueueProp(2),
+ }
+ return obj
+}
+
+type QueuePropMinRate struct {
+ *QueueProp
+ Rate uint16
+}
+
+type IQueuePropMinRate interface {
+ IQueueProp
+ GetRate() uint16
+}
+
+func (self *QueuePropMinRate) GetRate() uint16 {
+ return self.Rate
+}
+
+func (self *QueuePropMinRate) SetRate(v uint16) {
+ self.Rate = v
+}
+
+func (self *QueuePropMinRate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.QueueProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint16(uint16(self.Rate))
+ encoder.Write(bytes.Repeat([]byte{0}, 6))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeQueuePropMinRate(parent *QueueProp, decoder *goloxi.Decoder) (*QueuePropMinRate, error) {
+ _queuepropminrate := &QueuePropMinRate{QueueProp: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("QueuePropMinRate packet too short: %d < 12", decoder.Length())
+ }
+ decoder.Skip(4)
+ _queuepropminrate.Rate = uint16(decoder.ReadUint16())
+ decoder.Skip(6)
+ return _queuepropminrate, nil
+}
+
+func NewQueuePropMinRate() *QueuePropMinRate {
+ obj := &QueuePropMinRate{
+ QueueProp: NewQueueProp(1),
+ }
+ return obj
+}
+
+type QueueStatsEntry struct {
+ PortNo Port
+ QueueId uint32
+ TxBytes uint64
+ TxPackets uint64
+ TxErrors uint64
+ DurationSec uint32
+ DurationNsec uint32
+}
+
+type IQueueStatsEntry interface {
+ goloxi.Serializable
+ GetPortNo() Port
+ GetQueueId() uint32
+ GetTxBytes() uint64
+ GetTxPackets() uint64
+ GetTxErrors() uint64
+ GetDurationSec() uint32
+ GetDurationNsec() uint32
+}
+
+func (self *QueueStatsEntry) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *QueueStatsEntry) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *QueueStatsEntry) GetQueueId() uint32 {
+ return self.QueueId
+}
+
+func (self *QueueStatsEntry) SetQueueId(v uint32) {
+ self.QueueId = v
+}
+
+func (self *QueueStatsEntry) GetTxBytes() uint64 {
+ return self.TxBytes
+}
+
+func (self *QueueStatsEntry) SetTxBytes(v uint64) {
+ self.TxBytes = v
+}
+
+func (self *QueueStatsEntry) GetTxPackets() uint64 {
+ return self.TxPackets
+}
+
+func (self *QueueStatsEntry) SetTxPackets(v uint64) {
+ self.TxPackets = v
+}
+
+func (self *QueueStatsEntry) GetTxErrors() uint64 {
+ return self.TxErrors
+}
+
+func (self *QueueStatsEntry) SetTxErrors(v uint64) {
+ self.TxErrors = v
+}
+
+func (self *QueueStatsEntry) GetDurationSec() uint32 {
+ return self.DurationSec
+}
+
+func (self *QueueStatsEntry) SetDurationSec(v uint32) {
+ self.DurationSec = v
+}
+
+func (self *QueueStatsEntry) GetDurationNsec() uint32 {
+ return self.DurationNsec
+}
+
+func (self *QueueStatsEntry) SetDurationNsec(v uint32) {
+ self.DurationNsec = v
+}
+
+func (self *QueueStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint32(uint32(self.QueueId))
+ encoder.PutUint64(uint64(self.TxBytes))
+ encoder.PutUint64(uint64(self.TxPackets))
+ encoder.PutUint64(uint64(self.TxErrors))
+ encoder.PutUint32(uint32(self.DurationSec))
+ encoder.PutUint32(uint32(self.DurationNsec))
+
+ return nil
+}
+
+func DecodeQueueStatsEntry(decoder *goloxi.Decoder) (*QueueStatsEntry, error) {
+ _queuestatsentry := &QueueStatsEntry{}
+ if decoder.Length() < 40 {
+ return nil, fmt.Errorf("QueueStatsEntry packet too short: %d < 40", decoder.Length())
+ }
+ _queuestatsentry.PortNo.Decode(decoder)
+ _queuestatsentry.QueueId = uint32(decoder.ReadUint32())
+ _queuestatsentry.TxBytes = uint64(decoder.ReadUint64())
+ _queuestatsentry.TxPackets = uint64(decoder.ReadUint64())
+ _queuestatsentry.TxErrors = uint64(decoder.ReadUint64())
+ _queuestatsentry.DurationSec = uint32(decoder.ReadUint32())
+ _queuestatsentry.DurationNsec = uint32(decoder.ReadUint32())
+ return _queuestatsentry, nil
+}
+
+func NewQueueStatsEntry() *QueueStatsEntry {
+ obj := &QueueStatsEntry{}
+ return obj
+}
+
+type TableFeatureProp struct {
+ Type uint16
+ Length uint16
+}
+
+type ITableFeatureProp interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLength() uint16
+}
+
+func (self *TableFeatureProp) GetType() uint16 {
+ return self.Type
+}
+
+func (self *TableFeatureProp) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *TableFeatureProp) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *TableFeatureProp) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *TableFeatureProp) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Length))
+
+ return nil
+}
+
+func DecodeTableFeatureProp(decoder *goloxi.Decoder) (ITableFeatureProp, error) {
+ _tablefeatureprop := &TableFeatureProp{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("TableFeatureProp packet too short: %d < 4", decoder.Length())
+ }
+ _tablefeatureprop.Type = uint16(decoder.ReadUint16())
+ _tablefeatureprop.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_tablefeatureprop.Length), 2+2)
+
+ switch _tablefeatureprop.Type {
+ case 0:
+ return DecodeTableFeaturePropInstructions(_tablefeatureprop, decoder)
+ case 1:
+ return DecodeTableFeaturePropInstructionsMiss(_tablefeatureprop, decoder)
+ case 2:
+ return DecodeTableFeaturePropNextTables(_tablefeatureprop, decoder)
+ case 3:
+ return DecodeTableFeaturePropNextTablesMiss(_tablefeatureprop, decoder)
+ case 4:
+ return DecodeTableFeaturePropWriteActions(_tablefeatureprop, decoder)
+ case 5:
+ return DecodeTableFeaturePropWriteActionsMiss(_tablefeatureprop, decoder)
+ case 6:
+ return DecodeTableFeaturePropApplyActions(_tablefeatureprop, decoder)
+ case 7:
+ return DecodeTableFeaturePropApplyActionsMiss(_tablefeatureprop, decoder)
+ case 8:
+ return DecodeTableFeaturePropMatch(_tablefeatureprop, decoder)
+ case 10:
+ return DecodeTableFeaturePropWildcards(_tablefeatureprop, decoder)
+ case 12:
+ return DecodeTableFeaturePropWriteSetfield(_tablefeatureprop, decoder)
+ case 13:
+ return DecodeTableFeaturePropWriteSetfieldMiss(_tablefeatureprop, decoder)
+ case 14:
+ return DecodeTableFeaturePropApplySetfield(_tablefeatureprop, decoder)
+ case 15:
+ return DecodeTableFeaturePropApplySetfieldMiss(_tablefeatureprop, decoder)
+ case 65534:
+ return DecodeTableFeaturePropExperimenter(_tablefeatureprop, decoder)
+ case 65535:
+ return DecodeTableFeaturePropExperimenterMiss(_tablefeatureprop, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'TableFeatureProp'", _tablefeatureprop.Type)
+ }
+}
+
+func NewTableFeatureProp(_type uint16) *TableFeatureProp {
+ obj := &TableFeatureProp{}
+ obj.Type = _type
+ return obj
+}
+
+type TableFeaturePropApplyActions struct {
+ *TableFeatureProp
+ ActionIds []IActionId
+}
+
+type ITableFeaturePropApplyActions interface {
+ ITableFeatureProp
+ GetActionIds() []IActionId
+}
+
+func (self *TableFeaturePropApplyActions) GetActionIds() []IActionId {
+ return self.ActionIds
+}
+
+func (self *TableFeaturePropApplyActions) SetActionIds(v []IActionId) {
+ self.ActionIds = v
+}
+
+func (self *TableFeaturePropApplyActions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.ActionIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropApplyActions(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropApplyActions, error) {
+ _tablefeaturepropapplyactions := &TableFeaturePropApplyActions{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeActionId(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropapplyactions.ActionIds = append(_tablefeaturepropapplyactions.ActionIds, item)
+ }
+ }
+ return _tablefeaturepropapplyactions, nil
+}
+
+func NewTableFeaturePropApplyActions() *TableFeaturePropApplyActions {
+ obj := &TableFeaturePropApplyActions{
+ TableFeatureProp: NewTableFeatureProp(6),
+ }
+ return obj
+}
+
+type TableFeaturePropApplyActionsMiss struct {
+ *TableFeatureProp
+ ActionIds []IActionId
+}
+
+type ITableFeaturePropApplyActionsMiss interface {
+ ITableFeatureProp
+ GetActionIds() []IActionId
+}
+
+func (self *TableFeaturePropApplyActionsMiss) GetActionIds() []IActionId {
+ return self.ActionIds
+}
+
+func (self *TableFeaturePropApplyActionsMiss) SetActionIds(v []IActionId) {
+ self.ActionIds = v
+}
+
+func (self *TableFeaturePropApplyActionsMiss) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.ActionIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropApplyActionsMiss(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropApplyActionsMiss, error) {
+ _tablefeaturepropapplyactionsmiss := &TableFeaturePropApplyActionsMiss{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeActionId(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropapplyactionsmiss.ActionIds = append(_tablefeaturepropapplyactionsmiss.ActionIds, item)
+ }
+ }
+ return _tablefeaturepropapplyactionsmiss, nil
+}
+
+func NewTableFeaturePropApplyActionsMiss() *TableFeaturePropApplyActionsMiss {
+ obj := &TableFeaturePropApplyActionsMiss{
+ TableFeatureProp: NewTableFeatureProp(7),
+ }
+ return obj
+}
+
+type TableFeaturePropApplySetfield struct {
+ *TableFeatureProp
+ OxmIds []*Uint32
+}
+
+type ITableFeaturePropApplySetfield interface {
+ ITableFeatureProp
+ GetOxmIds() []*Uint32
+}
+
+func (self *TableFeaturePropApplySetfield) GetOxmIds() []*Uint32 {
+ return self.OxmIds
+}
+
+func (self *TableFeaturePropApplySetfield) SetOxmIds(v []*Uint32) {
+ self.OxmIds = v
+}
+
+func (self *TableFeaturePropApplySetfield) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.OxmIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropApplySetfield(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropApplySetfield, error) {
+ _tablefeaturepropapplysetfield := &TableFeaturePropApplySetfield{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeUint32(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropapplysetfield.OxmIds = append(_tablefeaturepropapplysetfield.OxmIds, item)
+ }
+ }
+ return _tablefeaturepropapplysetfield, nil
+}
+
+func NewTableFeaturePropApplySetfield() *TableFeaturePropApplySetfield {
+ obj := &TableFeaturePropApplySetfield{
+ TableFeatureProp: NewTableFeatureProp(14),
+ }
+ return obj
+}
+
+type TableFeaturePropApplySetfieldMiss struct {
+ *TableFeatureProp
+ OxmIds []*Uint32
+}
+
+type ITableFeaturePropApplySetfieldMiss interface {
+ ITableFeatureProp
+ GetOxmIds() []*Uint32
+}
+
+func (self *TableFeaturePropApplySetfieldMiss) GetOxmIds() []*Uint32 {
+ return self.OxmIds
+}
+
+func (self *TableFeaturePropApplySetfieldMiss) SetOxmIds(v []*Uint32) {
+ self.OxmIds = v
+}
+
+func (self *TableFeaturePropApplySetfieldMiss) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.OxmIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropApplySetfieldMiss(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropApplySetfieldMiss, error) {
+ _tablefeaturepropapplysetfieldmiss := &TableFeaturePropApplySetfieldMiss{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeUint32(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropapplysetfieldmiss.OxmIds = append(_tablefeaturepropapplysetfieldmiss.OxmIds, item)
+ }
+ }
+ return _tablefeaturepropapplysetfieldmiss, nil
+}
+
+func NewTableFeaturePropApplySetfieldMiss() *TableFeaturePropApplySetfieldMiss {
+ obj := &TableFeaturePropApplySetfieldMiss{
+ TableFeatureProp: NewTableFeatureProp(15),
+ }
+ return obj
+}
+
+type TableFeaturePropExperimenter struct {
+ *TableFeatureProp
+ Experimenter uint32
+ Subtype uint32
+}
+
+type ITableFeaturePropExperimenter interface {
+ ITableFeatureProp
+ GetExperimenter() uint32
+ GetSubtype() uint32
+}
+
+func (self *TableFeaturePropExperimenter) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *TableFeaturePropExperimenter) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *TableFeaturePropExperimenter) GetSubtype() uint32 {
+ return self.Subtype
+}
+
+func (self *TableFeaturePropExperimenter) SetSubtype(v uint32) {
+ self.Subtype = v
+}
+
+func (self *TableFeaturePropExperimenter) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Experimenter))
+ encoder.PutUint32(uint32(self.Subtype))
+
+ encoder.SkipAlign()
+
+ return nil
+}
+
+func DecodeTableFeaturePropExperimenter(parent *TableFeatureProp, decoder *goloxi.Decoder) (ITableFeaturePropExperimenter, error) {
+ _tablefeaturepropexperimenter := &TableFeaturePropExperimenter{TableFeatureProp: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("TableFeaturePropExperimenter packet too short: %d < 8", decoder.Length())
+ }
+ defer decoder.SkipAlign()
+
+ _tablefeaturepropexperimenter.Experimenter = uint32(decoder.ReadUint32())
+ _tablefeaturepropexperimenter.Subtype = uint32(decoder.ReadUint32())
+ return _tablefeaturepropexperimenter, nil
+}
+
+func NewTableFeaturePropExperimenter(_experimenter uint32) *TableFeaturePropExperimenter {
+ obj := &TableFeaturePropExperimenter{
+ TableFeatureProp: NewTableFeatureProp(65534),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type TableFeaturePropExperimenterMiss struct {
+ *TableFeatureProp
+ Experimenter uint32
+ Subtype uint32
+}
+
+type ITableFeaturePropExperimenterMiss interface {
+ ITableFeatureProp
+ GetExperimenter() uint32
+ GetSubtype() uint32
+}
+
+func (self *TableFeaturePropExperimenterMiss) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *TableFeaturePropExperimenterMiss) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *TableFeaturePropExperimenterMiss) GetSubtype() uint32 {
+ return self.Subtype
+}
+
+func (self *TableFeaturePropExperimenterMiss) SetSubtype(v uint32) {
+ self.Subtype = v
+}
+
+func (self *TableFeaturePropExperimenterMiss) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Experimenter))
+ encoder.PutUint32(uint32(self.Subtype))
+
+ encoder.SkipAlign()
+
+ return nil
+}
+
+func DecodeTableFeaturePropExperimenterMiss(parent *TableFeatureProp, decoder *goloxi.Decoder) (ITableFeaturePropExperimenterMiss, error) {
+ _tablefeaturepropexperimentermiss := &TableFeaturePropExperimenterMiss{TableFeatureProp: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("TableFeaturePropExperimenterMiss packet too short: %d < 8", decoder.Length())
+ }
+ defer decoder.SkipAlign()
+
+ _tablefeaturepropexperimentermiss.Experimenter = uint32(decoder.ReadUint32())
+ _tablefeaturepropexperimentermiss.Subtype = uint32(decoder.ReadUint32())
+ return _tablefeaturepropexperimentermiss, nil
+}
+
+func NewTableFeaturePropExperimenterMiss(_experimenter uint32) *TableFeaturePropExperimenterMiss {
+ obj := &TableFeaturePropExperimenterMiss{
+ TableFeatureProp: NewTableFeatureProp(65535),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type TableFeaturePropInstructions struct {
+ *TableFeatureProp
+ InstructionIds []IInstructionId
+}
+
+type ITableFeaturePropInstructions interface {
+ ITableFeatureProp
+ GetInstructionIds() []IInstructionId
+}
+
+func (self *TableFeaturePropInstructions) GetInstructionIds() []IInstructionId {
+ return self.InstructionIds
+}
+
+func (self *TableFeaturePropInstructions) SetInstructionIds(v []IInstructionId) {
+ self.InstructionIds = v
+}
+
+func (self *TableFeaturePropInstructions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.InstructionIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropInstructions(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropInstructions, error) {
+ _tablefeaturepropinstructions := &TableFeaturePropInstructions{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeInstructionId(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropinstructions.InstructionIds = append(_tablefeaturepropinstructions.InstructionIds, item)
+ }
+ }
+ return _tablefeaturepropinstructions, nil
+}
+
+func NewTableFeaturePropInstructions() *TableFeaturePropInstructions {
+ obj := &TableFeaturePropInstructions{
+ TableFeatureProp: NewTableFeatureProp(0),
+ }
+ return obj
+}
+
+type TableFeaturePropInstructionsMiss struct {
+ *TableFeatureProp
+ InstructionIds []IInstructionId
+}
+
+type ITableFeaturePropInstructionsMiss interface {
+ ITableFeatureProp
+ GetInstructionIds() []IInstructionId
+}
+
+func (self *TableFeaturePropInstructionsMiss) GetInstructionIds() []IInstructionId {
+ return self.InstructionIds
+}
+
+func (self *TableFeaturePropInstructionsMiss) SetInstructionIds(v []IInstructionId) {
+ self.InstructionIds = v
+}
+
+func (self *TableFeaturePropInstructionsMiss) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.InstructionIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropInstructionsMiss(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropInstructionsMiss, error) {
+ _tablefeaturepropinstructionsmiss := &TableFeaturePropInstructionsMiss{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeInstructionId(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropinstructionsmiss.InstructionIds = append(_tablefeaturepropinstructionsmiss.InstructionIds, item)
+ }
+ }
+ return _tablefeaturepropinstructionsmiss, nil
+}
+
+func NewTableFeaturePropInstructionsMiss() *TableFeaturePropInstructionsMiss {
+ obj := &TableFeaturePropInstructionsMiss{
+ TableFeatureProp: NewTableFeatureProp(1),
+ }
+ return obj
+}
+
+type TableFeaturePropMatch struct {
+ *TableFeatureProp
+ OxmIds []*Uint32
+}
+
+type ITableFeaturePropMatch interface {
+ ITableFeatureProp
+ GetOxmIds() []*Uint32
+}
+
+func (self *TableFeaturePropMatch) GetOxmIds() []*Uint32 {
+ return self.OxmIds
+}
+
+func (self *TableFeaturePropMatch) SetOxmIds(v []*Uint32) {
+ self.OxmIds = v
+}
+
+func (self *TableFeaturePropMatch) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.OxmIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropMatch(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropMatch, error) {
+ _tablefeaturepropmatch := &TableFeaturePropMatch{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeUint32(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropmatch.OxmIds = append(_tablefeaturepropmatch.OxmIds, item)
+ }
+ }
+ return _tablefeaturepropmatch, nil
+}
+
+func NewTableFeaturePropMatch() *TableFeaturePropMatch {
+ obj := &TableFeaturePropMatch{
+ TableFeatureProp: NewTableFeatureProp(8),
+ }
+ return obj
+}
+
+type TableFeaturePropNextTables struct {
+ *TableFeatureProp
+ NextTableIds []*Uint8
+}
+
+type ITableFeaturePropNextTables interface {
+ ITableFeatureProp
+ GetNextTableIds() []*Uint8
+}
+
+func (self *TableFeaturePropNextTables) GetNextTableIds() []*Uint8 {
+ return self.NextTableIds
+}
+
+func (self *TableFeaturePropNextTables) SetNextTableIds(v []*Uint8) {
+ self.NextTableIds = v
+}
+
+func (self *TableFeaturePropNextTables) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.NextTableIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropNextTables(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropNextTables, error) {
+ _tablefeaturepropnexttables := &TableFeaturePropNextTables{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 1 {
+ item, err := DecodeUint8(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropnexttables.NextTableIds = append(_tablefeaturepropnexttables.NextTableIds, item)
+ }
+ }
+ return _tablefeaturepropnexttables, nil
+}
+
+func NewTableFeaturePropNextTables() *TableFeaturePropNextTables {
+ obj := &TableFeaturePropNextTables{
+ TableFeatureProp: NewTableFeatureProp(2),
+ }
+ return obj
+}
+
+type TableFeaturePropNextTablesMiss struct {
+ *TableFeatureProp
+ NextTableIds []*Uint8
+}
+
+type ITableFeaturePropNextTablesMiss interface {
+ ITableFeatureProp
+ GetNextTableIds() []*Uint8
+}
+
+func (self *TableFeaturePropNextTablesMiss) GetNextTableIds() []*Uint8 {
+ return self.NextTableIds
+}
+
+func (self *TableFeaturePropNextTablesMiss) SetNextTableIds(v []*Uint8) {
+ self.NextTableIds = v
+}
+
+func (self *TableFeaturePropNextTablesMiss) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.NextTableIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropNextTablesMiss(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropNextTablesMiss, error) {
+ _tablefeaturepropnexttablesmiss := &TableFeaturePropNextTablesMiss{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 1 {
+ item, err := DecodeUint8(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropnexttablesmiss.NextTableIds = append(_tablefeaturepropnexttablesmiss.NextTableIds, item)
+ }
+ }
+ return _tablefeaturepropnexttablesmiss, nil
+}
+
+func NewTableFeaturePropNextTablesMiss() *TableFeaturePropNextTablesMiss {
+ obj := &TableFeaturePropNextTablesMiss{
+ TableFeatureProp: NewTableFeatureProp(3),
+ }
+ return obj
+}
+
+type TableFeaturePropWildcards struct {
+ *TableFeatureProp
+ OxmIds []*Uint32
+}
+
+type ITableFeaturePropWildcards interface {
+ ITableFeatureProp
+ GetOxmIds() []*Uint32
+}
+
+func (self *TableFeaturePropWildcards) GetOxmIds() []*Uint32 {
+ return self.OxmIds
+}
+
+func (self *TableFeaturePropWildcards) SetOxmIds(v []*Uint32) {
+ self.OxmIds = v
+}
+
+func (self *TableFeaturePropWildcards) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.OxmIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropWildcards(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropWildcards, error) {
+ _tablefeaturepropwildcards := &TableFeaturePropWildcards{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeUint32(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropwildcards.OxmIds = append(_tablefeaturepropwildcards.OxmIds, item)
+ }
+ }
+ return _tablefeaturepropwildcards, nil
+}
+
+func NewTableFeaturePropWildcards() *TableFeaturePropWildcards {
+ obj := &TableFeaturePropWildcards{
+ TableFeatureProp: NewTableFeatureProp(10),
+ }
+ return obj
+}
+
+type TableFeaturePropWriteActions struct {
+ *TableFeatureProp
+ ActionIds []IActionId
+}
+
+type ITableFeaturePropWriteActions interface {
+ ITableFeatureProp
+ GetActionIds() []IActionId
+}
+
+func (self *TableFeaturePropWriteActions) GetActionIds() []IActionId {
+ return self.ActionIds
+}
+
+func (self *TableFeaturePropWriteActions) SetActionIds(v []IActionId) {
+ self.ActionIds = v
+}
+
+func (self *TableFeaturePropWriteActions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.ActionIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropWriteActions(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropWriteActions, error) {
+ _tablefeaturepropwriteactions := &TableFeaturePropWriteActions{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeActionId(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropwriteactions.ActionIds = append(_tablefeaturepropwriteactions.ActionIds, item)
+ }
+ }
+ return _tablefeaturepropwriteactions, nil
+}
+
+func NewTableFeaturePropWriteActions() *TableFeaturePropWriteActions {
+ obj := &TableFeaturePropWriteActions{
+ TableFeatureProp: NewTableFeatureProp(4),
+ }
+ return obj
+}
+
+type TableFeaturePropWriteActionsMiss struct {
+ *TableFeatureProp
+ ActionIds []IActionId
+}
+
+type ITableFeaturePropWriteActionsMiss interface {
+ ITableFeatureProp
+ GetActionIds() []IActionId
+}
+
+func (self *TableFeaturePropWriteActionsMiss) GetActionIds() []IActionId {
+ return self.ActionIds
+}
+
+func (self *TableFeaturePropWriteActionsMiss) SetActionIds(v []IActionId) {
+ self.ActionIds = v
+}
+
+func (self *TableFeaturePropWriteActionsMiss) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.ActionIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropWriteActionsMiss(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropWriteActionsMiss, error) {
+ _tablefeaturepropwriteactionsmiss := &TableFeaturePropWriteActionsMiss{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeActionId(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropwriteactionsmiss.ActionIds = append(_tablefeaturepropwriteactionsmiss.ActionIds, item)
+ }
+ }
+ return _tablefeaturepropwriteactionsmiss, nil
+}
+
+func NewTableFeaturePropWriteActionsMiss() *TableFeaturePropWriteActionsMiss {
+ obj := &TableFeaturePropWriteActionsMiss{
+ TableFeatureProp: NewTableFeatureProp(5),
+ }
+ return obj
+}
+
+type TableFeaturePropWriteSetfield struct {
+ *TableFeatureProp
+ OxmIds []*Uint32
+}
+
+type ITableFeaturePropWriteSetfield interface {
+ ITableFeatureProp
+ GetOxmIds() []*Uint32
+}
+
+func (self *TableFeaturePropWriteSetfield) GetOxmIds() []*Uint32 {
+ return self.OxmIds
+}
+
+func (self *TableFeaturePropWriteSetfield) SetOxmIds(v []*Uint32) {
+ self.OxmIds = v
+}
+
+func (self *TableFeaturePropWriteSetfield) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.OxmIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropWriteSetfield(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropWriteSetfield, error) {
+ _tablefeaturepropwritesetfield := &TableFeaturePropWriteSetfield{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeUint32(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropwritesetfield.OxmIds = append(_tablefeaturepropwritesetfield.OxmIds, item)
+ }
+ }
+ return _tablefeaturepropwritesetfield, nil
+}
+
+func NewTableFeaturePropWriteSetfield() *TableFeaturePropWriteSetfield {
+ obj := &TableFeaturePropWriteSetfield{
+ TableFeatureProp: NewTableFeatureProp(12),
+ }
+ return obj
+}
+
+type TableFeaturePropWriteSetfieldMiss struct {
+ *TableFeatureProp
+ OxmIds []*Uint32
+}
+
+type ITableFeaturePropWriteSetfieldMiss interface {
+ ITableFeatureProp
+ GetOxmIds() []*Uint32
+}
+
+func (self *TableFeaturePropWriteSetfieldMiss) GetOxmIds() []*Uint32 {
+ return self.OxmIds
+}
+
+func (self *TableFeaturePropWriteSetfieldMiss) SetOxmIds(v []*Uint32) {
+ self.OxmIds = v
+}
+
+func (self *TableFeaturePropWriteSetfieldMiss) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.TableFeatureProp.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.OxmIds {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ encoder.SkipAlign()
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturePropWriteSetfieldMiss(parent *TableFeatureProp, decoder *goloxi.Decoder) (*TableFeaturePropWriteSetfieldMiss, error) {
+ _tablefeaturepropwritesetfieldmiss := &TableFeaturePropWriteSetfieldMiss{TableFeatureProp: parent}
+ defer decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeUint32(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturepropwritesetfieldmiss.OxmIds = append(_tablefeaturepropwritesetfieldmiss.OxmIds, item)
+ }
+ }
+ return _tablefeaturepropwritesetfieldmiss, nil
+}
+
+func NewTableFeaturePropWriteSetfieldMiss() *TableFeaturePropWriteSetfieldMiss {
+ obj := &TableFeaturePropWriteSetfieldMiss{
+ TableFeatureProp: NewTableFeatureProp(13),
+ }
+ return obj
+}
+
+type TableFeatures struct {
+ Length uint16
+ TableId uint8
+ Name string
+ MetadataMatch uint64
+ MetadataWrite uint64
+ Config uint32
+ MaxEntries uint32
+ Properties []ITableFeatureProp
+}
+
+type ITableFeatures interface {
+ goloxi.Serializable
+ GetLength() uint16
+ GetTableId() uint8
+ GetName() string
+ GetMetadataMatch() uint64
+ GetMetadataWrite() uint64
+ GetConfig() uint32
+ GetMaxEntries() uint32
+ GetProperties() []ITableFeatureProp
+}
+
+func (self *TableFeatures) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *TableFeatures) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *TableFeatures) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *TableFeatures) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *TableFeatures) GetName() string {
+ return self.Name
+}
+
+func (self *TableFeatures) SetName(v string) {
+ self.Name = v
+}
+
+func (self *TableFeatures) GetMetadataMatch() uint64 {
+ return self.MetadataMatch
+}
+
+func (self *TableFeatures) SetMetadataMatch(v uint64) {
+ self.MetadataMatch = v
+}
+
+func (self *TableFeatures) GetMetadataWrite() uint64 {
+ return self.MetadataWrite
+}
+
+func (self *TableFeatures) SetMetadataWrite(v uint64) {
+ self.MetadataWrite = v
+}
+
+func (self *TableFeatures) GetConfig() uint32 {
+ return self.Config
+}
+
+func (self *TableFeatures) SetConfig(v uint32) {
+ self.Config = v
+}
+
+func (self *TableFeatures) GetMaxEntries() uint32 {
+ return self.MaxEntries
+}
+
+func (self *TableFeatures) SetMaxEntries(v uint32) {
+ self.MaxEntries = v
+}
+
+func (self *TableFeatures) GetProperties() []ITableFeatureProp {
+ return self.Properties
+}
+
+func (self *TableFeatures) SetProperties(v []ITableFeatureProp) {
+ self.Properties = v
+}
+
+func (self *TableFeatures) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 5))
+ encoder.Write([]byte(self.Name))
+ encoder.PutUint64(uint64(self.MetadataMatch))
+ encoder.PutUint64(uint64(self.MetadataWrite))
+ encoder.PutUint32(uint32(self.Config))
+ encoder.PutUint32(uint32(self.MaxEntries))
+ for _, obj := range self.Properties {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[0:2], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeatures(decoder *goloxi.Decoder) (*TableFeatures, error) {
+ _tablefeatures := &TableFeatures{}
+ if decoder.Length() < 64 {
+ return nil, fmt.Errorf("TableFeatures packet too short: %d < 64", decoder.Length())
+ }
+ _tablefeatures.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_tablefeatures.Length), 2+0)
+ _tablefeatures.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(5)
+ _tablefeatures.Name = string(bytes.Trim(decoder.Read(32), "\x00"))
+ _tablefeatures.MetadataMatch = uint64(decoder.ReadUint64())
+ _tablefeatures.MetadataWrite = uint64(decoder.ReadUint64())
+ _tablefeatures.Config = uint32(decoder.ReadUint32())
+ _tablefeatures.MaxEntries = uint32(decoder.ReadUint32())
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeTableFeatureProp(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeatures.Properties = append(_tablefeatures.Properties, item)
+ }
+ }
+ return _tablefeatures, nil
+}
+
+func NewTableFeatures() *TableFeatures {
+ obj := &TableFeatures{}
+ return obj
+}
+
+type TableStatsEntry struct {
+ TableId uint8
+ ActiveCount uint32
+ LookupCount uint64
+ MatchedCount uint64
+}
+
+type ITableStatsEntry interface {
+ goloxi.Serializable
+ GetTableId() uint8
+ GetActiveCount() uint32
+ GetLookupCount() uint64
+ GetMatchedCount() uint64
+}
+
+func (self *TableStatsEntry) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *TableStatsEntry) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *TableStatsEntry) GetActiveCount() uint32 {
+ return self.ActiveCount
+}
+
+func (self *TableStatsEntry) SetActiveCount(v uint32) {
+ self.ActiveCount = v
+}
+
+func (self *TableStatsEntry) GetLookupCount() uint64 {
+ return self.LookupCount
+}
+
+func (self *TableStatsEntry) SetLookupCount(v uint64) {
+ self.LookupCount = v
+}
+
+func (self *TableStatsEntry) GetMatchedCount() uint64 {
+ return self.MatchedCount
+}
+
+func (self *TableStatsEntry) SetMatchedCount(v uint64) {
+ self.MatchedCount = v
+}
+
+func (self *TableStatsEntry) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+ encoder.PutUint32(uint32(self.ActiveCount))
+ encoder.PutUint64(uint64(self.LookupCount))
+ encoder.PutUint64(uint64(self.MatchedCount))
+
+ return nil
+}
+
+func DecodeTableStatsEntry(decoder *goloxi.Decoder) (*TableStatsEntry, error) {
+ _tablestatsentry := &TableStatsEntry{}
+ if decoder.Length() < 24 {
+ return nil, fmt.Errorf("TableStatsEntry packet too short: %d < 24", decoder.Length())
+ }
+ _tablestatsentry.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ _tablestatsentry.ActiveCount = uint32(decoder.ReadUint32())
+ _tablestatsentry.LookupCount = uint64(decoder.ReadUint64())
+ _tablestatsentry.MatchedCount = uint64(decoder.ReadUint64())
+ return _tablestatsentry, nil
+}
+
+func NewTableStatsEntry() *TableStatsEntry {
+ obj := &TableStatsEntry{}
+ return obj
+}
+
+type Uint32 struct {
+ Value uint32
+}
+
+type IUint32 interface {
+ goloxi.Serializable
+ GetValue() uint32
+}
+
+func (self *Uint32) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *Uint32) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *Uint32) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeUint32(decoder *goloxi.Decoder) (*Uint32, error) {
+ _uint32 := &Uint32{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("Uint32 packet too short: %d < 4", decoder.Length())
+ }
+ _uint32.Value = uint32(decoder.ReadUint32())
+ return _uint32, nil
+}
+
+func NewUint32() *Uint32 {
+ obj := &Uint32{}
+ return obj
+}
+
+type Uint64 struct {
+ Value uint64
+}
+
+type IUint64 interface {
+ goloxi.Serializable
+ GetValue() uint64
+}
+
+func (self *Uint64) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *Uint64) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *Uint64) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint64(uint64(self.Value))
+
+ return nil
+}
+
+func DecodeUint64(decoder *goloxi.Decoder) (*Uint64, error) {
+ _uint64 := &Uint64{}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("Uint64 packet too short: %d < 8", decoder.Length())
+ }
+ _uint64.Value = uint64(decoder.ReadUint64())
+ return _uint64, nil
+}
+
+func NewUint64() *Uint64 {
+ obj := &Uint64{}
+ return obj
+}
+
+type Uint8 struct {
+ Value uint8
+}
+
+type IUint8 interface {
+ goloxi.Serializable
+ GetValue() uint8
+}
+
+func (self *Uint8) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *Uint8) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *Uint8) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeUint8(decoder *goloxi.Decoder) (*Uint8, error) {
+ _uint8 := &Uint8{}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("Uint8 packet too short: %d < 1", decoder.Length())
+ }
+ _uint8.Value = uint8(decoder.ReadByte())
+ return _uint8, nil
+}
+
+func NewUint8() *Uint8 {
+ obj := &Uint8{}
+ return obj
+}
diff --git a/vendor/github.com/skydive-project/goloxi/of13/const.go b/vendor/github.com/skydive-project/goloxi/of13/const.go
new file mode 100644
index 0000000..f1e830e
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/of13/const.go
@@ -0,0 +1,3016 @@
+/*
+ * 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 const.go
+// Do not modify
+
+package of13
+
+import (
+ "fmt"
+ "strings"
+)
+
+const (
+ // Identifiers from group macro_definitions
+ MaxTableNameLen = 32 // OFP_MAX_TABLE_NAME_LEN
+ MaxPortNameLen = 16 // OFP_MAX_PORT_NAME_LEN
+ TCPPort = 6653 // OFP_TCP_PORT
+ SSLPort = 6653 // OFP_SSL_PORT
+ EthAlen = 6 // OFP_ETH_ALEN
+ DefaultMissSendLen = 128 // OFP_DEFAULT_MISS_SEND_LEN
+ VLANNone = 0 // OFP_VLAN_NONE
+ FlowPermanent = 0 // OFP_FLOW_PERMANENT
+ DefaultPriority = 32768 // OFP_DEFAULT_PRIORITY
+ NoBuffer = 4294967295 // OFP_NO_BUFFER
+ DescStrLen = 256 // DESC_STR_LEN
+ SerialNumLen = 32 // SERIAL_NUM_LEN
+ OFPQAll = 4294967295 // OFPQ_ALL
+ OFPQMaxRateUncfg = 65535 // OFPQ_MAX_RATE_UNCFG
+ OFPQMinRateUncfg = 65535 // OFPQ_MIN_RATE_UNCFG
+)
+
+const (
+ // Identifiers from group nx_action_controller2_prop_type
+ Nxac2PtMaxLen = 0 // NXAC2PT_MAX_LEN
+ Nxac2PtControllerID = 1 // NXAC2PT_CONTROLLER_ID
+ Nxac2PtReason = 2 // NXAC2PT_REASON
+ Nxac2PtUserdata = 3 // NXAC2PT_USERDATA
+ Nxac2PtPause = 4 // NXAC2PT_PAUSE
+ Nxac2PtMeterID = 5 // NXAC2PT_METER_ID
+)
+
+type NxActionController2PropType uint16
+
+func (self NxActionController2PropType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group nx_bd_algorithms
+ NxBdAlgActiveBackup = 0 // NX_BD_ALG_ACTIVE_BACKUP
+ NxBdAlgHrw = 1 // NX_BD_ALG_HRW
+)
+
+type NxBdAlgorithms uint16
+
+func (self NxBdAlgorithms) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self NxBdAlgorithms) String() string {
+ switch self {
+ case NxBdAlgActiveBackup:
+ return "active_backup"
+ case NxBdAlgHrw:
+ return "hrw"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group nx_conntrack_flags
+ NxCtFCommit = 1 // NX_CT_F_COMMIT
+ NxCtFForce = 2 // NX_CT_F_FORCE
+)
+
+type NxConntrackFlags uint16
+
+func (self NxConntrackFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&NxCtFCommit == NxCtFCommit {
+ flags = append(flags, "\"Commit\": true")
+ }
+ if self&NxCtFForce == NxCtFForce {
+ flags = append(flags, "\"Force\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group nx_flow_monitor_flags
+ NxfmfInitial = 1 // NXFMF_INITIAL
+ NxfmfAdd = 2 // NXFMF_ADD
+ NxfmfDelete = 4 // NXFMF_DELETE
+ NxfmfModify = 8 // NXFMF_MODIFY
+ NxfmfActions = 16 // NXFMF_ACTIONS
+ NxfmfOwn = 32 // NXFMF_OWN
+)
+
+type NxFlowMonitorFlags uint16
+
+func (self NxFlowMonitorFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&NxfmfInitial == NxfmfInitial {
+ flags = append(flags, "\"Initial\": true")
+ }
+ if self&NxfmfAdd == NxfmfAdd {
+ flags = append(flags, "\"Add\": true")
+ }
+ if self&NxfmfDelete == NxfmfDelete {
+ flags = append(flags, "\"Delete\": true")
+ }
+ if self&NxfmfModify == NxfmfModify {
+ flags = append(flags, "\"Modify\": true")
+ }
+ if self&NxfmfActions == NxfmfActions {
+ flags = append(flags, "\"Actions\": true")
+ }
+ if self&NxfmfOwn == NxfmfOwn {
+ flags = append(flags, "\"Own\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group nx_hash_fields
+ NxHashFieldsEthSrc = 0 // NX_HASH_FIELDS_ETH_SRC
+ NxHashFieldsSymmetricL4 = 1 // NX_HASH_FIELDS_SYMMETRIC_L4
+ NxHashFieldsSymmetricL3L4 = 2 // NX_HASH_FIELDS_SYMMETRIC_L3L4
+ NxHashFieldsSymmetricL3L4Udp = 3 // NX_HASH_FIELDS_SYMMETRIC_L3L4_UDP
+ NxHashFieldsNwSrc = 4 // NX_HASH_FIELDS_NW_SRC
+ NxHashFieldsNwDst = 5 // NX_HASH_FIELDS_NW_DST
+ NxHashFieldsSymmetricL3 = 6 // NX_HASH_FIELDS_SYMMETRIC_L3
+)
+
+type NxHashFields uint16
+
+func (self NxHashFields) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self NxHashFields) String() string {
+ switch self {
+ case NxHashFieldsEthSrc:
+ return "eth_src"
+ case NxHashFieldsSymmetricL4:
+ return "symmetric_l4"
+ case NxHashFieldsSymmetricL3L4:
+ return "symmetric_l3l4"
+ case NxHashFieldsSymmetricL3L4Udp:
+ return "symmetric_l3l4_udp"
+ case NxHashFieldsNwSrc:
+ return "nw_src"
+ case NxHashFieldsNwDst:
+ return "nw_dst"
+ case NxHashFieldsSymmetricL3:
+ return "symmetric_l3"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group nx_mp_algorithm
+ NxMpAlgModuloN = 0 // NX_MP_ALG_MODULO_N
+ NxMpAlgHashThreshold = 1 // NX_MP_ALG_HASH_THRESHOLD
+ NxMpAlgHrw = 2 // NX_MP_ALG_HRW
+ NxMpAlgIterHash = 3 // NX_MP_ALG_ITER_HASH
+)
+
+type NxMpAlgorithm uint16
+
+func (self NxMpAlgorithm) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self NxMpAlgorithm) String() string {
+ switch self {
+ case NxMpAlgModuloN:
+ return "modulo_n"
+ case NxMpAlgHashThreshold:
+ return "hash_threshold"
+ case NxMpAlgHrw:
+ return "hrw"
+ case NxMpAlgIterHash:
+ return "iter_hash"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group of_action_nx_bundle_slave_type
+ NxmOfInPort = 2 // NXM_OF_IN_PORT
+ NxmOfJustThereToDefinePrefix = 10000 // NXM_OF_JUST_THERE_TO_DEFINE_PREFIX
+)
+
+type ActionNxBundleSlaveType uint32
+
+func (self ActionNxBundleSlaveType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self ActionNxBundleSlaveType) String() string {
+ switch self {
+ case NxmOfInPort:
+ return "in_port"
+ case NxmOfJustThereToDefinePrefix:
+ return "just_there_to_define_prefix"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group of_bsn_gentable_error_code
+ OFBSNGentableErrorUnknown = 0 // OF_BSN_GENTABLE_ERROR_UNKNOWN
+ OFBSNGentableErrorParam = 1 // OF_BSN_GENTABLE_ERROR_PARAM
+ OFBSNGentableErrorTableFull = 2 // OF_BSN_GENTABLE_ERROR_TABLE_FULL
+)
+
+type BsnGentableErrorCode uint16
+
+func (self BsnGentableErrorCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group of_bsn_hash_gtp_port_match
+ OFBSNHashGtpPortMatchSrc = 1 // OF_BSN_HASH_GTP_PORT_MATCH_SRC
+ OFBSNHashGtpPortMatchDst = 2 // OF_BSN_HASH_GTP_PORT_MATCH_DST
+ OFBSNHashGtpPortMatchSrcOrDst = 3 // OF_BSN_HASH_GTP_PORT_MATCH_SRC_OR_DST
+ OFBSNHashGtpPortMatchSrcAndDst = 4 // OF_BSN_HASH_GTP_PORT_MATCH_SRC_AND_DST
+)
+
+type BsnHashGtpPortMatch uint8
+
+func (self BsnHashGtpPortMatch) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group of_bsn_hash_packet_field
+ BSNHashFieldDstMAC = 2 // OFP_BSN_HASH_FIELD_DST_MAC
+ BSNHashFieldSrcMAC = 4 // OFP_BSN_HASH_FIELD_SRC_MAC
+ BSNHashFieldEthType = 8 // OFP_BSN_HASH_FIELD_ETH_TYPE
+ BSNHashFieldVLANID = 16 // OFP_BSN_HASH_FIELD_VLAN_ID
+ BSNHashFieldInnerL2 = 32 // OFP_BSN_HASH_FIELD_INNER_L2
+ BSNHashFieldInnerL3 = 64 // OFP_BSN_HASH_FIELD_INNER_L3
+ BSNHashFieldSrcIp = 128 // OFP_BSN_HASH_FIELD_SRC_IP
+ BSNHashFieldDstIp = 256 // OFP_BSN_HASH_FIELD_DST_IP
+ BSNHashFieldIpProto = 512 // OFP_BSN_HASH_FIELD_IP_PROTO
+ BSNHashFieldSrcL4Port = 1024 // OFP_BSN_HASH_FIELD_SRC_L4_PORT
+ BSNHashFieldDstL4Port = 2048 // OFP_BSN_HASH_FIELD_DST_L4_PORT
+ BSNHashFieldMplsLabel1 = 4096 // OFP_BSN_HASH_FIELD_MPLS_LABEL1
+ BSNHashFieldMplsLabel2 = 8192 // OFP_BSN_HASH_FIELD_MPLS_LABEL2
+ BSNHashFieldMplsLabel3 = 16384 // OFP_BSN_HASH_FIELD_MPLS_LABEL3
+ BSNHashFieldMplsLabelHiBits = 32768 // OFP_BSN_HASH_FIELD_MPLS_LABEL_HI_BITS
+ BSNHashFieldMplsPayloadSrcIp = 65536 // OFP_BSN_HASH_FIELD_MPLS_PAYLOAD_SRC_IP
+ BSNHashFieldMplsPayloadDstIp = 131072 // OFP_BSN_HASH_FIELD_MPLS_PAYLOAD_DST_IP
+ BSNHashFieldSymmetric = 262144 // OFP_BSN_HASH_FIELD_SYMMETRIC
+)
+
+type BsnHashPacketField uint64
+
+func (self BsnHashPacketField) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNHashFieldDstMAC == BSNHashFieldDstMAC {
+ flags = append(flags, "\"DstMAC\": true")
+ }
+ if self&BSNHashFieldSrcMAC == BSNHashFieldSrcMAC {
+ flags = append(flags, "\"SrcMAC\": true")
+ }
+ if self&BSNHashFieldEthType == BSNHashFieldEthType {
+ flags = append(flags, "\"EthType\": true")
+ }
+ if self&BSNHashFieldVLANID == BSNHashFieldVLANID {
+ flags = append(flags, "\"VlanID\": true")
+ }
+ if self&BSNHashFieldInnerL2 == BSNHashFieldInnerL2 {
+ flags = append(flags, "\"InnerL2\": true")
+ }
+ if self&BSNHashFieldInnerL3 == BSNHashFieldInnerL3 {
+ flags = append(flags, "\"InnerL3\": true")
+ }
+ if self&BSNHashFieldSrcIp == BSNHashFieldSrcIp {
+ flags = append(flags, "\"SrcIp\": true")
+ }
+ if self&BSNHashFieldDstIp == BSNHashFieldDstIp {
+ flags = append(flags, "\"DstIp\": true")
+ }
+ if self&BSNHashFieldIpProto == BSNHashFieldIpProto {
+ flags = append(flags, "\"IpProto\": true")
+ }
+ if self&BSNHashFieldSrcL4Port == BSNHashFieldSrcL4Port {
+ flags = append(flags, "\"SrcL4Port\": true")
+ }
+ if self&BSNHashFieldDstL4Port == BSNHashFieldDstL4Port {
+ flags = append(flags, "\"DstL4Port\": true")
+ }
+ if self&BSNHashFieldMplsLabel1 == BSNHashFieldMplsLabel1 {
+ flags = append(flags, "\"MplsLabel1\": true")
+ }
+ if self&BSNHashFieldMplsLabel2 == BSNHashFieldMplsLabel2 {
+ flags = append(flags, "\"MplsLabel2\": true")
+ }
+ if self&BSNHashFieldMplsLabel3 == BSNHashFieldMplsLabel3 {
+ flags = append(flags, "\"MplsLabel3\": true")
+ }
+ if self&BSNHashFieldMplsLabelHiBits == BSNHashFieldMplsLabelHiBits {
+ flags = append(flags, "\"MplsLabelHiBits\": true")
+ }
+ if self&BSNHashFieldMplsPayloadSrcIp == BSNHashFieldMplsPayloadSrcIp {
+ flags = append(flags, "\"MplsPayloadSrcIp\": true")
+ }
+ if self&BSNHashFieldMplsPayloadDstIp == BSNHashFieldMplsPayloadDstIp {
+ flags = append(flags, "\"MplsPayloadDstIp\": true")
+ }
+ if self&BSNHashFieldSymmetric == BSNHashFieldSymmetric {
+ flags = append(flags, "\"Symmetric\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group of_bsn_hash_packet_type
+ OFBSNHashPacketL2 = 0 // OF_BSN_HASH_PACKET_L2
+ OFBSNHashPacketL2Gre = 1 // OF_BSN_HASH_PACKET_L2GRE
+ OFBSNHashPacketIpv4 = 3 // OF_BSN_HASH_PACKET_IPV4
+ OFBSNHashPacketIpv6 = 4 // OF_BSN_HASH_PACKET_IPV6
+ OFBSNHashPacketMpls = 5 // OF_BSN_HASH_PACKET_MPLS
+ OFBSNHashPacketSymmetric = 6 // OF_BSN_HASH_PACKET_SYMMETRIC
+)
+
+type BsnHashPacketType uint8
+
+func (self BsnHashPacketType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group of_bsn_hash_type
+ BSNHashTypeL2 = 0 // OFP_BSN_HASH_TYPE_L2
+ BSNHashTypeL3 = 1 // OFP_BSN_HASH_TYPE_L3
+ BSNHashTypeEnhanced = 2 // OFP_BSN_HASH_TYPE_ENHANCED
+)
+
+type BsnHashType uint8
+
+func (self BsnHashType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group of_bsn_lacp_convergence_status
+ LacpSuccess = 0 // LACP_SUCCESS
+ LacpTimedout = 1 // LACP_TIMEDOUT
+ LacpOutOfSync = 2 // LACP_OUT_OF_SYNC
+)
+
+type BsnLacpConvergenceStatus uint8
+
+func (self BsnLacpConvergenceStatus) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group of_bsn_pdu_slot_num
+ BsnPduSlotNumAny = 255 // BSN_PDU_SLOT_NUM_ANY
+)
+
+type BsnPduSlotNum uint8
+
+func (self BsnPduSlotNum) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group of_bsn_vlan_counter
+ BSNVLANCounterRxBytes = 0 // OFP_BSN_VLAN_COUNTER_RX_BYTES
+ BSNVLANCounterRxPackets = 1 // OFP_BSN_VLAN_COUNTER_RX_PACKETS
+ BSNVLANCounterTxBytes = 2 // OFP_BSN_VLAN_COUNTER_TX_BYTES
+ BSNVLANCounterTxPackets = 3 // OFP_BSN_VLAN_COUNTER_TX_PACKETS
+)
+
+type BsnVlanCounter uint8
+
+func (self BsnVlanCounter) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group of_bsn_vrf_counter
+ BSNVrfCounterBytes = 0 // OFP_BSN_VRF_COUNTER_BYTES
+ BSNVrfCounterPackets = 1 // OFP_BSN_VRF_COUNTER_PACKETS
+)
+
+type BsnVrfCounter uint8
+
+func (self BsnVrfCounter) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group of_nx_nat_range
+ NxNatRangeIpv4Min = 1 // NX_NAT_RANGE_IPV4_MIN
+ NxNatRangeIpv4Max = 2 // NX_NAT_RANGE_IPV4_MAX
+ NxNatRangeIpv6Min = 4 // NX_NAT_RANGE_IPV6_MIN
+ NxNatRangeIpv6Max = 8 // NX_NAT_RANGE_IPV6_MAX
+ NxNatRangeProtoMin = 16 // NX_NAT_RANGE_PROTO_MIN
+ NxNatRangeProtoMax = 32 // NX_NAT_RANGE_PROTO_MAX
+)
+
+type NxNatRange uint16
+
+func (self NxNatRange) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&NxNatRangeIpv4Min == NxNatRangeIpv4Min {
+ flags = append(flags, "\"Ipv4Min\": true")
+ }
+ if self&NxNatRangeIpv4Max == NxNatRangeIpv4Max {
+ flags = append(flags, "\"Ipv4Max\": true")
+ }
+ if self&NxNatRangeIpv6Min == NxNatRangeIpv6Min {
+ flags = append(flags, "\"Ipv6Min\": true")
+ }
+ if self&NxNatRangeIpv6Max == NxNatRangeIpv6Max {
+ flags = append(flags, "\"Ipv6Max\": true")
+ }
+ if self&NxNatRangeProtoMin == NxNatRangeProtoMin {
+ flags = append(flags, "\"ProtoMin\": true")
+ }
+ if self&NxNatRangeProtoMax == NxNatRangeProtoMax {
+ flags = append(flags, "\"ProtoMax\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_action_type
+ OFPATOutput = 0 // OFPAT_OUTPUT
+ OFPATCopyTtlOut = 11 // OFPAT_COPY_TTL_OUT
+ OFPATCopyTtlIn = 12 // OFPAT_COPY_TTL_IN
+ OFPATSetMplsTtl = 15 // OFPAT_SET_MPLS_TTL
+ OFPATDecMplsTtl = 16 // OFPAT_DEC_MPLS_TTL
+ OFPATPushVLAN = 17 // OFPAT_PUSH_VLAN
+ OFPATPopVLAN = 18 // OFPAT_POP_VLAN
+ OFPATPushMpls = 19 // OFPAT_PUSH_MPLS
+ OFPATPopMpls = 20 // OFPAT_POP_MPLS
+ OFPATSetQueue = 21 // OFPAT_SET_QUEUE
+ OFPATGroup = 22 // OFPAT_GROUP
+ OFPATSetNwTtl = 23 // OFPAT_SET_NW_TTL
+ OFPATDecNwTtl = 24 // OFPAT_DEC_NW_TTL
+ OFPATSetField = 25 // OFPAT_SET_FIELD
+ OFPATPushPbb = 26 // OFPAT_PUSH_PBB
+ OFPATPopPbb = 27 // OFPAT_POP_PBB
+ OFPATExperimenter = 65535 // OFPAT_EXPERIMENTER
+)
+
+type ActionType uint16
+
+func (self ActionType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bad_action_code
+ OFPBACBadType = 0 // OFPBAC_BAD_TYPE
+ OFPBACBadLen = 1 // OFPBAC_BAD_LEN
+ OFPBACBadExperimenter = 2 // OFPBAC_BAD_EXPERIMENTER
+ OFPBACBadExperimenterType = 3 // OFPBAC_BAD_EXPERIMENTER_TYPE
+ OFPBACBadOutPort = 4 // OFPBAC_BAD_OUT_PORT
+ OFPBACBadArgument = 5 // OFPBAC_BAD_ARGUMENT
+ OFPBACEperm = 6 // OFPBAC_EPERM
+ OFPBACTooMany = 7 // OFPBAC_TOO_MANY
+ OFPBACBadQueue = 8 // OFPBAC_BAD_QUEUE
+ OFPBACBadOutGroup = 9 // OFPBAC_BAD_OUT_GROUP
+ OFPBACMatchInconsistent = 10 // OFPBAC_MATCH_INCONSISTENT
+ OFPBACUnsupportedOrder = 11 // OFPBAC_UNSUPPORTED_ORDER
+ OFPBACBadTag = 12 // OFPBAC_BAD_TAG
+ OFPBACBadSetType = 13 // OFPBAC_BAD_SET_TYPE
+ OFPBACBadSetLen = 14 // OFPBAC_BAD_SET_LEN
+ OFPBACBadSetArgument = 15 // OFPBAC_BAD_SET_ARGUMENT
+)
+
+type BadActionCode uint16
+
+func (self BadActionCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bad_instruction_code
+ OFPBICUnknownInst = 0 // OFPBIC_UNKNOWN_INST
+ OFPBICUnsupInst = 1 // OFPBIC_UNSUP_INST
+ OFPBICBadTableID = 2 // OFPBIC_BAD_TABLE_ID
+ OFPBICUnsupMetadata = 3 // OFPBIC_UNSUP_METADATA
+ OFPBICUnsupMetadataMask = 4 // OFPBIC_UNSUP_METADATA_MASK
+ OFPBICBadExperimenter = 5 // OFPBIC_BAD_EXPERIMENTER
+ OFPBICBadExperimenterType = 6 // OFPBIC_BAD_EXPERIMENTER_TYPE
+ OFPBICBadLen = 7 // OFPBIC_BAD_LEN
+ OFPBICEperm = 8 // OFPBIC_EPERM
+)
+
+type BadInstructionCode uint16
+
+func (self BadInstructionCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bad_match_code
+ OFPBMCBadType = 0 // OFPBMC_BAD_TYPE
+ OFPBMCBadLen = 1 // OFPBMC_BAD_LEN
+ OFPBMCBadTag = 2 // OFPBMC_BAD_TAG
+ OFPBMCBadDlAddrMask = 3 // OFPBMC_BAD_DL_ADDR_MASK
+ OFPBMCBadNwAddrMask = 4 // OFPBMC_BAD_NW_ADDR_MASK
+ OFPBMCBadWildcards = 5 // OFPBMC_BAD_WILDCARDS
+ OFPBMCBadField = 6 // OFPBMC_BAD_FIELD
+ OFPBMCBadValue = 7 // OFPBMC_BAD_VALUE
+ OFPBMCBadMask = 8 // OFPBMC_BAD_MASK
+ OFPBMCBadPrereq = 9 // OFPBMC_BAD_PREREQ
+ OFPBMCDupField = 10 // OFPBMC_DUP_FIELD
+ OFPBMCEperm = 11 // OFPBMC_EPERM
+)
+
+type BadMatchCode uint16
+
+func (self BadMatchCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bad_request_code
+ OFPBRCBadVersion = 0 // OFPBRC_BAD_VERSION
+ OFPBRCBadType = 1 // OFPBRC_BAD_TYPE
+ OFPBRCBadStat = 2 // OFPBRC_BAD_STAT
+ OFPBRCBadExperimenter = 3 // OFPBRC_BAD_EXPERIMENTER
+ OFPBRCBadExperimenterType = 4 // OFPBRC_BAD_EXPERIMENTER_TYPE
+ OFPBRCEperm = 5 // OFPBRC_EPERM
+ OFPBRCBadLen = 6 // OFPBRC_BAD_LEN
+ OFPBRCBufferEmpty = 7 // OFPBRC_BUFFER_EMPTY
+ OFPBRCBufferUnknown = 8 // OFPBRC_BUFFER_UNKNOWN
+ OFPBRCBadTableID = 9 // OFPBRC_BAD_TABLE_ID
+ OFPBRCIsSlave = 10 // OFPBRC_IS_SLAVE
+ OFPBRCBadPort = 11 // OFPBRC_BAD_PORT
+ OFPBRCBadPacket = 12 // OFPBRC_BAD_PACKET
+ OFPBRCMultipartBufferOverflow = 13 // OFPBRC_MULTIPART_BUFFER_OVERFLOW
+)
+
+type BadRequestCode uint16
+
+func (self BadRequestCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_anchor
+ BSNAnchorPacketStart = 0 // OFP_BSN_ANCHOR_PACKET_START
+ BSNAnchorL3HeaderStart = 1 // OFP_BSN_ANCHOR_L3_HEADER_START
+ BSNAnchorL4HeaderStart = 2 // OFP_BSN_ANCHOR_L4_HEADER_START
+ BSNAnchorL4PayloadStart = 3 // OFP_BSN_ANCHOR_L4_PAYLOAD_START
+)
+
+type BsnAnchor uint16
+
+func (self BsnAnchor) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_auto_negotiation_type
+ BSNAutoNegotiationDefault = 0 // OFP_BSN_AUTO_NEGOTIATION_DEFAULT
+ BSNAutoNegotiationEnable = 1 // OFP_BSN_AUTO_NEGOTIATION_ENABLE
+ BSNAutoNegotiationDisable = 2 // OFP_BSN_AUTO_NEGOTIATION_DISABLE
+)
+
+type BsnAutoNegotiationType uint8
+
+func (self BsnAutoNegotiationType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_bfd_endpoint
+ BSNBfdUnused = 0 // OFP_BSN_BFD_UNUSED
+ BSNBfdMicro = 1 // OFP_BSN_BFD_MICRO
+ BSNBfd1Hop = 2 // OFP_BSN_BFD_1_HOP
+ BSNBfdMultiHop = 3 // OFP_BSN_BFD_MULTI_HOP
+)
+
+type BsnBfdEndpoint uint8
+
+func (self BsnBfdEndpoint) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_bfd_endpoint_state
+ BSNBfdEndpointStateAdmindown = 0 // OFP_BSN_BFD_ENDPOINT_STATE_ADMINDOWN
+ BSNBfdEndpointStateDown = 1 // OFP_BSN_BFD_ENDPOINT_STATE_DOWN
+ BSNBfdEndpointStateInit = 2 // OFP_BSN_BFD_ENDPOINT_STATE_INIT
+ BSNBfdEndpointStateUp = 3 // OFP_BSN_BFD_ENDPOINT_STATE_UP
+ BSNBfdEndpointSessionError = 4 // OFP_BSN_BFD_ENDPOINT_SESSION_ERROR
+ BSNBfdEndpointRemoteAdmindown = 5 // OFP_BSN_BFD_ENDPOINT_REMOTE_ADMINDOWN
+ BSNBfdEndpointParamsChange = 6 // OFP_BSN_BFD_ENDPOINT_PARAMS_CHANGE
+)
+
+type BsnBfdEndpointState uint8
+
+func (self BsnBfdEndpointState) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_controller_connection_state
+ BSNControllerConnectionStateDisconnected = 0 // OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED
+ BSNControllerConnectionStateConnected = 1 // OFP_BSN_CONTROLLER_CONNECTION_STATE_CONNECTED
+)
+
+type BsnControllerConnectionState uint8
+
+func (self BsnControllerConnectionState) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_controller_role_reason
+ BSNControllerRoleReasonMasterRequest = 0 // OFP_BSN_CONTROLLER_ROLE_REASON_MASTER_REQUEST
+ BSNControllerRoleReasonConfig = 1 // OFP_BSN_CONTROLLER_ROLE_REASON_CONFIG
+ BSNControllerRoleReasonExperimenter = 2 // OFP_BSN_CONTROLLER_ROLE_REASON_EXPERIMENTER
+)
+
+type BsnControllerRoleReason uint8
+
+func (self BsnControllerRoleReason) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_decap
+ BSNDecapVxlan = 0 // OFP_BSN_DECAP_VXLAN
+ BSNDecapErspan = 1 // OFP_BSN_DECAP_ERSPAN
+ BSNDecapL2GRE = 2 // OFP_BSN_DECAP_L2_GRE
+ BSNDecapNvgre = 3 // OFP_BSN_DECAP_NVGRE
+ BSNDecapCapwap = 4 // OFP_BSN_DECAP_CAPWAP
+ BSNDecapL2Mpls = 5 // OFP_BSN_DECAP_L2_MPLS
+ BSNDecapL3GRE = 6 // OFP_BSN_DECAP_L3_GRE
+ BSNDecapGtp = 7 // OFP_BSN_DECAP_GTP
+ BSNDecapL3Mpls = 8 // OFP_BSN_DECAP_L3_MPLS
+)
+
+type BsnDecap uint16
+
+func (self BsnDecap) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_encap
+ BSNEncapUnused = 0 // OFP_BSN_ENCAP_UNUSED
+ BSNEncapIpv4Udp = 1 // OFP_BSN_ENCAP_IPV4_UDP
+ BSNEncapIpv6Udp = 2 // OFP_BSN_ENCAP_IPV6_UDP
+)
+
+type BsnEncap uint8
+
+func (self BsnEncap) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_enhanced_hash_type
+ BSNEnhancedHashL2 = 1 // OFP_BSN_ENHANCED_HASH_L2
+ BSNEnhancedHashL3 = 2 // OFP_BSN_ENHANCED_HASH_L3
+ BSNEnhancedHashL2Gre = 4 // OFP_BSN_ENHANCED_HASH_L2GRE
+ BSNEnhancedHashMpls = 8 // OFP_BSN_ENHANCED_HASH_MPLS
+ BSNEnhancedHashGtp = 16 // OFP_BSN_ENHANCED_HASH_GTP
+ BSNEnhancedHashSymmetric = 32 // OFP_BSN_ENHANCED_HASH_SYMMETRIC
+)
+
+type BsnEnhancedHashType uint64
+
+func (self BsnEnhancedHashType) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNEnhancedHashL2 == BSNEnhancedHashL2 {
+ flags = append(flags, "\"L2\": true")
+ }
+ if self&BSNEnhancedHashL3 == BSNEnhancedHashL3 {
+ flags = append(flags, "\"L3\": true")
+ }
+ if self&BSNEnhancedHashL2Gre == BSNEnhancedHashL2Gre {
+ flags = append(flags, "\"L2Gre\": true")
+ }
+ if self&BSNEnhancedHashMpls == BSNEnhancedHashMpls {
+ flags = append(flags, "\"Mpls\": true")
+ }
+ if self&BSNEnhancedHashGtp == BSNEnhancedHashGtp {
+ flags = append(flags, "\"Gtp\": true")
+ }
+ if self&BSNEnhancedHashSymmetric == BSNEnhancedHashSymmetric {
+ flags = append(flags, "\"Symmetric\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_fabric_port_role
+ BSNFabricPortRolePartitionedSpine = 1 // OFP_BSN_FABRIC_PORT_ROLE_PARTITIONED_SPINE
+)
+
+type BsnFabricPortRole uint16
+
+func (self BsnFabricPortRole) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_flow_classifier
+ BSNFlowClassifierNone = 0 // OFP_BSN_FLOW_CLASSIFIER_NONE
+ BSNFlowClassifierL2Bc = 1 // OFP_BSN_FLOW_CLASSIFIER_L2BC
+ BSNFlowClassifierL2Uc = 2 // OFP_BSN_FLOW_CLASSIFIER_L2UC
+ BSNFlowClassifierL2Unknown = 3 // OFP_BSN_FLOW_CLASSIFIER_L2UNKNOWN
+ BSNFlowClassifierL2Mcknown = 4 // OFP_BSN_FLOW_CLASSIFIER_L2MCKNOWN
+ BSNFlowClassifierL2Mcunknown = 5 // OFP_BSN_FLOW_CLASSIFIER_L2MCUNKNOWN
+ BSNFlowClassifierL3Mcunknown = 6 // OFP_BSN_FLOW_CLASSIFIER_L3MCUNKNOWN
+ BSNFlowClassifierL3Mcknown = 7 // OFP_BSN_FLOW_CLASSIFIER_L3MCKNOWN
+ BSNFlowClassifierL3Ucknown = 8 // OFP_BSN_FLOW_CLASSIFIER_L3UCKNOWN
+ BSNFlowClassifierL3Ucunknown = 9 // OFP_BSN_FLOW_CLASSIFIER_L3UCUNKNOWN
+)
+
+type BsnFlowClassifier uint16
+
+func (self BsnFlowClassifier) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_forward_error_correction_type
+ BSNForwardErrorCorrectionDefault = 0 // OFP_BSN_FORWARD_ERROR_CORRECTION_DEFAULT
+ BSNForwardErrorCorrectionEnable = 1 // OFP_BSN_FORWARD_ERROR_CORRECTION_ENABLE
+ BSNForwardErrorCorrectionDisable = 2 // OFP_BSN_FORWARD_ERROR_CORRECTION_DISABLE
+)
+
+type BsnForwardErrorCorrectionType uint8
+
+func (self BsnForwardErrorCorrectionType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_hash_algorithm_type
+ BSNHashAlgorithmCrc16Xor8 = 0 // OFP_BSN_HASH_ALGORITHM_CRC16XOR8
+ BSNHashAlgorithmCrc16Xor4 = 1 // OFP_BSN_HASH_ALGORITHM_CRC16XOR4
+ BSNHashAlgorithmCrc16Xor2 = 2 // OFP_BSN_HASH_ALGORITHM_CRC16XOR2
+ BSNHashAlgorithmCrc16Xor1 = 3 // OFP_BSN_HASH_ALGORITHM_CRC16XOR1
+ BSNHashAlgorithmCrc16 = 4 // OFP_BSN_HASH_ALGORITHM_CRC16
+ BSNHashAlgorithmXor16 = 5 // OFP_BSN_HASH_ALGORITHM_XOR16
+ BSNHashAlgorithmCrc16Ccitt = 6 // OFP_BSN_HASH_ALGORITHM_CRC16CCITT
+ BSNHashAlgorithmCrc32Lo = 7 // OFP_BSN_HASH_ALGORITHM_CRC32LO
+ BSNHashAlgorithmCrc32Hi = 8 // OFP_BSN_HASH_ALGORITHM_CRC32HI
+)
+
+type BsnHashAlgorithmType uint16
+
+func (self BsnHashAlgorithmType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_hash_select_flags
+ BSNHashSelectSrcIp = 1 // OFP_BSN_HASH_SELECT_SRC_IP
+ BSNHashSelectDstIp = 2 // OFP_BSN_HASH_SELECT_DST_IP
+)
+
+type BsnHashSelectFlags uint32
+
+func (self BsnHashSelectFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNHashSelectSrcIp == BSNHashSelectSrcIp {
+ flags = append(flags, "\"SrcIp\": true")
+ }
+ if self&BSNHashSelectDstIp == BSNHashSelectDstIp {
+ flags = append(flags, "\"DstIp\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_ip_tunnel_type
+ BSNIpTunnelTypeNone = 0 // OFP_BSN_IP_TUNNEL_TYPE_NONE
+ BSNIpTunnelTypePim = 1 // OFP_BSN_IP_TUNNEL_TYPE_PIM
+)
+
+type BsnIpTunnelType uint16
+
+func (self BsnIpTunnelType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_lacp_state
+ BSNLacpStateActivity = 1 // OFP_BSN_LACP_STATE_ACTIVITY
+ BSNLacpStateTimeout = 2 // OFP_BSN_LACP_STATE_TIMEOUT
+ BSNLacpStateAggregation = 4 // OFP_BSN_LACP_STATE_AGGREGATION
+ BSNLacpStateSynchronization = 8 // OFP_BSN_LACP_STATE_SYNCHRONIZATION
+ BSNLacpStateCollecting = 16 // OFP_BSN_LACP_STATE_COLLECTING
+ BSNLacpStateDistributing = 32 // OFP_BSN_LACP_STATE_DISTRIBUTING
+ BSNLacpStateDefaulted = 64 // OFP_BSN_LACP_STATE_DEFAULTED
+ BSNLacpStateExpired = 128 // OFP_BSN_LACP_STATE_EXPIRED
+)
+
+type BsnLacpState uint8
+
+func (self BsnLacpState) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNLacpStateActivity == BSNLacpStateActivity {
+ flags = append(flags, "\"Activity\": true")
+ }
+ if self&BSNLacpStateTimeout == BSNLacpStateTimeout {
+ flags = append(flags, "\"Timeout\": true")
+ }
+ if self&BSNLacpStateAggregation == BSNLacpStateAggregation {
+ flags = append(flags, "\"Aggregation\": true")
+ }
+ if self&BSNLacpStateSynchronization == BSNLacpStateSynchronization {
+ flags = append(flags, "\"Synchronization\": true")
+ }
+ if self&BSNLacpStateCollecting == BSNLacpStateCollecting {
+ flags = append(flags, "\"Collecting\": true")
+ }
+ if self&BSNLacpStateDistributing == BSNLacpStateDistributing {
+ flags = append(flags, "\"Distributing\": true")
+ }
+ if self&BSNLacpStateDefaulted == BSNLacpStateDefaulted {
+ flags = append(flags, "\"Defaulted\": true")
+ }
+ if self&BSNLacpStateExpired == BSNLacpStateExpired {
+ flags = append(flags, "\"Expired\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_lag_flag
+ BSNLagFlagAutoRecovery = 1 // OFP_BSN_LAG_FLAG_AUTO_RECOVERY
+)
+
+type BsnLagFlag uint16
+
+func (self BsnLagFlag) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNLagFlagAutoRecovery == BSNLagFlagAutoRecovery {
+ flags = append(flags, "\"BSNLagFlagAutoRecovery\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_loglevel
+ BSNLoglevelMsg = 0 // OFP_BSN_LOGLEVEL_MSG
+ BSNLoglevelError = 1 // OFP_BSN_LOGLEVEL_ERROR
+ BSNLoglevelWarn = 2 // OFP_BSN_LOGLEVEL_WARN
+ BSNLoglevelInfo = 3 // OFP_BSN_LOGLEVEL_INFO
+ BSNLoglevelVerbose = 4 // OFP_BSN_LOGLEVEL_VERBOSE
+ BSNLoglevelTrace = 5 // OFP_BSN_LOGLEVEL_TRACE
+)
+
+type BsnLoglevel uint8
+
+func (self BsnLoglevel) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_loopback_mode
+ BSNLoopbackModeNone = 0 // OFP_BSN_LOOPBACK_MODE_NONE
+ BSNLoopbackModeMAC = 1 // OFP_BSN_LOOPBACK_MODE_MAC
+ BSNLoopbackModePhy = 2 // OFP_BSN_LOOPBACK_MODE_PHY
+ BSNLoopbackModePhyRemote = 3 // OFP_BSN_LOOPBACK_MODE_PHY_REMOTE
+)
+
+type BsnLoopbackMode uint8
+
+func (self BsnLoopbackMode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_lua_upload_flags
+ BSNLuaUploadMore = 1 // OFP_BSN_LUA_UPLOAD_MORE
+ BSNLuaUploadForce = 2 // OFP_BSN_LUA_UPLOAD_FORCE
+)
+
+type BsnLuaUploadFlags uint16
+
+func (self BsnLuaUploadFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNLuaUploadMore == BSNLuaUploadMore {
+ flags = append(flags, "\"More\": true")
+ }
+ if self&BSNLuaUploadForce == BSNLuaUploadForce {
+ flags = append(flags, "\"Force\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_multicast_packet
+ BSNMulticastPacketNone = 0 // OFP_BSN_MULTICAST_PACKET_NONE
+ BSNMulticastPacketPimHello = 1 // OFP_BSN_MULTICAST_PACKET_PIM_HELLO
+ BSNMulticastPacketPimJoinPrune = 2 // OFP_BSN_MULTICAST_PACKET_PIM_JOIN_PRUNE
+ BSNMulticastPacketPimAssert = 3 // OFP_BSN_MULTICAST_PACKET_PIM_ASSERT
+)
+
+type BsnMulticastPacket uint16
+
+func (self BsnMulticastPacket) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_pktin_flag
+ BSNPktinFlagPdu = 1 // OFP_BSN_PKTIN_FLAG_PDU
+ BSNPktinFlagNewHost = 2 // OFP_BSN_PKTIN_FLAG_NEW_HOST
+ BSNPktinFlagStationMove = 4 // OFP_BSN_PKTIN_FLAG_STATION_MOVE
+ BSNPktinFlagARP = 8 // OFP_BSN_PKTIN_FLAG_ARP
+ BSNPktinFlagDhcp = 16 // OFP_BSN_PKTIN_FLAG_DHCP
+ BSNPktinFlagL2Cpu = 32 // OFP_BSN_PKTIN_FLAG_L2_CPU
+ BSNPktinFlagDebug = 64 // OFP_BSN_PKTIN_FLAG_DEBUG
+ BSNPktinFlagTtlExpired = 128 // OFP_BSN_PKTIN_FLAG_TTL_EXPIRED
+ BSNPktinFlagL3Miss = 256 // OFP_BSN_PKTIN_FLAG_L3_MISS
+ BSNPktinFlagL3Cpu = 512 // OFP_BSN_PKTIN_FLAG_L3_CPU
+ BSNPktinFlagIngressAcl = 1024 // OFP_BSN_PKTIN_FLAG_INGRESS_ACL
+ BSNPktinFlagSflow = 2048 // OFP_BSN_PKTIN_FLAG_SFLOW
+ BSNPktinFlagARPCache = 4096 // OFP_BSN_PKTIN_FLAG_ARP_CACHE
+ BSNPktinFlagARPTarget = 8192 // OFP_BSN_PKTIN_FLAG_ARP_TARGET
+ BSNPktinFlagIgmp = 16384 // OFP_BSN_PKTIN_FLAG_IGMP
+ BSNPktinFlagPim = 32768 // OFP_BSN_PKTIN_FLAG_PIM
+ BSNPktinFlagVxlanSipMiss = 65536 // OFP_BSN_PKTIN_FLAG_VXLAN_SIP_MISS
+ BSNPktinFlagMcReserved = 131072 // OFP_BSN_PKTIN_FLAG_MC_RESERVED
+ BSNPktinFlagAnalytics = 262144 // OFP_BSN_PKTIN_FLAG_ANALYTICS
+ BSNPktinFlagIcmpv6 = 524288 // OFP_BSN_PKTIN_FLAG_ICMPV6
+ BSNPktinFlagIngressAclLocal = 1048576 // OFP_BSN_PKTIN_FLAG_INGRESS_ACL_LOCAL
+ BSNPktinFlagIpmcMiss = 2097152 // OFP_BSN_PKTIN_FLAG_IPMC_MISS
+ BSNPktinFlagIpmcRpfFailed = 4194304 // OFP_BSN_PKTIN_FLAG_IPMC_RPF_FAILED
+ BSNPktinFlagBfdSlowpath = 8388608 // OFP_BSN_PKTIN_FLAG_BFD_SLOWPATH
+)
+
+type BsnPktinFlag uint64
+
+func (self BsnPktinFlag) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNPktinFlagPdu == BSNPktinFlagPdu {
+ flags = append(flags, "\"Pdu\": true")
+ }
+ if self&BSNPktinFlagNewHost == BSNPktinFlagNewHost {
+ flags = append(flags, "\"NewHost\": true")
+ }
+ if self&BSNPktinFlagStationMove == BSNPktinFlagStationMove {
+ flags = append(flags, "\"StationMove\": true")
+ }
+ if self&BSNPktinFlagARP == BSNPktinFlagARP {
+ flags = append(flags, "\"Arp\": true")
+ }
+ if self&BSNPktinFlagDhcp == BSNPktinFlagDhcp {
+ flags = append(flags, "\"Dhcp\": true")
+ }
+ if self&BSNPktinFlagL2Cpu == BSNPktinFlagL2Cpu {
+ flags = append(flags, "\"L2Cpu\": true")
+ }
+ if self&BSNPktinFlagDebug == BSNPktinFlagDebug {
+ flags = append(flags, "\"Debug\": true")
+ }
+ if self&BSNPktinFlagTtlExpired == BSNPktinFlagTtlExpired {
+ flags = append(flags, "\"TtlExpired\": true")
+ }
+ if self&BSNPktinFlagL3Miss == BSNPktinFlagL3Miss {
+ flags = append(flags, "\"L3Miss\": true")
+ }
+ if self&BSNPktinFlagL3Cpu == BSNPktinFlagL3Cpu {
+ flags = append(flags, "\"L3Cpu\": true")
+ }
+ if self&BSNPktinFlagIngressAcl == BSNPktinFlagIngressAcl {
+ flags = append(flags, "\"IngressAcl\": true")
+ }
+ if self&BSNPktinFlagSflow == BSNPktinFlagSflow {
+ flags = append(flags, "\"Sflow\": true")
+ }
+ if self&BSNPktinFlagARPCache == BSNPktinFlagARPCache {
+ flags = append(flags, "\"ArpCache\": true")
+ }
+ if self&BSNPktinFlagARPTarget == BSNPktinFlagARPTarget {
+ flags = append(flags, "\"ArpTarget\": true")
+ }
+ if self&BSNPktinFlagIgmp == BSNPktinFlagIgmp {
+ flags = append(flags, "\"Igmp\": true")
+ }
+ if self&BSNPktinFlagPim == BSNPktinFlagPim {
+ flags = append(flags, "\"Pim\": true")
+ }
+ if self&BSNPktinFlagVxlanSipMiss == BSNPktinFlagVxlanSipMiss {
+ flags = append(flags, "\"VxlanSipMiss\": true")
+ }
+ if self&BSNPktinFlagMcReserved == BSNPktinFlagMcReserved {
+ flags = append(flags, "\"McReserved\": true")
+ }
+ if self&BSNPktinFlagAnalytics == BSNPktinFlagAnalytics {
+ flags = append(flags, "\"Analytics\": true")
+ }
+ if self&BSNPktinFlagIcmpv6 == BSNPktinFlagIcmpv6 {
+ flags = append(flags, "\"Icmpv6\": true")
+ }
+ if self&BSNPktinFlagIngressAclLocal == BSNPktinFlagIngressAclLocal {
+ flags = append(flags, "\"IngressAclLocal\": true")
+ }
+ if self&BSNPktinFlagIpmcMiss == BSNPktinFlagIpmcMiss {
+ flags = append(flags, "\"IpmcMiss\": true")
+ }
+ if self&BSNPktinFlagIpmcRpfFailed == BSNPktinFlagIpmcRpfFailed {
+ flags = append(flags, "\"IpmcRpfFailed\": true")
+ }
+ if self&BSNPktinFlagBfdSlowpath == BSNPktinFlagBfdSlowpath {
+ flags = append(flags, "\"BfdSlowpath\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_port_counter
+ BSNPortCounterRxBytes = 0 // OFP_BSN_PORT_COUNTER_RX_BYTES
+ BSNPortCounterRxPacketsUnicast = 1 // OFP_BSN_PORT_COUNTER_RX_PACKETS_UNICAST
+ BSNPortCounterRxPacketsBroadcast = 2 // OFP_BSN_PORT_COUNTER_RX_PACKETS_BROADCAST
+ BSNPortCounterRxPacketsMulticast = 3 // OFP_BSN_PORT_COUNTER_RX_PACKETS_MULTICAST
+ BSNPortCounterRxDropped = 4 // OFP_BSN_PORT_COUNTER_RX_DROPPED
+ BSNPortCounterRxErrors = 5 // OFP_BSN_PORT_COUNTER_RX_ERRORS
+ BSNPortCounterTxBytes = 6 // OFP_BSN_PORT_COUNTER_TX_BYTES
+ BSNPortCounterTxPacketsUnicast = 7 // OFP_BSN_PORT_COUNTER_TX_PACKETS_UNICAST
+ BSNPortCounterTxPacketsBroadcast = 8 // OFP_BSN_PORT_COUNTER_TX_PACKETS_BROADCAST
+ BSNPortCounterTxPacketsMulticast = 9 // OFP_BSN_PORT_COUNTER_TX_PACKETS_MULTICAST
+ BSNPortCounterTxDropped = 10 // OFP_BSN_PORT_COUNTER_TX_DROPPED
+ BSNPortCounterTxErrors = 11 // OFP_BSN_PORT_COUNTER_TX_ERRORS
+ BSNPortCounterRxRunts = 12 // OFP_BSN_PORT_COUNTER_RX_RUNTS
+ BSNPortCounterRxGiants = 13 // OFP_BSN_PORT_COUNTER_RX_GIANTS
+ BSNPortCounterRxCrcErrors = 14 // OFP_BSN_PORT_COUNTER_RX_CRC_ERRORS
+ BSNPortCounterRxAlignmentErrors = 15 // OFP_BSN_PORT_COUNTER_RX_ALIGNMENT_ERRORS
+ BSNPortCounterRxSymbolErrors = 16 // OFP_BSN_PORT_COUNTER_RX_SYMBOL_ERRORS
+ BSNPortCounterRxPauseInput = 17 // OFP_BSN_PORT_COUNTER_RX_PAUSE_INPUT
+ BSNPortCounterTxCollisions = 18 // OFP_BSN_PORT_COUNTER_TX_COLLISIONS
+ BSNPortCounterTxLateCollisions = 19 // OFP_BSN_PORT_COUNTER_TX_LATE_COLLISIONS
+ BSNPortCounterTxDeferred = 20 // OFP_BSN_PORT_COUNTER_TX_DEFERRED
+ BSNPortCounterTxPauseOutput = 21 // OFP_BSN_PORT_COUNTER_TX_PAUSE_OUTPUT
+ BSNPortCounterRxPackets = 22 // OFP_BSN_PORT_COUNTER_RX_PACKETS
+ BSNPortCounterTxPackets = 23 // OFP_BSN_PORT_COUNTER_TX_PACKETS
+ BSNPortCounterRxLengthErrors = 24 // OFP_BSN_PORT_COUNTER_RX_LENGTH_ERRORS
+ BSNPortCounterRxOverflowErrors = 25 // OFP_BSN_PORT_COUNTER_RX_OVERFLOW_ERRORS
+ BSNPortCounterTxCarrierErrors = 26 // OFP_BSN_PORT_COUNTER_TX_CARRIER_ERRORS
+ BSNPortCounterRxPacketsBadVLAN = 27 // OFP_BSN_PORT_COUNTER_RX_PACKETS_BAD_VLAN
+ BSNPortCounterLinkUp = 28 // OFP_BSN_PORT_COUNTER_LINK_UP
+ BSNPortCounterLinkDown = 29 // OFP_BSN_PORT_COUNTER_LINK_DOWN
+ BSNPortCounterRxPfcControlFrame = 30 // OFP_BSN_PORT_COUNTER_RX_PFC_CONTROL_FRAME
+ BSNPortCounterTxPfcControlFrame = 31 // OFP_BSN_PORT_COUNTER_TX_PFC_CONTROL_FRAME
+ BSNPortCounterRxPfcFrameXonPriority0 = 32 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_0
+ BSNPortCounterRxPfcFrameXonPriority1 = 33 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_1
+ BSNPortCounterRxPfcFrameXonPriority2 = 34 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_2
+ BSNPortCounterRxPfcFrameXonPriority3 = 35 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_3
+ BSNPortCounterRxPfcFrameXonPriority4 = 36 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_4
+ BSNPortCounterRxPfcFrameXonPriority5 = 37 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_5
+ BSNPortCounterRxPfcFrameXonPriority6 = 38 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_6
+ BSNPortCounterRxPfcFrameXonPriority7 = 39 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_7
+ BSNPortCounterRxPfcFramePriority0 = 40 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_0
+ BSNPortCounterRxPfcFramePriority1 = 41 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_1
+ BSNPortCounterRxPfcFramePriority2 = 42 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_2
+ BSNPortCounterRxPfcFramePriority3 = 43 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_3
+ BSNPortCounterRxPfcFramePriority4 = 44 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_4
+ BSNPortCounterRxPfcFramePriority5 = 45 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_5
+ BSNPortCounterRxPfcFramePriority6 = 46 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_6
+ BSNPortCounterRxPfcFramePriority7 = 47 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_7
+ BSNPortCounterTxPfcFramePriority0 = 48 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_0
+ BSNPortCounterTxPfcFramePriority1 = 49 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_1
+ BSNPortCounterTxPfcFramePriority2 = 50 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_2
+ BSNPortCounterTxPfcFramePriority3 = 51 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_3
+ BSNPortCounterTxPfcFramePriority4 = 52 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_4
+ BSNPortCounterTxPfcFramePriority5 = 53 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_5
+ BSNPortCounterTxPfcFramePriority6 = 54 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_6
+ BSNPortCounterTxPfcFramePriority7 = 55 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_7
+)
+
+type BsnPortCounter uint8
+
+func (self BsnPortCounter) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_port_mode
+ BSNPortModeNone = 0 // OFP_BSN_PORT_MODE_NONE
+ BSNPortMode4Xx = 1 // OFP_BSN_PORT_MODE_4XX
+ BSNPortMode4X1 = 2 // OFP_BSN_PORT_MODE_4X1
+ BSNPortMode4X10 = 3 // OFP_BSN_PORT_MODE_4X10
+ BSNPortMode4X25 = 4 // OFP_BSN_PORT_MODE_4X25
+ BSNPortMode2X50 = 5 // OFP_BSN_PORT_MODE_2X50
+ BSNPortMode1X1 = 6 // OFP_BSN_PORT_MODE_1X1
+ BSNPortMode1X10 = 7 // OFP_BSN_PORT_MODE_1X10
+ BSNPortMode1X25 = 8 // OFP_BSN_PORT_MODE_1X25
+ BSNPortMode1X40 = 9 // OFP_BSN_PORT_MODE_1X40
+ BSNPortMode1X100 = 10 // OFP_BSN_PORT_MODE_1X100
+)
+
+type BsnPortMode uint16
+
+func (self BsnPortMode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_port_speed_gbps_type
+ BSNPortSpeedGbps1 = 1 // OFP_BSN_PORT_SPEED_GBPS_1
+ BSNPortSpeedGbps10 = 10 // OFP_BSN_PORT_SPEED_GBPS_10
+ BSNPortSpeedGbps25 = 25 // OFP_BSN_PORT_SPEED_GBPS_25
+ BSNPortSpeedGbps40 = 40 // OFP_BSN_PORT_SPEED_GBPS_40
+ BSNPortSpeedGbps50 = 50 // OFP_BSN_PORT_SPEED_GBPS_50
+ BSNPortSpeedGbps100 = 100 // OFP_BSN_PORT_SPEED_GBPS_100
+)
+
+type BsnPortSpeedGbpsType uint32
+
+func (self BsnPortSpeedGbpsType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_port_usage
+ BSNPortUnused = 0 // OFP_BSN_PORT_UNUSED
+ BSNPortTransmitOnly = 1 // OFP_BSN_PORT_TRANSMIT_ONLY
+ BSNPortReceiveOnly = 2 // OFP_BSN_PORT_RECEIVE_ONLY
+ BSNPortBidirection = 3 // OFP_BSN_PORT_BIDIRECTION
+)
+
+type BsnPortUsage uint16
+
+func (self BsnPortUsage) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_port_vxlan_mode
+ BSNPortVxlanRecirculationEnable = 0 // OFP_BSN_PORT_VXLAN_RECIRCULATION_ENABLE
+ BSNPortVxlanTerminationEnable = 1 // OFP_BSN_PORT_VXLAN_TERMINATION_ENABLE
+)
+
+type BsnPortVxlanMode uint8
+
+func (self BsnPortVxlanMode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_push_vlan
+ BSNPushVLANUntagged = 1 // OFP_BSN_PUSH_VLAN_UNTAGGED
+ BSNPushVLANSingleTagged = 2 // OFP_BSN_PUSH_VLAN_SINGLE_TAGGED
+ BSNPushVLANDoubleTagged = 4 // OFP_BSN_PUSH_VLAN_DOUBLE_TAGGED
+)
+
+type BsnPushVlan uint8
+
+func (self BsnPushVlan) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNPushVLANUntagged == BSNPushVLANUntagged {
+ flags = append(flags, "\"Untagged\": true")
+ }
+ if self&BSNPushVLANSingleTagged == BSNPushVLANSingleTagged {
+ flags = append(flags, "\"SingleTagged\": true")
+ }
+ if self&BSNPushVLANDoubleTagged == BSNPushVLANDoubleTagged {
+ flags = append(flags, "\"DoubleTagged\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_rate_unit
+ BSNRateUnitPps = 0 // OFP_BSN_RATE_UNIT_PPS
+ BSNRateUnitKbitps = 1 // OFP_BSN_RATE_UNIT_KBITPS
+)
+
+type BsnRateUnit uint8
+
+func (self BsnRateUnit) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_routing_param
+ BSNRoutingParamOspfUcast = 1 // OFP_BSN_ROUTING_PARAM_OSPF_UCAST
+ BSNRoutingParamOspfMcast = 2 // OFP_BSN_ROUTING_PARAM_OSPF_MCAST
+ BSNRoutingParamARPFrr = 3 // OFP_BSN_ROUTING_PARAM_ARP_FRR
+ BSNRoutingParamIpv6OspfUcast = 4 // OFP_BSN_ROUTING_PARAM_IPV6_OSPF_UCAST
+ BSNRoutingParamIpv6OspfMcast = 5 // OFP_BSN_ROUTING_PARAM_IPV6_OSPF_MCAST
+ BSNRoutingParamIpv6NdpFrr = 6 // OFP_BSN_ROUTING_PARAM_IPV6_NDP_FRR
+)
+
+type BsnRoutingParam uint16
+
+func (self BsnRoutingParam) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_status
+ BSNStatusDisable = 0 // OFP_BSN_STATUS_DISABLE
+ BSNStatusEnable = 1 // OFP_BSN_STATUS_ENABLE
+)
+
+type BsnStatus uint8
+
+func (self BsnStatus) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_strip_vlan
+ BSNStripVLANFirst = 1 // OFP_BSN_STRIP_VLAN_FIRST
+ BSNStripVLANSecond = 2 // OFP_BSN_STRIP_VLAN_SECOND
+ BSNStripVLANThird = 4 // OFP_BSN_STRIP_VLAN_THIRD
+)
+
+type BsnStripVlan uint8
+
+func (self BsnStripVlan) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNStripVLANFirst == BSNStripVLANFirst {
+ flags = append(flags, "\"First\": true")
+ }
+ if self&BSNStripVLANSecond == BSNStripVLANSecond {
+ flags = append(flags, "\"Second\": true")
+ }
+ if self&BSNStripVLANThird == BSNStripVLANThird {
+ flags = append(flags, "\"Third\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_tcp_flag
+ BSNTCPFlagFin = 1 // OFP_BSN_TCP_FLAG_FIN
+ BSNTCPFlagSyn = 2 // OFP_BSN_TCP_FLAG_SYN
+ BSNTCPFlagRst = 4 // OFP_BSN_TCP_FLAG_RST
+ BSNTCPFlagPsh = 8 // OFP_BSN_TCP_FLAG_PSH
+ BSNTCPFlagAck = 16 // OFP_BSN_TCP_FLAG_ACK
+ BSNTCPFlagUrg = 32 // OFP_BSN_TCP_FLAG_URG
+ BSNTCPFlagEce = 64 // OFP_BSN_TCP_FLAG_ECE
+ BSNTCPFlagCwr = 128 // OFP_BSN_TCP_FLAG_CWR
+ BSNTCPFlagNs = 256 // OFP_BSN_TCP_FLAG_NS
+)
+
+type BsnTcpFlag uint16
+
+func (self BsnTcpFlag) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNTCPFlagFin == BSNTCPFlagFin {
+ flags = append(flags, "\"Fin\": true")
+ }
+ if self&BSNTCPFlagSyn == BSNTCPFlagSyn {
+ flags = append(flags, "\"Syn\": true")
+ }
+ if self&BSNTCPFlagRst == BSNTCPFlagRst {
+ flags = append(flags, "\"Rst\": true")
+ }
+ if self&BSNTCPFlagPsh == BSNTCPFlagPsh {
+ flags = append(flags, "\"Psh\": true")
+ }
+ if self&BSNTCPFlagAck == BSNTCPFlagAck {
+ flags = append(flags, "\"Ack\": true")
+ }
+ if self&BSNTCPFlagUrg == BSNTCPFlagUrg {
+ flags = append(flags, "\"Urg\": true")
+ }
+ if self&BSNTCPFlagEce == BSNTCPFlagEce {
+ flags = append(flags, "\"Ece\": true")
+ }
+ if self&BSNTCPFlagCwr == BSNTCPFlagCwr {
+ flags = append(flags, "\"Cwr\": true")
+ }
+ if self&BSNTCPFlagNs == BSNTCPFlagNs {
+ flags = append(flags, "\"Ns\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_tunnel_type
+ BSNTunnelL2Gre = 1 // OFP_BSN_TUNNEL_L2GRE
+)
+
+type BsnTunnelType uint64
+
+func (self BsnTunnelType) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNTunnelL2Gre == BSNTunnelL2Gre {
+ flags = append(flags, "\"BSNTunnelL2Gre\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_udf_anchor
+ BSNUdfAnchorPacketStart = 0 // OFP_BSN_UDF_ANCHOR_PACKET_START
+ BSNUdfAnchorL3HeaderStart = 1 // OFP_BSN_UDF_ANCHOR_L3_HEADER_START
+ BSNUdfAnchorL4HeaderStart = 2 // OFP_BSN_UDF_ANCHOR_L4_HEADER_START
+)
+
+type BsnUdfAnchor uint16
+
+func (self BsnUdfAnchor) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_udf_mode
+ BSNUdf8X2Bytes = 1 // OFP_BSN_UDF_8X2_BYTES
+)
+
+type BsnUdfMode uint8
+
+func (self BsnUdfMode) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&BSNUdf8X2Bytes == BSNUdf8X2Bytes {
+ flags = append(flags, "\"BSNUdf8X2Bytes\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_upgrade
+ BSNUpgradeInvalid = 0 // OFP_BSN_UPGRADE_INVALID
+ BSNUpgradeInProgress = 1 // OFP_BSN_UPGRADE_IN_PROGRESS
+)
+
+type BsnUpgrade uint16
+
+func (self BsnUpgrade) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_vlan_counter_constants
+ BSNVLANAll = 65535 // OFP_BSN_VLAN_ALL
+)
+
+const (
+ // Identifiers from group ofp_bsn_vport_l2gre_flags
+ OFBSNVportL2GreLocalMACIsValid = 1 // OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID
+ OFBSNVportL2GreDSCPAssign = 2 // OF_BSN_VPORT_L2GRE_DSCP_ASSIGN
+ OFBSNVportL2GreDSCPCopy = 4 // OF_BSN_VPORT_L2GRE_DSCP_COPY
+ OFBSNVportL2GreLoopbackIsValid = 8 // OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID
+ OFBSNVportL2GreRateLimitIsValid = 16 // OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID
+)
+
+type BsnVportL2GreFlags uint32
+
+func (self BsnVportL2GreFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFBSNVportL2GreLocalMACIsValid == OFBSNVportL2GreLocalMACIsValid {
+ flags = append(flags, "\"LocalMACIsValid\": true")
+ }
+ if self&OFBSNVportL2GreDSCPAssign == OFBSNVportL2GreDSCPAssign {
+ flags = append(flags, "\"DscpAssign\": true")
+ }
+ if self&OFBSNVportL2GreDSCPCopy == OFBSNVportL2GreDSCPCopy {
+ flags = append(flags, "\"DscpCopy\": true")
+ }
+ if self&OFBSNVportL2GreLoopbackIsValid == OFBSNVportL2GreLoopbackIsValid {
+ flags = append(flags, "\"LoopbackIsValid\": true")
+ }
+ if self&OFBSNVportL2GreRateLimitIsValid == OFBSNVportL2GreRateLimitIsValid {
+ flags = append(flags, "\"RateLimitIsValid\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_vport_q_in_q_untagged
+ OFBSNVportQInQUntagged = 65535 // OF_BSN_VPORT_Q_IN_Q_UNTAGGED
+)
+
+type BsnVportQInQUntagged uint16
+
+func (self BsnVportQInQUntagged) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_bsn_vport_status
+ OFBSNVportStatusOk = 0 // OF_BSN_VPORT_STATUS_OK
+ OFBSNVportStatusFailed = 1 // OF_BSN_VPORT_STATUS_FAILED
+)
+
+const (
+ // Identifiers from group ofp_bsn_vrf_counter_constants
+ BSNVrfAll = 4294967295 // OFP_BSN_VRF_ALL
+)
+
+type BsnVrfCounterConstants uint32
+
+func (self BsnVrfCounterConstants) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_capabilities
+ OFPCFlowStats = 1 // OFPC_FLOW_STATS
+ OFPCTableStats = 2 // OFPC_TABLE_STATS
+ OFPCPortStats = 4 // OFPC_PORT_STATS
+ OFPCGroupStats = 8 // OFPC_GROUP_STATS
+ OFPCIpReasm = 32 // OFPC_IP_REASM
+ OFPCQueueStats = 64 // OFPC_QUEUE_STATS
+ OFPCPortBlocked = 256 // OFPC_PORT_BLOCKED
+)
+
+type Capabilities uint32
+
+func (self Capabilities) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPCFlowStats == OFPCFlowStats {
+ flags = append(flags, "\"FlowStats\": true")
+ }
+ if self&OFPCTableStats == OFPCTableStats {
+ flags = append(flags, "\"TableStats\": true")
+ }
+ if self&OFPCPortStats == OFPCPortStats {
+ flags = append(flags, "\"PortStats\": true")
+ }
+ if self&OFPCGroupStats == OFPCGroupStats {
+ flags = append(flags, "\"GroupStats\": true")
+ }
+ if self&OFPCIpReasm == OFPCIpReasm {
+ flags = append(flags, "\"IpReasm\": true")
+ }
+ if self&OFPCQueueStats == OFPCQueueStats {
+ flags = append(flags, "\"QueueStats\": true")
+ }
+ if self&OFPCPortBlocked == OFPCPortBlocked {
+ flags = append(flags, "\"PortBlocked\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_config_flags
+ OFPCFragNormal = 0 // OFPC_FRAG_NORMAL
+ OFPCFragDrop = 1 // OFPC_FRAG_DROP
+ OFPCFragReasm = 2 // OFPC_FRAG_REASM
+ OFPCFragMask = 3 // OFPC_FRAG_MASK
+)
+
+type ConfigFlags uint16
+
+func (self ConfigFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPCFragNormal == OFPCFragNormal {
+ flags = append(flags, "\"Normal\": true")
+ }
+ if self&OFPCFragDrop == OFPCFragDrop {
+ flags = append(flags, "\"Drop\": true")
+ }
+ if self&OFPCFragReasm == OFPCFragReasm {
+ flags = append(flags, "\"Reasm\": true")
+ }
+ if self&OFPCFragMask == OFPCFragMask {
+ flags = append(flags, "\"Mask\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_controller_max_len
+ OFPCMLMax = 65509 // OFPCML_MAX
+ OFPCMLNoBuffer = 65535 // OFPCML_NO_BUFFER
+)
+
+type ControllerMaxLen uint16
+
+func (self ControllerMaxLen) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_controller_role
+ OFPCRRoleNochange = 0 // OFPCR_ROLE_NOCHANGE
+ OFPCRRoleEqual = 1 // OFPCR_ROLE_EQUAL
+ OFPCRRoleMaster = 2 // OFPCR_ROLE_MASTER
+ OFPCRRoleSlave = 3 // OFPCR_ROLE_SLAVE
+)
+
+type ControllerRole uint32
+
+func (self ControllerRole) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_cs_states
+ CsNew = 1 // OFP_CS_NEW
+ CsEstablished = 2 // OFP_CS_ESTABLISHED
+ CsRelated = 4 // OFP_CS_RELATED
+ CsReplyDir = 8 // OFP_CS_REPLY_DIR
+ CsInvalid = 16 // OFP_CS_INVALID
+ CsTracked = 32 // OFP_CS_TRACKED
+ CsSrcNat = 64 // OFP_CS_SRC_NAT
+ CsDstNat = 128 // OFP_CS_DST_NAT
+)
+
+type CsStates uint32
+
+func (self CsStates) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&CsNew == CsNew {
+ flags = append(flags, "\"New\": true")
+ }
+ if self&CsEstablished == CsEstablished {
+ flags = append(flags, "\"Established\": true")
+ }
+ if self&CsRelated == CsRelated {
+ flags = append(flags, "\"Related\": true")
+ }
+ if self&CsReplyDir == CsReplyDir {
+ flags = append(flags, "\"ReplyDir\": true")
+ }
+ if self&CsInvalid == CsInvalid {
+ flags = append(flags, "\"Invalid\": true")
+ }
+ if self&CsTracked == CsTracked {
+ flags = append(flags, "\"Tracked\": true")
+ }
+ if self&CsSrcNat == CsSrcNat {
+ flags = append(flags, "\"SrcNat\": true")
+ }
+ if self&CsDstNat == CsDstNat {
+ flags = append(flags, "\"DstNat\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_ed_nsh_prop_type
+ OFPPPTPropNshNone = 0 // OFPPPT_PROP_NSH_NONE
+ OFPPPTPropNshMdtype = 1 // OFPPPT_PROP_NSH_MDTYPE
+ OFPPPTPropNshTlv = 2 // OFPPPT_PROP_NSH_TLV
+)
+
+type EdNshPropType uint8
+
+func (self EdNshPropType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_ed_prop_class
+ OFPPPCBasic = 0 // OFPPPC_BASIC
+ OFPPPCMpls = 1 // OFPPPC_MPLS
+ OFPPPCGRE = 2 // OFPPPC_GRE
+ OFPPPCGtp = 3 // OFPPPC_GTP
+ OFPPPCNsh = 4 // OFPPPC_NSH
+ OFPPPCExperimenter = 65535 // OFPPPC_EXPERIMENTER
+)
+
+type EdPropClass uint16
+
+func (self EdPropClass) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_error_type
+ OFPETHelloFailed = 0 // OFPET_HELLO_FAILED
+ OFPETBadRequest = 1 // OFPET_BAD_REQUEST
+ OFPETBadAction = 2 // OFPET_BAD_ACTION
+ OFPETBadInstruction = 3 // OFPET_BAD_INSTRUCTION
+ OFPETBadMatch = 4 // OFPET_BAD_MATCH
+ OFPETFlowModFailed = 5 // OFPET_FLOW_MOD_FAILED
+ OFPETGroupModFailed = 6 // OFPET_GROUP_MOD_FAILED
+ OFPETPortModFailed = 7 // OFPET_PORT_MOD_FAILED
+ OFPETTableModFailed = 8 // OFPET_TABLE_MOD_FAILED
+ OFPETQueueOpFailed = 9 // OFPET_QUEUE_OP_FAILED
+ OFPETSwitchConfigFailed = 10 // OFPET_SWITCH_CONFIG_FAILED
+ OFPETRoleRequestFailed = 11 // OFPET_ROLE_REQUEST_FAILED
+ OFPETMeterModFailed = 12 // OFPET_METER_MOD_FAILED
+ OFPETTableFeaturesFailed = 13 // OFPET_TABLE_FEATURES_FAILED
+ OFPETExperimenter = 65535 // OFPET_EXPERIMENTER
+)
+
+type ErrorType uint16
+
+func (self ErrorType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_ethernet_type
+ EthPLoop = 96 // ETH_P_LOOP
+ EthPPup = 512 // ETH_P_PUP
+ EthPPupat = 513 // ETH_P_PUPAT
+ EthPIp = 2048 // ETH_P_IP
+ EthPX25 = 2053 // ETH_P_X25
+ EthPARP = 2054 // ETH_P_ARP
+ EthPBpq = 2303 // ETH_P_BPQ
+ EthPIeeepup = 2560 // ETH_P_IEEEPUP
+ EthPIeeepupat = 2561 // ETH_P_IEEEPUPAT
+ EthPDec = 24576 // ETH_P_DEC
+ EthPDnaDl = 24577 // ETH_P_DNA_DL
+ EthPDnaRc = 24578 // ETH_P_DNA_RC
+ EthPDnaRt = 24579 // ETH_P_DNA_RT
+ EthPLat = 24580 // ETH_P_LAT
+ EthPDiag = 24581 // ETH_P_DIAG
+ EthPCust = 24582 // ETH_P_CUST
+ EthPSca = 24583 // ETH_P_SCA
+ EthPTeb = 25944 // ETH_P_TEB
+ EthPRarp = 32821 // ETH_P_RARP
+ EthPAtalk = 32923 // ETH_P_ATALK
+ EthPAarp = 33011 // ETH_P_AARP
+ EthP8021Q = 33024 // ETH_P_8021Q
+ EthPIpx = 33079 // ETH_P_IPX
+ EthPIpv6 = 34525 // ETH_P_IPV6
+ EthPPause = 34824 // ETH_P_PAUSE
+ EthPSlow = 34825 // ETH_P_SLOW
+ EthPWccp = 34878 // ETH_P_WCCP
+ EthPPppDisc = 34915 // ETH_P_PPP_DISC
+ EthPPppSes = 34916 // ETH_P_PPP_SES
+ EthPMplsUc = 34887 // ETH_P_MPLS_UC
+ EthPMplsMc = 34888 // ETH_P_MPLS_MC
+ EthPAtmmpoa = 34892 // ETH_P_ATMMPOA
+ EthPAtmfate = 34948 // ETH_P_ATMFATE
+ EthPPae = 34958 // ETH_P_PAE
+ EthPAoe = 34978 // ETH_P_AOE
+ EthPTipc = 35018 // ETH_P_TIPC
+ EthP1588 = 35063 // ETH_P_1588
+ EthPFcoe = 35078 // ETH_P_FCOE
+ EthPFip = 35092 // ETH_P_FIP
+ EthPEdsa = 56026 // ETH_P_EDSA
+)
+
+type EthernetType uint16
+
+func (self EthernetType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self EthernetType) String() string {
+ switch self {
+ case EthPLoop:
+ return "loop"
+ case EthPPup:
+ return "pup"
+ case EthPPupat:
+ return "pupat"
+ case EthPIp:
+ return "ip"
+ case EthPX25:
+ return "x25"
+ case EthPARP:
+ return "arp"
+ case EthPBpq:
+ return "bpq"
+ case EthPIeeepup:
+ return "ieeepup"
+ case EthPIeeepupat:
+ return "ieeepupat"
+ case EthPDec:
+ return "dec"
+ case EthPDnaDl:
+ return "dna_dl"
+ case EthPDnaRc:
+ return "dna_rc"
+ case EthPDnaRt:
+ return "dna_rt"
+ case EthPLat:
+ return "lat"
+ case EthPDiag:
+ return "diag"
+ case EthPCust:
+ return "cust"
+ case EthPSca:
+ return "sca"
+ case EthPTeb:
+ return "teb"
+ case EthPRarp:
+ return "rarp"
+ case EthPAtalk:
+ return "atalk"
+ case EthPAarp:
+ return "aarp"
+ case EthP8021Q:
+ return "8021q"
+ case EthPIpx:
+ return "ipx"
+ case EthPIpv6:
+ return "ipv6"
+ case EthPPause:
+ return "pause"
+ case EthPSlow:
+ return "slow"
+ case EthPWccp:
+ return "wccp"
+ case EthPPppDisc:
+ return "ppp_disc"
+ case EthPPppSes:
+ return "ppp_ses"
+ case EthPMplsUc:
+ return "mpls_uc"
+ case EthPMplsMc:
+ return "mpls_mc"
+ case EthPAtmmpoa:
+ return "atmmpoa"
+ case EthPAtmfate:
+ return "atmfate"
+ case EthPPae:
+ return "pae"
+ case EthPAoe:
+ return "aoe"
+ case EthPTipc:
+ return "tipc"
+ case EthP1588:
+ return "1588"
+ case EthPFcoe:
+ return "fcoe"
+ case EthPFip:
+ return "fip"
+ case EthPEdsa:
+ return "edsa"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group ofp_flow_mod_command
+ OFPFCAdd = 0 // OFPFC_ADD
+ OFPFCModify = 1 // OFPFC_MODIFY
+ OFPFCModifyStrict = 2 // OFPFC_MODIFY_STRICT
+ OFPFCDelete = 3 // OFPFC_DELETE
+ OFPFCDeleteStrict = 4 // OFPFC_DELETE_STRICT
+)
+
+type FlowModCommand uint8
+
+func (self FlowModCommand) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_flow_mod_failed_code
+ OFPFMFCUnknown = 0 // OFPFMFC_UNKNOWN
+ OFPFMFCTableFull = 1 // OFPFMFC_TABLE_FULL
+ OFPFMFCBadTableID = 2 // OFPFMFC_BAD_TABLE_ID
+ OFPFMFCOverlap = 3 // OFPFMFC_OVERLAP
+ OFPFMFCEperm = 4 // OFPFMFC_EPERM
+ OFPFMFCBadTimeout = 5 // OFPFMFC_BAD_TIMEOUT
+ OFPFMFCBadCommand = 6 // OFPFMFC_BAD_COMMAND
+ OFPFMFCBadFlags = 7 // OFPFMFC_BAD_FLAGS
+)
+
+type FlowModFailedCode uint16
+
+func (self FlowModFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_flow_mod_flags
+ OFPFFSendFlowRem = 1 // OFPFF_SEND_FLOW_REM
+ OFPFFCheckOverlap = 2 // OFPFF_CHECK_OVERLAP
+ OFPFFResetCounts = 4 // OFPFF_RESET_COUNTS
+ OFPFFNoPktCounts = 8 // OFPFF_NO_PKT_COUNTS
+ OFPFFNoBytCounts = 16 // OFPFF_NO_BYT_COUNTS
+ OFPFFBSNSendIdle = 128 // OFPFF_BSN_SEND_IDLE
+)
+
+type FlowModFlags uint16
+
+func (self FlowModFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPFFSendFlowRem == OFPFFSendFlowRem {
+ flags = append(flags, "\"SendFlowRem\": true")
+ }
+ if self&OFPFFCheckOverlap == OFPFFCheckOverlap {
+ flags = append(flags, "\"CheckOverlap\": true")
+ }
+ if self&OFPFFResetCounts == OFPFFResetCounts {
+ flags = append(flags, "\"ResetCounts\": true")
+ }
+ if self&OFPFFNoPktCounts == OFPFFNoPktCounts {
+ flags = append(flags, "\"NoPktCounts\": true")
+ }
+ if self&OFPFFNoBytCounts == OFPFFNoBytCounts {
+ flags = append(flags, "\"NoBytCounts\": true")
+ }
+ if self&OFPFFBSNSendIdle == OFPFFBSNSendIdle {
+ flags = append(flags, "\"BsnSendIdle\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_flow_removed_reason
+ OFPRRIdleTimeout = 0 // OFPRR_IDLE_TIMEOUT
+ OFPRRHardTimeout = 1 // OFPRR_HARD_TIMEOUT
+ OFPRRDelete = 2 // OFPRR_DELETE
+ OFPRRGroupDelete = 3 // OFPRR_GROUP_DELETE
+)
+
+type FlowRemovedReason uint8
+
+func (self FlowRemovedReason) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_group
+ OFPGMax = 4294967040 // OFPG_MAX
+ OFPGAll = 4294967292 // OFPG_ALL
+ OFPGAny = 4294967295 // OFPG_ANY
+)
+
+type Group uint32
+
+func (self Group) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_group_capabilities
+ OFPGFCSelectWeight = 1 // OFPGFC_SELECT_WEIGHT
+ OFPGFCSelectLiveness = 2 // OFPGFC_SELECT_LIVENESS
+ OFPGFCChaining = 4 // OFPGFC_CHAINING
+ OFPGFCChainingChecks = 8 // OFPGFC_CHAINING_CHECKS
+)
+
+type GroupCapabilities uint32
+
+func (self GroupCapabilities) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPGFCSelectWeight == OFPGFCSelectWeight {
+ flags = append(flags, "\"SelectWeight\": true")
+ }
+ if self&OFPGFCSelectLiveness == OFPGFCSelectLiveness {
+ flags = append(flags, "\"SelectLiveness\": true")
+ }
+ if self&OFPGFCChaining == OFPGFCChaining {
+ flags = append(flags, "\"Chaining\": true")
+ }
+ if self&OFPGFCChainingChecks == OFPGFCChainingChecks {
+ flags = append(flags, "\"ChainingChecks\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_group_mod_command
+ OFPGCAdd = 0 // OFPGC_ADD
+ OFPGCModify = 1 // OFPGC_MODIFY
+ OFPGCDelete = 2 // OFPGC_DELETE
+)
+
+type GroupModCommand uint16
+
+func (self GroupModCommand) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_group_mod_failed_code
+ OFPGMFCGroupExists = 0 // OFPGMFC_GROUP_EXISTS
+ OFPGMFCInvalidGroup = 1 // OFPGMFC_INVALID_GROUP
+ OFPGMFCWeightUnsupported = 2 // OFPGMFC_WEIGHT_UNSUPPORTED
+ OFPGMFCOutOfGroups = 3 // OFPGMFC_OUT_OF_GROUPS
+ OFPGMFCOutOfBuckets = 4 // OFPGMFC_OUT_OF_BUCKETS
+ OFPGMFCChainingUnsupported = 5 // OFPGMFC_CHAINING_UNSUPPORTED
+ OFPGMFCWatchUnsupported = 6 // OFPGMFC_WATCH_UNSUPPORTED
+ OFPGMFCLoop = 7 // OFPGMFC_LOOP
+ OFPGMFCUnknownGroup = 8 // OFPGMFC_UNKNOWN_GROUP
+ OFPGMFCChainedGroup = 9 // OFPGMFC_CHAINED_GROUP
+ OFPGMFCBadType = 10 // OFPGMFC_BAD_TYPE
+ OFPGMFCBadCommand = 11 // OFPGMFC_BAD_COMMAND
+ OFPGMFCBadBucket = 12 // OFPGMFC_BAD_BUCKET
+ OFPGMFCBadWatch = 13 // OFPGMFC_BAD_WATCH
+ OFPGMFCEperm = 14 // OFPGMFC_EPERM
+)
+
+type GroupModFailedCode uint16
+
+func (self GroupModFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_group_type
+ OFPGTAll = 0 // OFPGT_ALL
+ OFPGTSelect = 1 // OFPGT_SELECT
+ OFPGTIndirect = 2 // OFPGT_INDIRECT
+ OFPGTFf = 3 // OFPGT_FF
+)
+
+type GroupType uint8
+
+func (self GroupType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self GroupType) String() string {
+ switch self {
+ case OFPGTAll:
+ return "all"
+ case OFPGTSelect:
+ return "select"
+ case OFPGTIndirect:
+ return "indirect"
+ case OFPGTFf:
+ return "ff"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group ofp_hello_elem_type
+ OFPHETVersionbitmap = 1 // OFPHET_VERSIONBITMAP
+)
+
+type HelloElemType uint16
+
+func (self HelloElemType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_hello_failed_code
+ OFPHFCIncompatible = 0 // OFPHFC_INCOMPATIBLE
+ OFPHFCEperm = 1 // OFPHFC_EPERM
+)
+
+type HelloFailedCode uint16
+
+func (self HelloFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_icmp_type
+ IcmpEchoreply = 0 // ICMP_ECHOREPLY
+ IcmpDestUnreach = 3 // ICMP_DEST_UNREACH
+ IcmpSourceQuench = 4 // ICMP_SOURCE_QUENCH
+ IcmpRedirect = 5 // ICMP_REDIRECT
+ IcmpEcho = 8 // ICMP_ECHO
+ IcmpTimeExceeded = 11 // ICMP_TIME_EXCEEDED
+ IcmpParameterprob = 12 // ICMP_PARAMETERPROB
+ IcmpTimestamp = 13 // ICMP_TIMESTAMP
+ IcmpTimestampreply = 14 // ICMP_TIMESTAMPREPLY
+ IcmpInfoRequest = 15 // ICMP_INFO_REQUEST
+ IcmpInfoReply = 16 // ICMP_INFO_REPLY
+ IcmpAddress = 17 // ICMP_ADDRESS
+ IcmpAddressreply = 18 // ICMP_ADDRESSREPLY
+)
+
+type IcmpType uint8
+
+func (self IcmpType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self IcmpType) String() string {
+ switch self {
+ case IcmpEchoreply:
+ return "echoreply"
+ case IcmpDestUnreach:
+ return "dest_unreach"
+ case IcmpSourceQuench:
+ return "source_quench"
+ case IcmpRedirect:
+ return "redirect"
+ case IcmpEcho:
+ return "echo"
+ case IcmpTimeExceeded:
+ return "time_exceeded"
+ case IcmpParameterprob:
+ return "parameterprob"
+ case IcmpTimestamp:
+ return "timestamp"
+ case IcmpTimestampreply:
+ return "timestampreply"
+ case IcmpInfoRequest:
+ return "info_request"
+ case IcmpInfoReply:
+ return "info_reply"
+ case IcmpAddress:
+ return "address"
+ case IcmpAddressreply:
+ return "addressreply"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group ofp_icmpv6_type
+ Icmpv6EchoRequest = 128 // ICMPV6_ECHO_REQUEST
+ Icmpv6EchoReply = 129 // ICMPV6_ECHO_REPLY
+ Icmpv6MgmQuery = 130 // ICMPV6_MGM_QUERY
+ Icmpv6MgmReport = 131 // ICMPV6_MGM_REPORT
+ Icmpv6MgmReduction = 132 // ICMPV6_MGM_REDUCTION
+ Icmpv6NiQuery = 139 // ICMPV6_NI_QUERY
+ Icmpv6NiReply = 140 // ICMPV6_NI_REPLY
+ Icmpv6Mld2Report = 143 // ICMPV6_MLD2_REPORT
+ Icmpv6DhaadRequest = 144 // ICMPV6_DHAAD_REQUEST
+ Icmpv6DhaadReply = 145 // ICMPV6_DHAAD_REPLY
+ Icmpv6MobilePrefixSol = 146 // ICMPV6_MOBILE_PREFIX_SOL
+ Icmpv6MobilePrefixAdv = 147 // ICMPV6_MOBILE_PREFIX_ADV
+)
+
+type Icmpv6Type uint8
+
+func (self Icmpv6Type) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self Icmpv6Type) String() string {
+ switch self {
+ case Icmpv6EchoRequest:
+ return "echo_request"
+ case Icmpv6EchoReply:
+ return "echo_reply"
+ case Icmpv6MgmQuery:
+ return "mgm_query"
+ case Icmpv6MgmReport:
+ return "mgm_report"
+ case Icmpv6MgmReduction:
+ return "mgm_reduction"
+ case Icmpv6NiQuery:
+ return "ni_query"
+ case Icmpv6NiReply:
+ return "ni_reply"
+ case Icmpv6Mld2Report:
+ return "mld2_report"
+ case Icmpv6DhaadRequest:
+ return "dhaad_request"
+ case Icmpv6DhaadReply:
+ return "dhaad_reply"
+ case Icmpv6MobilePrefixSol:
+ return "mobile_prefix_sol"
+ case Icmpv6MobilePrefixAdv:
+ return "mobile_prefix_adv"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group ofp_instruction_type
+ OFPITGotoTable = 1 // OFPIT_GOTO_TABLE
+ OFPITWriteMetadata = 2 // OFPIT_WRITE_METADATA
+ OFPITWriteActions = 3 // OFPIT_WRITE_ACTIONS
+ OFPITApplyActions = 4 // OFPIT_APPLY_ACTIONS
+ OFPITClearActions = 5 // OFPIT_CLEAR_ACTIONS
+ OFPITMeter = 6 // OFPIT_METER
+ OFPITExperimenter = 65535 // OFPIT_EXPERIMENTER
+)
+
+type InstructionType uint16
+
+func (self InstructionType) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPITGotoTable == OFPITGotoTable {
+ flags = append(flags, "\"GotoTable\": true")
+ }
+ if self&OFPITWriteMetadata == OFPITWriteMetadata {
+ flags = append(flags, "\"WriteMetadata\": true")
+ }
+ if self&OFPITWriteActions == OFPITWriteActions {
+ flags = append(flags, "\"WriteActions\": true")
+ }
+ if self&OFPITApplyActions == OFPITApplyActions {
+ flags = append(flags, "\"ApplyActions\": true")
+ }
+ if self&OFPITClearActions == OFPITClearActions {
+ flags = append(flags, "\"ClearActions\": true")
+ }
+ if self&OFPITMeter == OFPITMeter {
+ flags = append(flags, "\"Meter\": true")
+ }
+ if self&OFPITExperimenter == OFPITExperimenter {
+ flags = append(flags, "\"Experimenter\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_ip_prototype
+ IpprotoIp = 0 // IPPROTO_IP
+ IpprotoICMP = 1 // IPPROTO_ICMP
+ IpprotoIgmp = 2 // IPPROTO_IGMP
+ IpprotoIpip = 4 // IPPROTO_IPIP
+ IpprotoTCP = 6 // IPPROTO_TCP
+ IpprotoEgp = 8 // IPPROTO_EGP
+ IpprotoPup = 12 // IPPROTO_PUP
+ IpprotoUdp = 17 // IPPROTO_UDP
+ IpprotoIdp = 22 // IPPROTO_IDP
+ IpprotoTp = 29 // IPPROTO_TP
+ IpprotoDccp = 33 // IPPROTO_DCCP
+ IpprotoIpv6 = 41 // IPPROTO_IPV6
+ IpprotoRsvp = 46 // IPPROTO_RSVP
+ IpprotoGRE = 47 // IPPROTO_GRE
+ IpprotoEsp = 50 // IPPROTO_ESP
+ IpprotoAh = 51 // IPPROTO_AH
+ IpprotoMtp = 92 // IPPROTO_MTP
+ IpprotoBeetph = 94 // IPPROTO_BEETPH
+ IpprotoEncap = 98 // IPPROTO_ENCAP
+ IpprotoPim = 103 // IPPROTO_PIM
+ IpprotoComp = 108 // IPPROTO_COMP
+ IpprotoSctp = 132 // IPPROTO_SCTP
+ IpprotoUdplite = 136 // IPPROTO_UDPLITE
+ IpprotoMpls = 137 // IPPROTO_MPLS
+ IpprotoRaw = 255 // IPPROTO_RAW
+ IpprotoRouting = 43 // IPPROTO_ROUTING
+ IpprotoFragment = 44 // IPPROTO_FRAGMENT
+ IpprotoIcmpv6 = 58 // IPPROTO_ICMPV6
+ IpprotoNone = 59 // IPPROTO_NONE
+ IpprotoDstopts = 60 // IPPROTO_DSTOPTS
+ IpprotoMh = 135 // IPPROTO_MH
+ IpprotoL2Tp = 115 // IPPROTO_L2TP
+)
+
+type IpPrototype uint8
+
+func (self IpPrototype) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self IpPrototype) String() string {
+ switch self {
+ case IpprotoIp:
+ return "ip"
+ case IpprotoICMP:
+ return "icmp"
+ case IpprotoIgmp:
+ return "igmp"
+ case IpprotoIpip:
+ return "ipip"
+ case IpprotoTCP:
+ return "tcp"
+ case IpprotoEgp:
+ return "egp"
+ case IpprotoPup:
+ return "pup"
+ case IpprotoUdp:
+ return "udp"
+ case IpprotoIdp:
+ return "idp"
+ case IpprotoTp:
+ return "tp"
+ case IpprotoDccp:
+ return "dccp"
+ case IpprotoIpv6:
+ return "ipv6"
+ case IpprotoRsvp:
+ return "rsvp"
+ case IpprotoGRE:
+ return "gre"
+ case IpprotoEsp:
+ return "esp"
+ case IpprotoAh:
+ return "ah"
+ case IpprotoMtp:
+ return "mtp"
+ case IpprotoBeetph:
+ return "beetph"
+ case IpprotoEncap:
+ return "encap"
+ case IpprotoPim:
+ return "pim"
+ case IpprotoComp:
+ return "comp"
+ case IpprotoSctp:
+ return "sctp"
+ case IpprotoUdplite:
+ return "udplite"
+ case IpprotoMpls:
+ return "mpls"
+ case IpprotoRaw:
+ return "raw"
+ case IpprotoRouting:
+ return "routing"
+ case IpprotoFragment:
+ return "fragment"
+ case IpprotoIcmpv6:
+ return "icmpv6"
+ case IpprotoNone:
+ return "none"
+ case IpprotoDstopts:
+ return "dstopts"
+ case IpprotoMh:
+ return "mh"
+ case IpprotoL2Tp:
+ return "l2tp"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group ofp_ipv6exthdr_flags
+ OFPIEHNonext = 1 // OFPIEH_NONEXT
+ OFPIEHEsp = 2 // OFPIEH_ESP
+ OFPIEHAuth = 4 // OFPIEH_AUTH
+ OFPIEHDest = 8 // OFPIEH_DEST
+ OFPIEHFrag = 16 // OFPIEH_FRAG
+ OFPIEHRouter = 32 // OFPIEH_ROUTER
+ OFPIEHHop = 64 // OFPIEH_HOP
+ OFPIEHUnrep = 128 // OFPIEH_UNREP
+ OFPIEHUnseq = 256 // OFPIEH_UNSEQ
+)
+
+type Ipv6ExthdrFlags uint16
+
+func (self Ipv6ExthdrFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPIEHNonext == OFPIEHNonext {
+ flags = append(flags, "\"Nonext\": true")
+ }
+ if self&OFPIEHEsp == OFPIEHEsp {
+ flags = append(flags, "\"Esp\": true")
+ }
+ if self&OFPIEHAuth == OFPIEHAuth {
+ flags = append(flags, "\"Auth\": true")
+ }
+ if self&OFPIEHDest == OFPIEHDest {
+ flags = append(flags, "\"Dest\": true")
+ }
+ if self&OFPIEHFrag == OFPIEHFrag {
+ flags = append(flags, "\"Frag\": true")
+ }
+ if self&OFPIEHRouter == OFPIEHRouter {
+ flags = append(flags, "\"Router\": true")
+ }
+ if self&OFPIEHHop == OFPIEHHop {
+ flags = append(flags, "\"Hop\": true")
+ }
+ if self&OFPIEHUnrep == OFPIEHUnrep {
+ flags = append(flags, "\"Unrep\": true")
+ }
+ if self&OFPIEHUnseq == OFPIEHUnseq {
+ flags = append(flags, "\"Unseq\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_match_type
+ OFPMTStandard = 0 // OFPMT_STANDARD
+ OFPMTOXM = 1 // OFPMT_OXM
+)
+
+type MatchType uint16
+
+func (self MatchType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_meter
+ OFPMMax = 4294901760 // OFPM_MAX
+ OFPMSlowpath = 4294967293 // OFPM_SLOWPATH
+ OFPMController = 4294967294 // OFPM_CONTROLLER
+ OFPMAll = 4294967295 // OFPM_ALL
+)
+
+type Meter uint32
+
+func (self Meter) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_meter_band_type
+ OFPMBTDrop = 1 // OFPMBT_DROP
+ OFPMBTDSCPRemark = 2 // OFPMBT_DSCP_REMARK
+ OFPMBTExperimenter = 65535 // OFPMBT_EXPERIMENTER
+)
+
+type MeterBandType uint16
+
+func (self MeterBandType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_meter_flags
+ OFPMFKbps = 1 // OFPMF_KBPS
+ OFPMFPktps = 2 // OFPMF_PKTPS
+ OFPMFBurst = 4 // OFPMF_BURST
+ OFPMFStats = 8 // OFPMF_STATS
+)
+
+type MeterFlags uint16
+
+func (self MeterFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPMFKbps == OFPMFKbps {
+ flags = append(flags, "\"Kbps\": true")
+ }
+ if self&OFPMFPktps == OFPMFPktps {
+ flags = append(flags, "\"Pktps\": true")
+ }
+ if self&OFPMFBurst == OFPMFBurst {
+ flags = append(flags, "\"Burst\": true")
+ }
+ if self&OFPMFStats == OFPMFStats {
+ flags = append(flags, "\"Stats\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_meter_mod_command
+ OFPMCAdd = 0 // OFPMC_ADD
+ OFPMCModify = 1 // OFPMC_MODIFY
+ OFPMCDelete = 2 // OFPMC_DELETE
+)
+
+type MeterModCommand uint16
+
+func (self MeterModCommand) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_meter_mod_failed_code
+ OFPMMFCUnknown = 0 // OFPMMFC_UNKNOWN
+ OFPMMFCMeterExists = 1 // OFPMMFC_METER_EXISTS
+ OFPMMFCInvalidMeter = 2 // OFPMMFC_INVALID_METER
+ OFPMMFCUnknownMeter = 3 // OFPMMFC_UNKNOWN_METER
+ OFPMMFCBadCommand = 4 // OFPMMFC_BAD_COMMAND
+ OFPMMFCBadFlags = 5 // OFPMMFC_BAD_FLAGS
+ OFPMMFCBadRate = 6 // OFPMMFC_BAD_RATE
+ OFPMMFCBadBurst = 7 // OFPMMFC_BAD_BURST
+ OFPMMFCBadBand = 8 // OFPMMFC_BAD_BAND
+ OFPMMFCBadBandValue = 9 // OFPMMFC_BAD_BAND_VALUE
+ OFPMMFCOutOfMeters = 10 // OFPMMFC_OUT_OF_METERS
+ OFPMMFCOutOfBands = 11 // OFPMMFC_OUT_OF_BANDS
+)
+
+type MeterModFailedCode uint16
+
+func (self MeterModFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_ovs_tcp_flag
+ OvsTCPFlagFin = 1 // OFP_OVS_TCP_FLAG_FIN
+ OvsTCPFlagSyn = 2 // OFP_OVS_TCP_FLAG_SYN
+ OvsTCPFlagRst = 4 // OFP_OVS_TCP_FLAG_RST
+ OvsTCPFlagPsh = 8 // OFP_OVS_TCP_FLAG_PSH
+ OvsTCPFlagAck = 16 // OFP_OVS_TCP_FLAG_ACK
+ OvsTCPFlagUrg = 32 // OFP_OVS_TCP_FLAG_URG
+ OvsTCPFlagEce = 64 // OFP_OVS_TCP_FLAG_ECE
+ OvsTCPFlagCwr = 128 // OFP_OVS_TCP_FLAG_CWR
+ OvsTCPFlagNs = 256 // OFP_OVS_TCP_FLAG_NS
+)
+
+type OvsTcpFlag uint16
+
+func (self OvsTcpFlag) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OvsTCPFlagFin == OvsTCPFlagFin {
+ flags = append(flags, "\"Fin\": true")
+ }
+ if self&OvsTCPFlagSyn == OvsTCPFlagSyn {
+ flags = append(flags, "\"Syn\": true")
+ }
+ if self&OvsTCPFlagRst == OvsTCPFlagRst {
+ flags = append(flags, "\"Rst\": true")
+ }
+ if self&OvsTCPFlagPsh == OvsTCPFlagPsh {
+ flags = append(flags, "\"Psh\": true")
+ }
+ if self&OvsTCPFlagAck == OvsTCPFlagAck {
+ flags = append(flags, "\"Ack\": true")
+ }
+ if self&OvsTCPFlagUrg == OvsTCPFlagUrg {
+ flags = append(flags, "\"Urg\": true")
+ }
+ if self&OvsTCPFlagEce == OvsTCPFlagEce {
+ flags = append(flags, "\"Ece\": true")
+ }
+ if self&OvsTCPFlagCwr == OvsTCPFlagCwr {
+ flags = append(flags, "\"Cwr\": true")
+ }
+ if self&OvsTCPFlagNs == OvsTCPFlagNs {
+ flags = append(flags, "\"Ns\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_oxm_class
+ OFPXMCNxm0 = 0 // OFPXMC_NXM_0
+ OFPXMCNxm1 = 1 // OFPXMC_NXM_1
+ OFPXMCOpenflowBasic = 32768 // OFPXMC_OPENFLOW_BASIC
+ OFPXMCExperimenter = 65535 // OFPXMC_EXPERIMENTER
+)
+
+type OxmClass uint16
+
+func (self OxmClass) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_packet_in_reason
+ OFPRNoMatch = 0 // OFPR_NO_MATCH
+ OFPRAction = 1 // OFPR_ACTION
+ OFPRInvalidTtl = 2 // OFPR_INVALID_TTL
+ OFPRBSNNewHost = 128 // OFPR_BSN_NEW_HOST
+ OFPRBSNStationMove = 129 // OFPR_BSN_STATION_MOVE
+ OFPRBSNBadVLAN = 130 // OFPR_BSN_BAD_VLAN
+ OFPRBSNDestinationLookupFailure = 131 // OFPR_BSN_DESTINATION_LOOKUP_FAILURE
+ OFPRBSNNoRoute = 132 // OFPR_BSN_NO_ROUTE
+ OFPRBSNICMPEchoRequest = 133 // OFPR_BSN_ICMP_ECHO_REQUEST
+ OFPRBSNDestNetworkUnreachable = 134 // OFPR_BSN_DEST_NETWORK_UNREACHABLE
+ OFPRBSNDestHostUnreachable = 135 // OFPR_BSN_DEST_HOST_UNREACHABLE
+ OFPRBSNDestPortUnreachable = 136 // OFPR_BSN_DEST_PORT_UNREACHABLE
+ OFPRBSNFragmentationRequired = 137 // OFPR_BSN_FRAGMENTATION_REQUIRED
+ OFPRBSNARP = 139 // OFPR_BSN_ARP
+ OFPRBSNDhcp = 140 // OFPR_BSN_DHCP
+ OFPRBSNDebug = 141 // OFPR_BSN_DEBUG
+ OFPRBSNPacketOfDeath = 142 // OFPR_BSN_PACKET_OF_DEATH
+)
+
+type PacketInReason uint8
+
+func (self PacketInReason) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_packet_type
+ PtEthernet = 0 // OFP_PT_ETHERNET
+ PtUseNextProto = 65534 // OFP_PT_USE_NEXT_PROTO
+ PtIpv4 = 67584 // OFP_PT_IPV4
+ PtMpls = 100423 // OFP_PT_MPLS
+ PtMplsMc = 100424 // OFP_PT_MPLS_MC
+ PtNsh = 100687 // OFP_PT_NSH
+ PtUnknown = 4294967295 // OFP_PT_UNKNOWN
+)
+
+type PacketType uint32
+
+func (self PacketType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self PacketType) String() string {
+ switch self {
+ case PtEthernet:
+ return "ethernet"
+ case PtUseNextProto:
+ return "use_next_proto"
+ case PtIpv4:
+ return "ipv4"
+ case PtMpls:
+ return "mpls"
+ case PtMplsMc:
+ return "mpls_mc"
+ case PtNsh:
+ return "nsh"
+ case PtUnknown:
+ return "unknown"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group ofp_port
+ OFPPMax = 4294967040 // OFPP_MAX
+ OFPPInPort = 4294967288 // OFPP_IN_PORT
+ OFPPTable = 4294967289 // OFPP_TABLE
+ OFPPNormal = 4294967290 // OFPP_NORMAL
+ OFPPFlood = 4294967291 // OFPP_FLOOD
+ OFPPAll = 4294967292 // OFPP_ALL
+ OFPPController = 4294967293 // OFPP_CONTROLLER
+ OFPPLocal = 4294967294 // OFPP_LOCAL
+ OFPPAny = 4294967295 // OFPP_ANY
+)
+
+type Port uint32
+
+func (self Port) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_port_config
+ OFPPCPortDown = 1 // OFPPC_PORT_DOWN
+ OFPPCNoRecv = 4 // OFPPC_NO_RECV
+ OFPPCNoFwd = 32 // OFPPC_NO_FWD
+ OFPPCNoPacketIn = 64 // OFPPC_NO_PACKET_IN
+ OFPPCBSNMirrorDest = 2147483648 // OFPPC_BSN_MIRROR_DEST
+)
+
+type PortConfig uint32
+
+func (self PortConfig) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPPCPortDown == OFPPCPortDown {
+ flags = append(flags, "\"PortDown\": true")
+ }
+ if self&OFPPCNoRecv == OFPPCNoRecv {
+ flags = append(flags, "\"NoRecv\": true")
+ }
+ if self&OFPPCNoFwd == OFPPCNoFwd {
+ flags = append(flags, "\"NoFwd\": true")
+ }
+ if self&OFPPCNoPacketIn == OFPPCNoPacketIn {
+ flags = append(flags, "\"NoPacketIn\": true")
+ }
+ if self&OFPPCBSNMirrorDest == OFPPCBSNMirrorDest {
+ flags = append(flags, "\"BsnMirrorDest\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_port_features
+ OFPPF10MbHd = 1 // OFPPF_10MB_HD
+ OFPPF10MbFd = 2 // OFPPF_10MB_FD
+ OFPPF100MbHd = 4 // OFPPF_100MB_HD
+ OFPPF100MbFd = 8 // OFPPF_100MB_FD
+ OFPPF1GbHd = 16 // OFPPF_1GB_HD
+ OFPPF1GbFd = 32 // OFPPF_1GB_FD
+ OFPPF10GbFd = 64 // OFPPF_10GB_FD
+ OFPPF40GbFd = 128 // OFPPF_40GB_FD
+ OFPPF100GbFd = 256 // OFPPF_100GB_FD
+ OFPPF1TbFd = 512 // OFPPF_1TB_FD
+ OFPPFOther = 1024 // OFPPF_OTHER
+ OFPPFCopper = 2048 // OFPPF_COPPER
+ OFPPFFiber = 4096 // OFPPF_FIBER
+ OFPPFAutoneg = 8192 // OFPPF_AUTONEG
+ OFPPFPause = 16384 // OFPPF_PAUSE
+ OFPPFPauseAsym = 32768 // OFPPF_PAUSE_ASYM
+ OFPPFBSNBreakoutCapable = 2147483648 // OFPPF_BSN_BREAKOUT_CAPABLE
+)
+
+type PortFeatures uint32
+
+func (self PortFeatures) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPPF10MbHd == OFPPF10MbHd {
+ flags = append(flags, "\"10MbHd\": true")
+ }
+ if self&OFPPF10MbFd == OFPPF10MbFd {
+ flags = append(flags, "\"10MbFd\": true")
+ }
+ if self&OFPPF100MbHd == OFPPF100MbHd {
+ flags = append(flags, "\"100MbHd\": true")
+ }
+ if self&OFPPF100MbFd == OFPPF100MbFd {
+ flags = append(flags, "\"100MbFd\": true")
+ }
+ if self&OFPPF1GbHd == OFPPF1GbHd {
+ flags = append(flags, "\"1GbHd\": true")
+ }
+ if self&OFPPF1GbFd == OFPPF1GbFd {
+ flags = append(flags, "\"1GbFd\": true")
+ }
+ if self&OFPPF10GbFd == OFPPF10GbFd {
+ flags = append(flags, "\"10GbFd\": true")
+ }
+ if self&OFPPF40GbFd == OFPPF40GbFd {
+ flags = append(flags, "\"40GbFd\": true")
+ }
+ if self&OFPPF100GbFd == OFPPF100GbFd {
+ flags = append(flags, "\"100GbFd\": true")
+ }
+ if self&OFPPF1TbFd == OFPPF1TbFd {
+ flags = append(flags, "\"1TbFd\": true")
+ }
+ if self&OFPPFOther == OFPPFOther {
+ flags = append(flags, "\"Other\": true")
+ }
+ if self&OFPPFCopper == OFPPFCopper {
+ flags = append(flags, "\"Copper\": true")
+ }
+ if self&OFPPFFiber == OFPPFFiber {
+ flags = append(flags, "\"Fiber\": true")
+ }
+ if self&OFPPFAutoneg == OFPPFAutoneg {
+ flags = append(flags, "\"Autoneg\": true")
+ }
+ if self&OFPPFPause == OFPPFPause {
+ flags = append(flags, "\"Pause\": true")
+ }
+ if self&OFPPFPauseAsym == OFPPFPauseAsym {
+ flags = append(flags, "\"PauseAsym\": true")
+ }
+ if self&OFPPFBSNBreakoutCapable == OFPPFBSNBreakoutCapable {
+ flags = append(flags, "\"BsnBreakoutCapable\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_port_mod_failed_code
+ OFPPMFCBadPort = 0 // OFPPMFC_BAD_PORT
+ OFPPMFCBadHwAddr = 1 // OFPPMFC_BAD_HW_ADDR
+ OFPPMFCBadConfig = 2 // OFPPMFC_BAD_CONFIG
+ OFPPMFCBadAdvertise = 3 // OFPPMFC_BAD_ADVERTISE
+ OFPPMFCEperm = 4 // OFPPMFC_EPERM
+)
+
+type PortModFailedCode uint16
+
+func (self PortModFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_port_reason
+ OFPPRAdd = 0 // OFPPR_ADD
+ OFPPRDelete = 1 // OFPPR_DELETE
+ OFPPRModify = 2 // OFPPR_MODIFY
+)
+
+type PortReason uint8
+
+func (self PortReason) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_port_state
+ OFPPSLinkDown = 1 // OFPPS_LINK_DOWN
+ OFPPSBlocked = 2 // OFPPS_BLOCKED
+ OFPPSLive = 4 // OFPPS_LIVE
+)
+
+type PortState uint32
+
+func (self PortState) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPPSLinkDown == OFPPSLinkDown {
+ flags = append(flags, "\"LinkDown\": true")
+ }
+ if self&OFPPSBlocked == OFPPSBlocked {
+ flags = append(flags, "\"Blocked\": true")
+ }
+ if self&OFPPSLive == OFPPSLive {
+ flags = append(flags, "\"Live\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_queue_op_failed_code
+ OFPQOFCBadPort = 0 // OFPQOFC_BAD_PORT
+ OFPQOFCBadQueue = 1 // OFPQOFC_BAD_QUEUE
+ OFPQOFCEperm = 2 // OFPQOFC_EPERM
+)
+
+type QueueOpFailedCode uint16
+
+func (self QueueOpFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_queue_properties
+ OFPQTMinRate = 1 // OFPQT_MIN_RATE
+ OFPQTMaxRate = 2 // OFPQT_MAX_RATE
+ OFPQTExperimenter = 65535 // OFPQT_EXPERIMENTER
+)
+
+type QueueProperties uint16
+
+func (self QueueProperties) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_role_request_failed_code
+ OFPRRFCStale = 0 // OFPRRFC_STALE
+ OFPRRFCUnsup = 1 // OFPRRFC_UNSUP
+ OFPRRFCBadRole = 2 // OFPRRFC_BAD_ROLE
+)
+
+type RoleRequestFailedCode uint16
+
+func (self RoleRequestFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_stats_reply_flags
+ OFPSFReplyMore = 1 // OFPSF_REPLY_MORE
+)
+
+type StatsReplyFlags uint16
+
+func (self StatsReplyFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPSFReplyMore == OFPSFReplyMore {
+ flags = append(flags, "\"OFPSFReplyMore\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_stats_request_flags
+ OFPSFReqMore = 1 // OFPSF_REQ_MORE
+)
+
+type StatsRequestFlags uint16
+
+func (self StatsRequestFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPSFReqMore == OFPSFReqMore {
+ flags = append(flags, "\"OFPSFReqMore\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_stats_type
+ OFPSTDesc = 0 // OFPST_DESC
+ OFPSTFlow = 1 // OFPST_FLOW
+ OFPSTAggregate = 2 // OFPST_AGGREGATE
+ OFPSTTable = 3 // OFPST_TABLE
+ OFPSTPort = 4 // OFPST_PORT
+ OFPSTQueue = 5 // OFPST_QUEUE
+ OFPSTGroup = 6 // OFPST_GROUP
+ OFPSTGroupDesc = 7 // OFPST_GROUP_DESC
+ OFPSTGroupFeatures = 8 // OFPST_GROUP_FEATURES
+ OFPSTMeter = 9 // OFPST_METER
+ OFPSTMeterConfig = 10 // OFPST_METER_CONFIG
+ OFPSTMeterFeatures = 11 // OFPST_METER_FEATURES
+ OFPSTTableFeatures = 12 // OFPST_TABLE_FEATURES
+ OFPSTPortDesc = 13 // OFPST_PORT_DESC
+ OFPSTExperimenter = 65535 // OFPST_EXPERIMENTER
+)
+
+type StatsType uint16
+
+func (self StatsType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_switch_config_failed_code
+ OFPSCFCBadFlags = 0 // OFPSCFC_BAD_FLAGS
+ OFPSCFCBadLen = 1 // OFPSCFC_BAD_LEN
+ OFPSCFCEperm = 2 // OFPSCFC_EPERM
+)
+
+type SwitchConfigFailedCode uint16
+
+func (self SwitchConfigFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_table
+ OFPTTMax = 254 // OFPTT_MAX
+ OFPTTAll = 255 // OFPTT_ALL
+)
+
+type Table uint8
+
+func (self Table) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_table_config
+ OFPTCDeprecatedMask = 3 // OFPTC_DEPRECATED_MASK
+)
+
+type TableConfig uint32
+
+func (self TableConfig) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&OFPTCDeprecatedMask == OFPTCDeprecatedMask {
+ flags = append(flags, "\"OFPTCDeprecatedMask\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_table_feature_prop_type
+ OFPTFPTInstructions = 0 // OFPTFPT_INSTRUCTIONS
+ OFPTFPTInstructionsMiss = 1 // OFPTFPT_INSTRUCTIONS_MISS
+ OFPTFPTNextTables = 2 // OFPTFPT_NEXT_TABLES
+ OFPTFPTNextTablesMiss = 3 // OFPTFPT_NEXT_TABLES_MISS
+ OFPTFPTWriteActions = 4 // OFPTFPT_WRITE_ACTIONS
+ OFPTFPTWriteActionsMiss = 5 // OFPTFPT_WRITE_ACTIONS_MISS
+ OFPTFPTApplyActions = 6 // OFPTFPT_APPLY_ACTIONS
+ OFPTFPTApplyActionsMiss = 7 // OFPTFPT_APPLY_ACTIONS_MISS
+ OFPTFPTMatch = 8 // OFPTFPT_MATCH
+ OFPTFPTWildcards = 10 // OFPTFPT_WILDCARDS
+ OFPTFPTWriteSetfield = 12 // OFPTFPT_WRITE_SETFIELD
+ OFPTFPTWriteSetfieldMiss = 13 // OFPTFPT_WRITE_SETFIELD_MISS
+ OFPTFPTApplySetfield = 14 // OFPTFPT_APPLY_SETFIELD
+ OFPTFPTApplySetfieldMiss = 15 // OFPTFPT_APPLY_SETFIELD_MISS
+ OFPTFPTExperimenter = 65534 // OFPTFPT_EXPERIMENTER
+ OFPTFPTExperimenterMiss = 65535 // OFPTFPT_EXPERIMENTER_MISS
+)
+
+type TableFeaturePropType uint16
+
+func (self TableFeaturePropType) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_table_features_failed_code
+ OFPTFFCBadTable = 0 // OFPTFFC_BAD_TABLE
+ OFPTFFCBadMetadata = 1 // OFPTFFC_BAD_METADATA
+ OFPTFFCBadType = 2 // OFPTFFC_BAD_TYPE
+ OFPTFFCBadLen = 3 // OFPTFFC_BAD_LEN
+ OFPTFFCBadArgument = 4 // OFPTFFC_BAD_ARGUMENT
+ OFPTFFCEperm = 5 // OFPTFFC_EPERM
+)
+
+type TableFeaturesFailedCode uint16
+
+func (self TableFeaturesFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_table_mod_failed_code
+ OFPTMFCBadTable = 0 // OFPTMFC_BAD_TABLE
+ OFPTMFCBadConfig = 1 // OFPTMFC_BAD_CONFIG
+ OFPTMFCEperm = 2 // OFPTMFC_EPERM
+)
+
+type TableModFailedCode uint16
+
+func (self TableModFailedCode) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
+
+const (
+ // Identifiers from group ofp_tcp_flags
+ TcpFlagCwr = 128 // TCP_FLAG_CWR
+ TcpFlagEce = 64 // TCP_FLAG_ECE
+ TcpFlagUrg = 32 // TCP_FLAG_URG
+ TcpFlagAck = 16 // TCP_FLAG_ACK
+ TcpFlagPsh = 8 // TCP_FLAG_PSH
+ TcpFlagRst = 4 // TCP_FLAG_RST
+ TcpFlagSyn = 2 // TCP_FLAG_SYN
+ TcpFlagFin = 1 // TCP_FLAG_FIN
+)
+
+type TcpFlags uint16
+
+func (self TcpFlags) MarshalJSON() ([]byte, error) {
+ var flags []string
+ if self&TcpFlagCwr == TcpFlagCwr {
+ flags = append(flags, "\"Cwr\": true")
+ }
+ if self&TcpFlagEce == TcpFlagEce {
+ flags = append(flags, "\"Ece\": true")
+ }
+ if self&TcpFlagUrg == TcpFlagUrg {
+ flags = append(flags, "\"Urg\": true")
+ }
+ if self&TcpFlagAck == TcpFlagAck {
+ flags = append(flags, "\"Ack\": true")
+ }
+ if self&TcpFlagPsh == TcpFlagPsh {
+ flags = append(flags, "\"Psh\": true")
+ }
+ if self&TcpFlagRst == TcpFlagRst {
+ flags = append(flags, "\"Rst\": true")
+ }
+ if self&TcpFlagSyn == TcpFlagSyn {
+ flags = append(flags, "\"Syn\": true")
+ }
+ if self&TcpFlagFin == TcpFlagFin {
+ flags = append(flags, "\"Fin\": true")
+ }
+ return []byte("{" + strings.Join(flags, ", ") + "}"), nil
+}
+
+const (
+ // Identifiers from group ofp_type
+ OFPTHello = 0 // OFPT_HELLO
+ OFPTError = 1 // OFPT_ERROR
+ OFPTEchoRequest = 2 // OFPT_ECHO_REQUEST
+ OFPTEchoReply = 3 // OFPT_ECHO_REPLY
+ OFPTExperimenter = 4 // OFPT_EXPERIMENTER
+ OFPTFeaturesRequest = 5 // OFPT_FEATURES_REQUEST
+ OFPTFeaturesReply = 6 // OFPT_FEATURES_REPLY
+ OFPTGetConfigRequest = 7 // OFPT_GET_CONFIG_REQUEST
+ OFPTGetConfigReply = 8 // OFPT_GET_CONFIG_REPLY
+ OFPTSetConfig = 9 // OFPT_SET_CONFIG
+ OFPTPacketIn = 10 // OFPT_PACKET_IN
+ OFPTFlowRemoved = 11 // OFPT_FLOW_REMOVED
+ OFPTPortStatus = 12 // OFPT_PORT_STATUS
+ OFPTPacketOut = 13 // OFPT_PACKET_OUT
+ OFPTFlowMod = 14 // OFPT_FLOW_MOD
+ OFPTGroupMod = 15 // OFPT_GROUP_MOD
+ OFPTPortMod = 16 // OFPT_PORT_MOD
+ OFPTTableMod = 17 // OFPT_TABLE_MOD
+ OFPTStatsRequest = 18 // OFPT_STATS_REQUEST
+ OFPTStatsReply = 19 // OFPT_STATS_REPLY
+ OFPTBarrierRequest = 20 // OFPT_BARRIER_REQUEST
+ OFPTBarrierReply = 21 // OFPT_BARRIER_REPLY
+ OFPTQueueGetConfigRequest = 22 // OFPT_QUEUE_GET_CONFIG_REQUEST
+ OFPTQueueGetConfigReply = 23 // OFPT_QUEUE_GET_CONFIG_REPLY
+ OFPTRoleRequest = 24 // OFPT_ROLE_REQUEST
+ OFPTRoleReply = 25 // OFPT_ROLE_REPLY
+ OFPTGetAsyncRequest = 26 // OFPT_GET_ASYNC_REQUEST
+ OFPTGetAsyncReply = 27 // OFPT_GET_ASYNC_REPLY
+ OFPTSetAsync = 28 // OFPT_SET_ASYNC
+ OFPTMeterMod = 29 // OFPT_METER_MOD
+)
+
+type Type uint8
+
+func (self Type) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("\"%s\"", self)), nil
+}
+
+func (self Type) String() string {
+ switch self {
+ case OFPTHello:
+ return "hello"
+ case OFPTError:
+ return "error"
+ case OFPTEchoRequest:
+ return "echo_request"
+ case OFPTEchoReply:
+ return "echo_reply"
+ case OFPTExperimenter:
+ return "experimenter"
+ case OFPTFeaturesRequest:
+ return "features_request"
+ case OFPTFeaturesReply:
+ return "features_reply"
+ case OFPTGetConfigRequest:
+ return "get_config_request"
+ case OFPTGetConfigReply:
+ return "get_config_reply"
+ case OFPTSetConfig:
+ return "set_config"
+ case OFPTPacketIn:
+ return "packet_in"
+ case OFPTFlowRemoved:
+ return "flow_removed"
+ case OFPTPortStatus:
+ return "port_status"
+ case OFPTPacketOut:
+ return "packet_out"
+ case OFPTFlowMod:
+ return "flow_mod"
+ case OFPTGroupMod:
+ return "group_mod"
+ case OFPTPortMod:
+ return "port_mod"
+ case OFPTTableMod:
+ return "table_mod"
+ case OFPTStatsRequest:
+ return "stats_request"
+ case OFPTStatsReply:
+ return "stats_reply"
+ case OFPTBarrierRequest:
+ return "barrier_request"
+ case OFPTBarrierReply:
+ return "barrier_reply"
+ case OFPTQueueGetConfigRequest:
+ return "queue_get_config_request"
+ case OFPTQueueGetConfigReply:
+ return "queue_get_config_reply"
+ case OFPTRoleRequest:
+ return "role_request"
+ case OFPTRoleReply:
+ return "role_reply"
+ case OFPTGetAsyncRequest:
+ return "get_async_request"
+ case OFPTGetAsyncReply:
+ return "get_async_reply"
+ case OFPTSetAsync:
+ return "set_async"
+ case OFPTMeterMod:
+ return "meter_mod"
+ default:
+ return fmt.Sprintf("%d", self)
+ }
+}
+
+const (
+ // Identifiers from group ofp_vlan_id
+ OFPVIDNone = 0 // OFPVID_NONE
+ OFPVIDPresent = 4096 // OFPVID_PRESENT
+)
+
+type VlanId uint16
+
+func (self VlanId) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf("%d", self)), nil
+}
diff --git a/vendor/github.com/skydive-project/goloxi/of13/instruction.go b/vendor/github.com/skydive-project/goloxi/of13/instruction.go
new file mode 100644
index 0000000..53a2eca
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/of13/instruction.go
@@ -0,0 +1,1168 @@
+/*
+ * Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
+ * Copyright (c) 2011, 2012 Open Networking Foundation
+ * Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler.
+ * Copyright 2018, Red Hat, Inc.
+ */
+// Automatically generated by LOXI from template module.go
+// Do not modify
+
+package of13
+
+import (
+ "bytes"
+ "encoding/binary"
+ "fmt"
+
+ "github.com/skydive-project/goloxi"
+)
+
+type Instruction struct {
+ Type uint16
+ Len uint16
+}
+
+type IInstruction interface {
+ goloxi.Serializable
+ GetType() uint16
+ GetLen() uint16
+}
+
+func (self *Instruction) GetType() uint16 {
+ return self.Type
+}
+
+func (self *Instruction) SetType(v uint16) {
+ self.Type = v
+}
+
+func (self *Instruction) GetLen() uint16 {
+ return self.Len
+}
+
+func (self *Instruction) SetLen(v uint16) {
+ self.Len = v
+}
+
+func (self *Instruction) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint16(uint16(self.Type))
+ encoder.PutUint16(uint16(self.Len))
+
+ return nil
+}
+
+func DecodeInstruction(decoder *goloxi.Decoder) (IInstruction, error) {
+ _instruction := &Instruction{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("Instruction packet too short: %d < 4", decoder.Length())
+ }
+ _instruction.Type = uint16(decoder.ReadUint16())
+ _instruction.Len = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_instruction.Len), 2+2)
+
+ switch _instruction.Type {
+ case 1:
+ return DecodeInstructionGotoTable(_instruction, decoder)
+ case 2:
+ return DecodeInstructionWriteMetadata(_instruction, decoder)
+ case 3:
+ return DecodeInstructionWriteActions(_instruction, decoder)
+ case 4:
+ return DecodeInstructionApplyActions(_instruction, decoder)
+ case 5:
+ return DecodeInstructionClearActions(_instruction, decoder)
+ case 6:
+ return DecodeInstructionMeter(_instruction, decoder)
+ case 65535:
+ return DecodeInstructionExperimenter(_instruction, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'Instruction'", _instruction.Type)
+ }
+}
+
+func NewInstruction(_type uint16) *Instruction {
+ obj := &Instruction{}
+ obj.Type = _type
+ return obj
+}
+
+type InstructionApplyActions struct {
+ *Instruction
+ Actions []goloxi.IAction
+}
+
+type IInstructionApplyActions interface {
+ IInstruction
+ GetActions() []goloxi.IAction
+}
+
+func (self *InstructionApplyActions) GetActions() []goloxi.IAction {
+ return self.Actions
+}
+
+func (self *InstructionApplyActions) SetActions(v []goloxi.IAction) {
+ self.Actions = v
+}
+
+func (self *InstructionApplyActions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Instruction.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Actions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionApplyActions(parent *Instruction, decoder *goloxi.Decoder) (*InstructionApplyActions, error) {
+ _instructionapplyactions := &InstructionApplyActions{Instruction: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionApplyActions packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeAction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _instructionapplyactions.Actions = append(_instructionapplyactions.Actions, item)
+ }
+ }
+ return _instructionapplyactions, nil
+}
+
+func NewInstructionApplyActions() *InstructionApplyActions {
+ obj := &InstructionApplyActions{
+ Instruction: NewInstruction(4),
+ }
+ return obj
+}
+
+type InstructionExperimenter struct {
+ *Instruction
+ Experimenter uint32
+}
+
+type IInstructionExperimenter interface {
+ IInstruction
+ GetExperimenter() uint32
+}
+
+func (self *InstructionExperimenter) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *InstructionExperimenter) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *InstructionExperimenter) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Instruction.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Experimenter))
+
+ return nil
+}
+
+func DecodeInstructionExperimenter(parent *Instruction, decoder *goloxi.Decoder) (IInstructionExperimenter, error) {
+ _instructionexperimenter := &InstructionExperimenter{Instruction: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionExperimenter packet too short: %d < 4", decoder.Length())
+ }
+ _instructionexperimenter.Experimenter = uint32(decoder.ReadUint32())
+
+ switch _instructionexperimenter.Experimenter {
+ case 6035143:
+ return DecodeInstructionBsn(_instructionexperimenter, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'InstructionExperimenter'", _instructionexperimenter.Experimenter)
+ }
+}
+
+func NewInstructionExperimenter(_experimenter uint32) *InstructionExperimenter {
+ obj := &InstructionExperimenter{
+ Instruction: NewInstruction(65535),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type InstructionBsn struct {
+ *InstructionExperimenter
+ Subtype uint32
+}
+
+type IInstructionBsn interface {
+ IInstructionExperimenter
+ GetSubtype() uint32
+}
+
+func (self *InstructionBsn) GetSubtype() uint32 {
+ return self.Subtype
+}
+
+func (self *InstructionBsn) SetSubtype(v uint32) {
+ self.Subtype = v
+}
+
+func (self *InstructionBsn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionExperimenter.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Subtype))
+
+ return nil
+}
+
+func DecodeInstructionBsn(parent *InstructionExperimenter, decoder *goloxi.Decoder) (IInstructionBsn, error) {
+ _instructionbsn := &InstructionBsn{InstructionExperimenter: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsn packet too short: %d < 4", decoder.Length())
+ }
+ _instructionbsn.Subtype = uint32(decoder.ReadUint32())
+
+ switch _instructionbsn.Subtype {
+ case 0:
+ return DecodeInstructionBsnDisableSrcMacCheck(_instructionbsn, decoder)
+ case 1:
+ return DecodeInstructionBsnArpOffload(_instructionbsn, decoder)
+ case 2:
+ return DecodeInstructionBsnDhcpOffload(_instructionbsn, decoder)
+ case 3:
+ return DecodeInstructionBsnDisableSplitHorizonCheck(_instructionbsn, decoder)
+ case 4:
+ return DecodeInstructionBsnPermit(_instructionbsn, decoder)
+ case 5:
+ return DecodeInstructionBsnDeny(_instructionbsn, decoder)
+ case 6:
+ return DecodeInstructionBsnPacketOfDeath(_instructionbsn, decoder)
+ case 7:
+ return DecodeInstructionBsnPrioritizePdus(_instructionbsn, decoder)
+ case 8:
+ return DecodeInstructionBsnRequireVlanXlate(_instructionbsn, decoder)
+ case 9:
+ return DecodeInstructionBsnDisableVlanCounters(_instructionbsn, decoder)
+ case 10:
+ return DecodeInstructionBsnSpanDestination(_instructionbsn, decoder)
+ case 11:
+ return DecodeInstructionBsnAutoNegotiation(_instructionbsn, decoder)
+ case 12:
+ return DecodeInstructionBsnInternalPriority(_instructionbsn, decoder)
+ case 13:
+ return DecodeInstructionBsnDisableL3(_instructionbsn, decoder)
+ case 14:
+ return DecodeInstructionBsnNdpOffload(_instructionbsn, decoder)
+ case 15:
+ return DecodeInstructionBsnHashSelect(_instructionbsn, decoder)
+ case 16:
+ return DecodeInstructionBsnDirectedBroadcast(_instructionbsn, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'InstructionBsn'", _instructionbsn.Subtype)
+ }
+}
+
+func NewInstructionBsn(_subtype uint32) *InstructionBsn {
+ obj := &InstructionBsn{
+ InstructionExperimenter: NewInstructionExperimenter(6035143),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type InstructionBsnArpOffload struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnArpOffload interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnArpOffload) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnArpOffload(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnArpOffload, error) {
+ _instructionbsnarpoffload := &InstructionBsnArpOffload{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnArpOffload packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsnarpoffload, nil
+}
+
+func NewInstructionBsnArpOffload() *InstructionBsnArpOffload {
+ obj := &InstructionBsnArpOffload{
+ InstructionBsn: NewInstructionBsn(1),
+ }
+ return obj
+}
+
+type InstructionBsnAutoNegotiation struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnAutoNegotiation interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnAutoNegotiation) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnAutoNegotiation(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnAutoNegotiation, error) {
+ _instructionbsnautonegotiation := &InstructionBsnAutoNegotiation{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnAutoNegotiation packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsnautonegotiation, nil
+}
+
+func NewInstructionBsnAutoNegotiation() *InstructionBsnAutoNegotiation {
+ obj := &InstructionBsnAutoNegotiation{
+ InstructionBsn: NewInstructionBsn(11),
+ }
+ return obj
+}
+
+type InstructionBsnDeny struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnDeny interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnDeny) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnDeny(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnDeny, error) {
+ _instructionbsndeny := &InstructionBsnDeny{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnDeny packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsndeny, nil
+}
+
+func NewInstructionBsnDeny() *InstructionBsnDeny {
+ obj := &InstructionBsnDeny{
+ InstructionBsn: NewInstructionBsn(5),
+ }
+ return obj
+}
+
+type InstructionBsnDhcpOffload struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnDhcpOffload interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnDhcpOffload) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnDhcpOffload(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnDhcpOffload, error) {
+ _instructionbsndhcpoffload := &InstructionBsnDhcpOffload{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnDhcpOffload packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsndhcpoffload, nil
+}
+
+func NewInstructionBsnDhcpOffload() *InstructionBsnDhcpOffload {
+ obj := &InstructionBsnDhcpOffload{
+ InstructionBsn: NewInstructionBsn(2),
+ }
+ return obj
+}
+
+type InstructionBsnDirectedBroadcast struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnDirectedBroadcast interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnDirectedBroadcast) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnDirectedBroadcast(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnDirectedBroadcast, error) {
+ _instructionbsndirectedbroadcast := &InstructionBsnDirectedBroadcast{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnDirectedBroadcast packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsndirectedbroadcast, nil
+}
+
+func NewInstructionBsnDirectedBroadcast() *InstructionBsnDirectedBroadcast {
+ obj := &InstructionBsnDirectedBroadcast{
+ InstructionBsn: NewInstructionBsn(16),
+ }
+ return obj
+}
+
+type InstructionBsnDisableL3 struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnDisableL3 interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnDisableL3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnDisableL3(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnDisableL3, error) {
+ _instructionbsndisablel3 := &InstructionBsnDisableL3{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnDisableL3 packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsndisablel3, nil
+}
+
+func NewInstructionBsnDisableL3() *InstructionBsnDisableL3 {
+ obj := &InstructionBsnDisableL3{
+ InstructionBsn: NewInstructionBsn(13),
+ }
+ return obj
+}
+
+type InstructionBsnDisableSplitHorizonCheck struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnDisableSplitHorizonCheck interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnDisableSplitHorizonCheck) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnDisableSplitHorizonCheck(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnDisableSplitHorizonCheck, error) {
+ _instructionbsndisablesplithorizoncheck := &InstructionBsnDisableSplitHorizonCheck{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnDisableSplitHorizonCheck packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsndisablesplithorizoncheck, nil
+}
+
+func NewInstructionBsnDisableSplitHorizonCheck() *InstructionBsnDisableSplitHorizonCheck {
+ obj := &InstructionBsnDisableSplitHorizonCheck{
+ InstructionBsn: NewInstructionBsn(3),
+ }
+ return obj
+}
+
+type InstructionBsnDisableSrcMacCheck struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnDisableSrcMacCheck interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnDisableSrcMacCheck) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnDisableSrcMacCheck(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnDisableSrcMacCheck, error) {
+ _instructionbsndisablesrcmaccheck := &InstructionBsnDisableSrcMacCheck{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnDisableSrcMacCheck packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsndisablesrcmaccheck, nil
+}
+
+func NewInstructionBsnDisableSrcMacCheck() *InstructionBsnDisableSrcMacCheck {
+ obj := &InstructionBsnDisableSrcMacCheck{
+ InstructionBsn: NewInstructionBsn(0),
+ }
+ return obj
+}
+
+type InstructionBsnDisableVlanCounters struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnDisableVlanCounters interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnDisableVlanCounters) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnDisableVlanCounters(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnDisableVlanCounters, error) {
+ _instructionbsndisablevlancounters := &InstructionBsnDisableVlanCounters{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnDisableVlanCounters packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsndisablevlancounters, nil
+}
+
+func NewInstructionBsnDisableVlanCounters() *InstructionBsnDisableVlanCounters {
+ obj := &InstructionBsnDisableVlanCounters{
+ InstructionBsn: NewInstructionBsn(9),
+ }
+ return obj
+}
+
+type InstructionBsnHashSelect struct {
+ *InstructionBsn
+ Flags BsnHashSelectFlags
+}
+
+type IInstructionBsnHashSelect interface {
+ IInstructionBsn
+ GetFlags() BsnHashSelectFlags
+}
+
+func (self *InstructionBsnHashSelect) GetFlags() BsnHashSelectFlags {
+ return self.Flags
+}
+
+func (self *InstructionBsnHashSelect) SetFlags(v BsnHashSelectFlags) {
+ self.Flags = v
+}
+
+func (self *InstructionBsnHashSelect) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Flags))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnHashSelect(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnHashSelect, error) {
+ _instructionbsnhashselect := &InstructionBsnHashSelect{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnHashSelect packet too short: %d < 4", decoder.Length())
+ }
+ _instructionbsnhashselect.Flags = BsnHashSelectFlags(decoder.ReadUint32())
+ return _instructionbsnhashselect, nil
+}
+
+func NewInstructionBsnHashSelect() *InstructionBsnHashSelect {
+ obj := &InstructionBsnHashSelect{
+ InstructionBsn: NewInstructionBsn(15),
+ }
+ return obj
+}
+
+type InstructionBsnInternalPriority struct {
+ *InstructionBsn
+ Value uint32
+}
+
+type IInstructionBsnInternalPriority interface {
+ IInstructionBsn
+ GetValue() uint32
+}
+
+func (self *InstructionBsnInternalPriority) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *InstructionBsnInternalPriority) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *InstructionBsnInternalPriority) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnInternalPriority(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnInternalPriority, error) {
+ _instructionbsninternalpriority := &InstructionBsnInternalPriority{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnInternalPriority packet too short: %d < 4", decoder.Length())
+ }
+ _instructionbsninternalpriority.Value = uint32(decoder.ReadUint32())
+ return _instructionbsninternalpriority, nil
+}
+
+func NewInstructionBsnInternalPriority() *InstructionBsnInternalPriority {
+ obj := &InstructionBsnInternalPriority{
+ InstructionBsn: NewInstructionBsn(12),
+ }
+ return obj
+}
+
+type InstructionBsnNdpOffload struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnNdpOffload interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnNdpOffload) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnNdpOffload(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnNdpOffload, error) {
+ _instructionbsnndpoffload := &InstructionBsnNdpOffload{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnNdpOffload packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsnndpoffload, nil
+}
+
+func NewInstructionBsnNdpOffload() *InstructionBsnNdpOffload {
+ obj := &InstructionBsnNdpOffload{
+ InstructionBsn: NewInstructionBsn(14),
+ }
+ return obj
+}
+
+type InstructionBsnPacketOfDeath struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnPacketOfDeath interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnPacketOfDeath) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnPacketOfDeath(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnPacketOfDeath, error) {
+ _instructionbsnpacketofdeath := &InstructionBsnPacketOfDeath{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnPacketOfDeath packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsnpacketofdeath, nil
+}
+
+func NewInstructionBsnPacketOfDeath() *InstructionBsnPacketOfDeath {
+ obj := &InstructionBsnPacketOfDeath{
+ InstructionBsn: NewInstructionBsn(6),
+ }
+ return obj
+}
+
+type InstructionBsnPermit struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnPermit interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnPermit) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnPermit(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnPermit, error) {
+ _instructionbsnpermit := &InstructionBsnPermit{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnPermit packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsnpermit, nil
+}
+
+func NewInstructionBsnPermit() *InstructionBsnPermit {
+ obj := &InstructionBsnPermit{
+ InstructionBsn: NewInstructionBsn(4),
+ }
+ return obj
+}
+
+type InstructionBsnPrioritizePdus struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnPrioritizePdus interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnPrioritizePdus) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnPrioritizePdus(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnPrioritizePdus, error) {
+ _instructionbsnprioritizepdus := &InstructionBsnPrioritizePdus{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnPrioritizePdus packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsnprioritizepdus, nil
+}
+
+func NewInstructionBsnPrioritizePdus() *InstructionBsnPrioritizePdus {
+ obj := &InstructionBsnPrioritizePdus{
+ InstructionBsn: NewInstructionBsn(7),
+ }
+ return obj
+}
+
+type InstructionBsnRequireVlanXlate struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnRequireVlanXlate interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnRequireVlanXlate) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnRequireVlanXlate(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnRequireVlanXlate, error) {
+ _instructionbsnrequirevlanxlate := &InstructionBsnRequireVlanXlate{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnRequireVlanXlate packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsnrequirevlanxlate, nil
+}
+
+func NewInstructionBsnRequireVlanXlate() *InstructionBsnRequireVlanXlate {
+ obj := &InstructionBsnRequireVlanXlate{
+ InstructionBsn: NewInstructionBsn(8),
+ }
+ return obj
+}
+
+type InstructionBsnSpanDestination struct {
+ *InstructionBsn
+}
+
+type IInstructionBsnSpanDestination interface {
+ IInstructionBsn
+}
+
+func (self *InstructionBsnSpanDestination) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.InstructionBsn.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionBsnSpanDestination(parent *InstructionBsn, decoder *goloxi.Decoder) (*InstructionBsnSpanDestination, error) {
+ _instructionbsnspandestination := &InstructionBsnSpanDestination{InstructionBsn: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionBsnSpanDestination packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionbsnspandestination, nil
+}
+
+func NewInstructionBsnSpanDestination() *InstructionBsnSpanDestination {
+ obj := &InstructionBsnSpanDestination{
+ InstructionBsn: NewInstructionBsn(10),
+ }
+ return obj
+}
+
+type InstructionClearActions struct {
+ *Instruction
+}
+
+type IInstructionClearActions interface {
+ IInstruction
+}
+
+func (self *InstructionClearActions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Instruction.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionClearActions(parent *Instruction, decoder *goloxi.Decoder) (*InstructionClearActions, error) {
+ _instructionclearactions := &InstructionClearActions{Instruction: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionClearActions packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _instructionclearactions, nil
+}
+
+func NewInstructionClearActions() *InstructionClearActions {
+ obj := &InstructionClearActions{
+ Instruction: NewInstruction(5),
+ }
+ return obj
+}
+
+type InstructionGotoTable struct {
+ *Instruction
+ TableId uint8
+}
+
+type IInstructionGotoTable interface {
+ IInstruction
+ GetTableId() uint8
+}
+
+func (self *InstructionGotoTable) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *InstructionGotoTable) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *InstructionGotoTable) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Instruction.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionGotoTable(parent *Instruction, decoder *goloxi.Decoder) (*InstructionGotoTable, error) {
+ _instructiongototable := &InstructionGotoTable{Instruction: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionGotoTable packet too short: %d < 4", decoder.Length())
+ }
+ _instructiongototable.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ return _instructiongototable, nil
+}
+
+func NewInstructionGotoTable() *InstructionGotoTable {
+ obj := &InstructionGotoTable{
+ Instruction: NewInstruction(1),
+ }
+ return obj
+}
+
+type InstructionMeter struct {
+ *Instruction
+ MeterId uint32
+}
+
+type IInstructionMeter interface {
+ IInstruction
+ GetMeterId() uint32
+}
+
+func (self *InstructionMeter) GetMeterId() uint32 {
+ return self.MeterId
+}
+
+func (self *InstructionMeter) SetMeterId(v uint32) {
+ self.MeterId = v
+}
+
+func (self *InstructionMeter) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Instruction.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.MeterId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionMeter(parent *Instruction, decoder *goloxi.Decoder) (*InstructionMeter, error) {
+ _instructionmeter := &InstructionMeter{Instruction: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionMeter packet too short: %d < 4", decoder.Length())
+ }
+ _instructionmeter.MeterId = uint32(decoder.ReadUint32())
+ return _instructionmeter, nil
+}
+
+func NewInstructionMeter() *InstructionMeter {
+ obj := &InstructionMeter{
+ Instruction: NewInstruction(6),
+ }
+ return obj
+}
+
+type InstructionWriteActions struct {
+ *Instruction
+ Actions []goloxi.IAction
+}
+
+type IInstructionWriteActions interface {
+ IInstruction
+ GetActions() []goloxi.IAction
+}
+
+func (self *InstructionWriteActions) GetActions() []goloxi.IAction {
+ return self.Actions
+}
+
+func (self *InstructionWriteActions) SetActions(v []goloxi.IAction) {
+ self.Actions = v
+}
+
+func (self *InstructionWriteActions) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Instruction.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Actions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionWriteActions(parent *Instruction, decoder *goloxi.Decoder) (*InstructionWriteActions, error) {
+ _instructionwriteactions := &InstructionWriteActions{Instruction: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("InstructionWriteActions packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeAction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _instructionwriteactions.Actions = append(_instructionwriteactions.Actions, item)
+ }
+ }
+ return _instructionwriteactions, nil
+}
+
+func NewInstructionWriteActions() *InstructionWriteActions {
+ obj := &InstructionWriteActions{
+ Instruction: NewInstruction(3),
+ }
+ return obj
+}
+
+type InstructionWriteMetadata struct {
+ *Instruction
+ Metadata uint64
+ MetadataMask uint64
+}
+
+type IInstructionWriteMetadata interface {
+ IInstruction
+ GetMetadata() uint64
+ GetMetadataMask() uint64
+}
+
+func (self *InstructionWriteMetadata) GetMetadata() uint64 {
+ return self.Metadata
+}
+
+func (self *InstructionWriteMetadata) SetMetadata(v uint64) {
+ self.Metadata = v
+}
+
+func (self *InstructionWriteMetadata) GetMetadataMask() uint64 {
+ return self.MetadataMask
+}
+
+func (self *InstructionWriteMetadata) SetMetadataMask(v uint64) {
+ self.MetadataMask = v
+}
+
+func (self *InstructionWriteMetadata) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Instruction.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint64(uint64(self.Metadata))
+ encoder.PutUint64(uint64(self.MetadataMask))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeInstructionWriteMetadata(parent *Instruction, decoder *goloxi.Decoder) (*InstructionWriteMetadata, error) {
+ _instructionwritemetadata := &InstructionWriteMetadata{Instruction: parent}
+ if decoder.Length() < 20 {
+ return nil, fmt.Errorf("InstructionWriteMetadata packet too short: %d < 20", decoder.Length())
+ }
+ decoder.Skip(4)
+ _instructionwritemetadata.Metadata = uint64(decoder.ReadUint64())
+ _instructionwritemetadata.MetadataMask = uint64(decoder.ReadUint64())
+ return _instructionwritemetadata, nil
+}
+
+func NewInstructionWriteMetadata() *InstructionWriteMetadata {
+ obj := &InstructionWriteMetadata{
+ Instruction: NewInstruction(2),
+ }
+ return obj
+}
diff --git a/vendor/github.com/skydive-project/goloxi/of13/message.go b/vendor/github.com/skydive-project/goloxi/of13/message.go
new file mode 100644
index 0000000..2b9ba0e
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/of13/message.go
@@ -0,0 +1,11065 @@
+/*
+ * Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
+ * Copyright (c) 2011, 2012 Open Networking Foundation
+ * Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler.
+ * Copyright 2018, Red Hat, Inc.
+ */
+// Automatically generated by LOXI from template module.go
+// Do not modify
+
+package of13
+
+import (
+ "bytes"
+ "encoding/binary"
+ "fmt"
+ "net"
+
+ "github.com/skydive-project/goloxi"
+)
+
+type Header struct {
+ Version uint8
+ Type uint8
+ Length uint16
+ Xid uint32
+}
+
+type IHeader interface {
+ goloxi.Serializable
+ GetVersion() uint8
+ GetType() uint8
+ GetLength() uint16
+ GetXid() uint32
+}
+
+func (self *Header) GetVersion() uint8 {
+ return self.Version
+}
+
+func (self *Header) SetVersion(v uint8) {
+ self.Version = v
+}
+
+func (self *Header) GetType() uint8 {
+ return self.Type
+}
+
+func (self *Header) SetType(v uint8) {
+ self.Type = v
+}
+
+func (self *Header) GetLength() uint16 {
+ return self.Length
+}
+
+func (self *Header) SetLength(v uint16) {
+ self.Length = v
+}
+
+func (self *Header) GetXid() uint32 {
+ return self.Xid
+}
+
+func (self *Header) SetXid(v uint32) {
+ self.Xid = v
+}
+
+func (self *Header) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint8(uint8(4))
+ encoder.PutUint8(uint8(self.Type))
+ encoder.PutUint16(uint16(self.Length))
+ encoder.PutUint32(uint32(self.Xid))
+
+ return nil
+}
+func (self *Header) Decode(decoder *goloxi.Decoder) error {
+ if decoder.Length() < 8 {
+ return fmt.Errorf("Header packet too short: %d < 8", decoder.Length())
+ }
+
+ self.Version = uint8(decoder.ReadByte())
+ self.Type = uint8(decoder.ReadByte())
+ self.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(self.Length), 2+2)
+ self.Xid = uint32(decoder.ReadUint32())
+
+ return nil
+}
+func DecodeHeader(decoder *goloxi.Decoder) (IHeader, error) {
+ _header := &Header{}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("Header packet too short: %d < 8", decoder.Length())
+ }
+ _header.Version = uint8(decoder.ReadByte())
+ _header.Type = uint8(decoder.ReadByte())
+ _header.Length = uint16(decoder.ReadUint16())
+ oldDecoder := decoder
+ defer func() { decoder = oldDecoder }()
+ decoder = decoder.SliceDecoder(int(_header.Length), 2+2)
+ _header.Xid = uint32(decoder.ReadUint32())
+
+ switch _header.Type {
+ case 0:
+ return DecodeHello(_header, decoder)
+ case 1:
+ return DecodeErrorMsg(_header, decoder)
+ case 2:
+ return DecodeEchoRequest(_header, decoder)
+ case 3:
+ return DecodeEchoReply(_header, decoder)
+ case 4:
+ return DecodeExperimenter(_header, decoder)
+ case 5:
+ return DecodeFeaturesRequest(_header, decoder)
+ case 6:
+ return DecodeFeaturesReply(_header, decoder)
+ case 7:
+ return DecodeGetConfigRequest(_header, decoder)
+ case 8:
+ return DecodeGetConfigReply(_header, decoder)
+ case 9:
+ return DecodeSetConfig(_header, decoder)
+ case 10:
+ return DecodePacketIn(_header, decoder)
+ case 11:
+ return DecodeFlowRemoved(_header, decoder)
+ case 12:
+ return DecodePortStatus(_header, decoder)
+ case 13:
+ return DecodePacketOut(_header, decoder)
+ case 14:
+ return DecodeFlowMod(_header, decoder)
+ case 15:
+ return DecodeGroupMod(_header, decoder)
+ case 16:
+ return DecodePortMod(_header, decoder)
+ case 17:
+ return DecodeTableMod(_header, decoder)
+ case 18:
+ return DecodeStatsRequest(_header, decoder)
+ case 19:
+ return DecodeStatsReply(_header, decoder)
+ case 20:
+ return DecodeBarrierRequest(_header, decoder)
+ case 21:
+ return DecodeBarrierReply(_header, decoder)
+ case 22:
+ return DecodeQueueGetConfigRequest(_header, decoder)
+ case 23:
+ return DecodeQueueGetConfigReply(_header, decoder)
+ case 24:
+ return DecodeRoleRequest(_header, decoder)
+ case 25:
+ return DecodeRoleReply(_header, decoder)
+ case 26:
+ return DecodeAsyncGetRequest(_header, decoder)
+ case 27:
+ return DecodeAsyncGetReply(_header, decoder)
+ case 28:
+ return DecodeAsyncSet(_header, decoder)
+ case 29:
+ return DecodeMeterMod(_header, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'Header'", _header.Type)
+ }
+}
+
+func NewHeader(_type uint8) *Header {
+ obj := &Header{}
+ obj.Type = _type
+ return obj
+}
+
+type StatsReply struct {
+ *Header
+ StatsType uint16
+ Flags StatsReplyFlags
+}
+
+type IStatsReply interface {
+ IHeader
+ GetStatsType() uint16
+ GetFlags() StatsReplyFlags
+}
+
+func (self *StatsReply) GetStatsType() uint16 {
+ return self.StatsType
+}
+
+func (self *StatsReply) SetStatsType(v uint16) {
+ self.StatsType = v
+}
+
+func (self *StatsReply) GetFlags() StatsReplyFlags {
+ return self.Flags
+}
+
+func (self *StatsReply) SetFlags(v StatsReplyFlags) {
+ self.Flags = v
+}
+
+func (self *StatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.StatsType))
+ encoder.PutUint16(uint16(self.Flags))
+
+ return nil
+}
+
+func DecodeStatsReply(parent *Header, decoder *goloxi.Decoder) (IStatsReply, error) {
+ _statsreply := &StatsReply{Header: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("StatsReply packet too short: %d < 4", decoder.Length())
+ }
+ _statsreply.StatsType = uint16(decoder.ReadUint16())
+ _statsreply.Flags = StatsReplyFlags(decoder.ReadUint16())
+
+ switch _statsreply.StatsType {
+ case 0:
+ return DecodeDescStatsReply(_statsreply, decoder)
+ case 1:
+ return DecodeFlowStatsReply(_statsreply, decoder)
+ case 2:
+ return DecodeAggregateStatsReply(_statsreply, decoder)
+ case 3:
+ return DecodeTableStatsReply(_statsreply, decoder)
+ case 4:
+ return DecodePortStatsReply(_statsreply, decoder)
+ case 5:
+ return DecodeQueueStatsReply(_statsreply, decoder)
+ case 6:
+ return DecodeGroupStatsReply(_statsreply, decoder)
+ case 7:
+ return DecodeGroupDescStatsReply(_statsreply, decoder)
+ case 8:
+ return DecodeGroupFeaturesStatsReply(_statsreply, decoder)
+ case 9:
+ return DecodeMeterStatsReply(_statsreply, decoder)
+ case 10:
+ return DecodeMeterConfigStatsReply(_statsreply, decoder)
+ case 11:
+ return DecodeMeterFeaturesStatsReply(_statsreply, decoder)
+ case 12:
+ return DecodeTableFeaturesStatsReply(_statsreply, decoder)
+ case 13:
+ return DecodePortDescStatsReply(_statsreply, decoder)
+ case 65535:
+ return DecodeExperimenterStatsReply(_statsreply, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'StatsReply'", _statsreply.StatsType)
+ }
+}
+
+func NewStatsReply(_stats_type uint16) *StatsReply {
+ obj := &StatsReply{
+ Header: NewHeader(19),
+ }
+ obj.StatsType = _stats_type
+ return obj
+}
+
+type AggregateStatsReply struct {
+ *StatsReply
+ PacketCount uint64
+ ByteCount uint64
+ FlowCount uint32
+}
+
+type IAggregateStatsReply interface {
+ IStatsReply
+ GetPacketCount() uint64
+ GetByteCount() uint64
+ GetFlowCount() uint32
+}
+
+func (self *AggregateStatsReply) GetPacketCount() uint64 {
+ return self.PacketCount
+}
+
+func (self *AggregateStatsReply) SetPacketCount(v uint64) {
+ self.PacketCount = v
+}
+
+func (self *AggregateStatsReply) GetByteCount() uint64 {
+ return self.ByteCount
+}
+
+func (self *AggregateStatsReply) SetByteCount(v uint64) {
+ self.ByteCount = v
+}
+
+func (self *AggregateStatsReply) GetFlowCount() uint32 {
+ return self.FlowCount
+}
+
+func (self *AggregateStatsReply) SetFlowCount(v uint32) {
+ self.FlowCount = v
+}
+
+func (self *AggregateStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint64(uint64(self.PacketCount))
+ encoder.PutUint64(uint64(self.ByteCount))
+ encoder.PutUint32(uint32(self.FlowCount))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeAggregateStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*AggregateStatsReply, error) {
+ _aggregatestatsreply := &AggregateStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("AggregateStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ _aggregatestatsreply.PacketCount = uint64(decoder.ReadUint64())
+ _aggregatestatsreply.ByteCount = uint64(decoder.ReadUint64())
+ _aggregatestatsreply.FlowCount = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ return _aggregatestatsreply, nil
+}
+
+func NewAggregateStatsReply() *AggregateStatsReply {
+ obj := &AggregateStatsReply{
+ StatsReply: NewStatsReply(2),
+ }
+ return obj
+}
+
+type StatsRequest struct {
+ *Header
+ StatsType uint16
+ Flags StatsRequestFlags
+}
+
+type IStatsRequest interface {
+ IHeader
+ GetStatsType() uint16
+ GetFlags() StatsRequestFlags
+}
+
+func (self *StatsRequest) GetStatsType() uint16 {
+ return self.StatsType
+}
+
+func (self *StatsRequest) SetStatsType(v uint16) {
+ self.StatsType = v
+}
+
+func (self *StatsRequest) GetFlags() StatsRequestFlags {
+ return self.Flags
+}
+
+func (self *StatsRequest) SetFlags(v StatsRequestFlags) {
+ self.Flags = v
+}
+
+func (self *StatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.StatsType))
+ encoder.PutUint16(uint16(self.Flags))
+
+ return nil
+}
+
+func DecodeStatsRequest(parent *Header, decoder *goloxi.Decoder) (IStatsRequest, error) {
+ _statsrequest := &StatsRequest{Header: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("StatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ _statsrequest.StatsType = uint16(decoder.ReadUint16())
+ _statsrequest.Flags = StatsRequestFlags(decoder.ReadUint16())
+
+ switch _statsrequest.StatsType {
+ case 0:
+ return DecodeDescStatsRequest(_statsrequest, decoder)
+ case 1:
+ return DecodeFlowStatsRequest(_statsrequest, decoder)
+ case 2:
+ return DecodeAggregateStatsRequest(_statsrequest, decoder)
+ case 3:
+ return DecodeTableStatsRequest(_statsrequest, decoder)
+ case 4:
+ return DecodePortStatsRequest(_statsrequest, decoder)
+ case 5:
+ return DecodeQueueStatsRequest(_statsrequest, decoder)
+ case 6:
+ return DecodeGroupStatsRequest(_statsrequest, decoder)
+ case 7:
+ return DecodeGroupDescStatsRequest(_statsrequest, decoder)
+ case 8:
+ return DecodeGroupFeaturesStatsRequest(_statsrequest, decoder)
+ case 9:
+ return DecodeMeterStatsRequest(_statsrequest, decoder)
+ case 10:
+ return DecodeMeterConfigStatsRequest(_statsrequest, decoder)
+ case 11:
+ return DecodeMeterFeaturesStatsRequest(_statsrequest, decoder)
+ case 12:
+ return DecodeTableFeaturesStatsRequest(_statsrequest, decoder)
+ case 13:
+ return DecodePortDescStatsRequest(_statsrequest, decoder)
+ case 65535:
+ return DecodeExperimenterStatsRequest(_statsrequest, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'StatsRequest'", _statsrequest.StatsType)
+ }
+}
+
+func NewStatsRequest(_stats_type uint16) *StatsRequest {
+ obj := &StatsRequest{
+ Header: NewHeader(18),
+ }
+ obj.StatsType = _stats_type
+ return obj
+}
+
+type AggregateStatsRequest struct {
+ *StatsRequest
+ TableId uint8
+ OutPort Port
+ OutGroup uint32
+ Cookie uint64
+ CookieMask uint64
+ Match Match
+}
+
+type IAggregateStatsRequest interface {
+ IStatsRequest
+ GetTableId() uint8
+ GetOutPort() Port
+ GetOutGroup() uint32
+ GetCookie() uint64
+ GetCookieMask() uint64
+ GetMatch() Match
+}
+
+func (self *AggregateStatsRequest) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *AggregateStatsRequest) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *AggregateStatsRequest) GetOutPort() Port {
+ return self.OutPort
+}
+
+func (self *AggregateStatsRequest) SetOutPort(v Port) {
+ self.OutPort = v
+}
+
+func (self *AggregateStatsRequest) GetOutGroup() uint32 {
+ return self.OutGroup
+}
+
+func (self *AggregateStatsRequest) SetOutGroup(v uint32) {
+ self.OutGroup = v
+}
+
+func (self *AggregateStatsRequest) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *AggregateStatsRequest) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *AggregateStatsRequest) GetCookieMask() uint64 {
+ return self.CookieMask
+}
+
+func (self *AggregateStatsRequest) SetCookieMask(v uint64) {
+ self.CookieMask = v
+}
+
+func (self *AggregateStatsRequest) GetMatch() Match {
+ return self.Match
+}
+
+func (self *AggregateStatsRequest) SetMatch(v Match) {
+ self.Match = v
+}
+
+func (self *AggregateStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+ self.OutPort.Serialize(encoder)
+ encoder.PutUint32(uint32(self.OutGroup))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint64(uint64(self.Cookie))
+ encoder.PutUint64(uint64(self.CookieMask))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeAggregateStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*AggregateStatsRequest, error) {
+ _aggregatestatsrequest := &AggregateStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 28 {
+ return nil, fmt.Errorf("AggregateStatsRequest packet too short: %d < 28", decoder.Length())
+ }
+ decoder.Skip(4)
+ _aggregatestatsrequest.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ _aggregatestatsrequest.OutPort.Decode(decoder)
+ _aggregatestatsrequest.OutGroup = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ _aggregatestatsrequest.Cookie = uint64(decoder.ReadUint64())
+ _aggregatestatsrequest.CookieMask = uint64(decoder.ReadUint64())
+ if err := _aggregatestatsrequest.Match.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+ return _aggregatestatsrequest, nil
+}
+
+func NewAggregateStatsRequest() *AggregateStatsRequest {
+ obj := &AggregateStatsRequest{
+ StatsRequest: NewStatsRequest(2),
+ }
+ return obj
+}
+
+type AsyncGetReply struct {
+ *Header
+ PacketInMaskEqualMaster uint32
+ PacketInMaskSlave uint32
+ PortStatusMaskEqualMaster uint32
+ PortStatusMaskSlave uint32
+ FlowRemovedMaskEqualMaster uint32
+ FlowRemovedMaskSlave uint32
+}
+
+type IAsyncGetReply interface {
+ IHeader
+ GetPacketInMaskEqualMaster() uint32
+ GetPacketInMaskSlave() uint32
+ GetPortStatusMaskEqualMaster() uint32
+ GetPortStatusMaskSlave() uint32
+ GetFlowRemovedMaskEqualMaster() uint32
+ GetFlowRemovedMaskSlave() uint32
+}
+
+func (self *AsyncGetReply) GetPacketInMaskEqualMaster() uint32 {
+ return self.PacketInMaskEqualMaster
+}
+
+func (self *AsyncGetReply) SetPacketInMaskEqualMaster(v uint32) {
+ self.PacketInMaskEqualMaster = v
+}
+
+func (self *AsyncGetReply) GetPacketInMaskSlave() uint32 {
+ return self.PacketInMaskSlave
+}
+
+func (self *AsyncGetReply) SetPacketInMaskSlave(v uint32) {
+ self.PacketInMaskSlave = v
+}
+
+func (self *AsyncGetReply) GetPortStatusMaskEqualMaster() uint32 {
+ return self.PortStatusMaskEqualMaster
+}
+
+func (self *AsyncGetReply) SetPortStatusMaskEqualMaster(v uint32) {
+ self.PortStatusMaskEqualMaster = v
+}
+
+func (self *AsyncGetReply) GetPortStatusMaskSlave() uint32 {
+ return self.PortStatusMaskSlave
+}
+
+func (self *AsyncGetReply) SetPortStatusMaskSlave(v uint32) {
+ self.PortStatusMaskSlave = v
+}
+
+func (self *AsyncGetReply) GetFlowRemovedMaskEqualMaster() uint32 {
+ return self.FlowRemovedMaskEqualMaster
+}
+
+func (self *AsyncGetReply) SetFlowRemovedMaskEqualMaster(v uint32) {
+ self.FlowRemovedMaskEqualMaster = v
+}
+
+func (self *AsyncGetReply) GetFlowRemovedMaskSlave() uint32 {
+ return self.FlowRemovedMaskSlave
+}
+
+func (self *AsyncGetReply) SetFlowRemovedMaskSlave(v uint32) {
+ self.FlowRemovedMaskSlave = v
+}
+
+func (self *AsyncGetReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.PacketInMaskEqualMaster))
+ encoder.PutUint32(uint32(self.PacketInMaskSlave))
+ encoder.PutUint32(uint32(self.PortStatusMaskEqualMaster))
+ encoder.PutUint32(uint32(self.PortStatusMaskSlave))
+ encoder.PutUint32(uint32(self.FlowRemovedMaskEqualMaster))
+ encoder.PutUint32(uint32(self.FlowRemovedMaskSlave))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeAsyncGetReply(parent *Header, decoder *goloxi.Decoder) (*AsyncGetReply, error) {
+ _asyncgetreply := &AsyncGetReply{Header: parent}
+ if decoder.Length() < 24 {
+ return nil, fmt.Errorf("AsyncGetReply packet too short: %d < 24", decoder.Length())
+ }
+ _asyncgetreply.PacketInMaskEqualMaster = uint32(decoder.ReadUint32())
+ _asyncgetreply.PacketInMaskSlave = uint32(decoder.ReadUint32())
+ _asyncgetreply.PortStatusMaskEqualMaster = uint32(decoder.ReadUint32())
+ _asyncgetreply.PortStatusMaskSlave = uint32(decoder.ReadUint32())
+ _asyncgetreply.FlowRemovedMaskEqualMaster = uint32(decoder.ReadUint32())
+ _asyncgetreply.FlowRemovedMaskSlave = uint32(decoder.ReadUint32())
+ return _asyncgetreply, nil
+}
+
+func NewAsyncGetReply() *AsyncGetReply {
+ obj := &AsyncGetReply{
+ Header: NewHeader(27),
+ }
+ return obj
+}
+
+type AsyncGetRequest struct {
+ *Header
+}
+
+type IAsyncGetRequest interface {
+ IHeader
+}
+
+func (self *AsyncGetRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeAsyncGetRequest(parent *Header, decoder *goloxi.Decoder) (*AsyncGetRequest, error) {
+ _asyncgetrequest := &AsyncGetRequest{Header: parent}
+ return _asyncgetrequest, nil
+}
+
+func NewAsyncGetRequest() *AsyncGetRequest {
+ obj := &AsyncGetRequest{
+ Header: NewHeader(26),
+ }
+ return obj
+}
+
+type AsyncSet struct {
+ *Header
+ PacketInMaskEqualMaster uint32
+ PacketInMaskSlave uint32
+ PortStatusMaskEqualMaster uint32
+ PortStatusMaskSlave uint32
+ FlowRemovedMaskEqualMaster uint32
+ FlowRemovedMaskSlave uint32
+}
+
+type IAsyncSet interface {
+ IHeader
+ GetPacketInMaskEqualMaster() uint32
+ GetPacketInMaskSlave() uint32
+ GetPortStatusMaskEqualMaster() uint32
+ GetPortStatusMaskSlave() uint32
+ GetFlowRemovedMaskEqualMaster() uint32
+ GetFlowRemovedMaskSlave() uint32
+}
+
+func (self *AsyncSet) GetPacketInMaskEqualMaster() uint32 {
+ return self.PacketInMaskEqualMaster
+}
+
+func (self *AsyncSet) SetPacketInMaskEqualMaster(v uint32) {
+ self.PacketInMaskEqualMaster = v
+}
+
+func (self *AsyncSet) GetPacketInMaskSlave() uint32 {
+ return self.PacketInMaskSlave
+}
+
+func (self *AsyncSet) SetPacketInMaskSlave(v uint32) {
+ self.PacketInMaskSlave = v
+}
+
+func (self *AsyncSet) GetPortStatusMaskEqualMaster() uint32 {
+ return self.PortStatusMaskEqualMaster
+}
+
+func (self *AsyncSet) SetPortStatusMaskEqualMaster(v uint32) {
+ self.PortStatusMaskEqualMaster = v
+}
+
+func (self *AsyncSet) GetPortStatusMaskSlave() uint32 {
+ return self.PortStatusMaskSlave
+}
+
+func (self *AsyncSet) SetPortStatusMaskSlave(v uint32) {
+ self.PortStatusMaskSlave = v
+}
+
+func (self *AsyncSet) GetFlowRemovedMaskEqualMaster() uint32 {
+ return self.FlowRemovedMaskEqualMaster
+}
+
+func (self *AsyncSet) SetFlowRemovedMaskEqualMaster(v uint32) {
+ self.FlowRemovedMaskEqualMaster = v
+}
+
+func (self *AsyncSet) GetFlowRemovedMaskSlave() uint32 {
+ return self.FlowRemovedMaskSlave
+}
+
+func (self *AsyncSet) SetFlowRemovedMaskSlave(v uint32) {
+ self.FlowRemovedMaskSlave = v
+}
+
+func (self *AsyncSet) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.PacketInMaskEqualMaster))
+ encoder.PutUint32(uint32(self.PacketInMaskSlave))
+ encoder.PutUint32(uint32(self.PortStatusMaskEqualMaster))
+ encoder.PutUint32(uint32(self.PortStatusMaskSlave))
+ encoder.PutUint32(uint32(self.FlowRemovedMaskEqualMaster))
+ encoder.PutUint32(uint32(self.FlowRemovedMaskSlave))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeAsyncSet(parent *Header, decoder *goloxi.Decoder) (*AsyncSet, error) {
+ _asyncset := &AsyncSet{Header: parent}
+ if decoder.Length() < 24 {
+ return nil, fmt.Errorf("AsyncSet packet too short: %d < 24", decoder.Length())
+ }
+ _asyncset.PacketInMaskEqualMaster = uint32(decoder.ReadUint32())
+ _asyncset.PacketInMaskSlave = uint32(decoder.ReadUint32())
+ _asyncset.PortStatusMaskEqualMaster = uint32(decoder.ReadUint32())
+ _asyncset.PortStatusMaskSlave = uint32(decoder.ReadUint32())
+ _asyncset.FlowRemovedMaskEqualMaster = uint32(decoder.ReadUint32())
+ _asyncset.FlowRemovedMaskSlave = uint32(decoder.ReadUint32())
+ return _asyncset, nil
+}
+
+func NewAsyncSet() *AsyncSet {
+ obj := &AsyncSet{
+ Header: NewHeader(28),
+ }
+ return obj
+}
+
+type ErrorMsg struct {
+ *Header
+ ErrType uint16
+}
+
+type IErrorMsg interface {
+ IHeader
+ GetErrType() uint16
+}
+
+func (self *ErrorMsg) GetErrType() uint16 {
+ return self.ErrType
+}
+
+func (self *ErrorMsg) SetErrType(v uint16) {
+ self.ErrType = v
+}
+
+func (self *ErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.ErrType))
+
+ return nil
+}
+
+func DecodeErrorMsg(parent *Header, decoder *goloxi.Decoder) (IErrorMsg, error) {
+ _errormsg := &ErrorMsg{Header: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("ErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _errormsg.ErrType = uint16(decoder.ReadUint16())
+
+ switch _errormsg.ErrType {
+ case 0:
+ return DecodeHelloFailedErrorMsg(_errormsg, decoder)
+ case 1:
+ return DecodeBadRequestErrorMsg(_errormsg, decoder)
+ case 2:
+ return DecodeBadActionErrorMsg(_errormsg, decoder)
+ case 3:
+ return DecodeBadInstructionErrorMsg(_errormsg, decoder)
+ case 4:
+ return DecodeBadMatchErrorMsg(_errormsg, decoder)
+ case 5:
+ return DecodeFlowModFailedErrorMsg(_errormsg, decoder)
+ case 6:
+ return DecodeGroupModFailedErrorMsg(_errormsg, decoder)
+ case 7:
+ return DecodePortModFailedErrorMsg(_errormsg, decoder)
+ case 8:
+ return DecodeTableModFailedErrorMsg(_errormsg, decoder)
+ case 9:
+ return DecodeQueueOpFailedErrorMsg(_errormsg, decoder)
+ case 10:
+ return DecodeSwitchConfigFailedErrorMsg(_errormsg, decoder)
+ case 11:
+ return DecodeRoleRequestFailedErrorMsg(_errormsg, decoder)
+ case 12:
+ return DecodeMeterModFailedErrorMsg(_errormsg, decoder)
+ case 13:
+ return DecodeTableFeaturesFailedErrorMsg(_errormsg, decoder)
+ case 65535:
+ return DecodeExperimenterErrorMsg(_errormsg, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'ErrorMsg'", _errormsg.ErrType)
+ }
+}
+
+func NewErrorMsg(_err_type uint16) *ErrorMsg {
+ obj := &ErrorMsg{
+ Header: NewHeader(1),
+ }
+ obj.ErrType = _err_type
+ return obj
+}
+
+type BadActionErrorMsg struct {
+ *ErrorMsg
+ Code BadActionCode
+ Data []byte
+}
+
+type IBadActionErrorMsg interface {
+ IErrorMsg
+ GetCode() BadActionCode
+ GetData() []byte
+}
+
+func (self *BadActionErrorMsg) GetCode() BadActionCode {
+ return self.Code
+}
+
+func (self *BadActionErrorMsg) SetCode(v BadActionCode) {
+ self.Code = v
+}
+
+func (self *BadActionErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *BadActionErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BadActionErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBadActionErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*BadActionErrorMsg, error) {
+ _badactionerrormsg := &BadActionErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BadActionErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _badactionerrormsg.Code = BadActionCode(decoder.ReadUint16())
+ _badactionerrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _badactionerrormsg, nil
+}
+
+func NewBadActionErrorMsg() *BadActionErrorMsg {
+ obj := &BadActionErrorMsg{
+ ErrorMsg: NewErrorMsg(2),
+ }
+ return obj
+}
+
+type BadInstructionErrorMsg struct {
+ *ErrorMsg
+ Code BadInstructionCode
+ Data []byte
+}
+
+type IBadInstructionErrorMsg interface {
+ IErrorMsg
+ GetCode() BadInstructionCode
+ GetData() []byte
+}
+
+func (self *BadInstructionErrorMsg) GetCode() BadInstructionCode {
+ return self.Code
+}
+
+func (self *BadInstructionErrorMsg) SetCode(v BadInstructionCode) {
+ self.Code = v
+}
+
+func (self *BadInstructionErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *BadInstructionErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BadInstructionErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBadInstructionErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*BadInstructionErrorMsg, error) {
+ _badinstructionerrormsg := &BadInstructionErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BadInstructionErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _badinstructionerrormsg.Code = BadInstructionCode(decoder.ReadUint16())
+ _badinstructionerrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _badinstructionerrormsg, nil
+}
+
+func NewBadInstructionErrorMsg() *BadInstructionErrorMsg {
+ obj := &BadInstructionErrorMsg{
+ ErrorMsg: NewErrorMsg(3),
+ }
+ return obj
+}
+
+type BadMatchErrorMsg struct {
+ *ErrorMsg
+ Code BadMatchCode
+ Data []byte
+}
+
+type IBadMatchErrorMsg interface {
+ IErrorMsg
+ GetCode() BadMatchCode
+ GetData() []byte
+}
+
+func (self *BadMatchErrorMsg) GetCode() BadMatchCode {
+ return self.Code
+}
+
+func (self *BadMatchErrorMsg) SetCode(v BadMatchCode) {
+ self.Code = v
+}
+
+func (self *BadMatchErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *BadMatchErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BadMatchErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBadMatchErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*BadMatchErrorMsg, error) {
+ _badmatcherrormsg := &BadMatchErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BadMatchErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _badmatcherrormsg.Code = BadMatchCode(decoder.ReadUint16())
+ _badmatcherrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _badmatcherrormsg, nil
+}
+
+func NewBadMatchErrorMsg() *BadMatchErrorMsg {
+ obj := &BadMatchErrorMsg{
+ ErrorMsg: NewErrorMsg(4),
+ }
+ return obj
+}
+
+type BadRequestErrorMsg struct {
+ *ErrorMsg
+ Code BadRequestCode
+ Data []byte
+}
+
+type IBadRequestErrorMsg interface {
+ IErrorMsg
+ GetCode() BadRequestCode
+ GetData() []byte
+}
+
+func (self *BadRequestErrorMsg) GetCode() BadRequestCode {
+ return self.Code
+}
+
+func (self *BadRequestErrorMsg) SetCode(v BadRequestCode) {
+ self.Code = v
+}
+
+func (self *BadRequestErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *BadRequestErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BadRequestErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBadRequestErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*BadRequestErrorMsg, error) {
+ _badrequesterrormsg := &BadRequestErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BadRequestErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _badrequesterrormsg.Code = BadRequestCode(decoder.ReadUint16())
+ _badrequesterrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _badrequesterrormsg, nil
+}
+
+func NewBadRequestErrorMsg() *BadRequestErrorMsg {
+ obj := &BadRequestErrorMsg{
+ ErrorMsg: NewErrorMsg(1),
+ }
+ return obj
+}
+
+type BarrierReply struct {
+ *Header
+}
+
+type IBarrierReply interface {
+ IHeader
+}
+
+func (self *BarrierReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBarrierReply(parent *Header, decoder *goloxi.Decoder) (*BarrierReply, error) {
+ _barrierreply := &BarrierReply{Header: parent}
+ return _barrierreply, nil
+}
+
+func NewBarrierReply() *BarrierReply {
+ obj := &BarrierReply{
+ Header: NewHeader(21),
+ }
+ return obj
+}
+
+type BarrierRequest struct {
+ *Header
+}
+
+type IBarrierRequest interface {
+ IHeader
+}
+
+func (self *BarrierRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBarrierRequest(parent *Header, decoder *goloxi.Decoder) (*BarrierRequest, error) {
+ _barrierrequest := &BarrierRequest{Header: parent}
+ return _barrierrequest, nil
+}
+
+func NewBarrierRequest() *BarrierRequest {
+ obj := &BarrierRequest{
+ Header: NewHeader(20),
+ }
+ return obj
+}
+
+type Experimenter struct {
+ *Header
+ Experimenter uint32
+ Subtype uint32
+}
+
+type IExperimenter interface {
+ IHeader
+ GetExperimenter() uint32
+ GetSubtype() uint32
+}
+
+func (self *Experimenter) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *Experimenter) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *Experimenter) GetSubtype() uint32 {
+ return self.Subtype
+}
+
+func (self *Experimenter) SetSubtype(v uint32) {
+ self.Subtype = v
+}
+
+func (self *Experimenter) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Experimenter))
+ encoder.PutUint32(uint32(self.Subtype))
+
+ return nil
+}
+
+func DecodeExperimenter(parent *Header, decoder *goloxi.Decoder) (IExperimenter, error) {
+ _experimenter := &Experimenter{Header: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("Experimenter packet too short: %d < 8", decoder.Length())
+ }
+ _experimenter.Experimenter = uint32(decoder.ReadUint32())
+ _experimenter.Subtype = uint32(decoder.ReadUint32())
+
+ switch _experimenter.Experimenter {
+ case 8992:
+ return DecodeNiciraHeader(_experimenter, decoder)
+ case 6035143:
+ return DecodeBsnHeader(_experimenter, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'Experimenter'", _experimenter.Experimenter)
+ }
+}
+
+func NewExperimenter(_experimenter uint32) *Experimenter {
+ obj := &Experimenter{
+ Header: NewHeader(4),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type BsnHeader struct {
+ *Experimenter
+}
+
+type IBsnHeader interface {
+ IExperimenter
+}
+
+func (self *BsnHeader) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Experimenter.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeBsnHeader(parent *Experimenter, decoder *goloxi.Decoder) (IBsnHeader, error) {
+ _bsnheader := &BsnHeader{Experimenter: parent}
+
+ switch _bsnheader.Subtype {
+ case 3:
+ return DecodeBsnSetMirroring(_bsnheader, decoder)
+ case 4:
+ return DecodeBsnGetMirroringRequest(_bsnheader, decoder)
+ case 5:
+ return DecodeBsnGetMirroringReply(_bsnheader, decoder)
+ case 9:
+ return DecodeBsnGetInterfacesRequest(_bsnheader, decoder)
+ case 10:
+ return DecodeBsnGetInterfacesReply(_bsnheader, decoder)
+ case 11:
+ return DecodeBsnSetPktinSuppressionRequest(_bsnheader, decoder)
+ case 15:
+ return DecodeBsnVirtualPortCreateRequest(_bsnheader, decoder)
+ case 16:
+ return DecodeBsnVirtualPortCreateReply(_bsnheader, decoder)
+ case 17:
+ return DecodeBsnVirtualPortRemoveRequest(_bsnheader, decoder)
+ case 18:
+ return DecodeBsnBwEnableSetRequest(_bsnheader, decoder)
+ case 19:
+ return DecodeBsnBwEnableGetRequest(_bsnheader, decoder)
+ case 20:
+ return DecodeBsnBwEnableGetReply(_bsnheader, decoder)
+ case 21:
+ return DecodeBsnBwClearDataRequest(_bsnheader, decoder)
+ case 22:
+ return DecodeBsnBwClearDataReply(_bsnheader, decoder)
+ case 23:
+ return DecodeBsnBwEnableSetReply(_bsnheader, decoder)
+ case 25:
+ return DecodeBsnSetPktinSuppressionReply(_bsnheader, decoder)
+ case 26:
+ return DecodeBsnVirtualPortRemoveReply(_bsnheader, decoder)
+ case 31:
+ return DecodeBsnPduTxRequest(_bsnheader, decoder)
+ case 32:
+ return DecodeBsnPduTxReply(_bsnheader, decoder)
+ case 33:
+ return DecodeBsnPduRxRequest(_bsnheader, decoder)
+ case 34:
+ return DecodeBsnPduRxReply(_bsnheader, decoder)
+ case 35:
+ return DecodeBsnPduRxTimeout(_bsnheader, decoder)
+ case 36:
+ return DecodeBsnFlowIdleEnableSetRequest(_bsnheader, decoder)
+ case 37:
+ return DecodeBsnFlowIdleEnableSetReply(_bsnheader, decoder)
+ case 38:
+ return DecodeBsnFlowIdleEnableGetRequest(_bsnheader, decoder)
+ case 39:
+ return DecodeBsnFlowIdleEnableGetReply(_bsnheader, decoder)
+ case 40:
+ return DecodeBsnFlowIdle(_bsnheader, decoder)
+ case 41:
+ return DecodeBsnSetLacpRequest(_bsnheader, decoder)
+ case 42:
+ return DecodeBsnSetLacpReply(_bsnheader, decoder)
+ case 43:
+ return DecodeBsnLacpConvergenceNotif(_bsnheader, decoder)
+ case 44:
+ return DecodeBsnTimeRequest(_bsnheader, decoder)
+ case 45:
+ return DecodeBsnTimeReply(_bsnheader, decoder)
+ case 46:
+ return DecodeBsnGentableEntryAdd(_bsnheader, decoder)
+ case 47:
+ return DecodeBsnGentableEntryDelete(_bsnheader, decoder)
+ case 48:
+ return DecodeBsnGentableClearRequest(_bsnheader, decoder)
+ case 49:
+ return DecodeBsnGentableClearReply(_bsnheader, decoder)
+ case 50:
+ return DecodeBsnGentableSetBucketsSize(_bsnheader, decoder)
+ case 51:
+ return DecodeBsnGetSwitchPipelineRequest(_bsnheader, decoder)
+ case 52:
+ return DecodeBsnGetSwitchPipelineReply(_bsnheader, decoder)
+ case 53:
+ return DecodeBsnSetSwitchPipelineRequest(_bsnheader, decoder)
+ case 54:
+ return DecodeBsnSetSwitchPipelineReply(_bsnheader, decoder)
+ case 55:
+ return DecodeBsnRoleStatus(_bsnheader, decoder)
+ case 56:
+ return DecodeBsnControllerConnectionsRequest(_bsnheader, decoder)
+ case 57:
+ return DecodeBsnControllerConnectionsReply(_bsnheader, decoder)
+ case 58:
+ return DecodeBsnSetAuxCxnsRequest(_bsnheader, decoder)
+ case 59:
+ return DecodeBsnSetAuxCxnsReply(_bsnheader, decoder)
+ case 60:
+ return DecodeBsnArpIdle(_bsnheader, decoder)
+ case 61:
+ return DecodeBsnTableSetBucketsSize(_bsnheader, decoder)
+ case 63:
+ return DecodeBsnLog(_bsnheader, decoder)
+ case 64:
+ return DecodeBsnLuaUpload(_bsnheader, decoder)
+ case 65:
+ return DecodeBsnLuaCommandRequest(_bsnheader, decoder)
+ case 66:
+ return DecodeBsnLuaCommandReply(_bsnheader, decoder)
+ case 67:
+ return DecodeBsnLuaNotification(_bsnheader, decoder)
+ case 70:
+ return DecodeBsnVlanCounterClear(_bsnheader, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'BsnHeader'", _bsnheader.Subtype)
+ }
+}
+
+func NewBsnHeader(_subtype uint32) *BsnHeader {
+ obj := &BsnHeader{
+ Experimenter: NewExperimenter(6035143),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type BsnArpIdle struct {
+ *BsnHeader
+ VlanVid uint16
+ Ipv4Addr net.IP
+}
+
+type IBsnArpIdle interface {
+ IBsnHeader
+ GetVlanVid() uint16
+ GetIpv4Addr() net.IP
+}
+
+func (self *BsnArpIdle) GetVlanVid() uint16 {
+ return self.VlanVid
+}
+
+func (self *BsnArpIdle) SetVlanVid(v uint16) {
+ self.VlanVid = v
+}
+
+func (self *BsnArpIdle) GetIpv4Addr() net.IP {
+ return self.Ipv4Addr
+}
+
+func (self *BsnArpIdle) SetIpv4Addr(v net.IP) {
+ self.Ipv4Addr = v
+}
+
+func (self *BsnArpIdle) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.VlanVid))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.Write(self.Ipv4Addr.To4())
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnArpIdle(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnArpIdle, error) {
+ _bsnarpidle := &BsnArpIdle{BsnHeader: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnArpIdle packet too short: %d < 8", decoder.Length())
+ }
+ _bsnarpidle.VlanVid = uint16(decoder.ReadUint16())
+ decoder.Skip(2)
+ _bsnarpidle.Ipv4Addr = net.IP(decoder.Read(4))
+ return _bsnarpidle, nil
+}
+
+func NewBsnArpIdle() *BsnArpIdle {
+ obj := &BsnArpIdle{
+ BsnHeader: NewBsnHeader(60),
+ }
+ return obj
+}
+
+type ExperimenterErrorMsg struct {
+ *ErrorMsg
+ Subtype uint16
+ Experimenter uint32
+}
+
+type IExperimenterErrorMsg interface {
+ IErrorMsg
+ GetSubtype() uint16
+ GetExperimenter() uint32
+}
+
+func (self *ExperimenterErrorMsg) GetSubtype() uint16 {
+ return self.Subtype
+}
+
+func (self *ExperimenterErrorMsg) SetSubtype(v uint16) {
+ self.Subtype = v
+}
+
+func (self *ExperimenterErrorMsg) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *ExperimenterErrorMsg) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *ExperimenterErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Subtype))
+ encoder.PutUint32(uint32(self.Experimenter))
+
+ return nil
+}
+
+func DecodeExperimenterErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (IExperimenterErrorMsg, error) {
+ _experimentererrormsg := &ExperimenterErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("ExperimenterErrorMsg packet too short: %d < 6", decoder.Length())
+ }
+ _experimentererrormsg.Subtype = uint16(decoder.ReadUint16())
+ _experimentererrormsg.Experimenter = uint32(decoder.ReadUint32())
+
+ switch _experimentererrormsg.Experimenter {
+ case 6035143:
+ return DecodeBsnBaseError(_experimentererrormsg, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'ExperimenterErrorMsg'", _experimentererrormsg.Experimenter)
+ }
+}
+
+func NewExperimenterErrorMsg(_experimenter uint32) *ExperimenterErrorMsg {
+ obj := &ExperimenterErrorMsg{
+ ErrorMsg: NewErrorMsg(65535),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type BsnBaseError struct {
+ *ExperimenterErrorMsg
+ ErrMsg string
+}
+
+type IBsnBaseError interface {
+ IExperimenterErrorMsg
+ GetErrMsg() string
+}
+
+func (self *BsnBaseError) GetErrMsg() string {
+ return self.ErrMsg
+}
+
+func (self *BsnBaseError) SetErrMsg(v string) {
+ self.ErrMsg = v
+}
+
+func (self *BsnBaseError) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ExperimenterErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write([]byte(self.ErrMsg))
+
+ return nil
+}
+
+func DecodeBsnBaseError(parent *ExperimenterErrorMsg, decoder *goloxi.Decoder) (IBsnBaseError, error) {
+ _bsnbaseerror := &BsnBaseError{ExperimenterErrorMsg: parent}
+ if decoder.Length() < 256 {
+ return nil, fmt.Errorf("BsnBaseError packet too short: %d < 256", decoder.Length())
+ }
+ _bsnbaseerror.ErrMsg = string(bytes.Trim(decoder.Read(256), "\x00"))
+
+ switch _bsnbaseerror.Subtype {
+ case 1:
+ return DecodeBsnError(_bsnbaseerror, decoder)
+ case 2:
+ return DecodeBsnGentableError(_bsnbaseerror, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'BsnBaseError'", _bsnbaseerror.Subtype)
+ }
+}
+
+func NewBsnBaseError(_subtype uint16) *BsnBaseError {
+ obj := &BsnBaseError{
+ ExperimenterErrorMsg: NewExperimenterErrorMsg(6035143),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type BsnBwClearDataReply struct {
+ *BsnHeader
+ Status uint32
+}
+
+type IBsnBwClearDataReply interface {
+ IBsnHeader
+ GetStatus() uint32
+}
+
+func (self *BsnBwClearDataReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnBwClearDataReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnBwClearDataReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Status))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnBwClearDataReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwClearDataReply, error) {
+ _bsnbwcleardatareply := &BsnBwClearDataReply{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnBwClearDataReply packet too short: %d < 4", decoder.Length())
+ }
+ _bsnbwcleardatareply.Status = uint32(decoder.ReadUint32())
+ return _bsnbwcleardatareply, nil
+}
+
+func NewBsnBwClearDataReply() *BsnBwClearDataReply {
+ obj := &BsnBwClearDataReply{
+ BsnHeader: NewBsnHeader(22),
+ }
+ return obj
+}
+
+type BsnBwClearDataRequest struct {
+ *BsnHeader
+}
+
+type IBsnBwClearDataRequest interface {
+ IBsnHeader
+}
+
+func (self *BsnBwClearDataRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnBwClearDataRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwClearDataRequest, error) {
+ _bsnbwcleardatarequest := &BsnBwClearDataRequest{BsnHeader: parent}
+ return _bsnbwcleardatarequest, nil
+}
+
+func NewBsnBwClearDataRequest() *BsnBwClearDataRequest {
+ obj := &BsnBwClearDataRequest{
+ BsnHeader: NewBsnHeader(21),
+ }
+ return obj
+}
+
+type BsnBwEnableGetReply struct {
+ *BsnHeader
+ Enabled uint32
+}
+
+type IBsnBwEnableGetReply interface {
+ IBsnHeader
+ GetEnabled() uint32
+}
+
+func (self *BsnBwEnableGetReply) GetEnabled() uint32 {
+ return self.Enabled
+}
+
+func (self *BsnBwEnableGetReply) SetEnabled(v uint32) {
+ self.Enabled = v
+}
+
+func (self *BsnBwEnableGetReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Enabled))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnBwEnableGetReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwEnableGetReply, error) {
+ _bsnbwenablegetreply := &BsnBwEnableGetReply{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnBwEnableGetReply packet too short: %d < 4", decoder.Length())
+ }
+ _bsnbwenablegetreply.Enabled = uint32(decoder.ReadUint32())
+ return _bsnbwenablegetreply, nil
+}
+
+func NewBsnBwEnableGetReply() *BsnBwEnableGetReply {
+ obj := &BsnBwEnableGetReply{
+ BsnHeader: NewBsnHeader(20),
+ }
+ return obj
+}
+
+type BsnBwEnableGetRequest struct {
+ *BsnHeader
+}
+
+type IBsnBwEnableGetRequest interface {
+ IBsnHeader
+}
+
+func (self *BsnBwEnableGetRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnBwEnableGetRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwEnableGetRequest, error) {
+ _bsnbwenablegetrequest := &BsnBwEnableGetRequest{BsnHeader: parent}
+ return _bsnbwenablegetrequest, nil
+}
+
+func NewBsnBwEnableGetRequest() *BsnBwEnableGetRequest {
+ obj := &BsnBwEnableGetRequest{
+ BsnHeader: NewBsnHeader(19),
+ }
+ return obj
+}
+
+type BsnBwEnableSetReply struct {
+ *BsnHeader
+ Enable uint32
+ Status uint32
+}
+
+type IBsnBwEnableSetReply interface {
+ IBsnHeader
+ GetEnable() uint32
+ GetStatus() uint32
+}
+
+func (self *BsnBwEnableSetReply) GetEnable() uint32 {
+ return self.Enable
+}
+
+func (self *BsnBwEnableSetReply) SetEnable(v uint32) {
+ self.Enable = v
+}
+
+func (self *BsnBwEnableSetReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnBwEnableSetReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnBwEnableSetReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Enable))
+ encoder.PutUint32(uint32(self.Status))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnBwEnableSetReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwEnableSetReply, error) {
+ _bsnbwenablesetreply := &BsnBwEnableSetReply{BsnHeader: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnBwEnableSetReply packet too short: %d < 8", decoder.Length())
+ }
+ _bsnbwenablesetreply.Enable = uint32(decoder.ReadUint32())
+ _bsnbwenablesetreply.Status = uint32(decoder.ReadUint32())
+ return _bsnbwenablesetreply, nil
+}
+
+func NewBsnBwEnableSetReply() *BsnBwEnableSetReply {
+ obj := &BsnBwEnableSetReply{
+ BsnHeader: NewBsnHeader(23),
+ }
+ return obj
+}
+
+type BsnBwEnableSetRequest struct {
+ *BsnHeader
+ Enable uint32
+}
+
+type IBsnBwEnableSetRequest interface {
+ IBsnHeader
+ GetEnable() uint32
+}
+
+func (self *BsnBwEnableSetRequest) GetEnable() uint32 {
+ return self.Enable
+}
+
+func (self *BsnBwEnableSetRequest) SetEnable(v uint32) {
+ self.Enable = v
+}
+
+func (self *BsnBwEnableSetRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Enable))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnBwEnableSetRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwEnableSetRequest, error) {
+ _bsnbwenablesetrequest := &BsnBwEnableSetRequest{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnBwEnableSetRequest packet too short: %d < 4", decoder.Length())
+ }
+ _bsnbwenablesetrequest.Enable = uint32(decoder.ReadUint32())
+ return _bsnbwenablesetrequest, nil
+}
+
+func NewBsnBwEnableSetRequest() *BsnBwEnableSetRequest {
+ obj := &BsnBwEnableSetRequest{
+ BsnHeader: NewBsnHeader(18),
+ }
+ return obj
+}
+
+type BsnControllerConnectionsReply struct {
+ *BsnHeader
+ Connections []*BsnControllerConnection
+}
+
+type IBsnControllerConnectionsReply interface {
+ IBsnHeader
+ GetConnections() []*BsnControllerConnection
+}
+
+func (self *BsnControllerConnectionsReply) GetConnections() []*BsnControllerConnection {
+ return self.Connections
+}
+
+func (self *BsnControllerConnectionsReply) SetConnections(v []*BsnControllerConnection) {
+ self.Connections = v
+}
+
+func (self *BsnControllerConnectionsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Connections {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnControllerConnectionsReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnControllerConnectionsReply, error) {
+ _bsncontrollerconnectionsreply := &BsnControllerConnectionsReply{BsnHeader: parent}
+
+ for decoder.Length() >= 264 {
+ item, err := DecodeBsnControllerConnection(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsncontrollerconnectionsreply.Connections = append(_bsncontrollerconnectionsreply.Connections, item)
+ }
+ }
+ return _bsncontrollerconnectionsreply, nil
+}
+
+func NewBsnControllerConnectionsReply() *BsnControllerConnectionsReply {
+ obj := &BsnControllerConnectionsReply{
+ BsnHeader: NewBsnHeader(57),
+ }
+ return obj
+}
+
+type BsnControllerConnectionsRequest struct {
+ *BsnHeader
+}
+
+type IBsnControllerConnectionsRequest interface {
+ IBsnHeader
+}
+
+func (self *BsnControllerConnectionsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnControllerConnectionsRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnControllerConnectionsRequest, error) {
+ _bsncontrollerconnectionsrequest := &BsnControllerConnectionsRequest{BsnHeader: parent}
+ return _bsncontrollerconnectionsrequest, nil
+}
+
+func NewBsnControllerConnectionsRequest() *BsnControllerConnectionsRequest {
+ obj := &BsnControllerConnectionsRequest{
+ BsnHeader: NewBsnHeader(56),
+ }
+ return obj
+}
+
+type ExperimenterStatsReply struct {
+ *StatsReply
+ Experimenter uint32
+ Subtype uint32
+}
+
+type IExperimenterStatsReply interface {
+ IStatsReply
+ GetExperimenter() uint32
+ GetSubtype() uint32
+}
+
+func (self *ExperimenterStatsReply) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *ExperimenterStatsReply) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *ExperimenterStatsReply) GetSubtype() uint32 {
+ return self.Subtype
+}
+
+func (self *ExperimenterStatsReply) SetSubtype(v uint32) {
+ self.Subtype = v
+}
+
+func (self *ExperimenterStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint32(uint32(self.Experimenter))
+ encoder.PutUint32(uint32(self.Subtype))
+
+ return nil
+}
+
+func DecodeExperimenterStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (IExperimenterStatsReply, error) {
+ _experimenterstatsreply := &ExperimenterStatsReply{StatsReply: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("ExperimenterStatsReply packet too short: %d < 12", decoder.Length())
+ }
+ decoder.Skip(4)
+ _experimenterstatsreply.Experimenter = uint32(decoder.ReadUint32())
+ _experimenterstatsreply.Subtype = uint32(decoder.ReadUint32())
+
+ switch _experimenterstatsreply.Experimenter {
+ case 8992:
+ return DecodeNiciraStatsReply(_experimenterstatsreply, decoder)
+ case 6035143:
+ return DecodeBsnStatsReply(_experimenterstatsreply, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'ExperimenterStatsReply'", _experimenterstatsreply.Experimenter)
+ }
+}
+
+func NewExperimenterStatsReply(_experimenter uint32) *ExperimenterStatsReply {
+ obj := &ExperimenterStatsReply{
+ StatsReply: NewStatsReply(65535),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type BsnStatsReply struct {
+ *ExperimenterStatsReply
+}
+
+type IBsnStatsReply interface {
+ IExperimenterStatsReply
+}
+
+func (self *BsnStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ExperimenterStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeBsnStatsReply(parent *ExperimenterStatsReply, decoder *goloxi.Decoder) (IBsnStatsReply, error) {
+ _bsnstatsreply := &BsnStatsReply{ExperimenterStatsReply: parent}
+
+ switch _bsnstatsreply.Subtype {
+ case 1:
+ return DecodeBsnLacpStatsReply(_bsnstatsreply, decoder)
+ case 2:
+ return DecodeBsnGentableEntryDescStatsReply(_bsnstatsreply, decoder)
+ case 3:
+ return DecodeBsnGentableEntryStatsReply(_bsnstatsreply, decoder)
+ case 4:
+ return DecodeBsnGentableDescStatsReply(_bsnstatsreply, decoder)
+ case 5:
+ return DecodeBsnGentableBucketStatsReply(_bsnstatsreply, decoder)
+ case 6:
+ return DecodeBsnSwitchPipelineStatsReply(_bsnstatsreply, decoder)
+ case 7:
+ return DecodeBsnGentableStatsReply(_bsnstatsreply, decoder)
+ case 8:
+ return DecodeBsnPortCounterStatsReply(_bsnstatsreply, decoder)
+ case 9:
+ return DecodeBsnVlanCounterStatsReply(_bsnstatsreply, decoder)
+ case 10:
+ return DecodeBsnFlowChecksumBucketStatsReply(_bsnstatsreply, decoder)
+ case 11:
+ return DecodeBsnTableChecksumStatsReply(_bsnstatsreply, decoder)
+ case 12:
+ return DecodeBsnDebugCounterStatsReply(_bsnstatsreply, decoder)
+ case 13:
+ return DecodeBsnDebugCounterDescStatsReply(_bsnstatsreply, decoder)
+ case 14:
+ return DecodeBsnImageDescStatsReply(_bsnstatsreply, decoder)
+ case 15:
+ return DecodeBsnVrfCounterStatsReply(_bsnstatsreply, decoder)
+ case 16:
+ return DecodeBsnGenericStatsReply(_bsnstatsreply, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'BsnStatsReply'", _bsnstatsreply.Subtype)
+ }
+}
+
+func NewBsnStatsReply(_subtype uint32) *BsnStatsReply {
+ obj := &BsnStatsReply{
+ ExperimenterStatsReply: NewExperimenterStatsReply(6035143),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type BsnDebugCounterDescStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnDebugCounterDescStatsEntry
+}
+
+type IBsnDebugCounterDescStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnDebugCounterDescStatsEntry
+}
+
+func (self *BsnDebugCounterDescStatsReply) GetEntries() []*BsnDebugCounterDescStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnDebugCounterDescStatsReply) SetEntries(v []*BsnDebugCounterDescStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnDebugCounterDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnDebugCounterDescStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnDebugCounterDescStatsReply, error) {
+ _bsndebugcounterdescstatsreply := &BsnDebugCounterDescStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 328 {
+ item, err := DecodeBsnDebugCounterDescStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsndebugcounterdescstatsreply.Entries = append(_bsndebugcounterdescstatsreply.Entries, item)
+ }
+ }
+ return _bsndebugcounterdescstatsreply, nil
+}
+
+func NewBsnDebugCounterDescStatsReply() *BsnDebugCounterDescStatsReply {
+ obj := &BsnDebugCounterDescStatsReply{
+ BsnStatsReply: NewBsnStatsReply(13),
+ }
+ return obj
+}
+
+type ExperimenterStatsRequest struct {
+ *StatsRequest
+ Experimenter uint32
+ Subtype uint32
+}
+
+type IExperimenterStatsRequest interface {
+ IStatsRequest
+ GetExperimenter() uint32
+ GetSubtype() uint32
+}
+
+func (self *ExperimenterStatsRequest) GetExperimenter() uint32 {
+ return self.Experimenter
+}
+
+func (self *ExperimenterStatsRequest) SetExperimenter(v uint32) {
+ self.Experimenter = v
+}
+
+func (self *ExperimenterStatsRequest) GetSubtype() uint32 {
+ return self.Subtype
+}
+
+func (self *ExperimenterStatsRequest) SetSubtype(v uint32) {
+ self.Subtype = v
+}
+
+func (self *ExperimenterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint32(uint32(self.Experimenter))
+ encoder.PutUint32(uint32(self.Subtype))
+
+ return nil
+}
+
+func DecodeExperimenterStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (IExperimenterStatsRequest, error) {
+ _experimenterstatsrequest := &ExperimenterStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("ExperimenterStatsRequest packet too short: %d < 12", decoder.Length())
+ }
+ decoder.Skip(4)
+ _experimenterstatsrequest.Experimenter = uint32(decoder.ReadUint32())
+ _experimenterstatsrequest.Subtype = uint32(decoder.ReadUint32())
+
+ switch _experimenterstatsrequest.Experimenter {
+ case 8992:
+ return DecodeNiciraFlowStatsRequest(_experimenterstatsrequest, decoder)
+ case 6035143:
+ return DecodeBsnStatsRequest(_experimenterstatsrequest, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'ExperimenterStatsRequest'", _experimenterstatsrequest.Experimenter)
+ }
+}
+
+func NewExperimenterStatsRequest(_experimenter uint32) *ExperimenterStatsRequest {
+ obj := &ExperimenterStatsRequest{
+ StatsRequest: NewStatsRequest(65535),
+ }
+ obj.Experimenter = _experimenter
+ return obj
+}
+
+type BsnStatsRequest struct {
+ *ExperimenterStatsRequest
+}
+
+type IBsnStatsRequest interface {
+ IExperimenterStatsRequest
+}
+
+func (self *BsnStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ExperimenterStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeBsnStatsRequest(parent *ExperimenterStatsRequest, decoder *goloxi.Decoder) (IBsnStatsRequest, error) {
+ _bsnstatsrequest := &BsnStatsRequest{ExperimenterStatsRequest: parent}
+
+ switch _bsnstatsrequest.Subtype {
+ case 1:
+ return DecodeBsnLacpStatsRequest(_bsnstatsrequest, decoder)
+ case 2:
+ return DecodeBsnGentableEntryDescStatsRequest(_bsnstatsrequest, decoder)
+ case 3:
+ return DecodeBsnGentableEntryStatsRequest(_bsnstatsrequest, decoder)
+ case 4:
+ return DecodeBsnGentableDescStatsRequest(_bsnstatsrequest, decoder)
+ case 5:
+ return DecodeBsnGentableBucketStatsRequest(_bsnstatsrequest, decoder)
+ case 6:
+ return DecodeBsnSwitchPipelineStatsRequest(_bsnstatsrequest, decoder)
+ case 7:
+ return DecodeBsnGentableStatsRequest(_bsnstatsrequest, decoder)
+ case 8:
+ return DecodeBsnPortCounterStatsRequest(_bsnstatsrequest, decoder)
+ case 9:
+ return DecodeBsnVlanCounterStatsRequest(_bsnstatsrequest, decoder)
+ case 10:
+ return DecodeBsnFlowChecksumBucketStatsRequest(_bsnstatsrequest, decoder)
+ case 11:
+ return DecodeBsnTableChecksumStatsRequest(_bsnstatsrequest, decoder)
+ case 12:
+ return DecodeBsnDebugCounterStatsRequest(_bsnstatsrequest, decoder)
+ case 13:
+ return DecodeBsnDebugCounterDescStatsRequest(_bsnstatsrequest, decoder)
+ case 14:
+ return DecodeBsnImageDescStatsRequest(_bsnstatsrequest, decoder)
+ case 15:
+ return DecodeBsnVrfCounterStatsRequest(_bsnstatsrequest, decoder)
+ case 16:
+ return DecodeBsnGenericStatsRequest(_bsnstatsrequest, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'BsnStatsRequest'", _bsnstatsrequest.Subtype)
+ }
+}
+
+func NewBsnStatsRequest(_subtype uint32) *BsnStatsRequest {
+ obj := &BsnStatsRequest{
+ ExperimenterStatsRequest: NewExperimenterStatsRequest(6035143),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type BsnDebugCounterDescStatsRequest struct {
+ *BsnStatsRequest
+}
+
+type IBsnDebugCounterDescStatsRequest interface {
+ IBsnStatsRequest
+}
+
+func (self *BsnDebugCounterDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnDebugCounterDescStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnDebugCounterDescStatsRequest, error) {
+ _bsndebugcounterdescstatsrequest := &BsnDebugCounterDescStatsRequest{BsnStatsRequest: parent}
+ return _bsndebugcounterdescstatsrequest, nil
+}
+
+func NewBsnDebugCounterDescStatsRequest() *BsnDebugCounterDescStatsRequest {
+ obj := &BsnDebugCounterDescStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(13),
+ }
+ return obj
+}
+
+type BsnDebugCounterStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnDebugCounterStatsEntry
+}
+
+type IBsnDebugCounterStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnDebugCounterStatsEntry
+}
+
+func (self *BsnDebugCounterStatsReply) GetEntries() []*BsnDebugCounterStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnDebugCounterStatsReply) SetEntries(v []*BsnDebugCounterStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnDebugCounterStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnDebugCounterStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnDebugCounterStatsReply, error) {
+ _bsndebugcounterstatsreply := &BsnDebugCounterStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 16 {
+ item, err := DecodeBsnDebugCounterStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsndebugcounterstatsreply.Entries = append(_bsndebugcounterstatsreply.Entries, item)
+ }
+ }
+ return _bsndebugcounterstatsreply, nil
+}
+
+func NewBsnDebugCounterStatsReply() *BsnDebugCounterStatsReply {
+ obj := &BsnDebugCounterStatsReply{
+ BsnStatsReply: NewBsnStatsReply(12),
+ }
+ return obj
+}
+
+type BsnDebugCounterStatsRequest struct {
+ *BsnStatsRequest
+}
+
+type IBsnDebugCounterStatsRequest interface {
+ IBsnStatsRequest
+}
+
+func (self *BsnDebugCounterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnDebugCounterStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnDebugCounterStatsRequest, error) {
+ _bsndebugcounterstatsrequest := &BsnDebugCounterStatsRequest{BsnStatsRequest: parent}
+ return _bsndebugcounterstatsrequest, nil
+}
+
+func NewBsnDebugCounterStatsRequest() *BsnDebugCounterStatsRequest {
+ obj := &BsnDebugCounterStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(12),
+ }
+ return obj
+}
+
+type BsnError struct {
+ *BsnBaseError
+}
+
+type IBsnError interface {
+ IBsnBaseError
+}
+
+func (self *BsnError) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnBaseError.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnError(parent *BsnBaseError, decoder *goloxi.Decoder) (*BsnError, error) {
+ _bsnerror := &BsnError{BsnBaseError: parent}
+ return _bsnerror, nil
+}
+
+func NewBsnError() *BsnError {
+ obj := &BsnError{
+ BsnBaseError: NewBsnBaseError(1),
+ }
+ return obj
+}
+
+type BsnFlowChecksumBucketStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnFlowChecksumBucketStatsEntry
+}
+
+type IBsnFlowChecksumBucketStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnFlowChecksumBucketStatsEntry
+}
+
+func (self *BsnFlowChecksumBucketStatsReply) GetEntries() []*BsnFlowChecksumBucketStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnFlowChecksumBucketStatsReply) SetEntries(v []*BsnFlowChecksumBucketStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnFlowChecksumBucketStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnFlowChecksumBucketStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnFlowChecksumBucketStatsReply, error) {
+ _bsnflowchecksumbucketstatsreply := &BsnFlowChecksumBucketStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeBsnFlowChecksumBucketStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsnflowchecksumbucketstatsreply.Entries = append(_bsnflowchecksumbucketstatsreply.Entries, item)
+ }
+ }
+ return _bsnflowchecksumbucketstatsreply, nil
+}
+
+func NewBsnFlowChecksumBucketStatsReply() *BsnFlowChecksumBucketStatsReply {
+ obj := &BsnFlowChecksumBucketStatsReply{
+ BsnStatsReply: NewBsnStatsReply(10),
+ }
+ return obj
+}
+
+type BsnFlowChecksumBucketStatsRequest struct {
+ *BsnStatsRequest
+ TableId uint8
+}
+
+type IBsnFlowChecksumBucketStatsRequest interface {
+ IBsnStatsRequest
+ GetTableId() uint8
+}
+
+func (self *BsnFlowChecksumBucketStatsRequest) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *BsnFlowChecksumBucketStatsRequest) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *BsnFlowChecksumBucketStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.TableId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnFlowChecksumBucketStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnFlowChecksumBucketStatsRequest, error) {
+ _bsnflowchecksumbucketstatsrequest := &BsnFlowChecksumBucketStatsRequest{BsnStatsRequest: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnFlowChecksumBucketStatsRequest packet too short: %d < 1", decoder.Length())
+ }
+ _bsnflowchecksumbucketstatsrequest.TableId = uint8(decoder.ReadByte())
+ return _bsnflowchecksumbucketstatsrequest, nil
+}
+
+func NewBsnFlowChecksumBucketStatsRequest() *BsnFlowChecksumBucketStatsRequest {
+ obj := &BsnFlowChecksumBucketStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(10),
+ }
+ return obj
+}
+
+type BsnFlowIdle struct {
+ *BsnHeader
+ Cookie uint64
+ Priority uint16
+ TableId uint8
+ Match Match
+}
+
+type IBsnFlowIdle interface {
+ IBsnHeader
+ GetCookie() uint64
+ GetPriority() uint16
+ GetTableId() uint8
+ GetMatch() Match
+}
+
+func (self *BsnFlowIdle) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *BsnFlowIdle) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *BsnFlowIdle) GetPriority() uint16 {
+ return self.Priority
+}
+
+func (self *BsnFlowIdle) SetPriority(v uint16) {
+ self.Priority = v
+}
+
+func (self *BsnFlowIdle) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *BsnFlowIdle) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *BsnFlowIdle) GetMatch() Match {
+ return self.Match
+}
+
+func (self *BsnFlowIdle) SetMatch(v Match) {
+ self.Match = v
+}
+
+func (self *BsnFlowIdle) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Cookie))
+ encoder.PutUint16(uint16(self.Priority))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 5))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnFlowIdle(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdle, error) {
+ _bsnflowidle := &BsnFlowIdle{BsnHeader: parent}
+ if decoder.Length() < 24 {
+ return nil, fmt.Errorf("BsnFlowIdle packet too short: %d < 24", decoder.Length())
+ }
+ _bsnflowidle.Cookie = uint64(decoder.ReadUint64())
+ _bsnflowidle.Priority = uint16(decoder.ReadUint16())
+ _bsnflowidle.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(5)
+ if err := _bsnflowidle.Match.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+ return _bsnflowidle, nil
+}
+
+func NewBsnFlowIdle() *BsnFlowIdle {
+ obj := &BsnFlowIdle{
+ BsnHeader: NewBsnHeader(40),
+ }
+ return obj
+}
+
+type BsnFlowIdleEnableGetReply struct {
+ *BsnHeader
+ Enabled uint32
+}
+
+type IBsnFlowIdleEnableGetReply interface {
+ IBsnHeader
+ GetEnabled() uint32
+}
+
+func (self *BsnFlowIdleEnableGetReply) GetEnabled() uint32 {
+ return self.Enabled
+}
+
+func (self *BsnFlowIdleEnableGetReply) SetEnabled(v uint32) {
+ self.Enabled = v
+}
+
+func (self *BsnFlowIdleEnableGetReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Enabled))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnFlowIdleEnableGetReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdleEnableGetReply, error) {
+ _bsnflowidleenablegetreply := &BsnFlowIdleEnableGetReply{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnFlowIdleEnableGetReply packet too short: %d < 4", decoder.Length())
+ }
+ _bsnflowidleenablegetreply.Enabled = uint32(decoder.ReadUint32())
+ return _bsnflowidleenablegetreply, nil
+}
+
+func NewBsnFlowIdleEnableGetReply() *BsnFlowIdleEnableGetReply {
+ obj := &BsnFlowIdleEnableGetReply{
+ BsnHeader: NewBsnHeader(39),
+ }
+ return obj
+}
+
+type BsnFlowIdleEnableGetRequest struct {
+ *BsnHeader
+}
+
+type IBsnFlowIdleEnableGetRequest interface {
+ IBsnHeader
+}
+
+func (self *BsnFlowIdleEnableGetRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnFlowIdleEnableGetRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdleEnableGetRequest, error) {
+ _bsnflowidleenablegetrequest := &BsnFlowIdleEnableGetRequest{BsnHeader: parent}
+ return _bsnflowidleenablegetrequest, nil
+}
+
+func NewBsnFlowIdleEnableGetRequest() *BsnFlowIdleEnableGetRequest {
+ obj := &BsnFlowIdleEnableGetRequest{
+ BsnHeader: NewBsnHeader(38),
+ }
+ return obj
+}
+
+type BsnFlowIdleEnableSetReply struct {
+ *BsnHeader
+ Enable uint32
+ Status uint32
+}
+
+type IBsnFlowIdleEnableSetReply interface {
+ IBsnHeader
+ GetEnable() uint32
+ GetStatus() uint32
+}
+
+func (self *BsnFlowIdleEnableSetReply) GetEnable() uint32 {
+ return self.Enable
+}
+
+func (self *BsnFlowIdleEnableSetReply) SetEnable(v uint32) {
+ self.Enable = v
+}
+
+func (self *BsnFlowIdleEnableSetReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnFlowIdleEnableSetReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnFlowIdleEnableSetReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Enable))
+ encoder.PutUint32(uint32(self.Status))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnFlowIdleEnableSetReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdleEnableSetReply, error) {
+ _bsnflowidleenablesetreply := &BsnFlowIdleEnableSetReply{BsnHeader: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnFlowIdleEnableSetReply packet too short: %d < 8", decoder.Length())
+ }
+ _bsnflowidleenablesetreply.Enable = uint32(decoder.ReadUint32())
+ _bsnflowidleenablesetreply.Status = uint32(decoder.ReadUint32())
+ return _bsnflowidleenablesetreply, nil
+}
+
+func NewBsnFlowIdleEnableSetReply() *BsnFlowIdleEnableSetReply {
+ obj := &BsnFlowIdleEnableSetReply{
+ BsnHeader: NewBsnHeader(37),
+ }
+ return obj
+}
+
+type BsnFlowIdleEnableSetRequest struct {
+ *BsnHeader
+ Enable uint32
+}
+
+type IBsnFlowIdleEnableSetRequest interface {
+ IBsnHeader
+ GetEnable() uint32
+}
+
+func (self *BsnFlowIdleEnableSetRequest) GetEnable() uint32 {
+ return self.Enable
+}
+
+func (self *BsnFlowIdleEnableSetRequest) SetEnable(v uint32) {
+ self.Enable = v
+}
+
+func (self *BsnFlowIdleEnableSetRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Enable))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnFlowIdleEnableSetRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdleEnableSetRequest, error) {
+ _bsnflowidleenablesetrequest := &BsnFlowIdleEnableSetRequest{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnFlowIdleEnableSetRequest packet too short: %d < 4", decoder.Length())
+ }
+ _bsnflowidleenablesetrequest.Enable = uint32(decoder.ReadUint32())
+ return _bsnflowidleenablesetrequest, nil
+}
+
+func NewBsnFlowIdleEnableSetRequest() *BsnFlowIdleEnableSetRequest {
+ obj := &BsnFlowIdleEnableSetRequest{
+ BsnHeader: NewBsnHeader(36),
+ }
+ return obj
+}
+
+type BsnGenericStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnGenericStatsEntry
+}
+
+type IBsnGenericStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnGenericStatsEntry
+}
+
+func (self *BsnGenericStatsReply) GetEntries() []*BsnGenericStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnGenericStatsReply) SetEntries(v []*BsnGenericStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnGenericStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGenericStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGenericStatsReply, error) {
+ _bsngenericstatsreply := &BsnGenericStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 2 {
+ item, err := DecodeBsnGenericStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngenericstatsreply.Entries = append(_bsngenericstatsreply.Entries, item)
+ }
+ }
+ return _bsngenericstatsreply, nil
+}
+
+func NewBsnGenericStatsReply() *BsnGenericStatsReply {
+ obj := &BsnGenericStatsReply{
+ BsnStatsReply: NewBsnStatsReply(16),
+ }
+ return obj
+}
+
+type BsnGenericStatsRequest struct {
+ *BsnStatsRequest
+ Name string
+ Tlvs []IBsnTlv
+}
+
+type IBsnGenericStatsRequest interface {
+ IBsnStatsRequest
+ GetName() string
+ GetTlvs() []IBsnTlv
+}
+
+func (self *BsnGenericStatsRequest) GetName() string {
+ return self.Name
+}
+
+func (self *BsnGenericStatsRequest) SetName(v string) {
+ self.Name = v
+}
+
+func (self *BsnGenericStatsRequest) GetTlvs() []IBsnTlv {
+ return self.Tlvs
+}
+
+func (self *BsnGenericStatsRequest) SetTlvs(v []IBsnTlv) {
+ self.Tlvs = v
+}
+
+func (self *BsnGenericStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write([]byte(self.Name))
+ for _, obj := range self.Tlvs {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGenericStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGenericStatsRequest, error) {
+ _bsngenericstatsrequest := &BsnGenericStatsRequest{BsnStatsRequest: parent}
+ if decoder.Length() < 64 {
+ return nil, fmt.Errorf("BsnGenericStatsRequest packet too short: %d < 64", decoder.Length())
+ }
+ _bsngenericstatsrequest.Name = string(bytes.Trim(decoder.Read(64), "\x00"))
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngenericstatsrequest.Tlvs = append(_bsngenericstatsrequest.Tlvs, item)
+ }
+ }
+ return _bsngenericstatsrequest, nil
+}
+
+func NewBsnGenericStatsRequest() *BsnGenericStatsRequest {
+ obj := &BsnGenericStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(16),
+ }
+ return obj
+}
+
+type BsnGentableBucketStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnGentableBucketStatsEntry
+}
+
+type IBsnGentableBucketStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnGentableBucketStatsEntry
+}
+
+func (self *BsnGentableBucketStatsReply) GetEntries() []*BsnGentableBucketStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnGentableBucketStatsReply) SetEntries(v []*BsnGentableBucketStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnGentableBucketStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableBucketStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableBucketStatsReply, error) {
+ _bsngentablebucketstatsreply := &BsnGentableBucketStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 16 {
+ item, err := DecodeBsnGentableBucketStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentablebucketstatsreply.Entries = append(_bsngentablebucketstatsreply.Entries, item)
+ }
+ }
+ return _bsngentablebucketstatsreply, nil
+}
+
+func NewBsnGentableBucketStatsReply() *BsnGentableBucketStatsReply {
+ obj := &BsnGentableBucketStatsReply{
+ BsnStatsReply: NewBsnStatsReply(5),
+ }
+ return obj
+}
+
+type BsnGentableBucketStatsRequest struct {
+ *BsnStatsRequest
+ TableId uint16
+}
+
+type IBsnGentableBucketStatsRequest interface {
+ IBsnStatsRequest
+ GetTableId() uint16
+}
+
+func (self *BsnGentableBucketStatsRequest) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableBucketStatsRequest) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableBucketStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TableId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableBucketStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableBucketStatsRequest, error) {
+ _bsngentablebucketstatsrequest := &BsnGentableBucketStatsRequest{BsnStatsRequest: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnGentableBucketStatsRequest packet too short: %d < 2", decoder.Length())
+ }
+ _bsngentablebucketstatsrequest.TableId = uint16(decoder.ReadUint16())
+ return _bsngentablebucketstatsrequest, nil
+}
+
+func NewBsnGentableBucketStatsRequest() *BsnGentableBucketStatsRequest {
+ obj := &BsnGentableBucketStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(5),
+ }
+ return obj
+}
+
+type BsnGentableClearReply struct {
+ *BsnHeader
+ TableId uint16
+ DeletedCount uint32
+ ErrorCount uint32
+}
+
+type IBsnGentableClearReply interface {
+ IBsnHeader
+ GetTableId() uint16
+ GetDeletedCount() uint32
+ GetErrorCount() uint32
+}
+
+func (self *BsnGentableClearReply) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableClearReply) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableClearReply) GetDeletedCount() uint32 {
+ return self.DeletedCount
+}
+
+func (self *BsnGentableClearReply) SetDeletedCount(v uint32) {
+ self.DeletedCount = v
+}
+
+func (self *BsnGentableClearReply) GetErrorCount() uint32 {
+ return self.ErrorCount
+}
+
+func (self *BsnGentableClearReply) SetErrorCount(v uint32) {
+ self.ErrorCount = v
+}
+
+func (self *BsnGentableClearReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.DeletedCount))
+ encoder.PutUint32(uint32(self.ErrorCount))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableClearReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableClearReply, error) {
+ _bsngentableclearreply := &BsnGentableClearReply{BsnHeader: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("BsnGentableClearReply packet too short: %d < 12", decoder.Length())
+ }
+ _bsngentableclearreply.TableId = uint16(decoder.ReadUint16())
+ decoder.Skip(2)
+ _bsngentableclearreply.DeletedCount = uint32(decoder.ReadUint32())
+ _bsngentableclearreply.ErrorCount = uint32(decoder.ReadUint32())
+ return _bsngentableclearreply, nil
+}
+
+func NewBsnGentableClearReply() *BsnGentableClearReply {
+ obj := &BsnGentableClearReply{
+ BsnHeader: NewBsnHeader(49),
+ }
+ return obj
+}
+
+type BsnGentableClearRequest struct {
+ *BsnHeader
+ TableId uint16
+ Checksum Checksum128
+ ChecksumMask Checksum128
+}
+
+type IBsnGentableClearRequest interface {
+ IBsnHeader
+ GetTableId() uint16
+ GetChecksum() Checksum128
+ GetChecksumMask() Checksum128
+}
+
+func (self *BsnGentableClearRequest) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableClearRequest) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableClearRequest) GetChecksum() Checksum128 {
+ return self.Checksum
+}
+
+func (self *BsnGentableClearRequest) SetChecksum(v Checksum128) {
+ self.Checksum = v
+}
+
+func (self *BsnGentableClearRequest) GetChecksumMask() Checksum128 {
+ return self.ChecksumMask
+}
+
+func (self *BsnGentableClearRequest) SetChecksumMask(v Checksum128) {
+ self.ChecksumMask = v
+}
+
+func (self *BsnGentableClearRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ self.Checksum.Serialize(encoder)
+ self.ChecksumMask.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableClearRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableClearRequest, error) {
+ _bsngentableclearrequest := &BsnGentableClearRequest{BsnHeader: parent}
+ if decoder.Length() < 36 {
+ return nil, fmt.Errorf("BsnGentableClearRequest packet too short: %d < 36", decoder.Length())
+ }
+ _bsngentableclearrequest.TableId = uint16(decoder.ReadUint16())
+ decoder.Skip(2)
+ _bsngentableclearrequest.Checksum.Decode(decoder)
+ _bsngentableclearrequest.ChecksumMask.Decode(decoder)
+ return _bsngentableclearrequest, nil
+}
+
+func NewBsnGentableClearRequest() *BsnGentableClearRequest {
+ obj := &BsnGentableClearRequest{
+ BsnHeader: NewBsnHeader(48),
+ }
+ return obj
+}
+
+type BsnGentableDescStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnGentableDescStatsEntry
+}
+
+type IBsnGentableDescStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnGentableDescStatsEntry
+}
+
+func (self *BsnGentableDescStatsReply) GetEntries() []*BsnGentableDescStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnGentableDescStatsReply) SetEntries(v []*BsnGentableDescStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnGentableDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableDescStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableDescStatsReply, error) {
+ _bsngentabledescstatsreply := &BsnGentableDescStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 48 {
+ item, err := DecodeBsnGentableDescStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentabledescstatsreply.Entries = append(_bsngentabledescstatsreply.Entries, item)
+ }
+ }
+ return _bsngentabledescstatsreply, nil
+}
+
+func NewBsnGentableDescStatsReply() *BsnGentableDescStatsReply {
+ obj := &BsnGentableDescStatsReply{
+ BsnStatsReply: NewBsnStatsReply(4),
+ }
+ return obj
+}
+
+type BsnGentableDescStatsRequest struct {
+ *BsnStatsRequest
+}
+
+type IBsnGentableDescStatsRequest interface {
+ IBsnStatsRequest
+}
+
+func (self *BsnGentableDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableDescStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableDescStatsRequest, error) {
+ _bsngentabledescstatsrequest := &BsnGentableDescStatsRequest{BsnStatsRequest: parent}
+ return _bsngentabledescstatsrequest, nil
+}
+
+func NewBsnGentableDescStatsRequest() *BsnGentableDescStatsRequest {
+ obj := &BsnGentableDescStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(4),
+ }
+ return obj
+}
+
+type BsnGentableEntryAdd struct {
+ *BsnHeader
+ TableId uint16
+ KeyLength uint16
+ Checksum Checksum128
+ Key []IBsnTlv
+ Value []IBsnTlv
+}
+
+type IBsnGentableEntryAdd interface {
+ IBsnHeader
+ GetTableId() uint16
+ GetKeyLength() uint16
+ GetChecksum() Checksum128
+ GetKey() []IBsnTlv
+ GetValue() []IBsnTlv
+}
+
+func (self *BsnGentableEntryAdd) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableEntryAdd) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableEntryAdd) GetKeyLength() uint16 {
+ return self.KeyLength
+}
+
+func (self *BsnGentableEntryAdd) SetKeyLength(v uint16) {
+ self.KeyLength = v
+}
+
+func (self *BsnGentableEntryAdd) GetChecksum() Checksum128 {
+ return self.Checksum
+}
+
+func (self *BsnGentableEntryAdd) SetChecksum(v Checksum128) {
+ self.Checksum = v
+}
+
+func (self *BsnGentableEntryAdd) GetKey() []IBsnTlv {
+ return self.Key
+}
+
+func (self *BsnGentableEntryAdd) SetKey(v []IBsnTlv) {
+ self.Key = v
+}
+
+func (self *BsnGentableEntryAdd) GetValue() []IBsnTlv {
+ return self.Value
+}
+
+func (self *BsnGentableEntryAdd) SetValue(v []IBsnTlv) {
+ self.Value = v
+}
+
+func (self *BsnGentableEntryAdd) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TableId))
+ encoder.PutUint16(uint16(self.KeyLength))
+ self.Checksum.Serialize(encoder)
+ for _, obj := range self.Key {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+ for _, obj := range self.Value {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableEntryAdd(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableEntryAdd, error) {
+ _bsngentableentryadd := &BsnGentableEntryAdd{BsnHeader: parent}
+ if decoder.Length() < 20 {
+ return nil, fmt.Errorf("BsnGentableEntryAdd packet too short: %d < 20", decoder.Length())
+ }
+ _bsngentableentryadd.TableId = uint16(decoder.ReadUint16())
+ _bsngentableentryadd.KeyLength = uint16(decoder.ReadUint16())
+ _bsngentableentryadd.Checksum.Decode(decoder)
+
+ for i := 0; i < int(_bsngentableentryadd.KeyLength); i++ {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentableentryadd.Key = append(_bsngentableentryadd.Key, item)
+ }
+ }
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentableentryadd.Value = append(_bsngentableentryadd.Value, item)
+ }
+ }
+ return _bsngentableentryadd, nil
+}
+
+func NewBsnGentableEntryAdd() *BsnGentableEntryAdd {
+ obj := &BsnGentableEntryAdd{
+ BsnHeader: NewBsnHeader(46),
+ }
+ return obj
+}
+
+type BsnGentableEntryDelete struct {
+ *BsnHeader
+ TableId uint16
+ Key []IBsnTlv
+}
+
+type IBsnGentableEntryDelete interface {
+ IBsnHeader
+ GetTableId() uint16
+ GetKey() []IBsnTlv
+}
+
+func (self *BsnGentableEntryDelete) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableEntryDelete) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableEntryDelete) GetKey() []IBsnTlv {
+ return self.Key
+}
+
+func (self *BsnGentableEntryDelete) SetKey(v []IBsnTlv) {
+ self.Key = v
+}
+
+func (self *BsnGentableEntryDelete) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TableId))
+ for _, obj := range self.Key {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableEntryDelete(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableEntryDelete, error) {
+ _bsngentableentrydelete := &BsnGentableEntryDelete{BsnHeader: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnGentableEntryDelete packet too short: %d < 2", decoder.Length())
+ }
+ _bsngentableentrydelete.TableId = uint16(decoder.ReadUint16())
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnTlv(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentableentrydelete.Key = append(_bsngentableentrydelete.Key, item)
+ }
+ }
+ return _bsngentableentrydelete, nil
+}
+
+func NewBsnGentableEntryDelete() *BsnGentableEntryDelete {
+ obj := &BsnGentableEntryDelete{
+ BsnHeader: NewBsnHeader(47),
+ }
+ return obj
+}
+
+type BsnGentableEntryDescStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnGentableEntryDescStatsEntry
+}
+
+type IBsnGentableEntryDescStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnGentableEntryDescStatsEntry
+}
+
+func (self *BsnGentableEntryDescStatsReply) GetEntries() []*BsnGentableEntryDescStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnGentableEntryDescStatsReply) SetEntries(v []*BsnGentableEntryDescStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnGentableEntryDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableEntryDescStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableEntryDescStatsReply, error) {
+ _bsngentableentrydescstatsreply := &BsnGentableEntryDescStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 20 {
+ item, err := DecodeBsnGentableEntryDescStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentableentrydescstatsreply.Entries = append(_bsngentableentrydescstatsreply.Entries, item)
+ }
+ }
+ return _bsngentableentrydescstatsreply, nil
+}
+
+func NewBsnGentableEntryDescStatsReply() *BsnGentableEntryDescStatsReply {
+ obj := &BsnGentableEntryDescStatsReply{
+ BsnStatsReply: NewBsnStatsReply(2),
+ }
+ return obj
+}
+
+type BsnGentableEntryDescStatsRequest struct {
+ *BsnStatsRequest
+ TableId uint16
+ Checksum Checksum128
+ ChecksumMask Checksum128
+}
+
+type IBsnGentableEntryDescStatsRequest interface {
+ IBsnStatsRequest
+ GetTableId() uint16
+ GetChecksum() Checksum128
+ GetChecksumMask() Checksum128
+}
+
+func (self *BsnGentableEntryDescStatsRequest) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableEntryDescStatsRequest) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableEntryDescStatsRequest) GetChecksum() Checksum128 {
+ return self.Checksum
+}
+
+func (self *BsnGentableEntryDescStatsRequest) SetChecksum(v Checksum128) {
+ self.Checksum = v
+}
+
+func (self *BsnGentableEntryDescStatsRequest) GetChecksumMask() Checksum128 {
+ return self.ChecksumMask
+}
+
+func (self *BsnGentableEntryDescStatsRequest) SetChecksumMask(v Checksum128) {
+ self.ChecksumMask = v
+}
+
+func (self *BsnGentableEntryDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ self.Checksum.Serialize(encoder)
+ self.ChecksumMask.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableEntryDescStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableEntryDescStatsRequest, error) {
+ _bsngentableentrydescstatsrequest := &BsnGentableEntryDescStatsRequest{BsnStatsRequest: parent}
+ if decoder.Length() < 36 {
+ return nil, fmt.Errorf("BsnGentableEntryDescStatsRequest packet too short: %d < 36", decoder.Length())
+ }
+ _bsngentableentrydescstatsrequest.TableId = uint16(decoder.ReadUint16())
+ decoder.Skip(2)
+ _bsngentableentrydescstatsrequest.Checksum.Decode(decoder)
+ _bsngentableentrydescstatsrequest.ChecksumMask.Decode(decoder)
+ return _bsngentableentrydescstatsrequest, nil
+}
+
+func NewBsnGentableEntryDescStatsRequest() *BsnGentableEntryDescStatsRequest {
+ obj := &BsnGentableEntryDescStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(2),
+ }
+ return obj
+}
+
+type BsnGentableEntryStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnGentableEntryStatsEntry
+}
+
+type IBsnGentableEntryStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnGentableEntryStatsEntry
+}
+
+func (self *BsnGentableEntryStatsReply) GetEntries() []*BsnGentableEntryStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnGentableEntryStatsReply) SetEntries(v []*BsnGentableEntryStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnGentableEntryStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableEntryStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableEntryStatsReply, error) {
+ _bsngentableentrystatsreply := &BsnGentableEntryStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeBsnGentableEntryStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentableentrystatsreply.Entries = append(_bsngentableentrystatsreply.Entries, item)
+ }
+ }
+ return _bsngentableentrystatsreply, nil
+}
+
+func NewBsnGentableEntryStatsReply() *BsnGentableEntryStatsReply {
+ obj := &BsnGentableEntryStatsReply{
+ BsnStatsReply: NewBsnStatsReply(3),
+ }
+ return obj
+}
+
+type BsnGentableEntryStatsRequest struct {
+ *BsnStatsRequest
+ TableId uint16
+ Checksum Checksum128
+ ChecksumMask Checksum128
+}
+
+type IBsnGentableEntryStatsRequest interface {
+ IBsnStatsRequest
+ GetTableId() uint16
+ GetChecksum() Checksum128
+ GetChecksumMask() Checksum128
+}
+
+func (self *BsnGentableEntryStatsRequest) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableEntryStatsRequest) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableEntryStatsRequest) GetChecksum() Checksum128 {
+ return self.Checksum
+}
+
+func (self *BsnGentableEntryStatsRequest) SetChecksum(v Checksum128) {
+ self.Checksum = v
+}
+
+func (self *BsnGentableEntryStatsRequest) GetChecksumMask() Checksum128 {
+ return self.ChecksumMask
+}
+
+func (self *BsnGentableEntryStatsRequest) SetChecksumMask(v Checksum128) {
+ self.ChecksumMask = v
+}
+
+func (self *BsnGentableEntryStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ self.Checksum.Serialize(encoder)
+ self.ChecksumMask.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableEntryStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableEntryStatsRequest, error) {
+ _bsngentableentrystatsrequest := &BsnGentableEntryStatsRequest{BsnStatsRequest: parent}
+ if decoder.Length() < 36 {
+ return nil, fmt.Errorf("BsnGentableEntryStatsRequest packet too short: %d < 36", decoder.Length())
+ }
+ _bsngentableentrystatsrequest.TableId = uint16(decoder.ReadUint16())
+ decoder.Skip(2)
+ _bsngentableentrystatsrequest.Checksum.Decode(decoder)
+ _bsngentableentrystatsrequest.ChecksumMask.Decode(decoder)
+ return _bsngentableentrystatsrequest, nil
+}
+
+func NewBsnGentableEntryStatsRequest() *BsnGentableEntryStatsRequest {
+ obj := &BsnGentableEntryStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(3),
+ }
+ return obj
+}
+
+type BsnGentableError struct {
+ *BsnBaseError
+ ErrorCode BsnGentableErrorCode
+ TableId uint16
+}
+
+type IBsnGentableError interface {
+ IBsnBaseError
+ GetErrorCode() BsnGentableErrorCode
+ GetTableId() uint16
+}
+
+func (self *BsnGentableError) GetErrorCode() BsnGentableErrorCode {
+ return self.ErrorCode
+}
+
+func (self *BsnGentableError) SetErrorCode(v BsnGentableErrorCode) {
+ self.ErrorCode = v
+}
+
+func (self *BsnGentableError) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableError) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableError) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnBaseError.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.ErrorCode))
+ encoder.PutUint16(uint16(self.TableId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableError(parent *BsnBaseError, decoder *goloxi.Decoder) (*BsnGentableError, error) {
+ _bsngentableerror := &BsnGentableError{BsnBaseError: parent}
+ if decoder.Length() < 260 {
+ return nil, fmt.Errorf("BsnGentableError packet too short: %d < 260", decoder.Length())
+ }
+ _bsngentableerror.ErrorCode = BsnGentableErrorCode(decoder.ReadUint16())
+ _bsngentableerror.TableId = uint16(decoder.ReadUint16())
+ return _bsngentableerror, nil
+}
+
+func NewBsnGentableError() *BsnGentableError {
+ obj := &BsnGentableError{
+ BsnBaseError: NewBsnBaseError(2),
+ }
+ return obj
+}
+
+type BsnGentableSetBucketsSize struct {
+ *BsnHeader
+ TableId uint16
+ BucketsSize uint32
+}
+
+type IBsnGentableSetBucketsSize interface {
+ IBsnHeader
+ GetTableId() uint16
+ GetBucketsSize() uint32
+}
+
+func (self *BsnGentableSetBucketsSize) GetTableId() uint16 {
+ return self.TableId
+}
+
+func (self *BsnGentableSetBucketsSize) SetTableId(v uint16) {
+ self.TableId = v
+}
+
+func (self *BsnGentableSetBucketsSize) GetBucketsSize() uint32 {
+ return self.BucketsSize
+}
+
+func (self *BsnGentableSetBucketsSize) SetBucketsSize(v uint32) {
+ self.BucketsSize = v
+}
+
+func (self *BsnGentableSetBucketsSize) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.BucketsSize))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableSetBucketsSize(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableSetBucketsSize, error) {
+ _bsngentablesetbucketssize := &BsnGentableSetBucketsSize{BsnHeader: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnGentableSetBucketsSize packet too short: %d < 8", decoder.Length())
+ }
+ _bsngentablesetbucketssize.TableId = uint16(decoder.ReadUint16())
+ decoder.Skip(2)
+ _bsngentablesetbucketssize.BucketsSize = uint32(decoder.ReadUint32())
+ return _bsngentablesetbucketssize, nil
+}
+
+func NewBsnGentableSetBucketsSize() *BsnGentableSetBucketsSize {
+ obj := &BsnGentableSetBucketsSize{
+ BsnHeader: NewBsnHeader(50),
+ }
+ return obj
+}
+
+type BsnGentableStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnGentableStatsEntry
+}
+
+type IBsnGentableStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnGentableStatsEntry
+}
+
+func (self *BsnGentableStatsReply) GetEntries() []*BsnGentableStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnGentableStatsReply) SetEntries(v []*BsnGentableStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnGentableStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableStatsReply, error) {
+ _bsngentablestatsreply := &BsnGentableStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 24 {
+ item, err := DecodeBsnGentableStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngentablestatsreply.Entries = append(_bsngentablestatsreply.Entries, item)
+ }
+ }
+ return _bsngentablestatsreply, nil
+}
+
+func NewBsnGentableStatsReply() *BsnGentableStatsReply {
+ obj := &BsnGentableStatsReply{
+ BsnStatsReply: NewBsnStatsReply(7),
+ }
+ return obj
+}
+
+type BsnGentableStatsRequest struct {
+ *BsnStatsRequest
+}
+
+type IBsnGentableStatsRequest interface {
+ IBsnStatsRequest
+}
+
+func (self *BsnGentableStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGentableStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableStatsRequest, error) {
+ _bsngentablestatsrequest := &BsnGentableStatsRequest{BsnStatsRequest: parent}
+ return _bsngentablestatsrequest, nil
+}
+
+func NewBsnGentableStatsRequest() *BsnGentableStatsRequest {
+ obj := &BsnGentableStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(7),
+ }
+ return obj
+}
+
+type BsnGetInterfacesReply struct {
+ *BsnHeader
+ Interfaces []*BsnInterface
+}
+
+type IBsnGetInterfacesReply interface {
+ IBsnHeader
+ GetInterfaces() []*BsnInterface
+}
+
+func (self *BsnGetInterfacesReply) GetInterfaces() []*BsnInterface {
+ return self.Interfaces
+}
+
+func (self *BsnGetInterfacesReply) SetInterfaces(v []*BsnInterface) {
+ self.Interfaces = v
+}
+
+func (self *BsnGetInterfacesReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Interfaces {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGetInterfacesReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetInterfacesReply, error) {
+ _bsngetinterfacesreply := &BsnGetInterfacesReply{BsnHeader: parent}
+
+ for decoder.Length() >= 32 {
+ item, err := DecodeBsnInterface(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsngetinterfacesreply.Interfaces = append(_bsngetinterfacesreply.Interfaces, item)
+ }
+ }
+ return _bsngetinterfacesreply, nil
+}
+
+func NewBsnGetInterfacesReply() *BsnGetInterfacesReply {
+ obj := &BsnGetInterfacesReply{
+ BsnHeader: NewBsnHeader(10),
+ }
+ return obj
+}
+
+type BsnGetInterfacesRequest struct {
+ *BsnHeader
+}
+
+type IBsnGetInterfacesRequest interface {
+ IBsnHeader
+}
+
+func (self *BsnGetInterfacesRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGetInterfacesRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetInterfacesRequest, error) {
+ _bsngetinterfacesrequest := &BsnGetInterfacesRequest{BsnHeader: parent}
+ return _bsngetinterfacesrequest, nil
+}
+
+func NewBsnGetInterfacesRequest() *BsnGetInterfacesRequest {
+ obj := &BsnGetInterfacesRequest{
+ BsnHeader: NewBsnHeader(9),
+ }
+ return obj
+}
+
+type BsnGetMirroringReply struct {
+ *BsnHeader
+ ReportMirrorPorts uint8
+}
+
+type IBsnGetMirroringReply interface {
+ IBsnHeader
+ GetReportMirrorPorts() uint8
+}
+
+func (self *BsnGetMirroringReply) GetReportMirrorPorts() uint8 {
+ return self.ReportMirrorPorts
+}
+
+func (self *BsnGetMirroringReply) SetReportMirrorPorts(v uint8) {
+ self.ReportMirrorPorts = v
+}
+
+func (self *BsnGetMirroringReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.ReportMirrorPorts))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGetMirroringReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetMirroringReply, error) {
+ _bsngetmirroringreply := &BsnGetMirroringReply{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnGetMirroringReply packet too short: %d < 4", decoder.Length())
+ }
+ _bsngetmirroringreply.ReportMirrorPorts = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ return _bsngetmirroringreply, nil
+}
+
+func NewBsnGetMirroringReply() *BsnGetMirroringReply {
+ obj := &BsnGetMirroringReply{
+ BsnHeader: NewBsnHeader(5),
+ }
+ return obj
+}
+
+type BsnGetMirroringRequest struct {
+ *BsnHeader
+ ReportMirrorPorts uint8
+}
+
+type IBsnGetMirroringRequest interface {
+ IBsnHeader
+ GetReportMirrorPorts() uint8
+}
+
+func (self *BsnGetMirroringRequest) GetReportMirrorPorts() uint8 {
+ return self.ReportMirrorPorts
+}
+
+func (self *BsnGetMirroringRequest) SetReportMirrorPorts(v uint8) {
+ self.ReportMirrorPorts = v
+}
+
+func (self *BsnGetMirroringRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.ReportMirrorPorts))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGetMirroringRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetMirroringRequest, error) {
+ _bsngetmirroringrequest := &BsnGetMirroringRequest{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnGetMirroringRequest packet too short: %d < 4", decoder.Length())
+ }
+ _bsngetmirroringrequest.ReportMirrorPorts = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ return _bsngetmirroringrequest, nil
+}
+
+func NewBsnGetMirroringRequest() *BsnGetMirroringRequest {
+ obj := &BsnGetMirroringRequest{
+ BsnHeader: NewBsnHeader(4),
+ }
+ return obj
+}
+
+type BsnGetSwitchPipelineReply struct {
+ *BsnHeader
+ Pipeline string
+}
+
+type IBsnGetSwitchPipelineReply interface {
+ IBsnHeader
+ GetPipeline() string
+}
+
+func (self *BsnGetSwitchPipelineReply) GetPipeline() string {
+ return self.Pipeline
+}
+
+func (self *BsnGetSwitchPipelineReply) SetPipeline(v string) {
+ self.Pipeline = v
+}
+
+func (self *BsnGetSwitchPipelineReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write([]byte(self.Pipeline))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGetSwitchPipelineReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetSwitchPipelineReply, error) {
+ _bsngetswitchpipelinereply := &BsnGetSwitchPipelineReply{BsnHeader: parent}
+ if decoder.Length() < 256 {
+ return nil, fmt.Errorf("BsnGetSwitchPipelineReply packet too short: %d < 256", decoder.Length())
+ }
+ _bsngetswitchpipelinereply.Pipeline = string(bytes.Trim(decoder.Read(256), "\x00"))
+ return _bsngetswitchpipelinereply, nil
+}
+
+func NewBsnGetSwitchPipelineReply() *BsnGetSwitchPipelineReply {
+ obj := &BsnGetSwitchPipelineReply{
+ BsnHeader: NewBsnHeader(52),
+ }
+ return obj
+}
+
+type BsnGetSwitchPipelineRequest struct {
+ *BsnHeader
+}
+
+type IBsnGetSwitchPipelineRequest interface {
+ IBsnHeader
+}
+
+func (self *BsnGetSwitchPipelineRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnGetSwitchPipelineRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetSwitchPipelineRequest, error) {
+ _bsngetswitchpipelinerequest := &BsnGetSwitchPipelineRequest{BsnHeader: parent}
+ return _bsngetswitchpipelinerequest, nil
+}
+
+func NewBsnGetSwitchPipelineRequest() *BsnGetSwitchPipelineRequest {
+ obj := &BsnGetSwitchPipelineRequest{
+ BsnHeader: NewBsnHeader(51),
+ }
+ return obj
+}
+
+type BsnImageDescStatsReply struct {
+ *BsnStatsReply
+ ImageChecksum string
+ StartupConfigChecksum string
+}
+
+type IBsnImageDescStatsReply interface {
+ IBsnStatsReply
+ GetImageChecksum() string
+ GetStartupConfigChecksum() string
+}
+
+func (self *BsnImageDescStatsReply) GetImageChecksum() string {
+ return self.ImageChecksum
+}
+
+func (self *BsnImageDescStatsReply) SetImageChecksum(v string) {
+ self.ImageChecksum = v
+}
+
+func (self *BsnImageDescStatsReply) GetStartupConfigChecksum() string {
+ return self.StartupConfigChecksum
+}
+
+func (self *BsnImageDescStatsReply) SetStartupConfigChecksum(v string) {
+ self.StartupConfigChecksum = v
+}
+
+func (self *BsnImageDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write([]byte(self.ImageChecksum))
+ encoder.Write([]byte(self.StartupConfigChecksum))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnImageDescStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnImageDescStatsReply, error) {
+ _bsnimagedescstatsreply := &BsnImageDescStatsReply{BsnStatsReply: parent}
+ if decoder.Length() < 512 {
+ return nil, fmt.Errorf("BsnImageDescStatsReply packet too short: %d < 512", decoder.Length())
+ }
+ _bsnimagedescstatsreply.ImageChecksum = string(bytes.Trim(decoder.Read(256), "\x00"))
+ _bsnimagedescstatsreply.StartupConfigChecksum = string(bytes.Trim(decoder.Read(256), "\x00"))
+ return _bsnimagedescstatsreply, nil
+}
+
+func NewBsnImageDescStatsReply() *BsnImageDescStatsReply {
+ obj := &BsnImageDescStatsReply{
+ BsnStatsReply: NewBsnStatsReply(14),
+ }
+ return obj
+}
+
+type BsnImageDescStatsRequest struct {
+ *BsnStatsRequest
+}
+
+type IBsnImageDescStatsRequest interface {
+ IBsnStatsRequest
+}
+
+func (self *BsnImageDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnImageDescStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnImageDescStatsRequest, error) {
+ _bsnimagedescstatsrequest := &BsnImageDescStatsRequest{BsnStatsRequest: parent}
+ return _bsnimagedescstatsrequest, nil
+}
+
+func NewBsnImageDescStatsRequest() *BsnImageDescStatsRequest {
+ obj := &BsnImageDescStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(14),
+ }
+ return obj
+}
+
+type BsnLacpConvergenceNotif struct {
+ *BsnHeader
+ ConvergenceStatus uint8
+ PortNo Port
+ ActorSysPriority uint16
+ ActorSysMac net.HardwareAddr
+ ActorPortPriority uint16
+ ActorPortNum uint16
+ ActorKey uint16
+ PartnerSysPriority uint16
+ PartnerSysMac net.HardwareAddr
+ PartnerPortPriority uint16
+ PartnerPortNum uint16
+ PartnerKey uint16
+}
+
+type IBsnLacpConvergenceNotif interface {
+ IBsnHeader
+ GetConvergenceStatus() uint8
+ GetPortNo() Port
+ GetActorSysPriority() uint16
+ GetActorSysMac() net.HardwareAddr
+ GetActorPortPriority() uint16
+ GetActorPortNum() uint16
+ GetActorKey() uint16
+ GetPartnerSysPriority() uint16
+ GetPartnerSysMac() net.HardwareAddr
+ GetPartnerPortPriority() uint16
+ GetPartnerPortNum() uint16
+ GetPartnerKey() uint16
+}
+
+func (self *BsnLacpConvergenceNotif) GetConvergenceStatus() uint8 {
+ return self.ConvergenceStatus
+}
+
+func (self *BsnLacpConvergenceNotif) SetConvergenceStatus(v uint8) {
+ self.ConvergenceStatus = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnLacpConvergenceNotif) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetActorSysPriority() uint16 {
+ return self.ActorSysPriority
+}
+
+func (self *BsnLacpConvergenceNotif) SetActorSysPriority(v uint16) {
+ self.ActorSysPriority = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetActorSysMac() net.HardwareAddr {
+ return self.ActorSysMac
+}
+
+func (self *BsnLacpConvergenceNotif) SetActorSysMac(v net.HardwareAddr) {
+ self.ActorSysMac = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetActorPortPriority() uint16 {
+ return self.ActorPortPriority
+}
+
+func (self *BsnLacpConvergenceNotif) SetActorPortPriority(v uint16) {
+ self.ActorPortPriority = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetActorPortNum() uint16 {
+ return self.ActorPortNum
+}
+
+func (self *BsnLacpConvergenceNotif) SetActorPortNum(v uint16) {
+ self.ActorPortNum = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetActorKey() uint16 {
+ return self.ActorKey
+}
+
+func (self *BsnLacpConvergenceNotif) SetActorKey(v uint16) {
+ self.ActorKey = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetPartnerSysPriority() uint16 {
+ return self.PartnerSysPriority
+}
+
+func (self *BsnLacpConvergenceNotif) SetPartnerSysPriority(v uint16) {
+ self.PartnerSysPriority = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetPartnerSysMac() net.HardwareAddr {
+ return self.PartnerSysMac
+}
+
+func (self *BsnLacpConvergenceNotif) SetPartnerSysMac(v net.HardwareAddr) {
+ self.PartnerSysMac = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetPartnerPortPriority() uint16 {
+ return self.PartnerPortPriority
+}
+
+func (self *BsnLacpConvergenceNotif) SetPartnerPortPriority(v uint16) {
+ self.PartnerPortPriority = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetPartnerPortNum() uint16 {
+ return self.PartnerPortNum
+}
+
+func (self *BsnLacpConvergenceNotif) SetPartnerPortNum(v uint16) {
+ self.PartnerPortNum = v
+}
+
+func (self *BsnLacpConvergenceNotif) GetPartnerKey() uint16 {
+ return self.PartnerKey
+}
+
+func (self *BsnLacpConvergenceNotif) SetPartnerKey(v uint16) {
+ self.PartnerKey = v
+}
+
+func (self *BsnLacpConvergenceNotif) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.ConvergenceStatus))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint16(uint16(self.ActorSysPriority))
+ encoder.Write(self.ActorSysMac)
+ encoder.PutUint16(uint16(self.ActorPortPriority))
+ encoder.PutUint16(uint16(self.ActorPortNum))
+ encoder.PutUint16(uint16(self.ActorKey))
+ encoder.PutUint16(uint16(self.PartnerSysPriority))
+ encoder.Write(self.PartnerSysMac)
+ encoder.PutUint16(uint16(self.PartnerPortPriority))
+ encoder.PutUint16(uint16(self.PartnerPortNum))
+ encoder.PutUint16(uint16(self.PartnerKey))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnLacpConvergenceNotif(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLacpConvergenceNotif, error) {
+ _bsnlacpconvergencenotif := &BsnLacpConvergenceNotif{BsnHeader: parent}
+ if decoder.Length() < 36 {
+ return nil, fmt.Errorf("BsnLacpConvergenceNotif packet too short: %d < 36", decoder.Length())
+ }
+ _bsnlacpconvergencenotif.ConvergenceStatus = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ _bsnlacpconvergencenotif.PortNo.Decode(decoder)
+ _bsnlacpconvergencenotif.ActorSysPriority = uint16(decoder.ReadUint16())
+ _bsnlacpconvergencenotif.ActorSysMac = net.HardwareAddr(decoder.Read(6))
+ _bsnlacpconvergencenotif.ActorPortPriority = uint16(decoder.ReadUint16())
+ _bsnlacpconvergencenotif.ActorPortNum = uint16(decoder.ReadUint16())
+ _bsnlacpconvergencenotif.ActorKey = uint16(decoder.ReadUint16())
+ _bsnlacpconvergencenotif.PartnerSysPriority = uint16(decoder.ReadUint16())
+ _bsnlacpconvergencenotif.PartnerSysMac = net.HardwareAddr(decoder.Read(6))
+ _bsnlacpconvergencenotif.PartnerPortPriority = uint16(decoder.ReadUint16())
+ _bsnlacpconvergencenotif.PartnerPortNum = uint16(decoder.ReadUint16())
+ _bsnlacpconvergencenotif.PartnerKey = uint16(decoder.ReadUint16())
+ return _bsnlacpconvergencenotif, nil
+}
+
+func NewBsnLacpConvergenceNotif() *BsnLacpConvergenceNotif {
+ obj := &BsnLacpConvergenceNotif{
+ BsnHeader: NewBsnHeader(43),
+ }
+ return obj
+}
+
+type BsnLacpStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnLacpStatsEntry
+}
+
+type IBsnLacpStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnLacpStatsEntry
+}
+
+func (self *BsnLacpStatsReply) GetEntries() []*BsnLacpStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnLacpStatsReply) SetEntries(v []*BsnLacpStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnLacpStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnLacpStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnLacpStatsReply, error) {
+ _bsnlacpstatsreply := &BsnLacpStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 36 {
+ item, err := DecodeBsnLacpStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsnlacpstatsreply.Entries = append(_bsnlacpstatsreply.Entries, item)
+ }
+ }
+ return _bsnlacpstatsreply, nil
+}
+
+func NewBsnLacpStatsReply() *BsnLacpStatsReply {
+ obj := &BsnLacpStatsReply{
+ BsnStatsReply: NewBsnStatsReply(1),
+ }
+ return obj
+}
+
+type BsnLacpStatsRequest struct {
+ *BsnStatsRequest
+}
+
+type IBsnLacpStatsRequest interface {
+ IBsnStatsRequest
+}
+
+func (self *BsnLacpStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnLacpStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnLacpStatsRequest, error) {
+ _bsnlacpstatsrequest := &BsnLacpStatsRequest{BsnStatsRequest: parent}
+ return _bsnlacpstatsrequest, nil
+}
+
+func NewBsnLacpStatsRequest() *BsnLacpStatsRequest {
+ obj := &BsnLacpStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(1),
+ }
+ return obj
+}
+
+type BsnLog struct {
+ *BsnHeader
+ Loglevel BsnLoglevel
+ Data []byte
+}
+
+type IBsnLog interface {
+ IBsnHeader
+ GetLoglevel() BsnLoglevel
+ GetData() []byte
+}
+
+func (self *BsnLog) GetLoglevel() BsnLoglevel {
+ return self.Loglevel
+}
+
+func (self *BsnLog) SetLoglevel(v BsnLoglevel) {
+ self.Loglevel = v
+}
+
+func (self *BsnLog) GetData() []byte {
+ return self.Data
+}
+
+func (self *BsnLog) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BsnLog) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Loglevel))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnLog(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLog, error) {
+ _bsnlog := &BsnLog{BsnHeader: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("BsnLog packet too short: %d < 1", decoder.Length())
+ }
+ _bsnlog.Loglevel = BsnLoglevel(decoder.ReadByte())
+ _bsnlog.Data = decoder.Read(int(decoder.Length()))
+ return _bsnlog, nil
+}
+
+func NewBsnLog() *BsnLog {
+ obj := &BsnLog{
+ BsnHeader: NewBsnHeader(63),
+ }
+ return obj
+}
+
+type BsnLuaCommandReply struct {
+ *BsnHeader
+ Data []byte
+}
+
+type IBsnLuaCommandReply interface {
+ IBsnHeader
+ GetData() []byte
+}
+
+func (self *BsnLuaCommandReply) GetData() []byte {
+ return self.Data
+}
+
+func (self *BsnLuaCommandReply) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BsnLuaCommandReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnLuaCommandReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLuaCommandReply, error) {
+ _bsnluacommandreply := &BsnLuaCommandReply{BsnHeader: parent}
+ _bsnluacommandreply.Data = decoder.Read(int(decoder.Length()))
+ return _bsnluacommandreply, nil
+}
+
+func NewBsnLuaCommandReply() *BsnLuaCommandReply {
+ obj := &BsnLuaCommandReply{
+ BsnHeader: NewBsnHeader(66),
+ }
+ return obj
+}
+
+type BsnLuaCommandRequest struct {
+ *BsnHeader
+ Data []byte
+}
+
+type IBsnLuaCommandRequest interface {
+ IBsnHeader
+ GetData() []byte
+}
+
+func (self *BsnLuaCommandRequest) GetData() []byte {
+ return self.Data
+}
+
+func (self *BsnLuaCommandRequest) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BsnLuaCommandRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnLuaCommandRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLuaCommandRequest, error) {
+ _bsnluacommandrequest := &BsnLuaCommandRequest{BsnHeader: parent}
+ _bsnluacommandrequest.Data = decoder.Read(int(decoder.Length()))
+ return _bsnluacommandrequest, nil
+}
+
+func NewBsnLuaCommandRequest() *BsnLuaCommandRequest {
+ obj := &BsnLuaCommandRequest{
+ BsnHeader: NewBsnHeader(65),
+ }
+ return obj
+}
+
+type BsnLuaNotification struct {
+ *BsnHeader
+ Data []byte
+}
+
+type IBsnLuaNotification interface {
+ IBsnHeader
+ GetData() []byte
+}
+
+func (self *BsnLuaNotification) GetData() []byte {
+ return self.Data
+}
+
+func (self *BsnLuaNotification) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BsnLuaNotification) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnLuaNotification(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLuaNotification, error) {
+ _bsnluanotification := &BsnLuaNotification{BsnHeader: parent}
+ _bsnluanotification.Data = decoder.Read(int(decoder.Length()))
+ return _bsnluanotification, nil
+}
+
+func NewBsnLuaNotification() *BsnLuaNotification {
+ obj := &BsnLuaNotification{
+ BsnHeader: NewBsnHeader(67),
+ }
+ return obj
+}
+
+type BsnLuaUpload struct {
+ *BsnHeader
+ Flags BsnLuaUploadFlags
+ Filename string
+ Data []byte
+}
+
+type IBsnLuaUpload interface {
+ IBsnHeader
+ GetFlags() BsnLuaUploadFlags
+ GetFilename() string
+ GetData() []byte
+}
+
+func (self *BsnLuaUpload) GetFlags() BsnLuaUploadFlags {
+ return self.Flags
+}
+
+func (self *BsnLuaUpload) SetFlags(v BsnLuaUploadFlags) {
+ self.Flags = v
+}
+
+func (self *BsnLuaUpload) GetFilename() string {
+ return self.Filename
+}
+
+func (self *BsnLuaUpload) SetFilename(v string) {
+ self.Filename = v
+}
+
+func (self *BsnLuaUpload) GetData() []byte {
+ return self.Data
+}
+
+func (self *BsnLuaUpload) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BsnLuaUpload) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Flags))
+ encoder.Write([]byte(self.Filename))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnLuaUpload(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLuaUpload, error) {
+ _bsnluaupload := &BsnLuaUpload{BsnHeader: parent}
+ if decoder.Length() < 66 {
+ return nil, fmt.Errorf("BsnLuaUpload packet too short: %d < 66", decoder.Length())
+ }
+ _bsnluaupload.Flags = BsnLuaUploadFlags(decoder.ReadUint16())
+ _bsnluaupload.Filename = string(bytes.Trim(decoder.Read(64), "\x00"))
+ _bsnluaupload.Data = decoder.Read(int(decoder.Length()))
+ return _bsnluaupload, nil
+}
+
+func NewBsnLuaUpload() *BsnLuaUpload {
+ obj := &BsnLuaUpload{
+ BsnHeader: NewBsnHeader(64),
+ }
+ return obj
+}
+
+type BsnPduRxReply struct {
+ *BsnHeader
+ Status uint32
+ PortNo Port
+ SlotNum uint8
+}
+
+type IBsnPduRxReply interface {
+ IBsnHeader
+ GetStatus() uint32
+ GetPortNo() Port
+ GetSlotNum() uint8
+}
+
+func (self *BsnPduRxReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnPduRxReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnPduRxReply) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnPduRxReply) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnPduRxReply) GetSlotNum() uint8 {
+ return self.SlotNum
+}
+
+func (self *BsnPduRxReply) SetSlotNum(v uint8) {
+ self.SlotNum = v
+}
+
+func (self *BsnPduRxReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Status))
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint8(uint8(self.SlotNum))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnPduRxReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduRxReply, error) {
+ _bsnpdurxreply := &BsnPduRxReply{BsnHeader: parent}
+ if decoder.Length() < 9 {
+ return nil, fmt.Errorf("BsnPduRxReply packet too short: %d < 9", decoder.Length())
+ }
+ _bsnpdurxreply.Status = uint32(decoder.ReadUint32())
+ _bsnpdurxreply.PortNo.Decode(decoder)
+ _bsnpdurxreply.SlotNum = uint8(decoder.ReadByte())
+ return _bsnpdurxreply, nil
+}
+
+func NewBsnPduRxReply() *BsnPduRxReply {
+ obj := &BsnPduRxReply{
+ BsnHeader: NewBsnHeader(34),
+ }
+ return obj
+}
+
+type BsnPduRxRequest struct {
+ *BsnHeader
+ TimeoutMs uint32
+ PortNo Port
+ SlotNum uint8
+ Data []byte
+}
+
+type IBsnPduRxRequest interface {
+ IBsnHeader
+ GetTimeoutMs() uint32
+ GetPortNo() Port
+ GetSlotNum() uint8
+ GetData() []byte
+}
+
+func (self *BsnPduRxRequest) GetTimeoutMs() uint32 {
+ return self.TimeoutMs
+}
+
+func (self *BsnPduRxRequest) SetTimeoutMs(v uint32) {
+ self.TimeoutMs = v
+}
+
+func (self *BsnPduRxRequest) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnPduRxRequest) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnPduRxRequest) GetSlotNum() uint8 {
+ return self.SlotNum
+}
+
+func (self *BsnPduRxRequest) SetSlotNum(v uint8) {
+ self.SlotNum = v
+}
+
+func (self *BsnPduRxRequest) GetData() []byte {
+ return self.Data
+}
+
+func (self *BsnPduRxRequest) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BsnPduRxRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.TimeoutMs))
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint8(uint8(self.SlotNum))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnPduRxRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduRxRequest, error) {
+ _bsnpdurxrequest := &BsnPduRxRequest{BsnHeader: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("BsnPduRxRequest packet too short: %d < 12", decoder.Length())
+ }
+ _bsnpdurxrequest.TimeoutMs = uint32(decoder.ReadUint32())
+ _bsnpdurxrequest.PortNo.Decode(decoder)
+ _bsnpdurxrequest.SlotNum = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ _bsnpdurxrequest.Data = decoder.Read(int(decoder.Length()))
+ return _bsnpdurxrequest, nil
+}
+
+func NewBsnPduRxRequest() *BsnPduRxRequest {
+ obj := &BsnPduRxRequest{
+ BsnHeader: NewBsnHeader(33),
+ }
+ return obj
+}
+
+type BsnPduRxTimeout struct {
+ *BsnHeader
+ PortNo Port
+ SlotNum uint8
+}
+
+type IBsnPduRxTimeout interface {
+ IBsnHeader
+ GetPortNo() Port
+ GetSlotNum() uint8
+}
+
+func (self *BsnPduRxTimeout) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnPduRxTimeout) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnPduRxTimeout) GetSlotNum() uint8 {
+ return self.SlotNum
+}
+
+func (self *BsnPduRxTimeout) SetSlotNum(v uint8) {
+ self.SlotNum = v
+}
+
+func (self *BsnPduRxTimeout) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint8(uint8(self.SlotNum))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnPduRxTimeout(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduRxTimeout, error) {
+ _bsnpdurxtimeout := &BsnPduRxTimeout{BsnHeader: parent}
+ if decoder.Length() < 5 {
+ return nil, fmt.Errorf("BsnPduRxTimeout packet too short: %d < 5", decoder.Length())
+ }
+ _bsnpdurxtimeout.PortNo.Decode(decoder)
+ _bsnpdurxtimeout.SlotNum = uint8(decoder.ReadByte())
+ return _bsnpdurxtimeout, nil
+}
+
+func NewBsnPduRxTimeout() *BsnPduRxTimeout {
+ obj := &BsnPduRxTimeout{
+ BsnHeader: NewBsnHeader(35),
+ }
+ return obj
+}
+
+type BsnPduTxReply struct {
+ *BsnHeader
+ Status uint32
+ PortNo Port
+ SlotNum uint8
+}
+
+type IBsnPduTxReply interface {
+ IBsnHeader
+ GetStatus() uint32
+ GetPortNo() Port
+ GetSlotNum() uint8
+}
+
+func (self *BsnPduTxReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnPduTxReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnPduTxReply) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnPduTxReply) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnPduTxReply) GetSlotNum() uint8 {
+ return self.SlotNum
+}
+
+func (self *BsnPduTxReply) SetSlotNum(v uint8) {
+ self.SlotNum = v
+}
+
+func (self *BsnPduTxReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Status))
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint8(uint8(self.SlotNum))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnPduTxReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduTxReply, error) {
+ _bsnpdutxreply := &BsnPduTxReply{BsnHeader: parent}
+ if decoder.Length() < 9 {
+ return nil, fmt.Errorf("BsnPduTxReply packet too short: %d < 9", decoder.Length())
+ }
+ _bsnpdutxreply.Status = uint32(decoder.ReadUint32())
+ _bsnpdutxreply.PortNo.Decode(decoder)
+ _bsnpdutxreply.SlotNum = uint8(decoder.ReadByte())
+ return _bsnpdutxreply, nil
+}
+
+func NewBsnPduTxReply() *BsnPduTxReply {
+ obj := &BsnPduTxReply{
+ BsnHeader: NewBsnHeader(32),
+ }
+ return obj
+}
+
+type BsnPduTxRequest struct {
+ *BsnHeader
+ TxIntervalMs uint32
+ PortNo Port
+ SlotNum uint8
+ Data []byte
+}
+
+type IBsnPduTxRequest interface {
+ IBsnHeader
+ GetTxIntervalMs() uint32
+ GetPortNo() Port
+ GetSlotNum() uint8
+ GetData() []byte
+}
+
+func (self *BsnPduTxRequest) GetTxIntervalMs() uint32 {
+ return self.TxIntervalMs
+}
+
+func (self *BsnPduTxRequest) SetTxIntervalMs(v uint32) {
+ self.TxIntervalMs = v
+}
+
+func (self *BsnPduTxRequest) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnPduTxRequest) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnPduTxRequest) GetSlotNum() uint8 {
+ return self.SlotNum
+}
+
+func (self *BsnPduTxRequest) SetSlotNum(v uint8) {
+ self.SlotNum = v
+}
+
+func (self *BsnPduTxRequest) GetData() []byte {
+ return self.Data
+}
+
+func (self *BsnPduTxRequest) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *BsnPduTxRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.TxIntervalMs))
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint8(uint8(self.SlotNum))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnPduTxRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduTxRequest, error) {
+ _bsnpdutxrequest := &BsnPduTxRequest{BsnHeader: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("BsnPduTxRequest packet too short: %d < 12", decoder.Length())
+ }
+ _bsnpdutxrequest.TxIntervalMs = uint32(decoder.ReadUint32())
+ _bsnpdutxrequest.PortNo.Decode(decoder)
+ _bsnpdutxrequest.SlotNum = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ _bsnpdutxrequest.Data = decoder.Read(int(decoder.Length()))
+ return _bsnpdutxrequest, nil
+}
+
+func NewBsnPduTxRequest() *BsnPduTxRequest {
+ obj := &BsnPduTxRequest{
+ BsnHeader: NewBsnHeader(31),
+ }
+ return obj
+}
+
+type BsnPortCounterStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnPortCounterStatsEntry
+}
+
+type IBsnPortCounterStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnPortCounterStatsEntry
+}
+
+func (self *BsnPortCounterStatsReply) GetEntries() []*BsnPortCounterStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnPortCounterStatsReply) SetEntries(v []*BsnPortCounterStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnPortCounterStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnPortCounterStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnPortCounterStatsReply, error) {
+ _bsnportcounterstatsreply := &BsnPortCounterStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeBsnPortCounterStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsnportcounterstatsreply.Entries = append(_bsnportcounterstatsreply.Entries, item)
+ }
+ }
+ return _bsnportcounterstatsreply, nil
+}
+
+func NewBsnPortCounterStatsReply() *BsnPortCounterStatsReply {
+ obj := &BsnPortCounterStatsReply{
+ BsnStatsReply: NewBsnStatsReply(8),
+ }
+ return obj
+}
+
+type BsnPortCounterStatsRequest struct {
+ *BsnStatsRequest
+ PortNo Port
+}
+
+type IBsnPortCounterStatsRequest interface {
+ IBsnStatsRequest
+ GetPortNo() Port
+}
+
+func (self *BsnPortCounterStatsRequest) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnPortCounterStatsRequest) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnPortCounterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.PortNo.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnPortCounterStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnPortCounterStatsRequest, error) {
+ _bsnportcounterstatsrequest := &BsnPortCounterStatsRequest{BsnStatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnPortCounterStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ _bsnportcounterstatsrequest.PortNo.Decode(decoder)
+ return _bsnportcounterstatsrequest, nil
+}
+
+func NewBsnPortCounterStatsRequest() *BsnPortCounterStatsRequest {
+ obj := &BsnPortCounterStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(8),
+ }
+ return obj
+}
+
+type BsnRoleStatus struct {
+ *BsnHeader
+ Role ControllerRole
+ Reason BsnControllerRoleReason
+ GenerationId uint64
+}
+
+type IBsnRoleStatus interface {
+ IBsnHeader
+ GetRole() ControllerRole
+ GetReason() BsnControllerRoleReason
+ GetGenerationId() uint64
+}
+
+func (self *BsnRoleStatus) GetRole() ControllerRole {
+ return self.Role
+}
+
+func (self *BsnRoleStatus) SetRole(v ControllerRole) {
+ self.Role = v
+}
+
+func (self *BsnRoleStatus) GetReason() BsnControllerRoleReason {
+ return self.Reason
+}
+
+func (self *BsnRoleStatus) SetReason(v BsnControllerRoleReason) {
+ self.Reason = v
+}
+
+func (self *BsnRoleStatus) GetGenerationId() uint64 {
+ return self.GenerationId
+}
+
+func (self *BsnRoleStatus) SetGenerationId(v uint64) {
+ self.GenerationId = v
+}
+
+func (self *BsnRoleStatus) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Role))
+ encoder.PutUint8(uint8(self.Reason))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+ encoder.PutUint64(uint64(self.GenerationId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnRoleStatus(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnRoleStatus, error) {
+ _bsnrolestatus := &BsnRoleStatus{BsnHeader: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("BsnRoleStatus packet too short: %d < 16", decoder.Length())
+ }
+ _bsnrolestatus.Role = ControllerRole(decoder.ReadUint32())
+ _bsnrolestatus.Reason = BsnControllerRoleReason(decoder.ReadByte())
+ decoder.Skip(3)
+ _bsnrolestatus.GenerationId = uint64(decoder.ReadUint64())
+ return _bsnrolestatus, nil
+}
+
+func NewBsnRoleStatus() *BsnRoleStatus {
+ obj := &BsnRoleStatus{
+ BsnHeader: NewBsnHeader(55),
+ }
+ return obj
+}
+
+type BsnSetAuxCxnsReply struct {
+ *BsnHeader
+ NumAux uint32
+ Status uint32
+}
+
+type IBsnSetAuxCxnsReply interface {
+ IBsnHeader
+ GetNumAux() uint32
+ GetStatus() uint32
+}
+
+func (self *BsnSetAuxCxnsReply) GetNumAux() uint32 {
+ return self.NumAux
+}
+
+func (self *BsnSetAuxCxnsReply) SetNumAux(v uint32) {
+ self.NumAux = v
+}
+
+func (self *BsnSetAuxCxnsReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnSetAuxCxnsReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnSetAuxCxnsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.NumAux))
+ encoder.PutUint32(uint32(self.Status))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSetAuxCxnsReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetAuxCxnsReply, error) {
+ _bsnsetauxcxnsreply := &BsnSetAuxCxnsReply{BsnHeader: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnSetAuxCxnsReply packet too short: %d < 8", decoder.Length())
+ }
+ _bsnsetauxcxnsreply.NumAux = uint32(decoder.ReadUint32())
+ _bsnsetauxcxnsreply.Status = uint32(decoder.ReadUint32())
+ return _bsnsetauxcxnsreply, nil
+}
+
+func NewBsnSetAuxCxnsReply() *BsnSetAuxCxnsReply {
+ obj := &BsnSetAuxCxnsReply{
+ BsnHeader: NewBsnHeader(59),
+ }
+ return obj
+}
+
+type BsnSetAuxCxnsRequest struct {
+ *BsnHeader
+ NumAux uint32
+}
+
+type IBsnSetAuxCxnsRequest interface {
+ IBsnHeader
+ GetNumAux() uint32
+}
+
+func (self *BsnSetAuxCxnsRequest) GetNumAux() uint32 {
+ return self.NumAux
+}
+
+func (self *BsnSetAuxCxnsRequest) SetNumAux(v uint32) {
+ self.NumAux = v
+}
+
+func (self *BsnSetAuxCxnsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.NumAux))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSetAuxCxnsRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetAuxCxnsRequest, error) {
+ _bsnsetauxcxnsrequest := &BsnSetAuxCxnsRequest{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnSetAuxCxnsRequest packet too short: %d < 4", decoder.Length())
+ }
+ _bsnsetauxcxnsrequest.NumAux = uint32(decoder.ReadUint32())
+ return _bsnsetauxcxnsrequest, nil
+}
+
+func NewBsnSetAuxCxnsRequest() *BsnSetAuxCxnsRequest {
+ obj := &BsnSetAuxCxnsRequest{
+ BsnHeader: NewBsnHeader(58),
+ }
+ return obj
+}
+
+type BsnSetLacpReply struct {
+ *BsnHeader
+ Status uint32
+ PortNo Port
+}
+
+type IBsnSetLacpReply interface {
+ IBsnHeader
+ GetStatus() uint32
+ GetPortNo() Port
+}
+
+func (self *BsnSetLacpReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnSetLacpReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnSetLacpReply) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnSetLacpReply) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnSetLacpReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Status))
+ self.PortNo.Serialize(encoder)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSetLacpReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetLacpReply, error) {
+ _bsnsetlacpreply := &BsnSetLacpReply{BsnHeader: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnSetLacpReply packet too short: %d < 8", decoder.Length())
+ }
+ _bsnsetlacpreply.Status = uint32(decoder.ReadUint32())
+ _bsnsetlacpreply.PortNo.Decode(decoder)
+ return _bsnsetlacpreply, nil
+}
+
+func NewBsnSetLacpReply() *BsnSetLacpReply {
+ obj := &BsnSetLacpReply{
+ BsnHeader: NewBsnHeader(42),
+ }
+ return obj
+}
+
+type BsnSetLacpRequest struct {
+ *BsnHeader
+ Enabled uint8
+ PortNo Port
+ ActorSysPriority uint16
+ ActorSysMac net.HardwareAddr
+ ActorPortPriority uint16
+ ActorPortNum uint16
+ ActorKey uint16
+}
+
+type IBsnSetLacpRequest interface {
+ IBsnHeader
+ GetEnabled() uint8
+ GetPortNo() Port
+ GetActorSysPriority() uint16
+ GetActorSysMac() net.HardwareAddr
+ GetActorPortPriority() uint16
+ GetActorPortNum() uint16
+ GetActorKey() uint16
+}
+
+func (self *BsnSetLacpRequest) GetEnabled() uint8 {
+ return self.Enabled
+}
+
+func (self *BsnSetLacpRequest) SetEnabled(v uint8) {
+ self.Enabled = v
+}
+
+func (self *BsnSetLacpRequest) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *BsnSetLacpRequest) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *BsnSetLacpRequest) GetActorSysPriority() uint16 {
+ return self.ActorSysPriority
+}
+
+func (self *BsnSetLacpRequest) SetActorSysPriority(v uint16) {
+ self.ActorSysPriority = v
+}
+
+func (self *BsnSetLacpRequest) GetActorSysMac() net.HardwareAddr {
+ return self.ActorSysMac
+}
+
+func (self *BsnSetLacpRequest) SetActorSysMac(v net.HardwareAddr) {
+ self.ActorSysMac = v
+}
+
+func (self *BsnSetLacpRequest) GetActorPortPriority() uint16 {
+ return self.ActorPortPriority
+}
+
+func (self *BsnSetLacpRequest) SetActorPortPriority(v uint16) {
+ self.ActorPortPriority = v
+}
+
+func (self *BsnSetLacpRequest) GetActorPortNum() uint16 {
+ return self.ActorPortNum
+}
+
+func (self *BsnSetLacpRequest) SetActorPortNum(v uint16) {
+ self.ActorPortNum = v
+}
+
+func (self *BsnSetLacpRequest) GetActorKey() uint16 {
+ return self.ActorKey
+}
+
+func (self *BsnSetLacpRequest) SetActorKey(v uint16) {
+ self.ActorKey = v
+}
+
+func (self *BsnSetLacpRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Enabled))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint16(uint16(self.ActorSysPriority))
+ encoder.Write(self.ActorSysMac)
+ encoder.PutUint16(uint16(self.ActorPortPriority))
+ encoder.PutUint16(uint16(self.ActorPortNum))
+ encoder.PutUint16(uint16(self.ActorKey))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSetLacpRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetLacpRequest, error) {
+ _bsnsetlacprequest := &BsnSetLacpRequest{BsnHeader: parent}
+ if decoder.Length() < 22 {
+ return nil, fmt.Errorf("BsnSetLacpRequest packet too short: %d < 22", decoder.Length())
+ }
+ _bsnsetlacprequest.Enabled = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ _bsnsetlacprequest.PortNo.Decode(decoder)
+ _bsnsetlacprequest.ActorSysPriority = uint16(decoder.ReadUint16())
+ _bsnsetlacprequest.ActorSysMac = net.HardwareAddr(decoder.Read(6))
+ _bsnsetlacprequest.ActorPortPriority = uint16(decoder.ReadUint16())
+ _bsnsetlacprequest.ActorPortNum = uint16(decoder.ReadUint16())
+ _bsnsetlacprequest.ActorKey = uint16(decoder.ReadUint16())
+ return _bsnsetlacprequest, nil
+}
+
+func NewBsnSetLacpRequest() *BsnSetLacpRequest {
+ obj := &BsnSetLacpRequest{
+ BsnHeader: NewBsnHeader(41),
+ }
+ return obj
+}
+
+type BsnSetMirroring struct {
+ *BsnHeader
+ ReportMirrorPorts uint8
+}
+
+type IBsnSetMirroring interface {
+ IBsnHeader
+ GetReportMirrorPorts() uint8
+}
+
+func (self *BsnSetMirroring) GetReportMirrorPorts() uint8 {
+ return self.ReportMirrorPorts
+}
+
+func (self *BsnSetMirroring) SetReportMirrorPorts(v uint8) {
+ self.ReportMirrorPorts = v
+}
+
+func (self *BsnSetMirroring) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.ReportMirrorPorts))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSetMirroring(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetMirroring, error) {
+ _bsnsetmirroring := &BsnSetMirroring{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnSetMirroring packet too short: %d < 4", decoder.Length())
+ }
+ _bsnsetmirroring.ReportMirrorPorts = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ return _bsnsetmirroring, nil
+}
+
+func NewBsnSetMirroring() *BsnSetMirroring {
+ obj := &BsnSetMirroring{
+ BsnHeader: NewBsnHeader(3),
+ }
+ return obj
+}
+
+type BsnSetPktinSuppressionReply struct {
+ *BsnHeader
+ Status uint32
+}
+
+type IBsnSetPktinSuppressionReply interface {
+ IBsnHeader
+ GetStatus() uint32
+}
+
+func (self *BsnSetPktinSuppressionReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnSetPktinSuppressionReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnSetPktinSuppressionReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Status))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSetPktinSuppressionReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetPktinSuppressionReply, error) {
+ _bsnsetpktinsuppressionreply := &BsnSetPktinSuppressionReply{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnSetPktinSuppressionReply packet too short: %d < 4", decoder.Length())
+ }
+ _bsnsetpktinsuppressionreply.Status = uint32(decoder.ReadUint32())
+ return _bsnsetpktinsuppressionreply, nil
+}
+
+func NewBsnSetPktinSuppressionReply() *BsnSetPktinSuppressionReply {
+ obj := &BsnSetPktinSuppressionReply{
+ BsnHeader: NewBsnHeader(25),
+ }
+ return obj
+}
+
+type BsnSetPktinSuppressionRequest struct {
+ *BsnHeader
+ Enabled uint8
+ IdleTimeout uint16
+ HardTimeout uint16
+ Priority uint16
+ Cookie uint64
+}
+
+type IBsnSetPktinSuppressionRequest interface {
+ IBsnHeader
+ GetEnabled() uint8
+ GetIdleTimeout() uint16
+ GetHardTimeout() uint16
+ GetPriority() uint16
+ GetCookie() uint64
+}
+
+func (self *BsnSetPktinSuppressionRequest) GetEnabled() uint8 {
+ return self.Enabled
+}
+
+func (self *BsnSetPktinSuppressionRequest) SetEnabled(v uint8) {
+ self.Enabled = v
+}
+
+func (self *BsnSetPktinSuppressionRequest) GetIdleTimeout() uint16 {
+ return self.IdleTimeout
+}
+
+func (self *BsnSetPktinSuppressionRequest) SetIdleTimeout(v uint16) {
+ self.IdleTimeout = v
+}
+
+func (self *BsnSetPktinSuppressionRequest) GetHardTimeout() uint16 {
+ return self.HardTimeout
+}
+
+func (self *BsnSetPktinSuppressionRequest) SetHardTimeout(v uint16) {
+ self.HardTimeout = v
+}
+
+func (self *BsnSetPktinSuppressionRequest) GetPriority() uint16 {
+ return self.Priority
+}
+
+func (self *BsnSetPktinSuppressionRequest) SetPriority(v uint16) {
+ self.Priority = v
+}
+
+func (self *BsnSetPktinSuppressionRequest) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *BsnSetPktinSuppressionRequest) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *BsnSetPktinSuppressionRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Enabled))
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint16(uint16(self.IdleTimeout))
+ encoder.PutUint16(uint16(self.HardTimeout))
+ encoder.PutUint16(uint16(self.Priority))
+ encoder.PutUint64(uint64(self.Cookie))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSetPktinSuppressionRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetPktinSuppressionRequest, error) {
+ _bsnsetpktinsuppressionrequest := &BsnSetPktinSuppressionRequest{BsnHeader: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("BsnSetPktinSuppressionRequest packet too short: %d < 16", decoder.Length())
+ }
+ _bsnsetpktinsuppressionrequest.Enabled = uint8(decoder.ReadByte())
+ decoder.Skip(1)
+ _bsnsetpktinsuppressionrequest.IdleTimeout = uint16(decoder.ReadUint16())
+ _bsnsetpktinsuppressionrequest.HardTimeout = uint16(decoder.ReadUint16())
+ _bsnsetpktinsuppressionrequest.Priority = uint16(decoder.ReadUint16())
+ _bsnsetpktinsuppressionrequest.Cookie = uint64(decoder.ReadUint64())
+ return _bsnsetpktinsuppressionrequest, nil
+}
+
+func NewBsnSetPktinSuppressionRequest() *BsnSetPktinSuppressionRequest {
+ obj := &BsnSetPktinSuppressionRequest{
+ BsnHeader: NewBsnHeader(11),
+ }
+ return obj
+}
+
+type BsnSetSwitchPipelineReply struct {
+ *BsnHeader
+ Status uint32
+}
+
+type IBsnSetSwitchPipelineReply interface {
+ IBsnHeader
+ GetStatus() uint32
+}
+
+func (self *BsnSetSwitchPipelineReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnSetSwitchPipelineReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnSetSwitchPipelineReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Status))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSetSwitchPipelineReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetSwitchPipelineReply, error) {
+ _bsnsetswitchpipelinereply := &BsnSetSwitchPipelineReply{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnSetSwitchPipelineReply packet too short: %d < 4", decoder.Length())
+ }
+ _bsnsetswitchpipelinereply.Status = uint32(decoder.ReadUint32())
+ return _bsnsetswitchpipelinereply, nil
+}
+
+func NewBsnSetSwitchPipelineReply() *BsnSetSwitchPipelineReply {
+ obj := &BsnSetSwitchPipelineReply{
+ BsnHeader: NewBsnHeader(54),
+ }
+ return obj
+}
+
+type BsnSetSwitchPipelineRequest struct {
+ *BsnHeader
+ Pipeline string
+}
+
+type IBsnSetSwitchPipelineRequest interface {
+ IBsnHeader
+ GetPipeline() string
+}
+
+func (self *BsnSetSwitchPipelineRequest) GetPipeline() string {
+ return self.Pipeline
+}
+
+func (self *BsnSetSwitchPipelineRequest) SetPipeline(v string) {
+ self.Pipeline = v
+}
+
+func (self *BsnSetSwitchPipelineRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write([]byte(self.Pipeline))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSetSwitchPipelineRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetSwitchPipelineRequest, error) {
+ _bsnsetswitchpipelinerequest := &BsnSetSwitchPipelineRequest{BsnHeader: parent}
+ if decoder.Length() < 256 {
+ return nil, fmt.Errorf("BsnSetSwitchPipelineRequest packet too short: %d < 256", decoder.Length())
+ }
+ _bsnsetswitchpipelinerequest.Pipeline = string(bytes.Trim(decoder.Read(256), "\x00"))
+ return _bsnsetswitchpipelinerequest, nil
+}
+
+func NewBsnSetSwitchPipelineRequest() *BsnSetSwitchPipelineRequest {
+ obj := &BsnSetSwitchPipelineRequest{
+ BsnHeader: NewBsnHeader(53),
+ }
+ return obj
+}
+
+type BsnSwitchPipelineStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnSwitchPipelineStatsEntry
+}
+
+type IBsnSwitchPipelineStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnSwitchPipelineStatsEntry
+}
+
+func (self *BsnSwitchPipelineStatsReply) GetEntries() []*BsnSwitchPipelineStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnSwitchPipelineStatsReply) SetEntries(v []*BsnSwitchPipelineStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnSwitchPipelineStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSwitchPipelineStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnSwitchPipelineStatsReply, error) {
+ _bsnswitchpipelinestatsreply := &BsnSwitchPipelineStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 256 {
+ item, err := DecodeBsnSwitchPipelineStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsnswitchpipelinestatsreply.Entries = append(_bsnswitchpipelinestatsreply.Entries, item)
+ }
+ }
+ return _bsnswitchpipelinestatsreply, nil
+}
+
+func NewBsnSwitchPipelineStatsReply() *BsnSwitchPipelineStatsReply {
+ obj := &BsnSwitchPipelineStatsReply{
+ BsnStatsReply: NewBsnStatsReply(6),
+ }
+ return obj
+}
+
+type BsnSwitchPipelineStatsRequest struct {
+ *BsnStatsRequest
+}
+
+type IBsnSwitchPipelineStatsRequest interface {
+ IBsnStatsRequest
+}
+
+func (self *BsnSwitchPipelineStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnSwitchPipelineStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnSwitchPipelineStatsRequest, error) {
+ _bsnswitchpipelinestatsrequest := &BsnSwitchPipelineStatsRequest{BsnStatsRequest: parent}
+ return _bsnswitchpipelinestatsrequest, nil
+}
+
+func NewBsnSwitchPipelineStatsRequest() *BsnSwitchPipelineStatsRequest {
+ obj := &BsnSwitchPipelineStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(6),
+ }
+ return obj
+}
+
+type BsnTableChecksumStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnTableChecksumStatsEntry
+}
+
+type IBsnTableChecksumStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnTableChecksumStatsEntry
+}
+
+func (self *BsnTableChecksumStatsReply) GetEntries() []*BsnTableChecksumStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnTableChecksumStatsReply) SetEntries(v []*BsnTableChecksumStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnTableChecksumStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTableChecksumStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnTableChecksumStatsReply, error) {
+ _bsntablechecksumstatsreply := &BsnTableChecksumStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 9 {
+ item, err := DecodeBsnTableChecksumStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsntablechecksumstatsreply.Entries = append(_bsntablechecksumstatsreply.Entries, item)
+ }
+ }
+ return _bsntablechecksumstatsreply, nil
+}
+
+func NewBsnTableChecksumStatsReply() *BsnTableChecksumStatsReply {
+ obj := &BsnTableChecksumStatsReply{
+ BsnStatsReply: NewBsnStatsReply(11),
+ }
+ return obj
+}
+
+type BsnTableChecksumStatsRequest struct {
+ *BsnStatsRequest
+}
+
+type IBsnTableChecksumStatsRequest interface {
+ IBsnStatsRequest
+}
+
+func (self *BsnTableChecksumStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTableChecksumStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnTableChecksumStatsRequest, error) {
+ _bsntablechecksumstatsrequest := &BsnTableChecksumStatsRequest{BsnStatsRequest: parent}
+ return _bsntablechecksumstatsrequest, nil
+}
+
+func NewBsnTableChecksumStatsRequest() *BsnTableChecksumStatsRequest {
+ obj := &BsnTableChecksumStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(11),
+ }
+ return obj
+}
+
+type BsnTableSetBucketsSize struct {
+ *BsnHeader
+ TableId uint8
+ BucketsSize uint32
+}
+
+type IBsnTableSetBucketsSize interface {
+ IBsnHeader
+ GetTableId() uint8
+ GetBucketsSize() uint32
+}
+
+func (self *BsnTableSetBucketsSize) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *BsnTableSetBucketsSize) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *BsnTableSetBucketsSize) GetBucketsSize() uint32 {
+ return self.BucketsSize
+}
+
+func (self *BsnTableSetBucketsSize) SetBucketsSize(v uint32) {
+ self.BucketsSize = v
+}
+
+func (self *BsnTableSetBucketsSize) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.BucketsSize))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTableSetBucketsSize(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnTableSetBucketsSize, error) {
+ _bsntablesetbucketssize := &BsnTableSetBucketsSize{BsnHeader: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTableSetBucketsSize packet too short: %d < 8", decoder.Length())
+ }
+ decoder.Skip(1)
+ _bsntablesetbucketssize.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(2)
+ _bsntablesetbucketssize.BucketsSize = uint32(decoder.ReadUint32())
+ return _bsntablesetbucketssize, nil
+}
+
+func NewBsnTableSetBucketsSize() *BsnTableSetBucketsSize {
+ obj := &BsnTableSetBucketsSize{
+ BsnHeader: NewBsnHeader(61),
+ }
+ return obj
+}
+
+type BsnTimeReply struct {
+ *BsnHeader
+ TimeMs uint64
+}
+
+type IBsnTimeReply interface {
+ IBsnHeader
+ GetTimeMs() uint64
+}
+
+func (self *BsnTimeReply) GetTimeMs() uint64 {
+ return self.TimeMs
+}
+
+func (self *BsnTimeReply) SetTimeMs(v uint64) {
+ self.TimeMs = v
+}
+
+func (self *BsnTimeReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.TimeMs))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTimeReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnTimeReply, error) {
+ _bsntimereply := &BsnTimeReply{BsnHeader: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnTimeReply packet too short: %d < 8", decoder.Length())
+ }
+ _bsntimereply.TimeMs = uint64(decoder.ReadUint64())
+ return _bsntimereply, nil
+}
+
+func NewBsnTimeReply() *BsnTimeReply {
+ obj := &BsnTimeReply{
+ BsnHeader: NewBsnHeader(45),
+ }
+ return obj
+}
+
+type BsnTimeRequest struct {
+ *BsnHeader
+}
+
+type IBsnTimeRequest interface {
+ IBsnHeader
+}
+
+func (self *BsnTimeRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnTimeRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnTimeRequest, error) {
+ _bsntimerequest := &BsnTimeRequest{BsnHeader: parent}
+ return _bsntimerequest, nil
+}
+
+func NewBsnTimeRequest() *BsnTimeRequest {
+ obj := &BsnTimeRequest{
+ BsnHeader: NewBsnHeader(44),
+ }
+ return obj
+}
+
+type BsnVirtualPortCreateReply struct {
+ *BsnHeader
+ Status uint32
+ VportNo uint32
+}
+
+type IBsnVirtualPortCreateReply interface {
+ IBsnHeader
+ GetStatus() uint32
+ GetVportNo() uint32
+}
+
+func (self *BsnVirtualPortCreateReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnVirtualPortCreateReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnVirtualPortCreateReply) GetVportNo() uint32 {
+ return self.VportNo
+}
+
+func (self *BsnVirtualPortCreateReply) SetVportNo(v uint32) {
+ self.VportNo = v
+}
+
+func (self *BsnVirtualPortCreateReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Status))
+ encoder.PutUint32(uint32(self.VportNo))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVirtualPortCreateReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVirtualPortCreateReply, error) {
+ _bsnvirtualportcreatereply := &BsnVirtualPortCreateReply{BsnHeader: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("BsnVirtualPortCreateReply packet too short: %d < 8", decoder.Length())
+ }
+ _bsnvirtualportcreatereply.Status = uint32(decoder.ReadUint32())
+ _bsnvirtualportcreatereply.VportNo = uint32(decoder.ReadUint32())
+ return _bsnvirtualportcreatereply, nil
+}
+
+func NewBsnVirtualPortCreateReply() *BsnVirtualPortCreateReply {
+ obj := &BsnVirtualPortCreateReply{
+ BsnHeader: NewBsnHeader(16),
+ }
+ return obj
+}
+
+type BsnVirtualPortCreateRequest struct {
+ *BsnHeader
+ Vport BSNVport
+}
+
+type IBsnVirtualPortCreateRequest interface {
+ IBsnHeader
+ GetVport() BSNVport
+}
+
+func (self *BsnVirtualPortCreateRequest) GetVport() BSNVport {
+ return self.Vport
+}
+
+func (self *BsnVirtualPortCreateRequest) SetVport(v BSNVport) {
+ self.Vport = v
+}
+
+func (self *BsnVirtualPortCreateRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ if err := self.Vport.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVirtualPortCreateRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVirtualPortCreateRequest, error) {
+ _bsnvirtualportcreaterequest := &BsnVirtualPortCreateRequest{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnVirtualPortCreateRequest packet too short: %d < 4", decoder.Length())
+ }
+ if err := _bsnvirtualportcreaterequest.Vport.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ return _bsnvirtualportcreaterequest, nil
+}
+
+func NewBsnVirtualPortCreateRequest() *BsnVirtualPortCreateRequest {
+ obj := &BsnVirtualPortCreateRequest{
+ BsnHeader: NewBsnHeader(15),
+ }
+ return obj
+}
+
+type BsnVirtualPortRemoveReply struct {
+ *BsnHeader
+ Status uint32
+}
+
+type IBsnVirtualPortRemoveReply interface {
+ IBsnHeader
+ GetStatus() uint32
+}
+
+func (self *BsnVirtualPortRemoveReply) GetStatus() uint32 {
+ return self.Status
+}
+
+func (self *BsnVirtualPortRemoveReply) SetStatus(v uint32) {
+ self.Status = v
+}
+
+func (self *BsnVirtualPortRemoveReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Status))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVirtualPortRemoveReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVirtualPortRemoveReply, error) {
+ _bsnvirtualportremovereply := &BsnVirtualPortRemoveReply{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnVirtualPortRemoveReply packet too short: %d < 4", decoder.Length())
+ }
+ _bsnvirtualportremovereply.Status = uint32(decoder.ReadUint32())
+ return _bsnvirtualportremovereply, nil
+}
+
+func NewBsnVirtualPortRemoveReply() *BsnVirtualPortRemoveReply {
+ obj := &BsnVirtualPortRemoveReply{
+ BsnHeader: NewBsnHeader(26),
+ }
+ return obj
+}
+
+type BsnVirtualPortRemoveRequest struct {
+ *BsnHeader
+ VportNo uint32
+}
+
+type IBsnVirtualPortRemoveRequest interface {
+ IBsnHeader
+ GetVportNo() uint32
+}
+
+func (self *BsnVirtualPortRemoveRequest) GetVportNo() uint32 {
+ return self.VportNo
+}
+
+func (self *BsnVirtualPortRemoveRequest) SetVportNo(v uint32) {
+ self.VportNo = v
+}
+
+func (self *BsnVirtualPortRemoveRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.VportNo))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVirtualPortRemoveRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVirtualPortRemoveRequest, error) {
+ _bsnvirtualportremoverequest := &BsnVirtualPortRemoveRequest{BsnHeader: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnVirtualPortRemoveRequest packet too short: %d < 4", decoder.Length())
+ }
+ _bsnvirtualportremoverequest.VportNo = uint32(decoder.ReadUint32())
+ return _bsnvirtualportremoverequest, nil
+}
+
+func NewBsnVirtualPortRemoveRequest() *BsnVirtualPortRemoveRequest {
+ obj := &BsnVirtualPortRemoveRequest{
+ BsnHeader: NewBsnHeader(17),
+ }
+ return obj
+}
+
+type BsnVlanCounterClear struct {
+ *BsnHeader
+ VlanVid uint16
+}
+
+type IBsnVlanCounterClear interface {
+ IBsnHeader
+ GetVlanVid() uint16
+}
+
+func (self *BsnVlanCounterClear) GetVlanVid() uint16 {
+ return self.VlanVid
+}
+
+func (self *BsnVlanCounterClear) SetVlanVid(v uint16) {
+ self.VlanVid = v
+}
+
+func (self *BsnVlanCounterClear) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnHeader.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.VlanVid))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVlanCounterClear(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVlanCounterClear, error) {
+ _bsnvlancounterclear := &BsnVlanCounterClear{BsnHeader: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnVlanCounterClear packet too short: %d < 2", decoder.Length())
+ }
+ _bsnvlancounterclear.VlanVid = uint16(decoder.ReadUint16())
+ return _bsnvlancounterclear, nil
+}
+
+func NewBsnVlanCounterClear() *BsnVlanCounterClear {
+ obj := &BsnVlanCounterClear{
+ BsnHeader: NewBsnHeader(70),
+ }
+ return obj
+}
+
+type BsnVlanCounterStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnVlanCounterStatsEntry
+}
+
+type IBsnVlanCounterStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnVlanCounterStatsEntry
+}
+
+func (self *BsnVlanCounterStatsReply) GetEntries() []*BsnVlanCounterStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnVlanCounterStatsReply) SetEntries(v []*BsnVlanCounterStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnVlanCounterStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVlanCounterStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnVlanCounterStatsReply, error) {
+ _bsnvlancounterstatsreply := &BsnVlanCounterStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeBsnVlanCounterStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsnvlancounterstatsreply.Entries = append(_bsnvlancounterstatsreply.Entries, item)
+ }
+ }
+ return _bsnvlancounterstatsreply, nil
+}
+
+func NewBsnVlanCounterStatsReply() *BsnVlanCounterStatsReply {
+ obj := &BsnVlanCounterStatsReply{
+ BsnStatsReply: NewBsnStatsReply(9),
+ }
+ return obj
+}
+
+type BsnVlanCounterStatsRequest struct {
+ *BsnStatsRequest
+ VlanVid uint16
+}
+
+type IBsnVlanCounterStatsRequest interface {
+ IBsnStatsRequest
+ GetVlanVid() uint16
+}
+
+func (self *BsnVlanCounterStatsRequest) GetVlanVid() uint16 {
+ return self.VlanVid
+}
+
+func (self *BsnVlanCounterStatsRequest) SetVlanVid(v uint16) {
+ self.VlanVid = v
+}
+
+func (self *BsnVlanCounterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.VlanVid))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVlanCounterStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnVlanCounterStatsRequest, error) {
+ _bsnvlancounterstatsrequest := &BsnVlanCounterStatsRequest{BsnStatsRequest: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("BsnVlanCounterStatsRequest packet too short: %d < 2", decoder.Length())
+ }
+ _bsnvlancounterstatsrequest.VlanVid = uint16(decoder.ReadUint16())
+ return _bsnvlancounterstatsrequest, nil
+}
+
+func NewBsnVlanCounterStatsRequest() *BsnVlanCounterStatsRequest {
+ obj := &BsnVlanCounterStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(9),
+ }
+ return obj
+}
+
+type BsnVrfCounterStatsReply struct {
+ *BsnStatsReply
+ Entries []*BsnVrfCounterStatsEntry
+}
+
+type IBsnVrfCounterStatsReply interface {
+ IBsnStatsReply
+ GetEntries() []*BsnVrfCounterStatsEntry
+}
+
+func (self *BsnVrfCounterStatsReply) GetEntries() []*BsnVrfCounterStatsEntry {
+ return self.Entries
+}
+
+func (self *BsnVrfCounterStatsReply) SetEntries(v []*BsnVrfCounterStatsEntry) {
+ self.Entries = v
+}
+
+func (self *BsnVrfCounterStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVrfCounterStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnVrfCounterStatsReply, error) {
+ _bsnvrfcounterstatsreply := &BsnVrfCounterStatsReply{BsnStatsReply: parent}
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeBsnVrfCounterStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _bsnvrfcounterstatsreply.Entries = append(_bsnvrfcounterstatsreply.Entries, item)
+ }
+ }
+ return _bsnvrfcounterstatsreply, nil
+}
+
+func NewBsnVrfCounterStatsReply() *BsnVrfCounterStatsReply {
+ obj := &BsnVrfCounterStatsReply{
+ BsnStatsReply: NewBsnStatsReply(15),
+ }
+ return obj
+}
+
+type BsnVrfCounterStatsRequest struct {
+ *BsnStatsRequest
+ Vrf uint32
+}
+
+type IBsnVrfCounterStatsRequest interface {
+ IBsnStatsRequest
+ GetVrf() uint32
+}
+
+func (self *BsnVrfCounterStatsRequest) GetVrf() uint32 {
+ return self.Vrf
+}
+
+func (self *BsnVrfCounterStatsRequest) SetVrf(v uint32) {
+ self.Vrf = v
+}
+
+func (self *BsnVrfCounterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Vrf))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeBsnVrfCounterStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnVrfCounterStatsRequest, error) {
+ _bsnvrfcounterstatsrequest := &BsnVrfCounterStatsRequest{BsnStatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("BsnVrfCounterStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ _bsnvrfcounterstatsrequest.Vrf = uint32(decoder.ReadUint32())
+ return _bsnvrfcounterstatsrequest, nil
+}
+
+func NewBsnVrfCounterStatsRequest() *BsnVrfCounterStatsRequest {
+ obj := &BsnVrfCounterStatsRequest{
+ BsnStatsRequest: NewBsnStatsRequest(15),
+ }
+ return obj
+}
+
+type DescStatsReply struct {
+ *StatsReply
+ MfrDesc string
+ HwDesc string
+ SwDesc string
+ SerialNum string
+ DpDesc string
+}
+
+type IDescStatsReply interface {
+ IStatsReply
+ GetMfrDesc() string
+ GetHwDesc() string
+ GetSwDesc() string
+ GetSerialNum() string
+ GetDpDesc() string
+}
+
+func (self *DescStatsReply) GetMfrDesc() string {
+ return self.MfrDesc
+}
+
+func (self *DescStatsReply) SetMfrDesc(v string) {
+ self.MfrDesc = v
+}
+
+func (self *DescStatsReply) GetHwDesc() string {
+ return self.HwDesc
+}
+
+func (self *DescStatsReply) SetHwDesc(v string) {
+ self.HwDesc = v
+}
+
+func (self *DescStatsReply) GetSwDesc() string {
+ return self.SwDesc
+}
+
+func (self *DescStatsReply) SetSwDesc(v string) {
+ self.SwDesc = v
+}
+
+func (self *DescStatsReply) GetSerialNum() string {
+ return self.SerialNum
+}
+
+func (self *DescStatsReply) SetSerialNum(v string) {
+ self.SerialNum = v
+}
+
+func (self *DescStatsReply) GetDpDesc() string {
+ return self.DpDesc
+}
+
+func (self *DescStatsReply) SetDpDesc(v string) {
+ self.DpDesc = v
+}
+
+func (self *DescStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.Write([]byte(self.MfrDesc))
+ encoder.Write([]byte(self.HwDesc))
+ encoder.Write([]byte(self.SwDesc))
+ encoder.Write([]byte(self.SerialNum))
+ encoder.Write([]byte(self.DpDesc))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeDescStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*DescStatsReply, error) {
+ _descstatsreply := &DescStatsReply{StatsReply: parent}
+ if decoder.Length() < 1060 {
+ return nil, fmt.Errorf("DescStatsReply packet too short: %d < 1060", decoder.Length())
+ }
+ decoder.Skip(4)
+ _descstatsreply.MfrDesc = string(bytes.Trim(decoder.Read(256), "\x00"))
+ _descstatsreply.HwDesc = string(bytes.Trim(decoder.Read(256), "\x00"))
+ _descstatsreply.SwDesc = string(bytes.Trim(decoder.Read(256), "\x00"))
+ _descstatsreply.SerialNum = string(bytes.Trim(decoder.Read(32), "\x00"))
+ _descstatsreply.DpDesc = string(bytes.Trim(decoder.Read(256), "\x00"))
+ return _descstatsreply, nil
+}
+
+func NewDescStatsReply() *DescStatsReply {
+ obj := &DescStatsReply{
+ StatsReply: NewStatsReply(0),
+ }
+ return obj
+}
+
+type DescStatsRequest struct {
+ *StatsRequest
+}
+
+type IDescStatsRequest interface {
+ IStatsRequest
+}
+
+func (self *DescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeDescStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*DescStatsRequest, error) {
+ _descstatsrequest := &DescStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("DescStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _descstatsrequest, nil
+}
+
+func NewDescStatsRequest() *DescStatsRequest {
+ obj := &DescStatsRequest{
+ StatsRequest: NewStatsRequest(0),
+ }
+ return obj
+}
+
+type EchoReply struct {
+ *Header
+ Data []byte
+}
+
+type IEchoReply interface {
+ IHeader
+ GetData() []byte
+}
+
+func (self *EchoReply) GetData() []byte {
+ return self.Data
+}
+
+func (self *EchoReply) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *EchoReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeEchoReply(parent *Header, decoder *goloxi.Decoder) (*EchoReply, error) {
+ _echoreply := &EchoReply{Header: parent}
+ _echoreply.Data = decoder.Read(int(decoder.Length()))
+ return _echoreply, nil
+}
+
+func NewEchoReply() *EchoReply {
+ obj := &EchoReply{
+ Header: NewHeader(3),
+ }
+ return obj
+}
+
+type EchoRequest struct {
+ *Header
+ Data []byte
+}
+
+type IEchoRequest interface {
+ IHeader
+ GetData() []byte
+}
+
+func (self *EchoRequest) GetData() []byte {
+ return self.Data
+}
+
+func (self *EchoRequest) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *EchoRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeEchoRequest(parent *Header, decoder *goloxi.Decoder) (*EchoRequest, error) {
+ _echorequest := &EchoRequest{Header: parent}
+ _echorequest.Data = decoder.Read(int(decoder.Length()))
+ return _echorequest, nil
+}
+
+func NewEchoRequest() *EchoRequest {
+ obj := &EchoRequest{
+ Header: NewHeader(2),
+ }
+ return obj
+}
+
+type FeaturesReply struct {
+ *Header
+ DatapathId uint64
+ NBuffers uint32
+ NTables uint8
+ AuxiliaryId uint8
+ Capabilities Capabilities
+ Reserved uint32
+}
+
+type IFeaturesReply interface {
+ IHeader
+ GetDatapathId() uint64
+ GetNBuffers() uint32
+ GetNTables() uint8
+ GetAuxiliaryId() uint8
+ GetCapabilities() Capabilities
+ GetReserved() uint32
+}
+
+func (self *FeaturesReply) GetDatapathId() uint64 {
+ return self.DatapathId
+}
+
+func (self *FeaturesReply) SetDatapathId(v uint64) {
+ self.DatapathId = v
+}
+
+func (self *FeaturesReply) GetNBuffers() uint32 {
+ return self.NBuffers
+}
+
+func (self *FeaturesReply) SetNBuffers(v uint32) {
+ self.NBuffers = v
+}
+
+func (self *FeaturesReply) GetNTables() uint8 {
+ return self.NTables
+}
+
+func (self *FeaturesReply) SetNTables(v uint8) {
+ self.NTables = v
+}
+
+func (self *FeaturesReply) GetAuxiliaryId() uint8 {
+ return self.AuxiliaryId
+}
+
+func (self *FeaturesReply) SetAuxiliaryId(v uint8) {
+ self.AuxiliaryId = v
+}
+
+func (self *FeaturesReply) GetCapabilities() Capabilities {
+ return self.Capabilities
+}
+
+func (self *FeaturesReply) SetCapabilities(v Capabilities) {
+ self.Capabilities = v
+}
+
+func (self *FeaturesReply) GetReserved() uint32 {
+ return self.Reserved
+}
+
+func (self *FeaturesReply) SetReserved(v uint32) {
+ self.Reserved = v
+}
+
+func (self *FeaturesReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.DatapathId))
+ encoder.PutUint32(uint32(self.NBuffers))
+ encoder.PutUint8(uint8(self.NTables))
+ encoder.PutUint8(uint8(self.AuxiliaryId))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.Capabilities))
+ encoder.PutUint32(uint32(self.Reserved))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFeaturesReply(parent *Header, decoder *goloxi.Decoder) (*FeaturesReply, error) {
+ _featuresreply := &FeaturesReply{Header: parent}
+ if decoder.Length() < 24 {
+ return nil, fmt.Errorf("FeaturesReply packet too short: %d < 24", decoder.Length())
+ }
+ _featuresreply.DatapathId = uint64(decoder.ReadUint64())
+ _featuresreply.NBuffers = uint32(decoder.ReadUint32())
+ _featuresreply.NTables = uint8(decoder.ReadByte())
+ _featuresreply.AuxiliaryId = uint8(decoder.ReadByte())
+ decoder.Skip(2)
+ _featuresreply.Capabilities = Capabilities(decoder.ReadUint32())
+ _featuresreply.Reserved = uint32(decoder.ReadUint32())
+ return _featuresreply, nil
+}
+
+func NewFeaturesReply() *FeaturesReply {
+ obj := &FeaturesReply{
+ Header: NewHeader(6),
+ }
+ return obj
+}
+
+type FeaturesRequest struct {
+ *Header
+}
+
+type IFeaturesRequest interface {
+ IHeader
+}
+
+func (self *FeaturesRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFeaturesRequest(parent *Header, decoder *goloxi.Decoder) (*FeaturesRequest, error) {
+ _featuresrequest := &FeaturesRequest{Header: parent}
+ return _featuresrequest, nil
+}
+
+func NewFeaturesRequest() *FeaturesRequest {
+ obj := &FeaturesRequest{
+ Header: NewHeader(5),
+ }
+ return obj
+}
+
+type FlowMod struct {
+ *Header
+ Cookie uint64
+ CookieMask uint64
+ TableId uint8
+ Command FmCmd
+ IdleTimeout uint16
+ HardTimeout uint16
+ Priority uint16
+ BufferId uint32
+ OutPort Port
+ OutGroup uint32
+ Flags FlowModFlags
+ Match Match
+ Instructions []IInstruction
+}
+
+type IFlowMod interface {
+ IHeader
+ GetCookie() uint64
+ GetCookieMask() uint64
+ GetTableId() uint8
+ GetCommand() FmCmd
+ GetIdleTimeout() uint16
+ GetHardTimeout() uint16
+ GetPriority() uint16
+ GetBufferId() uint32
+ GetOutPort() Port
+ GetOutGroup() uint32
+ GetFlags() FlowModFlags
+ GetMatch() Match
+ GetInstructions() []IInstruction
+}
+
+func (self *FlowMod) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *FlowMod) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *FlowMod) GetCookieMask() uint64 {
+ return self.CookieMask
+}
+
+func (self *FlowMod) SetCookieMask(v uint64) {
+ self.CookieMask = v
+}
+
+func (self *FlowMod) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *FlowMod) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *FlowMod) GetCommand() FmCmd {
+ return self.Command
+}
+
+func (self *FlowMod) SetCommand(v FmCmd) {
+ self.Command = v
+}
+
+func (self *FlowMod) GetIdleTimeout() uint16 {
+ return self.IdleTimeout
+}
+
+func (self *FlowMod) SetIdleTimeout(v uint16) {
+ self.IdleTimeout = v
+}
+
+func (self *FlowMod) GetHardTimeout() uint16 {
+ return self.HardTimeout
+}
+
+func (self *FlowMod) SetHardTimeout(v uint16) {
+ self.HardTimeout = v
+}
+
+func (self *FlowMod) GetPriority() uint16 {
+ return self.Priority
+}
+
+func (self *FlowMod) SetPriority(v uint16) {
+ self.Priority = v
+}
+
+func (self *FlowMod) GetBufferId() uint32 {
+ return self.BufferId
+}
+
+func (self *FlowMod) SetBufferId(v uint32) {
+ self.BufferId = v
+}
+
+func (self *FlowMod) GetOutPort() Port {
+ return self.OutPort
+}
+
+func (self *FlowMod) SetOutPort(v Port) {
+ self.OutPort = v
+}
+
+func (self *FlowMod) GetOutGroup() uint32 {
+ return self.OutGroup
+}
+
+func (self *FlowMod) SetOutGroup(v uint32) {
+ self.OutGroup = v
+}
+
+func (self *FlowMod) GetFlags() FlowModFlags {
+ return self.Flags
+}
+
+func (self *FlowMod) SetFlags(v FlowModFlags) {
+ self.Flags = v
+}
+
+func (self *FlowMod) GetMatch() Match {
+ return self.Match
+}
+
+func (self *FlowMod) SetMatch(v Match) {
+ self.Match = v
+}
+
+func (self *FlowMod) GetInstructions() []IInstruction {
+ return self.Instructions
+}
+
+func (self *FlowMod) SetInstructions(v []IInstruction) {
+ self.Instructions = v
+}
+
+func (self *FlowMod) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Cookie))
+ encoder.PutUint64(uint64(self.CookieMask))
+ encoder.PutUint8(uint8(self.TableId))
+ self.Command.Serialize(encoder)
+ encoder.PutUint16(uint16(self.IdleTimeout))
+ encoder.PutUint16(uint16(self.HardTimeout))
+ encoder.PutUint16(uint16(self.Priority))
+ encoder.PutUint32(uint32(self.BufferId))
+ self.OutPort.Serialize(encoder)
+ encoder.PutUint32(uint32(self.OutGroup))
+ encoder.PutUint16(uint16(self.Flags))
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Instructions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+func DecodeFlowMod(parent *Header, decoder *goloxi.Decoder) (IFlowMod, error) {
+ _flowmod := &FlowMod{Header: parent}
+ if decoder.Length() < 48 {
+ return nil, fmt.Errorf("FlowMod packet too short: %d < 48", decoder.Length())
+ }
+ _flowmod.Cookie = uint64(decoder.ReadUint64())
+ _flowmod.CookieMask = uint64(decoder.ReadUint64())
+ _flowmod.TableId = uint8(decoder.ReadByte())
+ _flowmod.Command.Decode(decoder)
+ _flowmod.IdleTimeout = uint16(decoder.ReadUint16())
+ _flowmod.HardTimeout = uint16(decoder.ReadUint16())
+ _flowmod.Priority = uint16(decoder.ReadUint16())
+ _flowmod.BufferId = uint32(decoder.ReadUint32())
+ _flowmod.OutPort.Decode(decoder)
+ _flowmod.OutGroup = uint32(decoder.ReadUint32())
+ _flowmod.Flags = FlowModFlags(decoder.ReadUint16())
+ decoder.Skip(2)
+ if err := _flowmod.Match.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeInstruction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _flowmod.Instructions = append(_flowmod.Instructions, item)
+ }
+ }
+
+ switch _flowmod.Command {
+ case 0:
+ return DecodeFlowAdd(_flowmod, decoder)
+ case 1:
+ return DecodeFlowModify(_flowmod, decoder)
+ case 2:
+ return DecodeFlowModifyStrict(_flowmod, decoder)
+ case 3:
+ return DecodeFlowDelete(_flowmod, decoder)
+ case 4:
+ return DecodeFlowDeleteStrict(_flowmod, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'FlowMod'", _flowmod.Command)
+ }
+}
+
+func NewFlowMod(__command FmCmd) *FlowMod {
+ obj := &FlowMod{
+ Header: NewHeader(14),
+ }
+ obj.Command = __command
+ return obj
+}
+
+type FlowAdd struct {
+ *FlowMod
+}
+
+type IFlowAdd interface {
+ IFlowMod
+}
+
+func (self *FlowAdd) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowMod.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowAdd(parent *FlowMod, decoder *goloxi.Decoder) (*FlowAdd, error) {
+ _flowadd := &FlowAdd{FlowMod: parent}
+ return _flowadd, nil
+}
+
+func NewFlowAdd() *FlowAdd {
+ obj := &FlowAdd{
+ FlowMod: NewFlowMod(0),
+ }
+ return obj
+}
+
+type FlowDelete struct {
+ *FlowMod
+}
+
+type IFlowDelete interface {
+ IFlowMod
+}
+
+func (self *FlowDelete) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowMod.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowDelete(parent *FlowMod, decoder *goloxi.Decoder) (*FlowDelete, error) {
+ _flowdelete := &FlowDelete{FlowMod: parent}
+ return _flowdelete, nil
+}
+
+func NewFlowDelete() *FlowDelete {
+ obj := &FlowDelete{
+ FlowMod: NewFlowMod(3),
+ }
+ return obj
+}
+
+type FlowDeleteStrict struct {
+ *FlowMod
+}
+
+type IFlowDeleteStrict interface {
+ IFlowMod
+}
+
+func (self *FlowDeleteStrict) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowMod.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowDeleteStrict(parent *FlowMod, decoder *goloxi.Decoder) (*FlowDeleteStrict, error) {
+ _flowdeletestrict := &FlowDeleteStrict{FlowMod: parent}
+ return _flowdeletestrict, nil
+}
+
+func NewFlowDeleteStrict() *FlowDeleteStrict {
+ obj := &FlowDeleteStrict{
+ FlowMod: NewFlowMod(4),
+ }
+ return obj
+}
+
+type FlowModFailedErrorMsg struct {
+ *ErrorMsg
+ Code FlowModFailedCode
+ Data []byte
+}
+
+type IFlowModFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() FlowModFailedCode
+ GetData() []byte
+}
+
+func (self *FlowModFailedErrorMsg) GetCode() FlowModFailedCode {
+ return self.Code
+}
+
+func (self *FlowModFailedErrorMsg) SetCode(v FlowModFailedCode) {
+ self.Code = v
+}
+
+func (self *FlowModFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *FlowModFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *FlowModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*FlowModFailedErrorMsg, error) {
+ _flowmodfailederrormsg := &FlowModFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("FlowModFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _flowmodfailederrormsg.Code = FlowModFailedCode(decoder.ReadUint16())
+ _flowmodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _flowmodfailederrormsg, nil
+}
+
+func NewFlowModFailedErrorMsg() *FlowModFailedErrorMsg {
+ obj := &FlowModFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(5),
+ }
+ return obj
+}
+
+type FlowModify struct {
+ *FlowMod
+}
+
+type IFlowModify interface {
+ IFlowMod
+}
+
+func (self *FlowModify) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowMod.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowModify(parent *FlowMod, decoder *goloxi.Decoder) (*FlowModify, error) {
+ _flowmodify := &FlowModify{FlowMod: parent}
+ return _flowmodify, nil
+}
+
+func NewFlowModify() *FlowModify {
+ obj := &FlowModify{
+ FlowMod: NewFlowMod(1),
+ }
+ return obj
+}
+
+type FlowModifyStrict struct {
+ *FlowMod
+}
+
+type IFlowModifyStrict interface {
+ IFlowMod
+}
+
+func (self *FlowModifyStrict) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.FlowMod.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowModifyStrict(parent *FlowMod, decoder *goloxi.Decoder) (*FlowModifyStrict, error) {
+ _flowmodifystrict := &FlowModifyStrict{FlowMod: parent}
+ return _flowmodifystrict, nil
+}
+
+func NewFlowModifyStrict() *FlowModifyStrict {
+ obj := &FlowModifyStrict{
+ FlowMod: NewFlowMod(2),
+ }
+ return obj
+}
+
+type FlowRemoved struct {
+ *Header
+ Cookie uint64
+ Priority uint16
+ Reason FlowRemovedReason
+ TableId uint8
+ DurationSec uint32
+ DurationNsec uint32
+ IdleTimeout uint16
+ HardTimeout uint16
+ PacketCount uint64
+ ByteCount uint64
+ Match Match
+}
+
+type IFlowRemoved interface {
+ IHeader
+ GetCookie() uint64
+ GetPriority() uint16
+ GetReason() FlowRemovedReason
+ GetTableId() uint8
+ GetDurationSec() uint32
+ GetDurationNsec() uint32
+ GetIdleTimeout() uint16
+ GetHardTimeout() uint16
+ GetPacketCount() uint64
+ GetByteCount() uint64
+ GetMatch() Match
+}
+
+func (self *FlowRemoved) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *FlowRemoved) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *FlowRemoved) GetPriority() uint16 {
+ return self.Priority
+}
+
+func (self *FlowRemoved) SetPriority(v uint16) {
+ self.Priority = v
+}
+
+func (self *FlowRemoved) GetReason() FlowRemovedReason {
+ return self.Reason
+}
+
+func (self *FlowRemoved) SetReason(v FlowRemovedReason) {
+ self.Reason = v
+}
+
+func (self *FlowRemoved) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *FlowRemoved) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *FlowRemoved) GetDurationSec() uint32 {
+ return self.DurationSec
+}
+
+func (self *FlowRemoved) SetDurationSec(v uint32) {
+ self.DurationSec = v
+}
+
+func (self *FlowRemoved) GetDurationNsec() uint32 {
+ return self.DurationNsec
+}
+
+func (self *FlowRemoved) SetDurationNsec(v uint32) {
+ self.DurationNsec = v
+}
+
+func (self *FlowRemoved) GetIdleTimeout() uint16 {
+ return self.IdleTimeout
+}
+
+func (self *FlowRemoved) SetIdleTimeout(v uint16) {
+ self.IdleTimeout = v
+}
+
+func (self *FlowRemoved) GetHardTimeout() uint16 {
+ return self.HardTimeout
+}
+
+func (self *FlowRemoved) SetHardTimeout(v uint16) {
+ self.HardTimeout = v
+}
+
+func (self *FlowRemoved) GetPacketCount() uint64 {
+ return self.PacketCount
+}
+
+func (self *FlowRemoved) SetPacketCount(v uint64) {
+ self.PacketCount = v
+}
+
+func (self *FlowRemoved) GetByteCount() uint64 {
+ return self.ByteCount
+}
+
+func (self *FlowRemoved) SetByteCount(v uint64) {
+ self.ByteCount = v
+}
+
+func (self *FlowRemoved) GetMatch() Match {
+ return self.Match
+}
+
+func (self *FlowRemoved) SetMatch(v Match) {
+ self.Match = v
+}
+
+func (self *FlowRemoved) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Cookie))
+ encoder.PutUint16(uint16(self.Priority))
+ encoder.PutUint8(uint8(self.Reason))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.PutUint32(uint32(self.DurationSec))
+ encoder.PutUint32(uint32(self.DurationNsec))
+ encoder.PutUint16(uint16(self.IdleTimeout))
+ encoder.PutUint16(uint16(self.HardTimeout))
+ encoder.PutUint64(uint64(self.PacketCount))
+ encoder.PutUint64(uint64(self.ByteCount))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowRemoved(parent *Header, decoder *goloxi.Decoder) (*FlowRemoved, error) {
+ _flowremoved := &FlowRemoved{Header: parent}
+ if decoder.Length() < 48 {
+ return nil, fmt.Errorf("FlowRemoved packet too short: %d < 48", decoder.Length())
+ }
+ _flowremoved.Cookie = uint64(decoder.ReadUint64())
+ _flowremoved.Priority = uint16(decoder.ReadUint16())
+ _flowremoved.Reason = FlowRemovedReason(decoder.ReadByte())
+ _flowremoved.TableId = uint8(decoder.ReadByte())
+ _flowremoved.DurationSec = uint32(decoder.ReadUint32())
+ _flowremoved.DurationNsec = uint32(decoder.ReadUint32())
+ _flowremoved.IdleTimeout = uint16(decoder.ReadUint16())
+ _flowremoved.HardTimeout = uint16(decoder.ReadUint16())
+ _flowremoved.PacketCount = uint64(decoder.ReadUint64())
+ _flowremoved.ByteCount = uint64(decoder.ReadUint64())
+ if err := _flowremoved.Match.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+ return _flowremoved, nil
+}
+
+func NewFlowRemoved() *FlowRemoved {
+ obj := &FlowRemoved{
+ Header: NewHeader(11),
+ }
+ return obj
+}
+
+type FlowStatsReply struct {
+ *StatsReply
+ Entries []*FlowStatsEntry
+}
+
+type IFlowStatsReply interface {
+ IStatsReply
+ GetEntries() []*FlowStatsEntry
+}
+
+func (self *FlowStatsReply) GetEntries() []*FlowStatsEntry {
+ return self.Entries
+}
+
+func (self *FlowStatsReply) SetEntries(v []*FlowStatsEntry) {
+ self.Entries = v
+}
+
+func (self *FlowStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*FlowStatsReply, error) {
+ _flowstatsreply := &FlowStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("FlowStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 56 {
+ item, err := DecodeFlowStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _flowstatsreply.Entries = append(_flowstatsreply.Entries, item)
+ }
+ }
+ return _flowstatsreply, nil
+}
+
+func NewFlowStatsReply() *FlowStatsReply {
+ obj := &FlowStatsReply{
+ StatsReply: NewStatsReply(1),
+ }
+ return obj
+}
+
+type FlowStatsRequest struct {
+ *StatsRequest
+ TableId uint8
+ OutPort Port
+ OutGroup uint32
+ Cookie uint64
+ CookieMask uint64
+ Match Match
+}
+
+type IFlowStatsRequest interface {
+ IStatsRequest
+ GetTableId() uint8
+ GetOutPort() Port
+ GetOutGroup() uint32
+ GetCookie() uint64
+ GetCookieMask() uint64
+ GetMatch() Match
+}
+
+func (self *FlowStatsRequest) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *FlowStatsRequest) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *FlowStatsRequest) GetOutPort() Port {
+ return self.OutPort
+}
+
+func (self *FlowStatsRequest) SetOutPort(v Port) {
+ self.OutPort = v
+}
+
+func (self *FlowStatsRequest) GetOutGroup() uint32 {
+ return self.OutGroup
+}
+
+func (self *FlowStatsRequest) SetOutGroup(v uint32) {
+ self.OutGroup = v
+}
+
+func (self *FlowStatsRequest) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *FlowStatsRequest) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *FlowStatsRequest) GetCookieMask() uint64 {
+ return self.CookieMask
+}
+
+func (self *FlowStatsRequest) SetCookieMask(v uint64) {
+ self.CookieMask = v
+}
+
+func (self *FlowStatsRequest) GetMatch() Match {
+ return self.Match
+}
+
+func (self *FlowStatsRequest) SetMatch(v Match) {
+ self.Match = v
+}
+
+func (self *FlowStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+ self.OutPort.Serialize(encoder)
+ encoder.PutUint32(uint32(self.OutGroup))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint64(uint64(self.Cookie))
+ encoder.PutUint64(uint64(self.CookieMask))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeFlowStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*FlowStatsRequest, error) {
+ _flowstatsrequest := &FlowStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 28 {
+ return nil, fmt.Errorf("FlowStatsRequest packet too short: %d < 28", decoder.Length())
+ }
+ decoder.Skip(4)
+ _flowstatsrequest.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ _flowstatsrequest.OutPort.Decode(decoder)
+ _flowstatsrequest.OutGroup = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ _flowstatsrequest.Cookie = uint64(decoder.ReadUint64())
+ _flowstatsrequest.CookieMask = uint64(decoder.ReadUint64())
+ if err := _flowstatsrequest.Match.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+ return _flowstatsrequest, nil
+}
+
+func NewFlowStatsRequest() *FlowStatsRequest {
+ obj := &FlowStatsRequest{
+ StatsRequest: NewStatsRequest(1),
+ }
+ return obj
+}
+
+type GetConfigReply struct {
+ *Header
+ Flags ConfigFlags
+ MissSendLen uint16
+}
+
+type IGetConfigReply interface {
+ IHeader
+ GetFlags() ConfigFlags
+ GetMissSendLen() uint16
+}
+
+func (self *GetConfigReply) GetFlags() ConfigFlags {
+ return self.Flags
+}
+
+func (self *GetConfigReply) SetFlags(v ConfigFlags) {
+ self.Flags = v
+}
+
+func (self *GetConfigReply) GetMissSendLen() uint16 {
+ return self.MissSendLen
+}
+
+func (self *GetConfigReply) SetMissSendLen(v uint16) {
+ self.MissSendLen = v
+}
+
+func (self *GetConfigReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Flags))
+ encoder.PutUint16(uint16(self.MissSendLen))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGetConfigReply(parent *Header, decoder *goloxi.Decoder) (*GetConfigReply, error) {
+ _getconfigreply := &GetConfigReply{Header: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("GetConfigReply packet too short: %d < 4", decoder.Length())
+ }
+ _getconfigreply.Flags = ConfigFlags(decoder.ReadUint16())
+ _getconfigreply.MissSendLen = uint16(decoder.ReadUint16())
+ return _getconfigreply, nil
+}
+
+func NewGetConfigReply() *GetConfigReply {
+ obj := &GetConfigReply{
+ Header: NewHeader(8),
+ }
+ return obj
+}
+
+type GetConfigRequest struct {
+ *Header
+}
+
+type IGetConfigRequest interface {
+ IHeader
+}
+
+func (self *GetConfigRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGetConfigRequest(parent *Header, decoder *goloxi.Decoder) (*GetConfigRequest, error) {
+ _getconfigrequest := &GetConfigRequest{Header: parent}
+ return _getconfigrequest, nil
+}
+
+func NewGetConfigRequest() *GetConfigRequest {
+ obj := &GetConfigRequest{
+ Header: NewHeader(7),
+ }
+ return obj
+}
+
+type GroupMod struct {
+ *Header
+ Command GroupModCommand
+ GroupType GroupType
+ GroupId uint32
+ Buckets []*Bucket
+}
+
+type IGroupMod interface {
+ IHeader
+ GetCommand() GroupModCommand
+ GetGroupType() GroupType
+ GetGroupId() uint32
+ GetBuckets() []*Bucket
+}
+
+func (self *GroupMod) GetCommand() GroupModCommand {
+ return self.Command
+}
+
+func (self *GroupMod) SetCommand(v GroupModCommand) {
+ self.Command = v
+}
+
+func (self *GroupMod) GetGroupType() GroupType {
+ return self.GroupType
+}
+
+func (self *GroupMod) SetGroupType(v GroupType) {
+ self.GroupType = v
+}
+
+func (self *GroupMod) GetGroupId() uint32 {
+ return self.GroupId
+}
+
+func (self *GroupMod) SetGroupId(v uint32) {
+ self.GroupId = v
+}
+
+func (self *GroupMod) GetBuckets() []*Bucket {
+ return self.Buckets
+}
+
+func (self *GroupMod) SetBuckets(v []*Bucket) {
+ self.Buckets = v
+}
+
+func (self *GroupMod) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Command))
+ encoder.PutUint8(uint8(self.GroupType))
+ encoder.Write(bytes.Repeat([]byte{0}, 1))
+ encoder.PutUint32(uint32(self.GroupId))
+ for _, obj := range self.Buckets {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+func DecodeGroupMod(parent *Header, decoder *goloxi.Decoder) (IGroupMod, error) {
+ _groupmod := &GroupMod{Header: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("GroupMod packet too short: %d < 8", decoder.Length())
+ }
+ _groupmod.Command = GroupModCommand(decoder.ReadUint16())
+ _groupmod.GroupType = GroupType(decoder.ReadByte())
+ decoder.Skip(1)
+ _groupmod.GroupId = uint32(decoder.ReadUint32())
+
+ for decoder.Length() >= 16 {
+ item, err := DecodeBucket(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _groupmod.Buckets = append(_groupmod.Buckets, item)
+ }
+ }
+
+ switch _groupmod.Command {
+ case 0:
+ return DecodeGroupAdd(_groupmod, decoder)
+ case 1:
+ return DecodeGroupModify(_groupmod, decoder)
+ case 2:
+ return DecodeGroupDelete(_groupmod, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'GroupMod'", _groupmod.Command)
+ }
+}
+
+func NewGroupMod(_command GroupModCommand) *GroupMod {
+ obj := &GroupMod{
+ Header: NewHeader(15),
+ }
+ obj.Command = _command
+ return obj
+}
+
+type GroupAdd struct {
+ *GroupMod
+}
+
+type IGroupAdd interface {
+ IGroupMod
+}
+
+func (self *GroupAdd) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.GroupMod.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupAdd(parent *GroupMod, decoder *goloxi.Decoder) (*GroupAdd, error) {
+ _groupadd := &GroupAdd{GroupMod: parent}
+ return _groupadd, nil
+}
+
+func NewGroupAdd() *GroupAdd {
+ obj := &GroupAdd{
+ GroupMod: NewGroupMod(0),
+ }
+ return obj
+}
+
+type GroupDelete struct {
+ *GroupMod
+}
+
+type IGroupDelete interface {
+ IGroupMod
+}
+
+func (self *GroupDelete) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.GroupMod.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupDelete(parent *GroupMod, decoder *goloxi.Decoder) (*GroupDelete, error) {
+ _groupdelete := &GroupDelete{GroupMod: parent}
+ return _groupdelete, nil
+}
+
+func NewGroupDelete() *GroupDelete {
+ obj := &GroupDelete{
+ GroupMod: NewGroupMod(2),
+ }
+ return obj
+}
+
+type GroupDescStatsReply struct {
+ *StatsReply
+ Entries []*GroupDescStatsEntry
+}
+
+type IGroupDescStatsReply interface {
+ IStatsReply
+ GetEntries() []*GroupDescStatsEntry
+}
+
+func (self *GroupDescStatsReply) GetEntries() []*GroupDescStatsEntry {
+ return self.Entries
+}
+
+func (self *GroupDescStatsReply) SetEntries(v []*GroupDescStatsEntry) {
+ self.Entries = v
+}
+
+func (self *GroupDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupDescStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*GroupDescStatsReply, error) {
+ _groupdescstatsreply := &GroupDescStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("GroupDescStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeGroupDescStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _groupdescstatsreply.Entries = append(_groupdescstatsreply.Entries, item)
+ }
+ }
+ return _groupdescstatsreply, nil
+}
+
+func NewGroupDescStatsReply() *GroupDescStatsReply {
+ obj := &GroupDescStatsReply{
+ StatsReply: NewStatsReply(7),
+ }
+ return obj
+}
+
+type GroupDescStatsRequest struct {
+ *StatsRequest
+}
+
+type IGroupDescStatsRequest interface {
+ IStatsRequest
+}
+
+func (self *GroupDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupDescStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*GroupDescStatsRequest, error) {
+ _groupdescstatsrequest := &GroupDescStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("GroupDescStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _groupdescstatsrequest, nil
+}
+
+func NewGroupDescStatsRequest() *GroupDescStatsRequest {
+ obj := &GroupDescStatsRequest{
+ StatsRequest: NewStatsRequest(7),
+ }
+ return obj
+}
+
+type GroupFeaturesStatsReply struct {
+ *StatsReply
+ Types uint32
+ Capabilities GroupCapabilities
+ MaxGroupsAll uint32
+ MaxGroupsSelect uint32
+ MaxGroupsIndirect uint32
+ MaxGroupsFf uint32
+ ActionsAll uint32
+ ActionsSelect uint32
+ ActionsIndirect uint32
+ ActionsFf uint32
+}
+
+type IGroupFeaturesStatsReply interface {
+ IStatsReply
+ GetTypes() uint32
+ GetCapabilities() GroupCapabilities
+ GetMaxGroupsAll() uint32
+ GetMaxGroupsSelect() uint32
+ GetMaxGroupsIndirect() uint32
+ GetMaxGroupsFf() uint32
+ GetActionsAll() uint32
+ GetActionsSelect() uint32
+ GetActionsIndirect() uint32
+ GetActionsFf() uint32
+}
+
+func (self *GroupFeaturesStatsReply) GetTypes() uint32 {
+ return self.Types
+}
+
+func (self *GroupFeaturesStatsReply) SetTypes(v uint32) {
+ self.Types = v
+}
+
+func (self *GroupFeaturesStatsReply) GetCapabilities() GroupCapabilities {
+ return self.Capabilities
+}
+
+func (self *GroupFeaturesStatsReply) SetCapabilities(v GroupCapabilities) {
+ self.Capabilities = v
+}
+
+func (self *GroupFeaturesStatsReply) GetMaxGroupsAll() uint32 {
+ return self.MaxGroupsAll
+}
+
+func (self *GroupFeaturesStatsReply) SetMaxGroupsAll(v uint32) {
+ self.MaxGroupsAll = v
+}
+
+func (self *GroupFeaturesStatsReply) GetMaxGroupsSelect() uint32 {
+ return self.MaxGroupsSelect
+}
+
+func (self *GroupFeaturesStatsReply) SetMaxGroupsSelect(v uint32) {
+ self.MaxGroupsSelect = v
+}
+
+func (self *GroupFeaturesStatsReply) GetMaxGroupsIndirect() uint32 {
+ return self.MaxGroupsIndirect
+}
+
+func (self *GroupFeaturesStatsReply) SetMaxGroupsIndirect(v uint32) {
+ self.MaxGroupsIndirect = v
+}
+
+func (self *GroupFeaturesStatsReply) GetMaxGroupsFf() uint32 {
+ return self.MaxGroupsFf
+}
+
+func (self *GroupFeaturesStatsReply) SetMaxGroupsFf(v uint32) {
+ self.MaxGroupsFf = v
+}
+
+func (self *GroupFeaturesStatsReply) GetActionsAll() uint32 {
+ return self.ActionsAll
+}
+
+func (self *GroupFeaturesStatsReply) SetActionsAll(v uint32) {
+ self.ActionsAll = v
+}
+
+func (self *GroupFeaturesStatsReply) GetActionsSelect() uint32 {
+ return self.ActionsSelect
+}
+
+func (self *GroupFeaturesStatsReply) SetActionsSelect(v uint32) {
+ self.ActionsSelect = v
+}
+
+func (self *GroupFeaturesStatsReply) GetActionsIndirect() uint32 {
+ return self.ActionsIndirect
+}
+
+func (self *GroupFeaturesStatsReply) SetActionsIndirect(v uint32) {
+ self.ActionsIndirect = v
+}
+
+func (self *GroupFeaturesStatsReply) GetActionsFf() uint32 {
+ return self.ActionsFf
+}
+
+func (self *GroupFeaturesStatsReply) SetActionsFf(v uint32) {
+ self.ActionsFf = v
+}
+
+func (self *GroupFeaturesStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint32(uint32(self.Types))
+ encoder.PutUint32(uint32(self.Capabilities))
+ encoder.PutUint32(uint32(self.MaxGroupsAll))
+ encoder.PutUint32(uint32(self.MaxGroupsSelect))
+ encoder.PutUint32(uint32(self.MaxGroupsIndirect))
+ encoder.PutUint32(uint32(self.MaxGroupsFf))
+ encoder.PutUint32(uint32(self.ActionsAll))
+ encoder.PutUint32(uint32(self.ActionsSelect))
+ encoder.PutUint32(uint32(self.ActionsIndirect))
+ encoder.PutUint32(uint32(self.ActionsFf))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupFeaturesStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*GroupFeaturesStatsReply, error) {
+ _groupfeaturesstatsreply := &GroupFeaturesStatsReply{StatsReply: parent}
+ if decoder.Length() < 44 {
+ return nil, fmt.Errorf("GroupFeaturesStatsReply packet too short: %d < 44", decoder.Length())
+ }
+ decoder.Skip(4)
+ _groupfeaturesstatsreply.Types = uint32(decoder.ReadUint32())
+ _groupfeaturesstatsreply.Capabilities = GroupCapabilities(decoder.ReadUint32())
+ _groupfeaturesstatsreply.MaxGroupsAll = uint32(decoder.ReadUint32())
+ _groupfeaturesstatsreply.MaxGroupsSelect = uint32(decoder.ReadUint32())
+ _groupfeaturesstatsreply.MaxGroupsIndirect = uint32(decoder.ReadUint32())
+ _groupfeaturesstatsreply.MaxGroupsFf = uint32(decoder.ReadUint32())
+ _groupfeaturesstatsreply.ActionsAll = uint32(decoder.ReadUint32())
+ _groupfeaturesstatsreply.ActionsSelect = uint32(decoder.ReadUint32())
+ _groupfeaturesstatsreply.ActionsIndirect = uint32(decoder.ReadUint32())
+ _groupfeaturesstatsreply.ActionsFf = uint32(decoder.ReadUint32())
+ return _groupfeaturesstatsreply, nil
+}
+
+func NewGroupFeaturesStatsReply() *GroupFeaturesStatsReply {
+ obj := &GroupFeaturesStatsReply{
+ StatsReply: NewStatsReply(8),
+ }
+ return obj
+}
+
+type GroupFeaturesStatsRequest struct {
+ *StatsRequest
+}
+
+type IGroupFeaturesStatsRequest interface {
+ IStatsRequest
+}
+
+func (self *GroupFeaturesStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupFeaturesStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*GroupFeaturesStatsRequest, error) {
+ _groupfeaturesstatsrequest := &GroupFeaturesStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("GroupFeaturesStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _groupfeaturesstatsrequest, nil
+}
+
+func NewGroupFeaturesStatsRequest() *GroupFeaturesStatsRequest {
+ obj := &GroupFeaturesStatsRequest{
+ StatsRequest: NewStatsRequest(8),
+ }
+ return obj
+}
+
+type GroupModFailedErrorMsg struct {
+ *ErrorMsg
+ Code GroupModFailedCode
+ Data []byte
+}
+
+type IGroupModFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() GroupModFailedCode
+ GetData() []byte
+}
+
+func (self *GroupModFailedErrorMsg) GetCode() GroupModFailedCode {
+ return self.Code
+}
+
+func (self *GroupModFailedErrorMsg) SetCode(v GroupModFailedCode) {
+ self.Code = v
+}
+
+func (self *GroupModFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *GroupModFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *GroupModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*GroupModFailedErrorMsg, error) {
+ _groupmodfailederrormsg := &GroupModFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("GroupModFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _groupmodfailederrormsg.Code = GroupModFailedCode(decoder.ReadUint16())
+ _groupmodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _groupmodfailederrormsg, nil
+}
+
+func NewGroupModFailedErrorMsg() *GroupModFailedErrorMsg {
+ obj := &GroupModFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(6),
+ }
+ return obj
+}
+
+type GroupModify struct {
+ *GroupMod
+}
+
+type IGroupModify interface {
+ IGroupMod
+}
+
+func (self *GroupModify) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.GroupMod.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupModify(parent *GroupMod, decoder *goloxi.Decoder) (*GroupModify, error) {
+ _groupmodify := &GroupModify{GroupMod: parent}
+ return _groupmodify, nil
+}
+
+func NewGroupModify() *GroupModify {
+ obj := &GroupModify{
+ GroupMod: NewGroupMod(1),
+ }
+ return obj
+}
+
+type GroupStatsReply struct {
+ *StatsReply
+ Entries []*GroupStatsEntry
+}
+
+type IGroupStatsReply interface {
+ IStatsReply
+ GetEntries() []*GroupStatsEntry
+}
+
+func (self *GroupStatsReply) GetEntries() []*GroupStatsEntry {
+ return self.Entries
+}
+
+func (self *GroupStatsReply) SetEntries(v []*GroupStatsEntry) {
+ self.Entries = v
+}
+
+func (self *GroupStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*GroupStatsReply, error) {
+ _groupstatsreply := &GroupStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("GroupStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 40 {
+ item, err := DecodeGroupStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _groupstatsreply.Entries = append(_groupstatsreply.Entries, item)
+ }
+ }
+ return _groupstatsreply, nil
+}
+
+func NewGroupStatsReply() *GroupStatsReply {
+ obj := &GroupStatsReply{
+ StatsReply: NewStatsReply(6),
+ }
+ return obj
+}
+
+type GroupStatsRequest struct {
+ *StatsRequest
+ GroupId uint32
+}
+
+type IGroupStatsRequest interface {
+ IStatsRequest
+ GetGroupId() uint32
+}
+
+func (self *GroupStatsRequest) GetGroupId() uint32 {
+ return self.GroupId
+}
+
+func (self *GroupStatsRequest) SetGroupId(v uint32) {
+ self.GroupId = v
+}
+
+func (self *GroupStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint32(uint32(self.GroupId))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeGroupStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*GroupStatsRequest, error) {
+ _groupstatsrequest := &GroupStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("GroupStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ _groupstatsrequest.GroupId = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ return _groupstatsrequest, nil
+}
+
+func NewGroupStatsRequest() *GroupStatsRequest {
+ obj := &GroupStatsRequest{
+ StatsRequest: NewStatsRequest(6),
+ }
+ return obj
+}
+
+type Hello struct {
+ *Header
+ Elements []IHelloElem
+}
+
+type IHello interface {
+ IHeader
+ GetElements() []IHelloElem
+}
+
+func (self *Hello) GetElements() []IHelloElem {
+ return self.Elements
+}
+
+func (self *Hello) SetElements(v []IHelloElem) {
+ self.Elements = v
+}
+
+func (self *Hello) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ for _, obj := range self.Elements {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeHello(parent *Header, decoder *goloxi.Decoder) (*Hello, error) {
+ _hello := &Hello{Header: parent}
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeHelloElem(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _hello.Elements = append(_hello.Elements, item)
+ }
+ }
+ return _hello, nil
+}
+
+func NewHello() *Hello {
+ obj := &Hello{
+ Header: NewHeader(0),
+ }
+ return obj
+}
+
+type HelloFailedErrorMsg struct {
+ *ErrorMsg
+ Code HelloFailedCode
+ Data []byte
+}
+
+type IHelloFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() HelloFailedCode
+ GetData() []byte
+}
+
+func (self *HelloFailedErrorMsg) GetCode() HelloFailedCode {
+ return self.Code
+}
+
+func (self *HelloFailedErrorMsg) SetCode(v HelloFailedCode) {
+ self.Code = v
+}
+
+func (self *HelloFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *HelloFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *HelloFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeHelloFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*HelloFailedErrorMsg, error) {
+ _hellofailederrormsg := &HelloFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("HelloFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _hellofailederrormsg.Code = HelloFailedCode(decoder.ReadUint16())
+ _hellofailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _hellofailederrormsg, nil
+}
+
+func NewHelloFailedErrorMsg() *HelloFailedErrorMsg {
+ obj := &HelloFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(0),
+ }
+ return obj
+}
+
+type MeterConfigStatsReply struct {
+ *StatsReply
+ Entries []*MeterConfig
+}
+
+type IMeterConfigStatsReply interface {
+ IStatsReply
+ GetEntries() []*MeterConfig
+}
+
+func (self *MeterConfigStatsReply) GetEntries() []*MeterConfig {
+ return self.Entries
+}
+
+func (self *MeterConfigStatsReply) SetEntries(v []*MeterConfig) {
+ self.Entries = v
+}
+
+func (self *MeterConfigStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterConfigStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*MeterConfigStatsReply, error) {
+ _meterconfigstatsreply := &MeterConfigStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("MeterConfigStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 8 {
+ item, err := DecodeMeterConfig(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _meterconfigstatsreply.Entries = append(_meterconfigstatsreply.Entries, item)
+ }
+ }
+ return _meterconfigstatsreply, nil
+}
+
+func NewMeterConfigStatsReply() *MeterConfigStatsReply {
+ obj := &MeterConfigStatsReply{
+ StatsReply: NewStatsReply(10),
+ }
+ return obj
+}
+
+type MeterConfigStatsRequest struct {
+ *StatsRequest
+ MeterId uint32
+}
+
+type IMeterConfigStatsRequest interface {
+ IStatsRequest
+ GetMeterId() uint32
+}
+
+func (self *MeterConfigStatsRequest) GetMeterId() uint32 {
+ return self.MeterId
+}
+
+func (self *MeterConfigStatsRequest) SetMeterId(v uint32) {
+ self.MeterId = v
+}
+
+func (self *MeterConfigStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint32(uint32(self.MeterId))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterConfigStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*MeterConfigStatsRequest, error) {
+ _meterconfigstatsrequest := &MeterConfigStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("MeterConfigStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ _meterconfigstatsrequest.MeterId = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ return _meterconfigstatsrequest, nil
+}
+
+func NewMeterConfigStatsRequest() *MeterConfigStatsRequest {
+ obj := &MeterConfigStatsRequest{
+ StatsRequest: NewStatsRequest(10),
+ }
+ return obj
+}
+
+type MeterFeaturesStatsReply struct {
+ *StatsReply
+ Features MeterFeatures
+}
+
+type IMeterFeaturesStatsReply interface {
+ IStatsReply
+ GetFeatures() MeterFeatures
+}
+
+func (self *MeterFeaturesStatsReply) GetFeatures() MeterFeatures {
+ return self.Features
+}
+
+func (self *MeterFeaturesStatsReply) SetFeatures(v MeterFeatures) {
+ self.Features = v
+}
+
+func (self *MeterFeaturesStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ if err := self.Features.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterFeaturesStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*MeterFeaturesStatsReply, error) {
+ _meterfeaturesstatsreply := &MeterFeaturesStatsReply{StatsReply: parent}
+ if decoder.Length() < 20 {
+ return nil, fmt.Errorf("MeterFeaturesStatsReply packet too short: %d < 20", decoder.Length())
+ }
+ decoder.Skip(4)
+ if err := _meterfeaturesstatsreply.Features.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ return _meterfeaturesstatsreply, nil
+}
+
+func NewMeterFeaturesStatsReply() *MeterFeaturesStatsReply {
+ obj := &MeterFeaturesStatsReply{
+ StatsReply: NewStatsReply(11),
+ }
+ return obj
+}
+
+type MeterFeaturesStatsRequest struct {
+ *StatsRequest
+}
+
+type IMeterFeaturesStatsRequest interface {
+ IStatsRequest
+}
+
+func (self *MeterFeaturesStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterFeaturesStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*MeterFeaturesStatsRequest, error) {
+ _meterfeaturesstatsrequest := &MeterFeaturesStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("MeterFeaturesStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _meterfeaturesstatsrequest, nil
+}
+
+func NewMeterFeaturesStatsRequest() *MeterFeaturesStatsRequest {
+ obj := &MeterFeaturesStatsRequest{
+ StatsRequest: NewStatsRequest(11),
+ }
+ return obj
+}
+
+type MeterMod struct {
+ *Header
+ Command MeterModCommand
+ Flags MeterFlags
+ MeterId uint32
+ Meters []IMeterBand
+}
+
+type IMeterMod interface {
+ IHeader
+ GetCommand() MeterModCommand
+ GetFlags() MeterFlags
+ GetMeterId() uint32
+ GetMeters() []IMeterBand
+}
+
+func (self *MeterMod) GetCommand() MeterModCommand {
+ return self.Command
+}
+
+func (self *MeterMod) SetCommand(v MeterModCommand) {
+ self.Command = v
+}
+
+func (self *MeterMod) GetFlags() MeterFlags {
+ return self.Flags
+}
+
+func (self *MeterMod) SetFlags(v MeterFlags) {
+ self.Flags = v
+}
+
+func (self *MeterMod) GetMeterId() uint32 {
+ return self.MeterId
+}
+
+func (self *MeterMod) SetMeterId(v uint32) {
+ self.MeterId = v
+}
+
+func (self *MeterMod) GetMeters() []IMeterBand {
+ return self.Meters
+}
+
+func (self *MeterMod) SetMeters(v []IMeterBand) {
+ self.Meters = v
+}
+
+func (self *MeterMod) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Command))
+ encoder.PutUint16(uint16(self.Flags))
+ encoder.PutUint32(uint32(self.MeterId))
+ for _, obj := range self.Meters {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterMod(parent *Header, decoder *goloxi.Decoder) (*MeterMod, error) {
+ _metermod := &MeterMod{Header: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("MeterMod packet too short: %d < 8", decoder.Length())
+ }
+ _metermod.Command = MeterModCommand(decoder.ReadUint16())
+ _metermod.Flags = MeterFlags(decoder.ReadUint16())
+ _metermod.MeterId = uint32(decoder.ReadUint32())
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeMeterBand(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _metermod.Meters = append(_metermod.Meters, item)
+ }
+ }
+ return _metermod, nil
+}
+
+func NewMeterMod() *MeterMod {
+ obj := &MeterMod{
+ Header: NewHeader(29),
+ }
+ return obj
+}
+
+type MeterModFailedErrorMsg struct {
+ *ErrorMsg
+ Code MeterModFailedCode
+ Data []byte
+}
+
+type IMeterModFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() MeterModFailedCode
+ GetData() []byte
+}
+
+func (self *MeterModFailedErrorMsg) GetCode() MeterModFailedCode {
+ return self.Code
+}
+
+func (self *MeterModFailedErrorMsg) SetCode(v MeterModFailedCode) {
+ self.Code = v
+}
+
+func (self *MeterModFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *MeterModFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *MeterModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*MeterModFailedErrorMsg, error) {
+ _metermodfailederrormsg := &MeterModFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("MeterModFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _metermodfailederrormsg.Code = MeterModFailedCode(decoder.ReadUint16())
+ _metermodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _metermodfailederrormsg, nil
+}
+
+func NewMeterModFailedErrorMsg() *MeterModFailedErrorMsg {
+ obj := &MeterModFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(12),
+ }
+ return obj
+}
+
+type MeterStatsReply struct {
+ *StatsReply
+ Entries []*MeterStats
+}
+
+type IMeterStatsReply interface {
+ IStatsReply
+ GetEntries() []*MeterStats
+}
+
+func (self *MeterStatsReply) GetEntries() []*MeterStats {
+ return self.Entries
+}
+
+func (self *MeterStatsReply) SetEntries(v []*MeterStats) {
+ self.Entries = v
+}
+
+func (self *MeterStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*MeterStatsReply, error) {
+ _meterstatsreply := &MeterStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("MeterStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 40 {
+ item, err := DecodeMeterStats(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _meterstatsreply.Entries = append(_meterstatsreply.Entries, item)
+ }
+ }
+ return _meterstatsreply, nil
+}
+
+func NewMeterStatsReply() *MeterStatsReply {
+ obj := &MeterStatsReply{
+ StatsReply: NewStatsReply(9),
+ }
+ return obj
+}
+
+type MeterStatsRequest struct {
+ *StatsRequest
+ MeterId uint32
+}
+
+type IMeterStatsRequest interface {
+ IStatsRequest
+ GetMeterId() uint32
+}
+
+func (self *MeterStatsRequest) GetMeterId() uint32 {
+ return self.MeterId
+}
+
+func (self *MeterStatsRequest) SetMeterId(v uint32) {
+ self.MeterId = v
+}
+
+func (self *MeterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint32(uint32(self.MeterId))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeMeterStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*MeterStatsRequest, error) {
+ _meterstatsrequest := &MeterStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("MeterStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ _meterstatsrequest.MeterId = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ return _meterstatsrequest, nil
+}
+
+func NewMeterStatsRequest() *MeterStatsRequest {
+ obj := &MeterStatsRequest{
+ StatsRequest: NewStatsRequest(9),
+ }
+ return obj
+}
+
+type NiciraStatsReply struct {
+ *ExperimenterStatsReply
+}
+
+type INiciraStatsReply interface {
+ IExperimenterStatsReply
+}
+
+func (self *NiciraStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ExperimenterStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeNiciraStatsReply(parent *ExperimenterStatsReply, decoder *goloxi.Decoder) (INiciraStatsReply, error) {
+ _nicirastatsreply := &NiciraStatsReply{ExperimenterStatsReply: parent}
+ if decoder.Length() < -4 {
+ return nil, fmt.Errorf("NiciraStatsReply packet too short: %d < -4", decoder.Length())
+ }
+
+ switch _nicirastatsreply.Subtype {
+ case 0:
+ return DecodeNiciraFlowStatsReply(_nicirastatsreply, decoder)
+ case 2:
+ return DecodeNiciraFlowMonitorReply(_nicirastatsreply, decoder)
+ default:
+ return nil, fmt.Errorf("Invalid type '%d' for 'NiciraStatsReply'", _nicirastatsreply.Subtype)
+ }
+}
+
+func NewNiciraStatsReply(_subtype uint32) *NiciraStatsReply {
+ obj := &NiciraStatsReply{
+ ExperimenterStatsReply: NewExperimenterStatsReply(8992),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type NiciraFlowMonitorReply struct {
+ *NiciraStatsReply
+ Updates []INiciraFlowUpdateEvent
+}
+
+type INiciraFlowMonitorReply interface {
+ INiciraStatsReply
+ GetUpdates() []INiciraFlowUpdateEvent
+}
+
+func (self *NiciraFlowMonitorReply) GetUpdates() []INiciraFlowUpdateEvent {
+ return self.Updates
+}
+
+func (self *NiciraFlowMonitorReply) SetUpdates(v []INiciraFlowUpdateEvent) {
+ self.Updates = v
+}
+
+func (self *NiciraFlowMonitorReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.NiciraStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Updates {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeNiciraFlowMonitorReply(parent *NiciraStatsReply, decoder *goloxi.Decoder) (*NiciraFlowMonitorReply, error) {
+ _niciraflowmonitorreply := &NiciraFlowMonitorReply{NiciraStatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NiciraFlowMonitorReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 4 {
+ item, err := DecodeNiciraFlowUpdateEvent(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _niciraflowmonitorreply.Updates = append(_niciraflowmonitorreply.Updates, item)
+ }
+ }
+ return _niciraflowmonitorreply, nil
+}
+
+func NewNiciraFlowMonitorReply() *NiciraFlowMonitorReply {
+ obj := &NiciraFlowMonitorReply{
+ NiciraStatsReply: NewNiciraStatsReply(2),
+ }
+ return obj
+}
+
+type NiciraFlowMonitorRequest struct {
+ *ExperimenterStatsRequest
+ MonitorId uint32
+ MonitorFlags NxFlowMonitorFlags
+ OutPort Port
+ MatchLen uint16
+ TableId uint8
+ Match NiciraMatch
+}
+
+type INiciraFlowMonitorRequest interface {
+ IExperimenterStatsRequest
+ GetMonitorId() uint32
+ GetMonitorFlags() NxFlowMonitorFlags
+ GetOutPort() Port
+ GetMatchLen() uint16
+ GetTableId() uint8
+ GetMatch() NiciraMatch
+}
+
+func (self *NiciraFlowMonitorRequest) GetMonitorId() uint32 {
+ return self.MonitorId
+}
+
+func (self *NiciraFlowMonitorRequest) SetMonitorId(v uint32) {
+ self.MonitorId = v
+}
+
+func (self *NiciraFlowMonitorRequest) GetMonitorFlags() NxFlowMonitorFlags {
+ return self.MonitorFlags
+}
+
+func (self *NiciraFlowMonitorRequest) SetMonitorFlags(v NxFlowMonitorFlags) {
+ self.MonitorFlags = v
+}
+
+func (self *NiciraFlowMonitorRequest) GetOutPort() Port {
+ return self.OutPort
+}
+
+func (self *NiciraFlowMonitorRequest) SetOutPort(v Port) {
+ self.OutPort = v
+}
+
+func (self *NiciraFlowMonitorRequest) GetMatchLen() uint16 {
+ return self.MatchLen
+}
+
+func (self *NiciraFlowMonitorRequest) SetMatchLen(v uint16) {
+ self.MatchLen = v
+}
+
+func (self *NiciraFlowMonitorRequest) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *NiciraFlowMonitorRequest) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *NiciraFlowMonitorRequest) GetMatch() NiciraMatch {
+ return self.Match
+}
+
+func (self *NiciraFlowMonitorRequest) SetMatch(v NiciraMatch) {
+ self.Match = v
+}
+
+func (self *NiciraFlowMonitorRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ExperimenterStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint32(uint32(self.MonitorId))
+ encoder.PutUint16(uint16(self.MonitorFlags))
+ self.OutPort.Serialize(encoder)
+ encoder.PutUint16(uint16(self.MatchLen))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 5))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeNiciraFlowMonitorRequest(parent *ExperimenterStatsRequest, decoder *goloxi.Decoder) (*NiciraFlowMonitorRequest, error) {
+ _niciraflowmonitorrequest := &NiciraFlowMonitorRequest{ExperimenterStatsRequest: parent}
+ if decoder.Length() < 22 {
+ return nil, fmt.Errorf("NiciraFlowMonitorRequest packet too short: %d < 22", decoder.Length())
+ }
+ decoder.Skip(4)
+ _niciraflowmonitorrequest.MonitorId = uint32(decoder.ReadUint32())
+ _niciraflowmonitorrequest.MonitorFlags = NxFlowMonitorFlags(decoder.ReadUint16())
+ _niciraflowmonitorrequest.OutPort.Decode(decoder)
+ _niciraflowmonitorrequest.MatchLen = uint16(decoder.ReadUint16())
+ _niciraflowmonitorrequest.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(5)
+ if err := _niciraflowmonitorrequest.Match.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+ return _niciraflowmonitorrequest, nil
+}
+
+func NewNiciraFlowMonitorRequest() *NiciraFlowMonitorRequest {
+ obj := &NiciraFlowMonitorRequest{
+ ExperimenterStatsRequest: NewExperimenterStatsRequest(8992),
+ }
+ return obj
+}
+
+type NiciraFlowStatsReply struct {
+ *NiciraStatsReply
+ Stats []*NiciraFlowStats
+}
+
+type INiciraFlowStatsReply interface {
+ INiciraStatsReply
+ GetStats() []*NiciraFlowStats
+}
+
+func (self *NiciraFlowStatsReply) GetStats() []*NiciraFlowStats {
+ return self.Stats
+}
+
+func (self *NiciraFlowStatsReply) SetStats(v []*NiciraFlowStats) {
+ self.Stats = v
+}
+
+func (self *NiciraFlowStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.NiciraStatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Stats {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeNiciraFlowStatsReply(parent *NiciraStatsReply, decoder *goloxi.Decoder) (*NiciraFlowStatsReply, error) {
+ _niciraflowstatsreply := &NiciraFlowStatsReply{NiciraStatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NiciraFlowStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 48 {
+ item, err := DecodeNiciraFlowStats(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _niciraflowstatsreply.Stats = append(_niciraflowstatsreply.Stats, item)
+ }
+ }
+ return _niciraflowstatsreply, nil
+}
+
+func NewNiciraFlowStatsReply() *NiciraFlowStatsReply {
+ obj := &NiciraFlowStatsReply{
+ NiciraStatsReply: NewNiciraStatsReply(0),
+ }
+ return obj
+}
+
+type NiciraFlowStatsRequest struct {
+ *ExperimenterStatsRequest
+ OutPort Port
+ MatchLen uint16
+ TableId uint8
+}
+
+type INiciraFlowStatsRequest interface {
+ IExperimenterStatsRequest
+ GetOutPort() Port
+ GetMatchLen() uint16
+ GetTableId() uint8
+}
+
+func (self *NiciraFlowStatsRequest) GetOutPort() Port {
+ return self.OutPort
+}
+
+func (self *NiciraFlowStatsRequest) SetOutPort(v Port) {
+ self.OutPort = v
+}
+
+func (self *NiciraFlowStatsRequest) GetMatchLen() uint16 {
+ return self.MatchLen
+}
+
+func (self *NiciraFlowStatsRequest) SetMatchLen(v uint16) {
+ self.MatchLen = v
+}
+
+func (self *NiciraFlowStatsRequest) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *NiciraFlowStatsRequest) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *NiciraFlowStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ExperimenterStatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ self.OutPort.Serialize(encoder)
+ encoder.PutUint16(uint16(self.MatchLen))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeNiciraFlowStatsRequest(parent *ExperimenterStatsRequest, decoder *goloxi.Decoder) (*NiciraFlowStatsRequest, error) {
+ _niciraflowstatsrequest := &NiciraFlowStatsRequest{ExperimenterStatsRequest: parent}
+ if decoder.Length() < 14 {
+ return nil, fmt.Errorf("NiciraFlowStatsRequest packet too short: %d < 14", decoder.Length())
+ }
+ decoder.Skip(4)
+ _niciraflowstatsrequest.OutPort.Decode(decoder)
+ _niciraflowstatsrequest.MatchLen = uint16(decoder.ReadUint16())
+ _niciraflowstatsrequest.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ return _niciraflowstatsrequest, nil
+}
+
+func NewNiciraFlowStatsRequest() *NiciraFlowStatsRequest {
+ obj := &NiciraFlowStatsRequest{
+ ExperimenterStatsRequest: NewExperimenterStatsRequest(8992),
+ }
+ return obj
+}
+
+type NiciraHeader struct {
+ *Experimenter
+}
+
+type INiciraHeader interface {
+ IExperimenter
+}
+
+func (self *NiciraHeader) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Experimenter.Serialize(encoder); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func DecodeNiciraHeader(parent *Experimenter, decoder *goloxi.Decoder) (INiciraHeader, error) {
+ _niciraheader := &NiciraHeader{Experimenter: parent}
+ return _niciraheader, nil
+}
+
+func NewNiciraHeader(_subtype uint32) *NiciraHeader {
+ obj := &NiciraHeader{
+ Experimenter: NewExperimenter(8992),
+ }
+ obj.Subtype = _subtype
+ return obj
+}
+
+type PacketIn struct {
+ *Header
+ BufferId uint32
+ TotalLen uint16
+ Reason uint8
+ TableId uint8
+ Cookie uint64
+ Match Match
+ Data []byte
+}
+
+type IPacketIn interface {
+ IHeader
+ GetBufferId() uint32
+ GetTotalLen() uint16
+ GetReason() uint8
+ GetTableId() uint8
+ GetCookie() uint64
+ GetMatch() Match
+ GetData() []byte
+}
+
+func (self *PacketIn) GetBufferId() uint32 {
+ return self.BufferId
+}
+
+func (self *PacketIn) SetBufferId(v uint32) {
+ self.BufferId = v
+}
+
+func (self *PacketIn) GetTotalLen() uint16 {
+ return self.TotalLen
+}
+
+func (self *PacketIn) SetTotalLen(v uint16) {
+ self.TotalLen = v
+}
+
+func (self *PacketIn) GetReason() uint8 {
+ return self.Reason
+}
+
+func (self *PacketIn) SetReason(v uint8) {
+ self.Reason = v
+}
+
+func (self *PacketIn) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *PacketIn) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *PacketIn) GetCookie() uint64 {
+ return self.Cookie
+}
+
+func (self *PacketIn) SetCookie(v uint64) {
+ self.Cookie = v
+}
+
+func (self *PacketIn) GetMatch() Match {
+ return self.Match
+}
+
+func (self *PacketIn) SetMatch(v Match) {
+ self.Match = v
+}
+
+func (self *PacketIn) GetData() []byte {
+ return self.Data
+}
+
+func (self *PacketIn) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *PacketIn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.BufferId))
+ encoder.PutUint16(uint16(self.TotalLen))
+ encoder.PutUint8(uint8(self.Reason))
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.PutUint64(uint64(self.Cookie))
+ if err := self.Match.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePacketIn(parent *Header, decoder *goloxi.Decoder) (*PacketIn, error) {
+ _packetin := &PacketIn{Header: parent}
+ if decoder.Length() < 26 {
+ return nil, fmt.Errorf("PacketIn packet too short: %d < 26", decoder.Length())
+ }
+ _packetin.BufferId = uint32(decoder.ReadUint32())
+ _packetin.TotalLen = uint16(decoder.ReadUint16())
+ _packetin.Reason = uint8(decoder.ReadByte())
+ _packetin.TableId = uint8(decoder.ReadByte())
+ _packetin.Cookie = uint64(decoder.ReadUint64())
+ if err := _packetin.Match.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ decoder.SkipAlign()
+ decoder.Skip(2)
+ _packetin.Data = decoder.Read(int(decoder.Length()))
+ return _packetin, nil
+}
+
+func NewPacketIn() *PacketIn {
+ obj := &PacketIn{
+ Header: NewHeader(10),
+ }
+ return obj
+}
+
+type PacketOut struct {
+ *Header
+ BufferId uint32
+ InPort Port
+ ActionsLen uint16
+ Actions []goloxi.IAction
+ Data []byte
+}
+
+type IPacketOut interface {
+ IHeader
+ GetBufferId() uint32
+ GetInPort() Port
+ GetActionsLen() uint16
+ GetActions() []goloxi.IAction
+ GetData() []byte
+}
+
+func (self *PacketOut) GetBufferId() uint32 {
+ return self.BufferId
+}
+
+func (self *PacketOut) SetBufferId(v uint32) {
+ self.BufferId = v
+}
+
+func (self *PacketOut) GetInPort() Port {
+ return self.InPort
+}
+
+func (self *PacketOut) SetInPort(v Port) {
+ self.InPort = v
+}
+
+func (self *PacketOut) GetActionsLen() uint16 {
+ return self.ActionsLen
+}
+
+func (self *PacketOut) SetActionsLen(v uint16) {
+ self.ActionsLen = v
+}
+
+func (self *PacketOut) GetActions() []goloxi.IAction {
+ return self.Actions
+}
+
+func (self *PacketOut) SetActions(v []goloxi.IAction) {
+ self.Actions = v
+}
+
+func (self *PacketOut) GetData() []byte {
+ return self.Data
+}
+
+func (self *PacketOut) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *PacketOut) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.BufferId))
+ self.InPort.Serialize(encoder)
+ encoder.PutUint16(uint16(self.ActionsLen))
+ encoder.Write(bytes.Repeat([]byte{0}, 6))
+ for _, obj := range self.Actions {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePacketOut(parent *Header, decoder *goloxi.Decoder) (*PacketOut, error) {
+ _packetout := &PacketOut{Header: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("PacketOut packet too short: %d < 16", decoder.Length())
+ }
+ _packetout.BufferId = uint32(decoder.ReadUint32())
+ _packetout.InPort.Decode(decoder)
+ _packetout.ActionsLen = uint16(decoder.ReadUint16())
+ decoder.Skip(6)
+
+ for i := 0; i < int(_packetout.ActionsLen); i++ {
+ item, err := DecodeAction(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _packetout.Actions = append(_packetout.Actions, item)
+ }
+ }
+ _packetout.Data = decoder.Read(int(decoder.Length()))
+ return _packetout, nil
+}
+
+func NewPacketOut() *PacketOut {
+ obj := &PacketOut{
+ Header: NewHeader(13),
+ }
+ return obj
+}
+
+type PortDescStatsReply struct {
+ *StatsReply
+ Entries []*PortDesc
+}
+
+type IPortDescStatsReply interface {
+ IStatsReply
+ GetEntries() []*PortDesc
+}
+
+func (self *PortDescStatsReply) GetEntries() []*PortDesc {
+ return self.Entries
+}
+
+func (self *PortDescStatsReply) SetEntries(v []*PortDesc) {
+ self.Entries = v
+}
+
+func (self *PortDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePortDescStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*PortDescStatsReply, error) {
+ _portdescstatsreply := &PortDescStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("PortDescStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 64 {
+ item := &PortDesc{}
+ if err := item.Decode(decoder); err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _portdescstatsreply.Entries = append(_portdescstatsreply.Entries, item)
+ }
+ }
+ return _portdescstatsreply, nil
+}
+
+func NewPortDescStatsReply() *PortDescStatsReply {
+ obj := &PortDescStatsReply{
+ StatsReply: NewStatsReply(13),
+ }
+ return obj
+}
+
+type PortDescStatsRequest struct {
+ *StatsRequest
+}
+
+type IPortDescStatsRequest interface {
+ IStatsRequest
+}
+
+func (self *PortDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePortDescStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*PortDescStatsRequest, error) {
+ _portdescstatsrequest := &PortDescStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("PortDescStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _portdescstatsrequest, nil
+}
+
+func NewPortDescStatsRequest() *PortDescStatsRequest {
+ obj := &PortDescStatsRequest{
+ StatsRequest: NewStatsRequest(13),
+ }
+ return obj
+}
+
+type PortMod struct {
+ *Header
+ PortNo Port
+ HwAddr net.HardwareAddr
+ Config PortConfig
+ Mask PortConfig
+ Advertise uint32
+}
+
+type IPortMod interface {
+ IHeader
+ GetPortNo() Port
+ GetHwAddr() net.HardwareAddr
+ GetConfig() PortConfig
+ GetMask() PortConfig
+ GetAdvertise() uint32
+}
+
+func (self *PortMod) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *PortMod) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *PortMod) GetHwAddr() net.HardwareAddr {
+ return self.HwAddr
+}
+
+func (self *PortMod) SetHwAddr(v net.HardwareAddr) {
+ self.HwAddr = v
+}
+
+func (self *PortMod) GetConfig() PortConfig {
+ return self.Config
+}
+
+func (self *PortMod) SetConfig(v PortConfig) {
+ self.Config = v
+}
+
+func (self *PortMod) GetMask() PortConfig {
+ return self.Mask
+}
+
+func (self *PortMod) SetMask(v PortConfig) {
+ self.Mask = v
+}
+
+func (self *PortMod) GetAdvertise() uint32 {
+ return self.Advertise
+}
+
+func (self *PortMod) SetAdvertise(v uint32) {
+ self.Advertise = v
+}
+
+func (self *PortMod) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.PortNo.Serialize(encoder)
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.Write(self.HwAddr)
+ encoder.Write(bytes.Repeat([]byte{0}, 2))
+ encoder.PutUint32(uint32(self.Config))
+ encoder.PutUint32(uint32(self.Mask))
+ encoder.PutUint32(uint32(self.Advertise))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePortMod(parent *Header, decoder *goloxi.Decoder) (*PortMod, error) {
+ _portmod := &PortMod{Header: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("PortMod packet too short: %d < 32", decoder.Length())
+ }
+ _portmod.PortNo.Decode(decoder)
+ decoder.Skip(4)
+ _portmod.HwAddr = net.HardwareAddr(decoder.Read(6))
+ decoder.Skip(2)
+ _portmod.Config = PortConfig(decoder.ReadUint32())
+ _portmod.Mask = PortConfig(decoder.ReadUint32())
+ _portmod.Advertise = uint32(decoder.ReadUint32())
+ decoder.Skip(4)
+ return _portmod, nil
+}
+
+func NewPortMod() *PortMod {
+ obj := &PortMod{
+ Header: NewHeader(16),
+ }
+ return obj
+}
+
+type PortModFailedErrorMsg struct {
+ *ErrorMsg
+ Code PortModFailedCode
+ Data []byte
+}
+
+type IPortModFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() PortModFailedCode
+ GetData() []byte
+}
+
+func (self *PortModFailedErrorMsg) GetCode() PortModFailedCode {
+ return self.Code
+}
+
+func (self *PortModFailedErrorMsg) SetCode(v PortModFailedCode) {
+ self.Code = v
+}
+
+func (self *PortModFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *PortModFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *PortModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePortModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*PortModFailedErrorMsg, error) {
+ _portmodfailederrormsg := &PortModFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("PortModFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _portmodfailederrormsg.Code = PortModFailedCode(decoder.ReadUint16())
+ _portmodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _portmodfailederrormsg, nil
+}
+
+func NewPortModFailedErrorMsg() *PortModFailedErrorMsg {
+ obj := &PortModFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(7),
+ }
+ return obj
+}
+
+type PortStatsReply struct {
+ *StatsReply
+ Entries []*PortStatsEntry
+}
+
+type IPortStatsReply interface {
+ IStatsReply
+ GetEntries() []*PortStatsEntry
+}
+
+func (self *PortStatsReply) GetEntries() []*PortStatsEntry {
+ return self.Entries
+}
+
+func (self *PortStatsReply) SetEntries(v []*PortStatsEntry) {
+ self.Entries = v
+}
+
+func (self *PortStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePortStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*PortStatsReply, error) {
+ _portstatsreply := &PortStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("PortStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 112 {
+ item, err := DecodePortStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _portstatsreply.Entries = append(_portstatsreply.Entries, item)
+ }
+ }
+ return _portstatsreply, nil
+}
+
+func NewPortStatsReply() *PortStatsReply {
+ obj := &PortStatsReply{
+ StatsReply: NewStatsReply(4),
+ }
+ return obj
+}
+
+type PortStatsRequest struct {
+ *StatsRequest
+ PortNo Port
+}
+
+type IPortStatsRequest interface {
+ IStatsRequest
+ GetPortNo() Port
+}
+
+func (self *PortStatsRequest) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *PortStatsRequest) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *PortStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ self.PortNo.Serialize(encoder)
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePortStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*PortStatsRequest, error) {
+ _portstatsrequest := &PortStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("PortStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ _portstatsrequest.PortNo.Decode(decoder)
+ decoder.Skip(4)
+ return _portstatsrequest, nil
+}
+
+func NewPortStatsRequest() *PortStatsRequest {
+ obj := &PortStatsRequest{
+ StatsRequest: NewStatsRequest(4),
+ }
+ return obj
+}
+
+type PortStatus struct {
+ *Header
+ Reason PortReason
+ Desc PortDesc
+}
+
+type IPortStatus interface {
+ IHeader
+ GetReason() PortReason
+ GetDesc() PortDesc
+}
+
+func (self *PortStatus) GetReason() PortReason {
+ return self.Reason
+}
+
+func (self *PortStatus) SetReason(v PortReason) {
+ self.Reason = v
+}
+
+func (self *PortStatus) GetDesc() PortDesc {
+ return self.Desc
+}
+
+func (self *PortStatus) SetDesc(v PortDesc) {
+ self.Desc = v
+}
+
+func (self *PortStatus) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Reason))
+ encoder.Write(bytes.Repeat([]byte{0}, 7))
+ if err := self.Desc.Serialize(encoder); err != nil {
+ return err
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodePortStatus(parent *Header, decoder *goloxi.Decoder) (*PortStatus, error) {
+ _portstatus := &PortStatus{Header: parent}
+ if decoder.Length() < 72 {
+ return nil, fmt.Errorf("PortStatus packet too short: %d < 72", decoder.Length())
+ }
+ _portstatus.Reason = PortReason(decoder.ReadByte())
+ decoder.Skip(7)
+ if err := _portstatus.Desc.Decode(decoder); err != nil {
+ return nil, err
+ }
+
+ return _portstatus, nil
+}
+
+func NewPortStatus() *PortStatus {
+ obj := &PortStatus{
+ Header: NewHeader(12),
+ }
+ return obj
+}
+
+type QueueGetConfigReply struct {
+ *Header
+ Port Port
+ Queues []*PacketQueue
+}
+
+type IQueueGetConfigReply interface {
+ IHeader
+ GetPort() Port
+ GetQueues() []*PacketQueue
+}
+
+func (self *QueueGetConfigReply) GetPort() Port {
+ return self.Port
+}
+
+func (self *QueueGetConfigReply) SetPort(v Port) {
+ self.Port = v
+}
+
+func (self *QueueGetConfigReply) GetQueues() []*PacketQueue {
+ return self.Queues
+}
+
+func (self *QueueGetConfigReply) SetQueues(v []*PacketQueue) {
+ self.Queues = v
+}
+
+func (self *QueueGetConfigReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Port.Serialize(encoder)
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Queues {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeQueueGetConfigReply(parent *Header, decoder *goloxi.Decoder) (*QueueGetConfigReply, error) {
+ _queuegetconfigreply := &QueueGetConfigReply{Header: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("QueueGetConfigReply packet too short: %d < 8", decoder.Length())
+ }
+ _queuegetconfigreply.Port.Decode(decoder)
+ decoder.Skip(4)
+
+ for decoder.Length() >= 16 {
+ item, err := DecodePacketQueue(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _queuegetconfigreply.Queues = append(_queuegetconfigreply.Queues, item)
+ }
+ }
+ return _queuegetconfigreply, nil
+}
+
+func NewQueueGetConfigReply() *QueueGetConfigReply {
+ obj := &QueueGetConfigReply{
+ Header: NewHeader(23),
+ }
+ return obj
+}
+
+type QueueGetConfigRequest struct {
+ *Header
+ Port Port
+}
+
+type IQueueGetConfigRequest interface {
+ IHeader
+ GetPort() Port
+}
+
+func (self *QueueGetConfigRequest) GetPort() Port {
+ return self.Port
+}
+
+func (self *QueueGetConfigRequest) SetPort(v Port) {
+ self.Port = v
+}
+
+func (self *QueueGetConfigRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Port.Serialize(encoder)
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeQueueGetConfigRequest(parent *Header, decoder *goloxi.Decoder) (*QueueGetConfigRequest, error) {
+ _queuegetconfigrequest := &QueueGetConfigRequest{Header: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("QueueGetConfigRequest packet too short: %d < 8", decoder.Length())
+ }
+ _queuegetconfigrequest.Port.Decode(decoder)
+ decoder.Skip(4)
+ return _queuegetconfigrequest, nil
+}
+
+func NewQueueGetConfigRequest() *QueueGetConfigRequest {
+ obj := &QueueGetConfigRequest{
+ Header: NewHeader(22),
+ }
+ return obj
+}
+
+type QueueOpFailedErrorMsg struct {
+ *ErrorMsg
+ Code QueueOpFailedCode
+ Data []byte
+}
+
+type IQueueOpFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() QueueOpFailedCode
+ GetData() []byte
+}
+
+func (self *QueueOpFailedErrorMsg) GetCode() QueueOpFailedCode {
+ return self.Code
+}
+
+func (self *QueueOpFailedErrorMsg) SetCode(v QueueOpFailedCode) {
+ self.Code = v
+}
+
+func (self *QueueOpFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *QueueOpFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *QueueOpFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeQueueOpFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*QueueOpFailedErrorMsg, error) {
+ _queueopfailederrormsg := &QueueOpFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("QueueOpFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _queueopfailederrormsg.Code = QueueOpFailedCode(decoder.ReadUint16())
+ _queueopfailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _queueopfailederrormsg, nil
+}
+
+func NewQueueOpFailedErrorMsg() *QueueOpFailedErrorMsg {
+ obj := &QueueOpFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(9),
+ }
+ return obj
+}
+
+type QueueStatsReply struct {
+ *StatsReply
+ Entries []*QueueStatsEntry
+}
+
+type IQueueStatsReply interface {
+ IStatsReply
+ GetEntries() []*QueueStatsEntry
+}
+
+func (self *QueueStatsReply) GetEntries() []*QueueStatsEntry {
+ return self.Entries
+}
+
+func (self *QueueStatsReply) SetEntries(v []*QueueStatsEntry) {
+ self.Entries = v
+}
+
+func (self *QueueStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeQueueStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*QueueStatsReply, error) {
+ _queuestatsreply := &QueueStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("QueueStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 40 {
+ item, err := DecodeQueueStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _queuestatsreply.Entries = append(_queuestatsreply.Entries, item)
+ }
+ }
+ return _queuestatsreply, nil
+}
+
+func NewQueueStatsReply() *QueueStatsReply {
+ obj := &QueueStatsReply{
+ StatsReply: NewStatsReply(5),
+ }
+ return obj
+}
+
+type QueueStatsRequest struct {
+ *StatsRequest
+ PortNo Port
+ QueueId uint32
+}
+
+type IQueueStatsRequest interface {
+ IStatsRequest
+ GetPortNo() Port
+ GetQueueId() uint32
+}
+
+func (self *QueueStatsRequest) GetPortNo() Port {
+ return self.PortNo
+}
+
+func (self *QueueStatsRequest) SetPortNo(v Port) {
+ self.PortNo = v
+}
+
+func (self *QueueStatsRequest) GetQueueId() uint32 {
+ return self.QueueId
+}
+
+func (self *QueueStatsRequest) SetQueueId(v uint32) {
+ self.QueueId = v
+}
+
+func (self *QueueStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ self.PortNo.Serialize(encoder)
+ encoder.PutUint32(uint32(self.QueueId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeQueueStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*QueueStatsRequest, error) {
+ _queuestatsrequest := &QueueStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("QueueStatsRequest packet too short: %d < 12", decoder.Length())
+ }
+ decoder.Skip(4)
+ _queuestatsrequest.PortNo.Decode(decoder)
+ _queuestatsrequest.QueueId = uint32(decoder.ReadUint32())
+ return _queuestatsrequest, nil
+}
+
+func NewQueueStatsRequest() *QueueStatsRequest {
+ obj := &QueueStatsRequest{
+ StatsRequest: NewStatsRequest(5),
+ }
+ return obj
+}
+
+type RoleReply struct {
+ *Header
+ Role ControllerRole
+ GenerationId uint64
+}
+
+type IRoleReply interface {
+ IHeader
+ GetRole() ControllerRole
+ GetGenerationId() uint64
+}
+
+func (self *RoleReply) GetRole() ControllerRole {
+ return self.Role
+}
+
+func (self *RoleReply) SetRole(v ControllerRole) {
+ self.Role = v
+}
+
+func (self *RoleReply) GetGenerationId() uint64 {
+ return self.GenerationId
+}
+
+func (self *RoleReply) SetGenerationId(v uint64) {
+ self.GenerationId = v
+}
+
+func (self *RoleReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Role))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint64(uint64(self.GenerationId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeRoleReply(parent *Header, decoder *goloxi.Decoder) (*RoleReply, error) {
+ _rolereply := &RoleReply{Header: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("RoleReply packet too short: %d < 16", decoder.Length())
+ }
+ _rolereply.Role = ControllerRole(decoder.ReadUint32())
+ decoder.Skip(4)
+ _rolereply.GenerationId = uint64(decoder.ReadUint64())
+ return _rolereply, nil
+}
+
+func NewRoleReply() *RoleReply {
+ obj := &RoleReply{
+ Header: NewHeader(25),
+ }
+ return obj
+}
+
+type RoleRequest struct {
+ *Header
+ Role ControllerRole
+ GenerationId uint64
+}
+
+type IRoleRequest interface {
+ IHeader
+ GetRole() ControllerRole
+ GetGenerationId() uint64
+}
+
+func (self *RoleRequest) GetRole() ControllerRole {
+ return self.Role
+}
+
+func (self *RoleRequest) SetRole(v ControllerRole) {
+ self.Role = v
+}
+
+func (self *RoleRequest) GetGenerationId() uint64 {
+ return self.GenerationId
+}
+
+func (self *RoleRequest) SetGenerationId(v uint64) {
+ self.GenerationId = v
+}
+
+func (self *RoleRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Role))
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ encoder.PutUint64(uint64(self.GenerationId))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeRoleRequest(parent *Header, decoder *goloxi.Decoder) (*RoleRequest, error) {
+ _rolerequest := &RoleRequest{Header: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("RoleRequest packet too short: %d < 16", decoder.Length())
+ }
+ _rolerequest.Role = ControllerRole(decoder.ReadUint32())
+ decoder.Skip(4)
+ _rolerequest.GenerationId = uint64(decoder.ReadUint64())
+ return _rolerequest, nil
+}
+
+func NewRoleRequest() *RoleRequest {
+ obj := &RoleRequest{
+ Header: NewHeader(24),
+ }
+ return obj
+}
+
+type RoleRequestFailedErrorMsg struct {
+ *ErrorMsg
+ Code RoleRequestFailedCode
+ Data []byte
+}
+
+type IRoleRequestFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() RoleRequestFailedCode
+ GetData() []byte
+}
+
+func (self *RoleRequestFailedErrorMsg) GetCode() RoleRequestFailedCode {
+ return self.Code
+}
+
+func (self *RoleRequestFailedErrorMsg) SetCode(v RoleRequestFailedCode) {
+ self.Code = v
+}
+
+func (self *RoleRequestFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *RoleRequestFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *RoleRequestFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeRoleRequestFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*RoleRequestFailedErrorMsg, error) {
+ _rolerequestfailederrormsg := &RoleRequestFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("RoleRequestFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _rolerequestfailederrormsg.Code = RoleRequestFailedCode(decoder.ReadUint16())
+ _rolerequestfailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _rolerequestfailederrormsg, nil
+}
+
+func NewRoleRequestFailedErrorMsg() *RoleRequestFailedErrorMsg {
+ obj := &RoleRequestFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(11),
+ }
+ return obj
+}
+
+type SetConfig struct {
+ *Header
+ Flags ConfigFlags
+ MissSendLen uint16
+}
+
+type ISetConfig interface {
+ IHeader
+ GetFlags() ConfigFlags
+ GetMissSendLen() uint16
+}
+
+func (self *SetConfig) GetFlags() ConfigFlags {
+ return self.Flags
+}
+
+func (self *SetConfig) SetFlags(v ConfigFlags) {
+ self.Flags = v
+}
+
+func (self *SetConfig) GetMissSendLen() uint16 {
+ return self.MissSendLen
+}
+
+func (self *SetConfig) SetMissSendLen(v uint16) {
+ self.MissSendLen = v
+}
+
+func (self *SetConfig) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Flags))
+ encoder.PutUint16(uint16(self.MissSendLen))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeSetConfig(parent *Header, decoder *goloxi.Decoder) (*SetConfig, error) {
+ _setconfig := &SetConfig{Header: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("SetConfig packet too short: %d < 4", decoder.Length())
+ }
+ _setconfig.Flags = ConfigFlags(decoder.ReadUint16())
+ _setconfig.MissSendLen = uint16(decoder.ReadUint16())
+ return _setconfig, nil
+}
+
+func NewSetConfig() *SetConfig {
+ obj := &SetConfig{
+ Header: NewHeader(9),
+ }
+ return obj
+}
+
+type SwitchConfigFailedErrorMsg struct {
+ *ErrorMsg
+ Code SwitchConfigFailedCode
+ Data []byte
+}
+
+type ISwitchConfigFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() SwitchConfigFailedCode
+ GetData() []byte
+}
+
+func (self *SwitchConfigFailedErrorMsg) GetCode() SwitchConfigFailedCode {
+ return self.Code
+}
+
+func (self *SwitchConfigFailedErrorMsg) SetCode(v SwitchConfigFailedCode) {
+ self.Code = v
+}
+
+func (self *SwitchConfigFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *SwitchConfigFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *SwitchConfigFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeSwitchConfigFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*SwitchConfigFailedErrorMsg, error) {
+ _switchconfigfailederrormsg := &SwitchConfigFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("SwitchConfigFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _switchconfigfailederrormsg.Code = SwitchConfigFailedCode(decoder.ReadUint16())
+ _switchconfigfailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _switchconfigfailederrormsg, nil
+}
+
+func NewSwitchConfigFailedErrorMsg() *SwitchConfigFailedErrorMsg {
+ obj := &SwitchConfigFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(10),
+ }
+ return obj
+}
+
+type TableFeaturesFailedErrorMsg struct {
+ *ErrorMsg
+ Code TableFeaturesFailedCode
+ Data []byte
+}
+
+type ITableFeaturesFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() TableFeaturesFailedCode
+ GetData() []byte
+}
+
+func (self *TableFeaturesFailedErrorMsg) GetCode() TableFeaturesFailedCode {
+ return self.Code
+}
+
+func (self *TableFeaturesFailedErrorMsg) SetCode(v TableFeaturesFailedCode) {
+ self.Code = v
+}
+
+func (self *TableFeaturesFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *TableFeaturesFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *TableFeaturesFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturesFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*TableFeaturesFailedErrorMsg, error) {
+ _tablefeaturesfailederrormsg := &TableFeaturesFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("TableFeaturesFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _tablefeaturesfailederrormsg.Code = TableFeaturesFailedCode(decoder.ReadUint16())
+ _tablefeaturesfailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _tablefeaturesfailederrormsg, nil
+}
+
+func NewTableFeaturesFailedErrorMsg() *TableFeaturesFailedErrorMsg {
+ obj := &TableFeaturesFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(13),
+ }
+ return obj
+}
+
+type TableFeaturesStatsReply struct {
+ *StatsReply
+ Entries []*TableFeatures
+}
+
+type ITableFeaturesStatsReply interface {
+ IStatsReply
+ GetEntries() []*TableFeatures
+}
+
+func (self *TableFeaturesStatsReply) GetEntries() []*TableFeatures {
+ return self.Entries
+}
+
+func (self *TableFeaturesStatsReply) SetEntries(v []*TableFeatures) {
+ self.Entries = v
+}
+
+func (self *TableFeaturesStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturesStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*TableFeaturesStatsReply, error) {
+ _tablefeaturesstatsreply := &TableFeaturesStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("TableFeaturesStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 64 {
+ item, err := DecodeTableFeatures(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturesstatsreply.Entries = append(_tablefeaturesstatsreply.Entries, item)
+ }
+ }
+ return _tablefeaturesstatsreply, nil
+}
+
+func NewTableFeaturesStatsReply() *TableFeaturesStatsReply {
+ obj := &TableFeaturesStatsReply{
+ StatsReply: NewStatsReply(12),
+ }
+ return obj
+}
+
+type TableFeaturesStatsRequest struct {
+ *StatsRequest
+ Entries []*TableFeatures
+}
+
+type ITableFeaturesStatsRequest interface {
+ IStatsRequest
+ GetEntries() []*TableFeatures
+}
+
+func (self *TableFeaturesStatsRequest) GetEntries() []*TableFeatures {
+ return self.Entries
+}
+
+func (self *TableFeaturesStatsRequest) SetEntries(v []*TableFeatures) {
+ self.Entries = v
+}
+
+func (self *TableFeaturesStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableFeaturesStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*TableFeaturesStatsRequest, error) {
+ _tablefeaturesstatsrequest := &TableFeaturesStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("TableFeaturesStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 64 {
+ item, err := DecodeTableFeatures(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablefeaturesstatsrequest.Entries = append(_tablefeaturesstatsrequest.Entries, item)
+ }
+ }
+ return _tablefeaturesstatsrequest, nil
+}
+
+func NewTableFeaturesStatsRequest() *TableFeaturesStatsRequest {
+ obj := &TableFeaturesStatsRequest{
+ StatsRequest: NewStatsRequest(12),
+ }
+ return obj
+}
+
+type TableMod struct {
+ *Header
+ TableId uint8
+ Config uint32
+}
+
+type ITableMod interface {
+ IHeader
+ GetTableId() uint8
+ GetConfig() uint32
+}
+
+func (self *TableMod) GetTableId() uint8 {
+ return self.TableId
+}
+
+func (self *TableMod) SetTableId(v uint8) {
+ self.TableId = v
+}
+
+func (self *TableMod) GetConfig() uint32 {
+ return self.Config
+}
+
+func (self *TableMod) SetConfig(v uint32) {
+ self.Config = v
+}
+
+func (self *TableMod) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Header.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.TableId))
+ encoder.Write(bytes.Repeat([]byte{0}, 3))
+ encoder.PutUint32(uint32(self.Config))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableMod(parent *Header, decoder *goloxi.Decoder) (*TableMod, error) {
+ _tablemod := &TableMod{Header: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("TableMod packet too short: %d < 8", decoder.Length())
+ }
+ _tablemod.TableId = uint8(decoder.ReadByte())
+ decoder.Skip(3)
+ _tablemod.Config = uint32(decoder.ReadUint32())
+ return _tablemod, nil
+}
+
+func NewTableMod() *TableMod {
+ obj := &TableMod{
+ Header: NewHeader(17),
+ }
+ return obj
+}
+
+type TableModFailedErrorMsg struct {
+ *ErrorMsg
+ Code TableModFailedCode
+ Data []byte
+}
+
+type ITableModFailedErrorMsg interface {
+ IErrorMsg
+ GetCode() TableModFailedCode
+ GetData() []byte
+}
+
+func (self *TableModFailedErrorMsg) GetCode() TableModFailedCode {
+ return self.Code
+}
+
+func (self *TableModFailedErrorMsg) SetCode(v TableModFailedCode) {
+ self.Code = v
+}
+
+func (self *TableModFailedErrorMsg) GetData() []byte {
+ return self.Data
+}
+
+func (self *TableModFailedErrorMsg) SetData(v []byte) {
+ self.Data = v
+}
+
+func (self *TableModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.ErrorMsg.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Code))
+ encoder.Write(self.Data)
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*TableModFailedErrorMsg, error) {
+ _tablemodfailederrormsg := &TableModFailedErrorMsg{ErrorMsg: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("TableModFailedErrorMsg packet too short: %d < 2", decoder.Length())
+ }
+ _tablemodfailederrormsg.Code = TableModFailedCode(decoder.ReadUint16())
+ _tablemodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
+ return _tablemodfailederrormsg, nil
+}
+
+func NewTableModFailedErrorMsg() *TableModFailedErrorMsg {
+ obj := &TableModFailedErrorMsg{
+ ErrorMsg: NewErrorMsg(8),
+ }
+ return obj
+}
+
+type TableStatsReply struct {
+ *StatsReply
+ Entries []*TableStatsEntry
+}
+
+type ITableStatsReply interface {
+ IStatsReply
+ GetEntries() []*TableStatsEntry
+}
+
+func (self *TableStatsReply) GetEntries() []*TableStatsEntry {
+ return self.Entries
+}
+
+func (self *TableStatsReply) SetEntries(v []*TableStatsEntry) {
+ self.Entries = v
+}
+
+func (self *TableStatsReply) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsReply.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+ for _, obj := range self.Entries {
+ if err := obj.Serialize(encoder); err != nil {
+ return err
+ }
+ }
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*TableStatsReply, error) {
+ _tablestatsreply := &TableStatsReply{StatsReply: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("TableStatsReply packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+
+ for decoder.Length() >= 24 {
+ item, err := DecodeTableStatsEntry(decoder)
+ if err != nil {
+ return nil, err
+ }
+ if item != nil {
+ _tablestatsreply.Entries = append(_tablestatsreply.Entries, item)
+ }
+ }
+ return _tablestatsreply, nil
+}
+
+func NewTableStatsReply() *TableStatsReply {
+ obj := &TableStatsReply{
+ StatsReply: NewStatsReply(3),
+ }
+ return obj
+}
+
+type TableStatsRequest struct {
+ *StatsRequest
+}
+
+type ITableStatsRequest interface {
+ IStatsRequest
+}
+
+func (self *TableStatsRequest) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.StatsRequest.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(bytes.Repeat([]byte{0}, 4))
+
+ binary.BigEndian.PutUint16(encoder.Bytes()[2:4], uint16(len(encoder.Bytes())))
+
+ return nil
+}
+
+func DecodeTableStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*TableStatsRequest, error) {
+ _tablestatsrequest := &TableStatsRequest{StatsRequest: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("TableStatsRequest packet too short: %d < 4", decoder.Length())
+ }
+ decoder.Skip(4)
+ return _tablestatsrequest, nil
+}
+
+func NewTableStatsRequest() *TableStatsRequest {
+ obj := &TableStatsRequest{
+ StatsRequest: NewStatsRequest(3),
+ }
+ return obj
+}
diff --git a/vendor/github.com/skydive-project/goloxi/of13/oxm.go b/vendor/github.com/skydive-project/goloxi/of13/oxm.go
new file mode 100644
index 0000000..be8bb7d
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/of13/oxm.go
@@ -0,0 +1,29586 @@
+/*
+ * Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
+ * Copyright (c) 2011, 2012 Open Networking Foundation
+ * Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler.
+ * Copyright 2018, Red Hat, Inc.
+ */
+// Automatically generated by LOXI from template module.go
+// Do not modify
+
+package of13
+
+import (
+ "fmt"
+ "net"
+
+ "github.com/skydive-project/goloxi"
+)
+
+type Oxm struct {
+ TypeLen uint32
+}
+
+type IOxm interface {
+ goloxi.Serializable
+ GetTypeLen() uint32
+ GetOXMName() string
+ GetOXMValue() interface{}
+}
+
+func (self *Oxm) GetTypeLen() uint32 {
+ return self.TypeLen
+}
+
+func (self *Oxm) SetTypeLen(v uint32) {
+ self.TypeLen = v
+}
+
+func (self *Oxm) Serialize(encoder *goloxi.Encoder) error {
+
+ encoder.PutUint32(uint32(self.TypeLen))
+
+ return nil
+}
+
+func DecodeOxm(decoder *goloxi.Decoder) (goloxi.IOxm, error) {
+ _oxm := &Oxm{}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("Oxm packet too short: %d < 4", decoder.Length())
+ }
+ _oxm.TypeLen = uint32(decoder.ReadUint32())
+
+ switch _oxm.TypeLen {
+ case 110204:
+ return DecodeNxmTunMetadata47(_oxm, decoder)
+ case 129026:
+ return DecodeOxmConnTrackingTpSrc(_oxm, decoder)
+ case 65540:
+ return DecodeNxmReg0(_oxm, decoder)
+ case 77830:
+ return DecodeNxmNdSll(_oxm, decoder)
+ case 2147499009:
+ return DecodeOxmIcmpv6Code(_oxm, decoder)
+ case 73736:
+ return DecodeNxmTunId(_oxm, decoder)
+ case 2:
+ return DecodeNxmInPort(_oxm, decoder)
+ case 120848:
+ return DecodeOxmConnTrackingLabel(_oxm, decoder)
+ case 203780:
+ return DecodeOxmBsnUdf6(_oxm, decoder)
+ case 111228:
+ return DecodeNxmTunMetadata49(_oxm, decoder)
+ case 74758:
+ return DecodeNxmArpTha(_oxm, decoder)
+ case 2147503112:
+ return DecodeOxmTunnelId(_oxm, decoder)
+ case 112252:
+ return DecodeNxmTunMetadata51(_oxm, decoder)
+ case 108024:
+ return DecodeNxmTunMetadata42Masked(_oxm, decoder)
+ case 2147495176:
+ return DecodeOxmArpSpaMasked(_oxm, decoder)
+ case 113276:
+ return DecodeNxmTunMetadata53(_oxm, decoder)
+ case 109048:
+ return DecodeNxmTunMetadata44Masked(_oxm, decoder)
+ case 94332:
+ return DecodeNxmTunMetadata16(_oxm, decoder)
+ case 2147483652:
+ return DecodeOxmInPort(_oxm, decoder)
+ case 114300:
+ return DecodeNxmTunMetadata55(_oxm, decoder)
+ case 2050:
+ return DecodeNxmVlanTci(_oxm, decoder)
+ case 3073:
+ return DecodeNxmNwProto(_oxm, decoder)
+ case 110072:
+ return DecodeNxmTunMetadata46Masked(_oxm, decoder)
+ case 2147502338:
+ return DecodeOxmMplsBosMasked(_oxm, decoder)
+ case 66564:
+ return DecodeNxmReg2(_oxm, decoder)
+ case 115324:
+ return DecodeNxmTunMetadata57(_oxm, decoder)
+ case 2147486722:
+ return DecodeOxmVlanVid(_oxm, decoder)
+ case 2147487745:
+ return DecodeOxmIpDscp(_oxm, decoder)
+ case 111096:
+ return DecodeNxmTunMetadata48Masked(_oxm, decoder)
+ case 83204:
+ return DecodeNxmTcpFlagsMasked(_oxm, decoder)
+ case 3588:
+ return DecodeNxmIpSrc(_oxm, decoder)
+ case 198660:
+ return DecodeOxmBsnL3InterfaceClassId(_oxm, decoder)
+ case 2147488769:
+ return DecodeOxmIpProto(_oxm, decoder)
+ case 112120:
+ return DecodeNxmTunMetadata50Masked(_oxm, decoder)
+ case 121872:
+ return DecodeNxmTunIpv6Dst(_oxm, decoder)
+ case 199172:
+ return DecodeOxmBsnL3SrcClassId(_oxm, decoder)
+ case 1030:
+ return DecodeNxmEthSrc(_oxm, decoder)
+ case 68612:
+ return DecodeNxmReg6(_oxm, decoder)
+ case 117372:
+ return DecodeNxmTunMetadata61(_oxm, decoder)
+ case 5122:
+ return DecodeNxmTcpDst(_oxm, decoder)
+ case 113144:
+ return DecodeNxmTunMetadata52Masked(_oxm, decoder)
+ case 122896:
+ return DecodeNxmXxreg1(_oxm, decoder)
+ case 209156:
+ return DecodeOxmBsnInnerVlanVidMasked(_oxm, decoder)
+ case 124192:
+ return DecodeNxmXxreg3Masked(_oxm, decoder)
+ case 81672:
+ return DecodeOxmTunnelIpv4SrcMasked(_oxm, decoder)
+ case 2147485702:
+ return DecodeOxmEthSrc(_oxm, decoder)
+ case 4100:
+ return DecodeNxmIpDst(_oxm, decoder)
+ case 118396:
+ return DecodeNxmTunMetadata63(_oxm, decoder)
+ case 2147494146:
+ return DecodeOxmIcmpv4CodeMasked(_oxm, decoder)
+ case 129284:
+ return DecodeOxmConnTrackingTpSrcMasked(_oxm, decoder)
+ case 114168:
+ return DecodeNxmTunMetadata54Masked(_oxm, decoder)
+ case 123920:
+ return DecodeNxmXxreg3(_oxm, decoder)
+ case 200968:
+ return DecodeOxmBsnUdf0Masked(_oxm, decoder)
+ case 78091:
+ return DecodeNxmNdSllMasked(_oxm, decoder)
+ case 2147496204:
+ return DecodeOxmArpShaMasked(_oxm, decoder)
+ case 74000:
+ return DecodeNxmTunIdMasked(_oxm, decoder)
+ case 86140:
+ return DecodeNxmTunMetadata0(_oxm, decoder)
+ case 70660:
+ return DecodeNxmReg10(_oxm, decoder)
+ case 121120:
+ return DecodeOxmConnTrackingLabelMasked(_oxm, decoder)
+ case 107000:
+ return DecodeNxmTunMetadata40Masked(_oxm, decoder)
+ case 3848:
+ return DecodeNxmIpSrcMasked(_oxm, decoder)
+ case 87164:
+ return DecodeNxmTunMetadata2(_oxm, decoder)
+ case 202756:
+ return DecodeOxmBsnUdf4(_oxm, decoder)
+ case 204802:
+ return DecodeOxmBsnTcpFlags(_oxm, decoder)
+ case 205825:
+ return DecodeOxmBsnL2CacheHit(_oxm, decoder)
+ case 116216:
+ return DecodeNxmTunMetadata58Masked(_oxm, decoder)
+ case 199432:
+ return DecodeOxmBsnL3SrcClassIdMasked(_oxm, decoder)
+ case 88188:
+ return DecodeNxmTunMetadata4(_oxm, decoder)
+ case 72708:
+ return DecodeNxmReg14(_oxm, decoder)
+ case 2147492866:
+ return DecodeOxmSctpDst(_oxm, decoder)
+ case 2147493889:
+ return DecodeOxmIcmpv4Code(_oxm, decoder)
+ case 117240:
+ return DecodeNxmTunMetadata60Masked(_oxm, decoder)
+ case 200196:
+ return DecodeOxmBsnEgrPortGroupId(_oxm, decoder)
+ case 128288:
+ return DecodeOxmConnTrackingIpv6SrcMasked(_oxm, decoder)
+ case 89212:
+ return DecodeNxmTunMetadata6(_oxm, decoder)
+ case 2147500300:
+ return DecodeOxmIpv6NdSllMasked(_oxm, decoder)
+ case 8196:
+ return DecodeNxmArpSpa(_oxm, decoder)
+ case 76801:
+ return DecodeNxmIcmpv6Code(_oxm, decoder)
+ case 118264:
+ return DecodeNxmTunMetadata62Masked(_oxm, decoder)
+ case 70148:
+ return DecodeNxmReg9(_oxm, decoder)
+ case 119560:
+ return DecodeOxmConnTrackingStateMasked(_oxm, decoder)
+ case 90236:
+ return DecodeNxmTunMetadata8(_oxm, decoder)
+ case 119044:
+ return DecodeNxmTunFlagsMasked(_oxm, decoder)
+ case 82696:
+ return DecodeNxmPktMarkMasked(_oxm, decoder)
+ case 4294923528:
+ return DecodeOxmOvsTcpFlagsMasked(_oxm, decoder)
+ case 120584:
+ return DecodeOxmConnTrackingMarkMasked(_oxm, decoder)
+ case 91260:
+ return DecodeNxmTunMetadata10(_oxm, decoder)
+ case 87032:
+ return DecodeNxmTunMetadata1Masked(_oxm, decoder)
+ case 126722:
+ return DecodeOxmConnTrackingNwProtoMasked(_oxm, decoder)
+ case 206852:
+ return DecodeOxmBsnIngressPortGroupId(_oxm, decoder)
+ case 208898:
+ return DecodeOxmBsnInnerVlanVid(_oxm, decoder)
+ case 209921:
+ return DecodeOxmBsnIpFragmentation(_oxm, decoder)
+ case 196896:
+ return DecodeOxmBsnInPorts128Masked(_oxm, decoder)
+ case 92284:
+ return DecodeNxmTunMetadata12(_oxm, decoder)
+ case 88056:
+ return DecodeNxmTunMetadata3Masked(_oxm, decoder)
+ case 2147494916:
+ return DecodeOxmArpSpa(_oxm, decoder)
+ case 79873:
+ return DecodeNxmNwEcn(_oxm, decoder)
+ case 196624:
+ return DecodeOxmBsnInPorts128(_oxm, decoder)
+ case 200456:
+ return DecodeOxmBsnEgrPortGroupIdMasked(_oxm, decoder)
+ case 2147489284:
+ return DecodeOxmIpv4Src(_oxm, decoder)
+ case 93308:
+ return DecodeNxmTunMetadata14(_oxm, decoder)
+ case 115192:
+ return DecodeNxmTunMetadata56Masked(_oxm, decoder)
+ case 2561:
+ return DecodeNxmNwTos(_oxm, decoder)
+ case 129538:
+ return DecodeOxmConnTrackingTpDst(_oxm, decoder)
+ case 2147500550:
+ return DecodeOxmIpv6NdTll(_oxm, decoder)
+ case 84484:
+ return DecodeNxmConjId(_oxm, decoder)
+ case 74246:
+ return DecodeNxmArpSha(_oxm, decoder)
+ case 198402:
+ return DecodeOxmBsnGlobalVrfAllowedMasked(_oxm, decoder)
+ case 123408:
+ return DecodeNxmXxreg2(_oxm, decoder)
+ case 90104:
+ return DecodeNxmTunMetadata7Masked(_oxm, decoder)
+ case 2147486468:
+ return DecodeOxmEthTypeMasked(_oxm, decoder)
+ case 204552:
+ return DecodeOxmBsnUdf7Masked(_oxm, decoder)
+ case 91128:
+ return DecodeNxmTunMetadata9Masked(_oxm, decoder)
+ case 83720:
+ return DecodeNxmDpHashMasked(_oxm, decoder)
+ case 2147495942:
+ return DecodeOxmArpSha(_oxm, decoder)
+ case 2147497988:
+ return DecodeOxmIpv6Flabel(_oxm, decoder)
+ case 78603:
+ return DecodeNxmNdTllMasked(_oxm, decoder)
+ case 208652:
+ return DecodeOxmBsnInnerEthSrcMasked(_oxm, decoder)
+ case 2147503376:
+ return DecodeOxmTunnelIdMasked(_oxm, decoder)
+ case 96380:
+ return DecodeNxmTunMetadata20(_oxm, decoder)
+ case 92152:
+ return DecodeNxmTunMetadata11Masked(_oxm, decoder)
+ case 129796:
+ return DecodeOxmConnTrackingTpDstMasked(_oxm, decoder)
+ case 80897:
+ return DecodeNxmMplsTtl(_oxm, decoder)
+ case 2147489544:
+ return DecodeOxmIpv4SrcMasked(_oxm, decoder)
+ case 97404:
+ return DecodeNxmTunMetadata22(_oxm, decoder)
+ case 93176:
+ return DecodeNxmTunMetadata13Masked(_oxm, decoder)
+ case 94844:
+ return DecodeNxmTunMetadata17(_oxm, decoder)
+ case 81924:
+ return DecodeOxmTunnelIpv4Dst(_oxm, decoder)
+ case 127752:
+ return DecodeOxmConnTrackingNwDstMasked(_oxm, decoder)
+ case 98428:
+ return DecodeNxmTunMetadata24(_oxm, decoder)
+ case 94200:
+ return DecodeNxmTunMetadata15Masked(_oxm, decoder)
+ case 2147489026:
+ return DecodeOxmIpProtoMasked(_oxm, decoder)
+ case 2147501060:
+ return DecodeOxmMplsLabel(_oxm, decoder)
+ case 84994:
+ return DecodeNxmTunGbpId(_oxm, decoder)
+ case 99452:
+ return DecodeNxmTunMetadata26(_oxm, decoder)
+ case 95224:
+ return DecodeNxmTunMetadata17Masked(_oxm, decoder)
+ case 2147500038:
+ return DecodeOxmIpv6NdSll(_oxm, decoder)
+ case 83972:
+ return DecodeNxmRecircId(_oxm, decoder)
+ case 128800:
+ return DecodeOxmConnTrackingIpv6DstMasked(_oxm, decoder)
+ case 72196:
+ return DecodeNxmReg13(_oxm, decoder)
+ case 100476:
+ return DecodeNxmTunMetadata28(_oxm, decoder)
+ case 96248:
+ return DecodeNxmTunMetadata19Masked(_oxm, decoder)
+ case 2147488514:
+ return DecodeOxmIpEcnMasked(_oxm, decoder)
+ case 112764:
+ return DecodeNxmTunMetadata52(_oxm, decoder)
+ case 101500:
+ return DecodeNxmTunMetadata30(_oxm, decoder)
+ case 97272:
+ return DecodeNxmTunMetadata21Masked(_oxm, decoder)
+ case 2147483912:
+ return DecodeOxmInPortMasked(_oxm, decoder)
+ case 2147498754:
+ return DecodeOxmIcmpv6TypeMasked(_oxm, decoder)
+ case 209668:
+ return DecodeOxmBsnVfiMasked(_oxm, decoder)
+ case 70408:
+ return DecodeNxmReg9Masked(_oxm, decoder)
+ case 74507:
+ return DecodeNxmArpShaMasked(_oxm, decoder)
+ case 2147496716:
+ return DecodeOxmArpThaMasked(_oxm, decoder)
+ case 197384:
+ return DecodeOxmBsnLagIdMasked(_oxm, decoder)
+ case 76064:
+ return DecodeNxmIpv6DstMasked(_oxm, decoder)
+ case 102524:
+ return DecodeNxmTunMetadata32(_oxm, decoder)
+ case 98296:
+ return DecodeNxmTunMetadata23Masked(_oxm, decoder)
+ case 4868:
+ return DecodeNxmTcpSrcMasked(_oxm, decoder)
+ case 121632:
+ return DecodeNxmTunIpv6SrcMasked(_oxm, decoder)
+ case 75792:
+ return DecodeNxmIpv6Dst(_oxm, decoder)
+ case 202504:
+ return DecodeOxmBsnUdf3Masked(_oxm, decoder)
+ case 120324:
+ return DecodeOxmConnTrackingMark(_oxm, decoder)
+ case 99320:
+ return DecodeNxmTunMetadata25Masked(_oxm, decoder)
+ case 66824:
+ return DecodeNxmReg2Masked(_oxm, decoder)
+ case 72456:
+ return DecodeNxmReg13Masked(_oxm, decoder)
+ case 68360:
+ return DecodeNxmReg5Masked(_oxm, decoder)
+ case 104572:
+ return DecodeNxmTunMetadata36(_oxm, decoder)
+ case 95356:
+ return DecodeNxmTunMetadata18(_oxm, decoder)
+ case 100344:
+ return DecodeNxmTunMetadata27Masked(_oxm, decoder)
+ case 2147490564:
+ return DecodeOxmTcpSrcMasked(_oxm, decoder)
+ case 4294923270:
+ return DecodeOxmOvsTcpFlags(_oxm, decoder)
+ case 779:
+ return DecodeNxmEthDstMasked(_oxm, decoder)
+ case 69384:
+ return DecodeNxmReg7Masked(_oxm, decoder)
+ case 2147497248:
+ return DecodeOxmIpv6SrcMasked(_oxm, decoder)
+ case 105596:
+ return DecodeNxmTunMetadata38(_oxm, decoder)
+ case 101368:
+ return DecodeNxmTunMetadata29Masked(_oxm, decoder)
+ case 2147491588:
+ return DecodeOxmUdpSrcMasked(_oxm, decoder)
+ case 108668:
+ return DecodeNxmTunMetadata44(_oxm, decoder)
+ case 2147496976:
+ return DecodeOxmIpv6Src(_oxm, decoder)
+ case 201480:
+ return DecodeOxmBsnUdf1Masked(_oxm, decoder)
+ case 106620:
+ return DecodeNxmTunMetadata40(_oxm, decoder)
+ case 102392:
+ return DecodeNxmTunMetadata31Masked(_oxm, decoder)
+ case 2147492612:
+ return DecodeOxmSctpSrcMasked(_oxm, decoder)
+ case 204292:
+ return DecodeOxmBsnUdf7(_oxm, decoder)
+ case 71432:
+ return DecodeNxmReg11Masked(_oxm, decoder)
+ case 107644:
+ return DecodeNxmTunMetadata42(_oxm, decoder)
+ case 103416:
+ return DecodeNxmTunMetadata33Masked(_oxm, decoder)
+ case 2147498248:
+ return DecodeOxmIpv6FlabelMasked(_oxm, decoder)
+ case 203528:
+ return DecodeOxmBsnUdf5Masked(_oxm, decoder)
+ case 89592:
+ return DecodeNxmTunMetadata6Masked(_oxm, decoder)
+ case 104440:
+ return DecodeNxmTunMetadata35Masked(_oxm, decoder)
+ case 2147494660:
+ return DecodeOxmArpOpMasked(_oxm, decoder)
+ case 197636:
+ return DecodeOxmBsnVrf(_oxm, decoder)
+ case 73480:
+ return DecodeNxmReg15Masked(_oxm, decoder)
+ case 109692:
+ return DecodeNxmTunMetadata46(_oxm, decoder)
+ case 105464:
+ return DecodeNxmTunMetadata37Masked(_oxm, decoder)
+ case 89080:
+ return DecodeNxmTunMetadata5Masked(_oxm, decoder)
+ case 67588:
+ return DecodeNxmReg4(_oxm, decoder)
+ case 7169:
+ return DecodeNxmIcmpCode(_oxm, decoder)
+ case 82946:
+ return DecodeNxmTcpFlags(_oxm, decoder)
+ case 199684:
+ return DecodeOxmBsnL3DstClassId(_oxm, decoder)
+ case 207878:
+ return DecodeOxmBsnInnerEthDst(_oxm, decoder)
+ case 198145:
+ return DecodeOxmBsnGlobalVrfAllowed(_oxm, decoder)
+ case 2147484680:
+ return DecodeOxmMetadata(_oxm, decoder)
+ case 1538:
+ return DecodeNxmEthType(_oxm, decoder)
+ case 8968:
+ return DecodeNxmArpTpaMasked(_oxm, decoder)
+ case 128016:
+ return DecodeOxmConnTrackingIpv6Src(_oxm, decoder)
+ case 110716:
+ return DecodeNxmTunMetadata48(_oxm, decoder)
+ case 127492:
+ return DecodeOxmConnTrackingNwDst(_oxm, decoder)
+ case 2147502081:
+ return DecodeOxmMplsBos(_oxm, decoder)
+ case 78342:
+ return DecodeNxmNdTll(_oxm, decoder)
+ case 111740:
+ return DecodeNxmTunMetadata50(_oxm, decoder)
+ case 107512:
+ return DecodeNxmTunMetadata41Masked(_oxm, decoder)
+ case 207624:
+ return DecodeOxmBsnVxlanNetworkIdMasked(_oxm, decoder)
+ case 121360:
+ return DecodeNxmTunIpv6Src(_oxm, decoder)
+ case 2147495688:
+ return DecodeOxmArpTpaMasked(_oxm, decoder)
+ case 113788:
+ return DecodeNxmTunMetadata54(_oxm, decoder)
+ case 109560:
+ return DecodeNxmTunMetadata45Masked(_oxm, decoder)
+ case 2147501826:
+ return DecodeOxmMplsTcMasked(_oxm, decoder)
+ case 103548:
+ return DecodeNxmTunMetadata34(_oxm, decoder)
+ case 66052:
+ return DecodeNxmReg1(_oxm, decoder)
+ case 205316:
+ return DecodeOxmBsnVlanXlatePortGroupId(_oxm, decoder)
+ case 114812:
+ return DecodeNxmTunMetadata56(_oxm, decoder)
+ case 2147486210:
+ return DecodeOxmEthType(_oxm, decoder)
+ case 2147487233:
+ return DecodeOxmVlanPcp(_oxm, decoder)
+ case 110584:
+ return DecodeNxmTunMetadata47Masked(_oxm, decoder)
+ case 79624:
+ return DecodeNxmIpv6LabelMasked(_oxm, decoder)
+ case 115836:
+ return DecodeNxmTunMetadata58(_oxm, decoder)
+ case 2147488257:
+ return DecodeOxmIpEcn(_oxm, decoder)
+ case 111608:
+ return DecodeNxmTunMetadata49Masked(_oxm, decoder)
+ case 85762:
+ return DecodeNxmTunGbpFlagsMasked(_oxm, decoder)
+ case 518:
+ return DecodeNxmEthDst(_oxm, decoder)
+ case 68100:
+ return DecodeNxmReg5(_oxm, decoder)
+ case 116860:
+ return DecodeNxmTunMetadata60(_oxm, decoder)
+ case 4610:
+ return DecodeNxmTcpSrc(_oxm, decoder)
+ case 112632:
+ return DecodeNxmTunMetadata51Masked(_oxm, decoder)
+ case 122384:
+ return DecodeNxmXxreg0(_oxm, decoder)
+ case 123680:
+ return DecodeNxmXxreg2Masked(_oxm, decoder)
+ case 2147485190:
+ return DecodeOxmEthDst(_oxm, decoder)
+ case 69124:
+ return DecodeNxmReg7(_oxm, decoder)
+ case 117884:
+ return DecodeNxmTunMetadata62(_oxm, decoder)
+ case 5634:
+ return DecodeNxmUdpSrc(_oxm, decoder)
+ case 6657:
+ return DecodeNxmIcmpType(_oxm, decoder)
+ case 113656:
+ return DecodeNxmTunMetadata53Masked(_oxm, decoder)
+ case 2147503876:
+ return DecodeOxmIpv6ExthdrMasked(_oxm, decoder)
+ case 198920:
+ return DecodeOxmBsnL3InterfaceClassIdMasked(_oxm, decoder)
+ case 210178:
+ return DecodeOxmBsnIpFragmentationMasked(_oxm, decoder)
+ case 120068:
+ return DecodeOxmConnTrackingZoneMasked(_oxm, decoder)
+ case 1286:
+ return DecodeNxmEthSrcMasked(_oxm, decoder)
+ case 204040:
+ return DecodeOxmBsnUdf6Masked(_oxm, decoder)
+ case 75019:
+ return DecodeNxmArpThaMasked(_oxm, decoder)
+ case 208140:
+ return DecodeOxmBsnInnerEthDstMasked(_oxm, decoder)
+ case 201220:
+ return DecodeOxmBsnUdf1(_oxm, decoder)
+ case 205576:
+ return DecodeOxmBsnVlanXlatePortGroupIdMasked(_oxm, decoder)
+ case 2147484944:
+ return DecodeOxmMetadataMasked(_oxm, decoder)
+ case 6146:
+ return DecodeNxmUdpDst(_oxm, decoder)
+ case 2147490306:
+ return DecodeOxmTcpSrc(_oxm, decoder)
+ case 114680:
+ return DecodeNxmTunMetadata55Masked(_oxm, decoder)
+ case 122144:
+ return DecodeNxmTunIpv6DstMasked(_oxm, decoder)
+ case 86652:
+ return DecodeNxmTunMetadata1(_oxm, decoder)
+ case 202244:
+ return DecodeOxmBsnUdf3(_oxm, decoder)
+ case 2147491330:
+ return DecodeOxmUdpSrc(_oxm, decoder)
+ case 115704:
+ return DecodeNxmTunMetadata57Masked(_oxm, decoder)
+ case 69636:
+ return DecodeNxmReg8(_oxm, decoder)
+ case 87676:
+ return DecodeNxmTunMetadata3(_oxm, decoder)
+ case 82184:
+ return DecodeOxmTunnelIpv4DstMasked(_oxm, decoder)
+ case 203268:
+ return DecodeOxmBsnUdf5(_oxm, decoder)
+ case 2147492354:
+ return DecodeOxmSctpSrc(_oxm, decoder)
+ case 2147493377:
+ return DecodeOxmIcmpv4Type(_oxm, decoder)
+ case 116728:
+ return DecodeNxmTunMetadata59Masked(_oxm, decoder)
+ case 88700:
+ return DecodeNxmTunMetadata5(_oxm, decoder)
+ case 73220:
+ return DecodeNxmReg15(_oxm, decoder)
+ case 76289:
+ return DecodeNxmIcmpv6Type(_oxm, decoder)
+ case 117752:
+ return DecodeNxmTunMetadata61Masked(_oxm, decoder)
+ case 4360:
+ return DecodeNxmIpDstMasked(_oxm, decoder)
+ case 89724:
+ return DecodeNxmTunMetadata7(_oxm, decoder)
+ case 2147500812:
+ return DecodeOxmIpv6NdTllMasked(_oxm, decoder)
+ case 8708:
+ return DecodeNxmArpTpa(_oxm, decoder)
+ case 2147494402:
+ return DecodeOxmArpOp(_oxm, decoder)
+ case 118776:
+ return DecodeNxmTunMetadata63Masked(_oxm, decoder)
+ case 199944:
+ return DecodeOxmBsnL3DstClassIdMasked(_oxm, decoder)
+ case 90748:
+ return DecodeNxmTunMetadata9(_oxm, decoder)
+ case 86520:
+ return DecodeNxmTunMetadata0Masked(_oxm, decoder)
+ case 2147487490:
+ return DecodeOxmVlanPcpMasked(_oxm, decoder)
+ case 2147492100:
+ return DecodeOxmUdpDstMasked(_oxm, decoder)
+ case 2147501320:
+ return DecodeOxmMplsLabelMasked(_oxm, decoder)
+ case 197124:
+ return DecodeOxmBsnLagId(_oxm, decoder)
+ case 78849:
+ return DecodeNxmIpFrag(_oxm, decoder)
+ case 2147490818:
+ return DecodeOxmTcpDst(_oxm, decoder)
+ case 200708:
+ return DecodeOxmBsnUdf0(_oxm, decoder)
+ case 91772:
+ return DecodeNxmTunMetadata11(_oxm, decoder)
+ case 87544:
+ return DecodeNxmTunMetadata2Masked(_oxm, decoder)
+ case 207364:
+ return DecodeOxmBsnVxlanNetworkId(_oxm, decoder)
+ case 209410:
+ return DecodeOxmBsnVfi(_oxm, decoder)
+ case 2147498497:
+ return DecodeOxmIcmpv6Type(_oxm, decoder)
+ case 92796:
+ return DecodeNxmTunMetadata13(_oxm, decoder)
+ case 88568:
+ return DecodeNxmTunMetadata4Masked(_oxm, decoder)
+ case 2147495428:
+ return DecodeOxmArpTpa(_oxm, decoder)
+ case 80385:
+ return DecodeNxmNwTtl(_oxm, decoder)
+ case 105976:
+ return DecodeNxmTunMetadata38Masked(_oxm, decoder)
+ case 126465:
+ return DecodeOxmConnTrackingNwProto(_oxm, decoder)
+ case 7682:
+ return DecodeNxmArpOp(_oxm, decoder)
+ case 71172:
+ return DecodeNxmReg11(_oxm, decoder)
+ case 208390:
+ return DecodeOxmBsnInnerEthSrc(_oxm, decoder)
+ case 2147499266:
+ return DecodeOxmIcmpv6CodeMasked(_oxm, decoder)
+ case 128528:
+ return DecodeOxmConnTrackingIpv6Dst(_oxm, decoder)
+ case 85252:
+ return DecodeNxmTunGbpIdMasked(_oxm, decoder)
+ case 90616:
+ return DecodeNxmTunMetadata8Masked(_oxm, decoder)
+ case 79364:
+ return DecodeNxmIpv6Label(_oxm, decoder)
+ case 207112:
+ return DecodeOxmBsnIngressPortGroupIdMasked(_oxm, decoder)
+ case 2147489796:
+ return DecodeOxmIpv4Dst(_oxm, decoder)
+ case 206400:
+ return DecodeOxmBsnInPorts512(_oxm, decoder)
+ case 95868:
+ return DecodeNxmTunMetadata19(_oxm, decoder)
+ case 91640:
+ return DecodeNxmTunMetadata10Masked(_oxm, decoder)
+ case 2147485964:
+ return DecodeOxmEthSrcMasked(_oxm, decoder)
+ case 2147496454:
+ return DecodeOxmArpTha(_oxm, decoder)
+ case 2147491842:
+ return DecodeOxmUdpDst(_oxm, decoder)
+ case 2147501569:
+ return DecodeOxmMplsTc(_oxm, decoder)
+ case 70920:
+ return DecodeNxmReg10Masked(_oxm, decoder)
+ case 96892:
+ return DecodeNxmTunMetadata21(_oxm, decoder)
+ case 92664:
+ return DecodeNxmTunMetadata12Masked(_oxm, decoder)
+ case 205060:
+ return DecodeOxmBsnTcpFlagsMasked(_oxm, decoder)
+ case 81412:
+ return DecodeOxmTunnelIpv4Src(_oxm, decoder)
+ case 99964:
+ return DecodeNxmTunMetadata27(_oxm, decoder)
+ case 71684:
+ return DecodeNxmReg12(_oxm, decoder)
+ case 127240:
+ return DecodeOxmConnTrackingNwSrcMasked(_oxm, decoder)
+ case 97916:
+ return DecodeNxmTunMetadata23(_oxm, decoder)
+ case 93688:
+ return DecodeNxmTunMetadata14Masked(_oxm, decoder)
+ case 82436:
+ return DecodeNxmPktMark(_oxm, decoder)
+ case 85505:
+ return DecodeNxmTunGbpFlags(_oxm, decoder)
+ case 98940:
+ return DecodeNxmTunMetadata25(_oxm, decoder)
+ case 94712:
+ return DecodeNxmTunMetadata16Masked(_oxm, decoder)
+ case 83460:
+ return DecodeNxmDpHash(_oxm, decoder)
+ case 2147503618:
+ return DecodeOxmIpv6Exthdr(_oxm, decoder)
+ case 2147490056:
+ return DecodeOxmIpv4DstMasked(_oxm, decoder)
+ case 123168:
+ return DecodeNxmXxreg1Masked(_oxm, decoder)
+ case 118786:
+ return DecodeNxmTunFlags(_oxm, decoder)
+ case 95736:
+ return DecodeNxmTunMetadata18Masked(_oxm, decoder)
+ case 2308:
+ return DecodeNxmVlanTciMasked(_oxm, decoder)
+ case 2147484164:
+ return DecodeOxmInPhyPort(_oxm, decoder)
+ case 2147488002:
+ return DecodeOxmIpDscpMasked(_oxm, decoder)
+ case 100988:
+ return DecodeNxmTunMetadata29(_oxm, decoder)
+ case 119810:
+ return DecodeOxmConnTrackingZone(_oxm, decoder)
+ case 96760:
+ return DecodeNxmTunMetadata20Masked(_oxm, decoder)
+ case 2147486980:
+ return DecodeOxmVlanVidMasked(_oxm, decoder)
+ case 116348:
+ return DecodeNxmTunMetadata59(_oxm, decoder)
+ case 5378:
+ return DecodeNxmTcpDstMasked(_oxm, decoder)
+ case 71944:
+ return DecodeNxmReg12Masked(_oxm, decoder)
+ case 65800:
+ return DecodeNxmReg0Masked(_oxm, decoder)
+ case 75552:
+ return DecodeNxmIpv6SrcMasked(_oxm, decoder)
+ case 102012:
+ return DecodeNxmTunMetadata31(_oxm, decoder)
+ case 2147493634:
+ return DecodeOxmIcmpv4TypeMasked(_oxm, decoder)
+ case 5892:
+ return DecodeNxmUdpSrcMasked(_oxm, decoder)
+ case 97784:
+ return DecodeNxmTunMetadata22Masked(_oxm, decoder)
+ case 67336:
+ return DecodeNxmReg3Masked(_oxm, decoder)
+ case 2147485452:
+ return DecodeOxmEthDstMasked(_oxm, decoder)
+ case 75280:
+ return DecodeNxmIpv6Src(_oxm, decoder)
+ case 197896:
+ return DecodeOxmBsnVrfMasked(_oxm, decoder)
+ case 122656:
+ return DecodeNxmXxreg0Masked(_oxm, decoder)
+ case 103036:
+ return DecodeNxmTunMetadata33(_oxm, decoder)
+ case 98808:
+ return DecodeNxmTunMetadata24Masked(_oxm, decoder)
+ case 67848:
+ return DecodeNxmReg4Masked(_oxm, decoder)
+ case 77600:
+ return DecodeNxmNdTargetMasked(_oxm, decoder)
+ case 104060:
+ return DecodeNxmTunMetadata35(_oxm, decoder)
+ case 99832:
+ return DecodeNxmTunMetadata26Masked(_oxm, decoder)
+ case 6404:
+ return DecodeNxmUdpDstMasked(_oxm, decoder)
+ case 2147484424:
+ return DecodeOxmInPhyPortMasked(_oxm, decoder)
+ case 77328:
+ return DecodeNxmNdTarget(_oxm, decoder)
+ case 68872:
+ return DecodeNxmReg6Masked(_oxm, decoder)
+ case 105084:
+ return DecodeNxmTunMetadata37(_oxm, decoder)
+ case 100856:
+ return DecodeNxmTunMetadata28Masked(_oxm, decoder)
+ case 2147491076:
+ return DecodeOxmTcpDstMasked(_oxm, decoder)
+ case 206082:
+ return DecodeOxmBsnL2CacheHitMasked(_oxm, decoder)
+ case 69896:
+ return DecodeNxmReg8Masked(_oxm, decoder)
+ case 2147497760:
+ return DecodeOxmIpv6DstMasked(_oxm, decoder)
+ case 206720:
+ return DecodeOxmBsnInPorts512Masked(_oxm, decoder)
+ case 106108:
+ return DecodeNxmTunMetadata39(_oxm, decoder)
+ case 101880:
+ return DecodeNxmTunMetadata30Masked(_oxm, decoder)
+ case 8452:
+ return DecodeNxmArpSpaMasked(_oxm, decoder)
+ case 66312:
+ return DecodeNxmReg1Masked(_oxm, decoder)
+ case 2147497488:
+ return DecodeOxmIpv6Dst(_oxm, decoder)
+ case 201992:
+ return DecodeOxmBsnUdf2Masked(_oxm, decoder)
+ case 107132:
+ return DecodeNxmTunMetadata41(_oxm, decoder)
+ case 102904:
+ return DecodeNxmTunMetadata32Masked(_oxm, decoder)
+ case 2147493124:
+ return DecodeOxmSctpDstMasked(_oxm, decoder)
+ case 67076:
+ return DecodeNxmReg3(_oxm, decoder)
+ case 119300:
+ return DecodeOxmConnTrackingState(_oxm, decoder)
+ case 203016:
+ return DecodeOxmBsnUdf4Masked(_oxm, decoder)
+ case 2147499808:
+ return DecodeOxmIpv6NdTargetMasked(_oxm, decoder)
+ case 108156:
+ return DecodeNxmTunMetadata43(_oxm, decoder)
+ case 103928:
+ return DecodeNxmTunMetadata34Masked(_oxm, decoder)
+ case 106488:
+ return DecodeNxmTunMetadata39Masked(_oxm, decoder)
+ case 201732:
+ return DecodeOxmBsnUdf2(_oxm, decoder)
+ case 2147499536:
+ return DecodeOxmIpv6NdTarget(_oxm, decoder)
+ case 72968:
+ return DecodeNxmReg14Masked(_oxm, decoder)
+ case 109180:
+ return DecodeNxmTunMetadata45(_oxm, decoder)
+ case 104952:
+ return DecodeNxmTunMetadata36Masked(_oxm, decoder)
+ case 93820:
+ return DecodeNxmTunMetadata15(_oxm, decoder)
+ case 79106:
+ return DecodeNxmIpFragMasked(_oxm, decoder)
+ case 108536:
+ return DecodeNxmTunMetadata43Masked(_oxm, decoder)
+ case 126980:
+ return DecodeOxmConnTrackingNwSrc(_oxm, decoder)
+ default:
+ return nil, nil
+ }
+}
+
+func NewOxm(_type_len uint32) *Oxm {
+ obj := &Oxm{}
+ obj.TypeLen = _type_len
+ return obj
+}
+
+type NxmArpOp struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmArpOp interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmArpOp) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmArpOp) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmArpOp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmArpOp(parent *Oxm, decoder *goloxi.Decoder) (*NxmArpOp, error) {
+ _nxmarpop := &NxmArpOp{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmArpOp packet too short: %d < 2", decoder.Length())
+ }
+ _nxmarpop.Value = uint16(decoder.ReadUint16())
+ return _nxmarpop, nil
+}
+
+func NewNxmArpOp() *NxmArpOp {
+ obj := &NxmArpOp{
+ Oxm: NewOxm(7682),
+ }
+ return obj
+}
+func (self *NxmArpOp) GetOXMName() string {
+ return "arp_op"
+}
+
+func (self *NxmArpOp) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmArpOp) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmArpSha struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type INxmArpSha interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *NxmArpSha) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmArpSha) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmArpSha) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmArpSha(parent *Oxm, decoder *goloxi.Decoder) (*NxmArpSha, error) {
+ _nxmarpsha := &NxmArpSha{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("NxmArpSha packet too short: %d < 6", decoder.Length())
+ }
+ _nxmarpsha.Value = net.HardwareAddr(decoder.Read(6))
+ return _nxmarpsha, nil
+}
+
+func NewNxmArpSha() *NxmArpSha {
+ obj := &NxmArpSha{
+ Oxm: NewOxm(74246),
+ }
+ return obj
+}
+func (self *NxmArpSha) GetOXMName() string {
+ return "arp_sha"
+}
+
+func (self *NxmArpSha) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmArpSha) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmArpShaMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type INxmArpShaMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *NxmArpShaMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmArpShaMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmArpShaMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *NxmArpShaMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *NxmArpShaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmArpShaMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmArpShaMasked, error) {
+ _nxmarpshamasked := &NxmArpShaMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("NxmArpShaMasked packet too short: %d < 12", decoder.Length())
+ }
+ _nxmarpshamasked.Value = net.HardwareAddr(decoder.Read(6))
+ _nxmarpshamasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _nxmarpshamasked, nil
+}
+
+func NewNxmArpShaMasked() *NxmArpShaMasked {
+ obj := &NxmArpShaMasked{
+ Oxm: NewOxm(74507),
+ }
+ return obj
+}
+func (self *NxmArpShaMasked) GetOXMName() string {
+ return "arp_sha_masked"
+}
+
+func (self *NxmArpShaMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmArpShaMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmArpShaMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmArpSpa struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmArpSpa interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmArpSpa) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmArpSpa) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmArpSpa) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeNxmArpSpa(parent *Oxm, decoder *goloxi.Decoder) (*NxmArpSpa, error) {
+ _nxmarpspa := &NxmArpSpa{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmArpSpa packet too short: %d < 4", decoder.Length())
+ }
+ _nxmarpspa.Value = net.IP(decoder.Read(4))
+ return _nxmarpspa, nil
+}
+
+func NewNxmArpSpa() *NxmArpSpa {
+ obj := &NxmArpSpa{
+ Oxm: NewOxm(8196),
+ }
+ return obj
+}
+func (self *NxmArpSpa) GetOXMName() string {
+ return "arp_spa"
+}
+
+func (self *NxmArpSpa) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmArpSpa) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmArpSpaMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmArpSpaMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmArpSpaMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmArpSpaMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmArpSpaMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmArpSpaMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmArpSpaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeNxmArpSpaMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmArpSpaMasked, error) {
+ _nxmarpspamasked := &NxmArpSpaMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmArpSpaMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmarpspamasked.Value = net.IP(decoder.Read(4))
+ _nxmarpspamasked.ValueMask = net.IP(decoder.Read(4))
+ return _nxmarpspamasked, nil
+}
+
+func NewNxmArpSpaMasked() *NxmArpSpaMasked {
+ obj := &NxmArpSpaMasked{
+ Oxm: NewOxm(8452),
+ }
+ return obj
+}
+func (self *NxmArpSpaMasked) GetOXMName() string {
+ return "arp_spa_masked"
+}
+
+func (self *NxmArpSpaMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmArpSpaMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmArpSpaMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmArpTha struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type INxmArpTha interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *NxmArpTha) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmArpTha) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmArpTha) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmArpTha(parent *Oxm, decoder *goloxi.Decoder) (*NxmArpTha, error) {
+ _nxmarptha := &NxmArpTha{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("NxmArpTha packet too short: %d < 6", decoder.Length())
+ }
+ _nxmarptha.Value = net.HardwareAddr(decoder.Read(6))
+ return _nxmarptha, nil
+}
+
+func NewNxmArpTha() *NxmArpTha {
+ obj := &NxmArpTha{
+ Oxm: NewOxm(74758),
+ }
+ return obj
+}
+func (self *NxmArpTha) GetOXMName() string {
+ return "arp_tha"
+}
+
+func (self *NxmArpTha) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmArpTha) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmArpThaMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type INxmArpThaMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *NxmArpThaMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmArpThaMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmArpThaMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *NxmArpThaMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *NxmArpThaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmArpThaMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmArpThaMasked, error) {
+ _nxmarpthamasked := &NxmArpThaMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("NxmArpThaMasked packet too short: %d < 12", decoder.Length())
+ }
+ _nxmarpthamasked.Value = net.HardwareAddr(decoder.Read(6))
+ _nxmarpthamasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _nxmarpthamasked, nil
+}
+
+func NewNxmArpThaMasked() *NxmArpThaMasked {
+ obj := &NxmArpThaMasked{
+ Oxm: NewOxm(75019),
+ }
+ return obj
+}
+func (self *NxmArpThaMasked) GetOXMName() string {
+ return "arp_tha_masked"
+}
+
+func (self *NxmArpThaMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmArpThaMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmArpThaMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmArpTpa struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmArpTpa interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmArpTpa) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmArpTpa) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmArpTpa) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeNxmArpTpa(parent *Oxm, decoder *goloxi.Decoder) (*NxmArpTpa, error) {
+ _nxmarptpa := &NxmArpTpa{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmArpTpa packet too short: %d < 4", decoder.Length())
+ }
+ _nxmarptpa.Value = net.IP(decoder.Read(4))
+ return _nxmarptpa, nil
+}
+
+func NewNxmArpTpa() *NxmArpTpa {
+ obj := &NxmArpTpa{
+ Oxm: NewOxm(8708),
+ }
+ return obj
+}
+func (self *NxmArpTpa) GetOXMName() string {
+ return "arp_tpa"
+}
+
+func (self *NxmArpTpa) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmArpTpa) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmArpTpaMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmArpTpaMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmArpTpaMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmArpTpaMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmArpTpaMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmArpTpaMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmArpTpaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeNxmArpTpaMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmArpTpaMasked, error) {
+ _nxmarptpamasked := &NxmArpTpaMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmArpTpaMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmarptpamasked.Value = net.IP(decoder.Read(4))
+ _nxmarptpamasked.ValueMask = net.IP(decoder.Read(4))
+ return _nxmarptpamasked, nil
+}
+
+func NewNxmArpTpaMasked() *NxmArpTpaMasked {
+ obj := &NxmArpTpaMasked{
+ Oxm: NewOxm(8968),
+ }
+ return obj
+}
+func (self *NxmArpTpaMasked) GetOXMName() string {
+ return "arp_tpa_masked"
+}
+
+func (self *NxmArpTpaMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmArpTpaMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmArpTpaMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmConjId struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmConjId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmConjId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmConjId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmConjId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmConjId(parent *Oxm, decoder *goloxi.Decoder) (*NxmConjId, error) {
+ _nxmconjid := &NxmConjId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmConjId packet too short: %d < 4", decoder.Length())
+ }
+ _nxmconjid.Value = uint32(decoder.ReadUint32())
+ return _nxmconjid, nil
+}
+
+func NewNxmConjId() *NxmConjId {
+ obj := &NxmConjId{
+ Oxm: NewOxm(84484),
+ }
+ return obj
+}
+func (self *NxmConjId) GetOXMName() string {
+ return "conj_id"
+}
+
+func (self *NxmConjId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmConjId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtIpv6Dst struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmCtIpv6Dst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmCtIpv6Dst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmCtIpv6Dst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmCtIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeNxmCtIpv6Dst(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtIpv6Dst, error) {
+ _nxmctipv6dst := &NxmCtIpv6Dst{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmCtIpv6Dst packet too short: %d < 16", decoder.Length())
+ }
+ _nxmctipv6dst.Value = net.IP(decoder.Read(16))
+ return _nxmctipv6dst, nil
+}
+
+func NewNxmCtIpv6Dst() *NxmCtIpv6Dst {
+ obj := &NxmCtIpv6Dst{
+ Oxm: NewOxm(128528),
+ }
+ return obj
+}
+func (self *NxmCtIpv6Dst) GetOXMName() string {
+ return "ct_ipv6_dst"
+}
+
+func (self *NxmCtIpv6Dst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtIpv6Dst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtIpv6DstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmCtIpv6DstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmCtIpv6DstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmCtIpv6DstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmCtIpv6DstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmCtIpv6DstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmCtIpv6DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeNxmCtIpv6DstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtIpv6DstMasked, error) {
+ _nxmctipv6dstmasked := &NxmCtIpv6DstMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmCtIpv6DstMasked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmctipv6dstmasked.Value = net.IP(decoder.Read(16))
+ _nxmctipv6dstmasked.ValueMask = net.IP(decoder.Read(16))
+ return _nxmctipv6dstmasked, nil
+}
+
+func NewNxmCtIpv6DstMasked() *NxmCtIpv6DstMasked {
+ obj := &NxmCtIpv6DstMasked{
+ Oxm: NewOxm(128800),
+ }
+ return obj
+}
+func (self *NxmCtIpv6DstMasked) GetOXMName() string {
+ return "ct_ipv6_dst_masked"
+}
+
+func (self *NxmCtIpv6DstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtIpv6DstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmCtIpv6DstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmCtIpv6Src struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmCtIpv6Src interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmCtIpv6Src) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmCtIpv6Src) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmCtIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeNxmCtIpv6Src(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtIpv6Src, error) {
+ _nxmctipv6src := &NxmCtIpv6Src{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmCtIpv6Src packet too short: %d < 16", decoder.Length())
+ }
+ _nxmctipv6src.Value = net.IP(decoder.Read(16))
+ return _nxmctipv6src, nil
+}
+
+func NewNxmCtIpv6Src() *NxmCtIpv6Src {
+ obj := &NxmCtIpv6Src{
+ Oxm: NewOxm(128016),
+ }
+ return obj
+}
+func (self *NxmCtIpv6Src) GetOXMName() string {
+ return "ct_ipv6_src"
+}
+
+func (self *NxmCtIpv6Src) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtIpv6Src) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtIpv6SrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmCtIpv6SrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmCtIpv6SrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmCtIpv6SrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmCtIpv6SrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmCtIpv6SrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmCtIpv6SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeNxmCtIpv6SrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtIpv6SrcMasked, error) {
+ _nxmctipv6srcmasked := &NxmCtIpv6SrcMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmCtIpv6SrcMasked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmctipv6srcmasked.Value = net.IP(decoder.Read(16))
+ _nxmctipv6srcmasked.ValueMask = net.IP(decoder.Read(16))
+ return _nxmctipv6srcmasked, nil
+}
+
+func NewNxmCtIpv6SrcMasked() *NxmCtIpv6SrcMasked {
+ obj := &NxmCtIpv6SrcMasked{
+ Oxm: NewOxm(128288),
+ }
+ return obj
+}
+func (self *NxmCtIpv6SrcMasked) GetOXMName() string {
+ return "ct_ipv6_src_masked"
+}
+
+func (self *NxmCtIpv6SrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtIpv6SrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmCtIpv6SrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmCtLabel struct {
+ *Oxm
+ Value uint128
+}
+
+type INxmCtLabel interface {
+ goloxi.IOxm
+ GetValue() uint128
+}
+
+func (self *NxmCtLabel) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmCtLabel) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmCtLabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+
+ return nil
+}
+
+func DecodeNxmCtLabel(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtLabel, error) {
+ _nxmctlabel := &NxmCtLabel{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmCtLabel packet too short: %d < 16", decoder.Length())
+ }
+ _nxmctlabel.Value = uint128(decoder.ReadUint128())
+ return _nxmctlabel, nil
+}
+
+func NewNxmCtLabel() *NxmCtLabel {
+ obj := &NxmCtLabel{
+ Oxm: NewOxm(120848),
+ }
+ return obj
+}
+func (self *NxmCtLabel) GetOXMName() string {
+ return "ct_label"
+}
+
+func (self *NxmCtLabel) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtLabel) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtLabelMasked struct {
+ *Oxm
+ Value uint128
+ ValueMask uint128
+}
+
+type INxmCtLabelMasked interface {
+ goloxi.IOxm
+ GetValue() uint128
+ GetValueMask() uint128
+}
+
+func (self *NxmCtLabelMasked) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmCtLabelMasked) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmCtLabelMasked) GetValueMask() uint128 {
+ return self.ValueMask
+}
+
+func (self *NxmCtLabelMasked) SetValueMask(v uint128) {
+ self.ValueMask = v
+}
+
+func (self *NxmCtLabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+ encoder.PutUint128(uint128(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmCtLabelMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtLabelMasked, error) {
+ _nxmctlabelmasked := &NxmCtLabelMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmCtLabelMasked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmctlabelmasked.Value = uint128(decoder.ReadUint128())
+ _nxmctlabelmasked.ValueMask = uint128(decoder.ReadUint128())
+ return _nxmctlabelmasked, nil
+}
+
+func NewNxmCtLabelMasked() *NxmCtLabelMasked {
+ obj := &NxmCtLabelMasked{
+ Oxm: NewOxm(121120),
+ }
+ return obj
+}
+func (self *NxmCtLabelMasked) GetOXMName() string {
+ return "ct_label_masked"
+}
+
+func (self *NxmCtLabelMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtLabelMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmCtLabelMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmCtMark struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmCtMark interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmCtMark) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmCtMark) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmCtMark) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmCtMark(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtMark, error) {
+ _nxmctmark := &NxmCtMark{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmCtMark packet too short: %d < 4", decoder.Length())
+ }
+ _nxmctmark.Value = uint32(decoder.ReadUint32())
+ return _nxmctmark, nil
+}
+
+func NewNxmCtMark() *NxmCtMark {
+ obj := &NxmCtMark{
+ Oxm: NewOxm(120324),
+ }
+ return obj
+}
+func (self *NxmCtMark) GetOXMName() string {
+ return "ct_mark"
+}
+
+func (self *NxmCtMark) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtMark) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtMarkMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmCtMarkMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmCtMarkMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmCtMarkMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmCtMarkMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmCtMarkMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmCtMarkMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmCtMarkMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtMarkMasked, error) {
+ _nxmctmarkmasked := &NxmCtMarkMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmCtMarkMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmctmarkmasked.Value = uint32(decoder.ReadUint32())
+ _nxmctmarkmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmctmarkmasked, nil
+}
+
+func NewNxmCtMarkMasked() *NxmCtMarkMasked {
+ obj := &NxmCtMarkMasked{
+ Oxm: NewOxm(120584),
+ }
+ return obj
+}
+func (self *NxmCtMarkMasked) GetOXMName() string {
+ return "ct_mark_masked"
+}
+
+func (self *NxmCtMarkMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtMarkMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmCtMarkMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmCtNwDst struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmCtNwDst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmCtNwDst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmCtNwDst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmCtNwDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeNxmCtNwDst(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtNwDst, error) {
+ _nxmctnwdst := &NxmCtNwDst{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmCtNwDst packet too short: %d < 4", decoder.Length())
+ }
+ _nxmctnwdst.Value = net.IP(decoder.Read(4))
+ return _nxmctnwdst, nil
+}
+
+func NewNxmCtNwDst() *NxmCtNwDst {
+ obj := &NxmCtNwDst{
+ Oxm: NewOxm(127492),
+ }
+ return obj
+}
+func (self *NxmCtNwDst) GetOXMName() string {
+ return "ct_nw_dst"
+}
+
+func (self *NxmCtNwDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtNwDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtNwDstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmCtNwDstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmCtNwDstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmCtNwDstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmCtNwDstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmCtNwDstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmCtNwDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeNxmCtNwDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtNwDstMasked, error) {
+ _nxmctnwdstmasked := &NxmCtNwDstMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmCtNwDstMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmctnwdstmasked.Value = net.IP(decoder.Read(4))
+ _nxmctnwdstmasked.ValueMask = net.IP(decoder.Read(4))
+ return _nxmctnwdstmasked, nil
+}
+
+func NewNxmCtNwDstMasked() *NxmCtNwDstMasked {
+ obj := &NxmCtNwDstMasked{
+ Oxm: NewOxm(127752),
+ }
+ return obj
+}
+func (self *NxmCtNwDstMasked) GetOXMName() string {
+ return "ct_nw_dst_masked"
+}
+
+func (self *NxmCtNwDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtNwDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmCtNwDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmCtNwProto struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmCtNwProto interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmCtNwProto) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmCtNwProto) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmCtNwProto) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmCtNwProto(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtNwProto, error) {
+ _nxmctnwproto := &NxmCtNwProto{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmCtNwProto packet too short: %d < 1", decoder.Length())
+ }
+ _nxmctnwproto.Value = uint8(decoder.ReadByte())
+ return _nxmctnwproto, nil
+}
+
+func NewNxmCtNwProto() *NxmCtNwProto {
+ obj := &NxmCtNwProto{
+ Oxm: NewOxm(126465),
+ }
+ return obj
+}
+func (self *NxmCtNwProto) GetOXMName() string {
+ return "ct_nw_proto"
+}
+
+func (self *NxmCtNwProto) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtNwProto) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtNwSrc struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmCtNwSrc interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmCtNwSrc) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmCtNwSrc) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmCtNwSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeNxmCtNwSrc(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtNwSrc, error) {
+ _nxmctnwsrc := &NxmCtNwSrc{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmCtNwSrc packet too short: %d < 4", decoder.Length())
+ }
+ _nxmctnwsrc.Value = net.IP(decoder.Read(4))
+ return _nxmctnwsrc, nil
+}
+
+func NewNxmCtNwSrc() *NxmCtNwSrc {
+ obj := &NxmCtNwSrc{
+ Oxm: NewOxm(126980),
+ }
+ return obj
+}
+func (self *NxmCtNwSrc) GetOXMName() string {
+ return "ct_nw_src"
+}
+
+func (self *NxmCtNwSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtNwSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtNwSrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmCtNwSrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmCtNwSrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmCtNwSrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmCtNwSrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmCtNwSrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmCtNwSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeNxmCtNwSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtNwSrcMasked, error) {
+ _nxmctnwsrcmasked := &NxmCtNwSrcMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmCtNwSrcMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmctnwsrcmasked.Value = net.IP(decoder.Read(4))
+ _nxmctnwsrcmasked.ValueMask = net.IP(decoder.Read(4))
+ return _nxmctnwsrcmasked, nil
+}
+
+func NewNxmCtNwSrcMasked() *NxmCtNwSrcMasked {
+ obj := &NxmCtNwSrcMasked{
+ Oxm: NewOxm(127240),
+ }
+ return obj
+}
+func (self *NxmCtNwSrcMasked) GetOXMName() string {
+ return "ct_nw_src_masked"
+}
+
+func (self *NxmCtNwSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtNwSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmCtNwSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmCtState struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmCtState interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmCtState) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmCtState) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmCtState) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmCtState(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtState, error) {
+ _nxmctstate := &NxmCtState{Oxm: parent}
+ _nxmctstate.Value = decoder.Read(int(_nxmctstate.TypeLen & 0xFF))
+ return _nxmctstate, nil
+}
+
+func NewNxmCtState() *NxmCtState {
+ obj := &NxmCtState{
+ Oxm: NewOxm(119300),
+ }
+ return obj
+}
+func (self *NxmCtState) GetOXMName() string {
+ return "ct_state"
+}
+
+func (self *NxmCtState) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtState) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtStateMasked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmCtStateMasked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmCtStateMasked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmCtStateMasked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmCtStateMasked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmCtStateMasked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmCtStateMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmCtStateMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtStateMasked, error) {
+ _nxmctstatemasked := &NxmCtStateMasked{Oxm: parent}
+ _nxmctstatemasked.Value = decoder.Read(int(_nxmctstatemasked.TypeLen & 0xFF))
+ _nxmctstatemasked.ValueMask = decoder.Read(int(_nxmctstatemasked.TypeLen & 0xFF))
+ return _nxmctstatemasked, nil
+}
+
+func NewNxmCtStateMasked() *NxmCtStateMasked {
+ obj := &NxmCtStateMasked{
+ Oxm: NewOxm(119560),
+ }
+ return obj
+}
+func (self *NxmCtStateMasked) GetOXMName() string {
+ return "ct_state_masked"
+}
+
+func (self *NxmCtStateMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtStateMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmCtStateMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmCtTpDst struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmCtTpDst interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmCtTpDst) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmCtTpDst) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmCtTpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmCtTpDst(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtTpDst, error) {
+ _nxmcttpdst := &NxmCtTpDst{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmCtTpDst packet too short: %d < 2", decoder.Length())
+ }
+ _nxmcttpdst.Value = uint16(decoder.ReadUint16())
+ return _nxmcttpdst, nil
+}
+
+func NewNxmCtTpDst() *NxmCtTpDst {
+ obj := &NxmCtTpDst{
+ Oxm: NewOxm(129538),
+ }
+ return obj
+}
+func (self *NxmCtTpDst) GetOXMName() string {
+ return "ct_tp_dst"
+}
+
+func (self *NxmCtTpDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtTpDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtTpDstMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type INxmCtTpDstMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *NxmCtTpDstMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmCtTpDstMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmCtTpDstMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmCtTpDstMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmCtTpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmCtTpDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtTpDstMasked, error) {
+ _nxmcttpdstmasked := &NxmCtTpDstMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmCtTpDstMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmcttpdstmasked.Value = uint16(decoder.ReadUint16())
+ _nxmcttpdstmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmcttpdstmasked, nil
+}
+
+func NewNxmCtTpDstMasked() *NxmCtTpDstMasked {
+ obj := &NxmCtTpDstMasked{
+ Oxm: NewOxm(129796),
+ }
+ return obj
+}
+func (self *NxmCtTpDstMasked) GetOXMName() string {
+ return "ct_tp_dst_masked"
+}
+
+func (self *NxmCtTpDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtTpDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmCtTpDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmCtTpSrc struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmCtTpSrc interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmCtTpSrc) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmCtTpSrc) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmCtTpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmCtTpSrc(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtTpSrc, error) {
+ _nxmcttpsrc := &NxmCtTpSrc{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmCtTpSrc packet too short: %d < 2", decoder.Length())
+ }
+ _nxmcttpsrc.Value = uint16(decoder.ReadUint16())
+ return _nxmcttpsrc, nil
+}
+
+func NewNxmCtTpSrc() *NxmCtTpSrc {
+ obj := &NxmCtTpSrc{
+ Oxm: NewOxm(129026),
+ }
+ return obj
+}
+func (self *NxmCtTpSrc) GetOXMName() string {
+ return "ct_tp_src"
+}
+
+func (self *NxmCtTpSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtTpSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmCtTpSrcMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type INxmCtTpSrcMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *NxmCtTpSrcMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmCtTpSrcMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmCtTpSrcMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmCtTpSrcMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmCtTpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmCtTpSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtTpSrcMasked, error) {
+ _nxmcttpsrcmasked := &NxmCtTpSrcMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmCtTpSrcMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmcttpsrcmasked.Value = uint16(decoder.ReadUint16())
+ _nxmcttpsrcmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmcttpsrcmasked, nil
+}
+
+func NewNxmCtTpSrcMasked() *NxmCtTpSrcMasked {
+ obj := &NxmCtTpSrcMasked{
+ Oxm: NewOxm(129284),
+ }
+ return obj
+}
+func (self *NxmCtTpSrcMasked) GetOXMName() string {
+ return "ct_tp_src_masked"
+}
+
+func (self *NxmCtTpSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtTpSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmCtTpSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmCtZone struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmCtZone interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmCtZone) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmCtZone) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmCtZone) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmCtZone(parent *Oxm, decoder *goloxi.Decoder) (*NxmCtZone, error) {
+ _nxmctzone := &NxmCtZone{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmCtZone packet too short: %d < 2", decoder.Length())
+ }
+ _nxmctzone.Value = uint16(decoder.ReadUint16())
+ return _nxmctzone, nil
+}
+
+func NewNxmCtZone() *NxmCtZone {
+ obj := &NxmCtZone{
+ Oxm: NewOxm(119810),
+ }
+ return obj
+}
+func (self *NxmCtZone) GetOXMName() string {
+ return "ct_zone"
+}
+
+func (self *NxmCtZone) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmCtZone) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmDpHash struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmDpHash interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmDpHash) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmDpHash) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmDpHash) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmDpHash(parent *Oxm, decoder *goloxi.Decoder) (*NxmDpHash, error) {
+ _nxmdphash := &NxmDpHash{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmDpHash packet too short: %d < 4", decoder.Length())
+ }
+ _nxmdphash.Value = uint32(decoder.ReadUint32())
+ return _nxmdphash, nil
+}
+
+func NewNxmDpHash() *NxmDpHash {
+ obj := &NxmDpHash{
+ Oxm: NewOxm(83460),
+ }
+ return obj
+}
+func (self *NxmDpHash) GetOXMName() string {
+ return "dp_hash"
+}
+
+func (self *NxmDpHash) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmDpHash) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmDpHashMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmDpHashMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmDpHashMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmDpHashMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmDpHashMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmDpHashMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmDpHashMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmDpHashMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmDpHashMasked, error) {
+ _nxmdphashmasked := &NxmDpHashMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmDpHashMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmdphashmasked.Value = uint32(decoder.ReadUint32())
+ _nxmdphashmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmdphashmasked, nil
+}
+
+func NewNxmDpHashMasked() *NxmDpHashMasked {
+ obj := &NxmDpHashMasked{
+ Oxm: NewOxm(83720),
+ }
+ return obj
+}
+func (self *NxmDpHashMasked) GetOXMName() string {
+ return "dp_hash_masked"
+}
+
+func (self *NxmDpHashMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmDpHashMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmDpHashMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmEthDst struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type INxmEthDst interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *NxmEthDst) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmEthDst) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmEthDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmEthDst(parent *Oxm, decoder *goloxi.Decoder) (*NxmEthDst, error) {
+ _nxmethdst := &NxmEthDst{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("NxmEthDst packet too short: %d < 6", decoder.Length())
+ }
+ _nxmethdst.Value = net.HardwareAddr(decoder.Read(6))
+ return _nxmethdst, nil
+}
+
+func NewNxmEthDst() *NxmEthDst {
+ obj := &NxmEthDst{
+ Oxm: NewOxm(518),
+ }
+ return obj
+}
+func (self *NxmEthDst) GetOXMName() string {
+ return "eth_dst"
+}
+
+func (self *NxmEthDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmEthDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmEthDstMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type INxmEthDstMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *NxmEthDstMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmEthDstMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmEthDstMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *NxmEthDstMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *NxmEthDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmEthDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmEthDstMasked, error) {
+ _nxmethdstmasked := &NxmEthDstMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("NxmEthDstMasked packet too short: %d < 12", decoder.Length())
+ }
+ _nxmethdstmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _nxmethdstmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _nxmethdstmasked, nil
+}
+
+func NewNxmEthDstMasked() *NxmEthDstMasked {
+ obj := &NxmEthDstMasked{
+ Oxm: NewOxm(779),
+ }
+ return obj
+}
+func (self *NxmEthDstMasked) GetOXMName() string {
+ return "eth_dst_masked"
+}
+
+func (self *NxmEthDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmEthDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmEthDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmEthSrc struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type INxmEthSrc interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *NxmEthSrc) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmEthSrc) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmEthSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmEthSrc(parent *Oxm, decoder *goloxi.Decoder) (*NxmEthSrc, error) {
+ _nxmethsrc := &NxmEthSrc{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("NxmEthSrc packet too short: %d < 6", decoder.Length())
+ }
+ _nxmethsrc.Value = net.HardwareAddr(decoder.Read(6))
+ return _nxmethsrc, nil
+}
+
+func NewNxmEthSrc() *NxmEthSrc {
+ obj := &NxmEthSrc{
+ Oxm: NewOxm(1030),
+ }
+ return obj
+}
+func (self *NxmEthSrc) GetOXMName() string {
+ return "eth_src"
+}
+
+func (self *NxmEthSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmEthSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmEthSrcMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type INxmEthSrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *NxmEthSrcMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmEthSrcMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmEthSrcMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *NxmEthSrcMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *NxmEthSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmEthSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmEthSrcMasked, error) {
+ _nxmethsrcmasked := &NxmEthSrcMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("NxmEthSrcMasked packet too short: %d < 12", decoder.Length())
+ }
+ _nxmethsrcmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _nxmethsrcmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _nxmethsrcmasked, nil
+}
+
+func NewNxmEthSrcMasked() *NxmEthSrcMasked {
+ obj := &NxmEthSrcMasked{
+ Oxm: NewOxm(1286),
+ }
+ return obj
+}
+func (self *NxmEthSrcMasked) GetOXMName() string {
+ return "eth_src_masked"
+}
+
+func (self *NxmEthSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmEthSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmEthSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmEthType struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmEthType interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmEthType) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmEthType) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmEthType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmEthType(parent *Oxm, decoder *goloxi.Decoder) (*NxmEthType, error) {
+ _nxmethtype := &NxmEthType{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmEthType packet too short: %d < 2", decoder.Length())
+ }
+ _nxmethtype.Value = uint16(decoder.ReadUint16())
+ return _nxmethtype, nil
+}
+
+func NewNxmEthType() *NxmEthType {
+ obj := &NxmEthType{
+ Oxm: NewOxm(1538),
+ }
+ return obj
+}
+func (self *NxmEthType) GetOXMName() string {
+ return "eth_type"
+}
+
+func (self *NxmEthType) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmEthType) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIcmpCode struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmIcmpCode interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmIcmpCode) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmIcmpCode) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmIcmpCode) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmIcmpCode(parent *Oxm, decoder *goloxi.Decoder) (*NxmIcmpCode, error) {
+ _nxmicmpcode := &NxmIcmpCode{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmIcmpCode packet too short: %d < 1", decoder.Length())
+ }
+ _nxmicmpcode.Value = uint8(decoder.ReadByte())
+ return _nxmicmpcode, nil
+}
+
+func NewNxmIcmpCode() *NxmIcmpCode {
+ obj := &NxmIcmpCode{
+ Oxm: NewOxm(7169),
+ }
+ return obj
+}
+func (self *NxmIcmpCode) GetOXMName() string {
+ return "icmp_code"
+}
+
+func (self *NxmIcmpCode) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIcmpCode) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIcmpType struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmIcmpType interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmIcmpType) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmIcmpType) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmIcmpType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmIcmpType(parent *Oxm, decoder *goloxi.Decoder) (*NxmIcmpType, error) {
+ _nxmicmptype := &NxmIcmpType{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmIcmpType packet too short: %d < 1", decoder.Length())
+ }
+ _nxmicmptype.Value = uint8(decoder.ReadByte())
+ return _nxmicmptype, nil
+}
+
+func NewNxmIcmpType() *NxmIcmpType {
+ obj := &NxmIcmpType{
+ Oxm: NewOxm(6657),
+ }
+ return obj
+}
+func (self *NxmIcmpType) GetOXMName() string {
+ return "icmp_type"
+}
+
+func (self *NxmIcmpType) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIcmpType) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIcmpv6Code struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmIcmpv6Code interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmIcmpv6Code) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmIcmpv6Code) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmIcmpv6Code) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmIcmpv6Code(parent *Oxm, decoder *goloxi.Decoder) (*NxmIcmpv6Code, error) {
+ _nxmicmpv6code := &NxmIcmpv6Code{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmIcmpv6Code packet too short: %d < 1", decoder.Length())
+ }
+ _nxmicmpv6code.Value = uint8(decoder.ReadByte())
+ return _nxmicmpv6code, nil
+}
+
+func NewNxmIcmpv6Code() *NxmIcmpv6Code {
+ obj := &NxmIcmpv6Code{
+ Oxm: NewOxm(76801),
+ }
+ return obj
+}
+func (self *NxmIcmpv6Code) GetOXMName() string {
+ return "icmpv6_code"
+}
+
+func (self *NxmIcmpv6Code) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIcmpv6Code) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIcmpv6Type struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmIcmpv6Type interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmIcmpv6Type) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmIcmpv6Type) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmIcmpv6Type) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmIcmpv6Type(parent *Oxm, decoder *goloxi.Decoder) (*NxmIcmpv6Type, error) {
+ _nxmicmpv6type := &NxmIcmpv6Type{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmIcmpv6Type packet too short: %d < 1", decoder.Length())
+ }
+ _nxmicmpv6type.Value = uint8(decoder.ReadByte())
+ return _nxmicmpv6type, nil
+}
+
+func NewNxmIcmpv6Type() *NxmIcmpv6Type {
+ obj := &NxmIcmpv6Type{
+ Oxm: NewOxm(76289),
+ }
+ return obj
+}
+func (self *NxmIcmpv6Type) GetOXMName() string {
+ return "icmpv6_type"
+}
+
+func (self *NxmIcmpv6Type) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIcmpv6Type) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmInPort struct {
+ *Oxm
+ Value Port
+}
+
+type INxmInPort interface {
+ goloxi.IOxm
+ GetValue() Port
+}
+
+func (self *NxmInPort) GetValue() Port {
+ return self.Value
+}
+
+func (self *NxmInPort) SetValue(v Port) {
+ self.Value = v
+}
+
+func (self *NxmInPort) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeNxmInPort(parent *Oxm, decoder *goloxi.Decoder) (*NxmInPort, error) {
+ _nxminport := &NxmInPort{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmInPort packet too short: %d < 4", decoder.Length())
+ }
+ _nxminport.Value.Decode(decoder)
+ return _nxminport, nil
+}
+
+func NewNxmInPort() *NxmInPort {
+ obj := &NxmInPort{
+ Oxm: NewOxm(2),
+ }
+ return obj
+}
+func (self *NxmInPort) GetOXMName() string {
+ return "in_port"
+}
+
+func (self *NxmInPort) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmInPort) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIpDst struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmIpDst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmIpDst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmIpDst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmIpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeNxmIpDst(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpDst, error) {
+ _nxmipdst := &NxmIpDst{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmIpDst packet too short: %d < 4", decoder.Length())
+ }
+ _nxmipdst.Value = net.IP(decoder.Read(4))
+ return _nxmipdst, nil
+}
+
+func NewNxmIpDst() *NxmIpDst {
+ obj := &NxmIpDst{
+ Oxm: NewOxm(4100),
+ }
+ return obj
+}
+func (self *NxmIpDst) GetOXMName() string {
+ return "ip_dst"
+}
+
+func (self *NxmIpDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIpDstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmIpDstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmIpDstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmIpDstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmIpDstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmIpDstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmIpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeNxmIpDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpDstMasked, error) {
+ _nxmipdstmasked := &NxmIpDstMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmIpDstMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmipdstmasked.Value = net.IP(decoder.Read(4))
+ _nxmipdstmasked.ValueMask = net.IP(decoder.Read(4))
+ return _nxmipdstmasked, nil
+}
+
+func NewNxmIpDstMasked() *NxmIpDstMasked {
+ obj := &NxmIpDstMasked{
+ Oxm: NewOxm(4360),
+ }
+ return obj
+}
+func (self *NxmIpDstMasked) GetOXMName() string {
+ return "ip_dst_masked"
+}
+
+func (self *NxmIpDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmIpDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmIpFrag struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmIpFrag interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmIpFrag) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmIpFrag) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmIpFrag) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmIpFrag(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpFrag, error) {
+ _nxmipfrag := &NxmIpFrag{Oxm: parent}
+ _nxmipfrag.Value = decoder.Read(int(_nxmipfrag.TypeLen & 0xFF))
+ return _nxmipfrag, nil
+}
+
+func NewNxmIpFrag() *NxmIpFrag {
+ obj := &NxmIpFrag{
+ Oxm: NewOxm(78849),
+ }
+ return obj
+}
+func (self *NxmIpFrag) GetOXMName() string {
+ return "ip_frag"
+}
+
+func (self *NxmIpFrag) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpFrag) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIpFragMasked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmIpFragMasked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmIpFragMasked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmIpFragMasked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmIpFragMasked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmIpFragMasked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmIpFragMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmIpFragMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpFragMasked, error) {
+ _nxmipfragmasked := &NxmIpFragMasked{Oxm: parent}
+ _nxmipfragmasked.Value = decoder.Read(int(_nxmipfragmasked.TypeLen & 0xFF))
+ _nxmipfragmasked.ValueMask = decoder.Read(int(_nxmipfragmasked.TypeLen & 0xFF))
+ return _nxmipfragmasked, nil
+}
+
+func NewNxmIpFragMasked() *NxmIpFragMasked {
+ obj := &NxmIpFragMasked{
+ Oxm: NewOxm(79106),
+ }
+ return obj
+}
+func (self *NxmIpFragMasked) GetOXMName() string {
+ return "ip_frag_masked"
+}
+
+func (self *NxmIpFragMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpFragMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmIpFragMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmIpSrc struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmIpSrc interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmIpSrc) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmIpSrc) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmIpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeNxmIpSrc(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpSrc, error) {
+ _nxmipsrc := &NxmIpSrc{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmIpSrc packet too short: %d < 4", decoder.Length())
+ }
+ _nxmipsrc.Value = net.IP(decoder.Read(4))
+ return _nxmipsrc, nil
+}
+
+func NewNxmIpSrc() *NxmIpSrc {
+ obj := &NxmIpSrc{
+ Oxm: NewOxm(3588),
+ }
+ return obj
+}
+func (self *NxmIpSrc) GetOXMName() string {
+ return "ip_src"
+}
+
+func (self *NxmIpSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIpSrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmIpSrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmIpSrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmIpSrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmIpSrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmIpSrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmIpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeNxmIpSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpSrcMasked, error) {
+ _nxmipsrcmasked := &NxmIpSrcMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmIpSrcMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmipsrcmasked.Value = net.IP(decoder.Read(4))
+ _nxmipsrcmasked.ValueMask = net.IP(decoder.Read(4))
+ return _nxmipsrcmasked, nil
+}
+
+func NewNxmIpSrcMasked() *NxmIpSrcMasked {
+ obj := &NxmIpSrcMasked{
+ Oxm: NewOxm(3848),
+ }
+ return obj
+}
+func (self *NxmIpSrcMasked) GetOXMName() string {
+ return "ip_src_masked"
+}
+
+func (self *NxmIpSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmIpSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmIpv6Dst struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmIpv6Dst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmIpv6Dst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmIpv6Dst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeNxmIpv6Dst(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpv6Dst, error) {
+ _nxmipv6dst := &NxmIpv6Dst{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmIpv6Dst packet too short: %d < 16", decoder.Length())
+ }
+ _nxmipv6dst.Value = net.IP(decoder.Read(16))
+ return _nxmipv6dst, nil
+}
+
+func NewNxmIpv6Dst() *NxmIpv6Dst {
+ obj := &NxmIpv6Dst{
+ Oxm: NewOxm(75792),
+ }
+ return obj
+}
+func (self *NxmIpv6Dst) GetOXMName() string {
+ return "ipv6_dst"
+}
+
+func (self *NxmIpv6Dst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpv6Dst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIpv6DstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmIpv6DstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmIpv6DstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmIpv6DstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmIpv6DstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmIpv6DstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmIpv6DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeNxmIpv6DstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpv6DstMasked, error) {
+ _nxmipv6dstmasked := &NxmIpv6DstMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmIpv6DstMasked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmipv6dstmasked.Value = net.IP(decoder.Read(16))
+ _nxmipv6dstmasked.ValueMask = net.IP(decoder.Read(16))
+ return _nxmipv6dstmasked, nil
+}
+
+func NewNxmIpv6DstMasked() *NxmIpv6DstMasked {
+ obj := &NxmIpv6DstMasked{
+ Oxm: NewOxm(76064),
+ }
+ return obj
+}
+func (self *NxmIpv6DstMasked) GetOXMName() string {
+ return "ipv6_dst_masked"
+}
+
+func (self *NxmIpv6DstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpv6DstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmIpv6DstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmIpv6Label struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmIpv6Label interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmIpv6Label) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmIpv6Label) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmIpv6Label) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmIpv6Label(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpv6Label, error) {
+ _nxmipv6label := &NxmIpv6Label{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmIpv6Label packet too short: %d < 4", decoder.Length())
+ }
+ _nxmipv6label.Value = uint32(decoder.ReadUint32())
+ return _nxmipv6label, nil
+}
+
+func NewNxmIpv6Label() *NxmIpv6Label {
+ obj := &NxmIpv6Label{
+ Oxm: NewOxm(79364),
+ }
+ return obj
+}
+func (self *NxmIpv6Label) GetOXMName() string {
+ return "ipv6_label"
+}
+
+func (self *NxmIpv6Label) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpv6Label) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIpv6LabelMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmIpv6LabelMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmIpv6LabelMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmIpv6LabelMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmIpv6LabelMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmIpv6LabelMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmIpv6LabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmIpv6LabelMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpv6LabelMasked, error) {
+ _nxmipv6labelmasked := &NxmIpv6LabelMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmIpv6LabelMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmipv6labelmasked.Value = uint32(decoder.ReadUint32())
+ _nxmipv6labelmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmipv6labelmasked, nil
+}
+
+func NewNxmIpv6LabelMasked() *NxmIpv6LabelMasked {
+ obj := &NxmIpv6LabelMasked{
+ Oxm: NewOxm(79624),
+ }
+ return obj
+}
+func (self *NxmIpv6LabelMasked) GetOXMName() string {
+ return "ipv6_label_masked"
+}
+
+func (self *NxmIpv6LabelMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpv6LabelMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmIpv6LabelMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmIpv6Src struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmIpv6Src interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmIpv6Src) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmIpv6Src) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeNxmIpv6Src(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpv6Src, error) {
+ _nxmipv6src := &NxmIpv6Src{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmIpv6Src packet too short: %d < 16", decoder.Length())
+ }
+ _nxmipv6src.Value = net.IP(decoder.Read(16))
+ return _nxmipv6src, nil
+}
+
+func NewNxmIpv6Src() *NxmIpv6Src {
+ obj := &NxmIpv6Src{
+ Oxm: NewOxm(75280),
+ }
+ return obj
+}
+func (self *NxmIpv6Src) GetOXMName() string {
+ return "ipv6_src"
+}
+
+func (self *NxmIpv6Src) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpv6Src) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmIpv6SrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmIpv6SrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmIpv6SrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmIpv6SrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmIpv6SrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmIpv6SrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmIpv6SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeNxmIpv6SrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmIpv6SrcMasked, error) {
+ _nxmipv6srcmasked := &NxmIpv6SrcMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmIpv6SrcMasked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmipv6srcmasked.Value = net.IP(decoder.Read(16))
+ _nxmipv6srcmasked.ValueMask = net.IP(decoder.Read(16))
+ return _nxmipv6srcmasked, nil
+}
+
+func NewNxmIpv6SrcMasked() *NxmIpv6SrcMasked {
+ obj := &NxmIpv6SrcMasked{
+ Oxm: NewOxm(75552),
+ }
+ return obj
+}
+func (self *NxmIpv6SrcMasked) GetOXMName() string {
+ return "ipv6_src_masked"
+}
+
+func (self *NxmIpv6SrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmIpv6SrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmIpv6SrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmMplsTtl struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmMplsTtl interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmMplsTtl) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmMplsTtl) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmMplsTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmMplsTtl(parent *Oxm, decoder *goloxi.Decoder) (*NxmMplsTtl, error) {
+ _nxmmplsttl := &NxmMplsTtl{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmMplsTtl packet too short: %d < 1", decoder.Length())
+ }
+ _nxmmplsttl.Value = uint8(decoder.ReadByte())
+ return _nxmmplsttl, nil
+}
+
+func NewNxmMplsTtl() *NxmMplsTtl {
+ obj := &NxmMplsTtl{
+ Oxm: NewOxm(80897),
+ }
+ return obj
+}
+func (self *NxmMplsTtl) GetOXMName() string {
+ return "mpls_ttl"
+}
+
+func (self *NxmMplsTtl) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmMplsTtl) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmNdSll struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type INxmNdSll interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *NxmNdSll) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmNdSll) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmNdSll) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmNdSll(parent *Oxm, decoder *goloxi.Decoder) (*NxmNdSll, error) {
+ _nxmndsll := &NxmNdSll{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("NxmNdSll packet too short: %d < 6", decoder.Length())
+ }
+ _nxmndsll.Value = net.HardwareAddr(decoder.Read(6))
+ return _nxmndsll, nil
+}
+
+func NewNxmNdSll() *NxmNdSll {
+ obj := &NxmNdSll{
+ Oxm: NewOxm(77830),
+ }
+ return obj
+}
+func (self *NxmNdSll) GetOXMName() string {
+ return "nd_sll"
+}
+
+func (self *NxmNdSll) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNdSll) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmNdSllMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type INxmNdSllMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *NxmNdSllMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmNdSllMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmNdSllMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *NxmNdSllMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *NxmNdSllMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmNdSllMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmNdSllMasked, error) {
+ _nxmndsllmasked := &NxmNdSllMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("NxmNdSllMasked packet too short: %d < 12", decoder.Length())
+ }
+ _nxmndsllmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _nxmndsllmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _nxmndsllmasked, nil
+}
+
+func NewNxmNdSllMasked() *NxmNdSllMasked {
+ obj := &NxmNdSllMasked{
+ Oxm: NewOxm(78091),
+ }
+ return obj
+}
+func (self *NxmNdSllMasked) GetOXMName() string {
+ return "nd_sll_masked"
+}
+
+func (self *NxmNdSllMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNdSllMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmNdSllMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmNdTarget struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmNdTarget interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmNdTarget) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmNdTarget) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmNdTarget) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeNxmNdTarget(parent *Oxm, decoder *goloxi.Decoder) (*NxmNdTarget, error) {
+ _nxmndtarget := &NxmNdTarget{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmNdTarget packet too short: %d < 16", decoder.Length())
+ }
+ _nxmndtarget.Value = net.IP(decoder.Read(16))
+ return _nxmndtarget, nil
+}
+
+func NewNxmNdTarget() *NxmNdTarget {
+ obj := &NxmNdTarget{
+ Oxm: NewOxm(77328),
+ }
+ return obj
+}
+func (self *NxmNdTarget) GetOXMName() string {
+ return "nd_target"
+}
+
+func (self *NxmNdTarget) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNdTarget) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmNdTargetMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmNdTargetMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmNdTargetMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmNdTargetMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmNdTargetMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmNdTargetMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmNdTargetMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeNxmNdTargetMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmNdTargetMasked, error) {
+ _nxmndtargetmasked := &NxmNdTargetMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmNdTargetMasked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmndtargetmasked.Value = net.IP(decoder.Read(16))
+ _nxmndtargetmasked.ValueMask = net.IP(decoder.Read(16))
+ return _nxmndtargetmasked, nil
+}
+
+func NewNxmNdTargetMasked() *NxmNdTargetMasked {
+ obj := &NxmNdTargetMasked{
+ Oxm: NewOxm(77600),
+ }
+ return obj
+}
+func (self *NxmNdTargetMasked) GetOXMName() string {
+ return "nd_target_masked"
+}
+
+func (self *NxmNdTargetMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNdTargetMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmNdTargetMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmNdTll struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type INxmNdTll interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *NxmNdTll) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmNdTll) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmNdTll) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmNdTll(parent *Oxm, decoder *goloxi.Decoder) (*NxmNdTll, error) {
+ _nxmndtll := &NxmNdTll{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("NxmNdTll packet too short: %d < 6", decoder.Length())
+ }
+ _nxmndtll.Value = net.HardwareAddr(decoder.Read(6))
+ return _nxmndtll, nil
+}
+
+func NewNxmNdTll() *NxmNdTll {
+ obj := &NxmNdTll{
+ Oxm: NewOxm(78342),
+ }
+ return obj
+}
+func (self *NxmNdTll) GetOXMName() string {
+ return "nd_tll"
+}
+
+func (self *NxmNdTll) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNdTll) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmNdTllMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type INxmNdTllMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *NxmNdTllMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *NxmNdTllMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *NxmNdTllMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *NxmNdTllMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *NxmNdTllMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmNdTllMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmNdTllMasked, error) {
+ _nxmndtllmasked := &NxmNdTllMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("NxmNdTllMasked packet too short: %d < 12", decoder.Length())
+ }
+ _nxmndtllmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _nxmndtllmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _nxmndtllmasked, nil
+}
+
+func NewNxmNdTllMasked() *NxmNdTllMasked {
+ obj := &NxmNdTllMasked{
+ Oxm: NewOxm(78603),
+ }
+ return obj
+}
+func (self *NxmNdTllMasked) GetOXMName() string {
+ return "nd_tll_masked"
+}
+
+func (self *NxmNdTllMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNdTllMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmNdTllMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmNwEcn struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmNwEcn interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmNwEcn) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmNwEcn) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmNwEcn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmNwEcn(parent *Oxm, decoder *goloxi.Decoder) (*NxmNwEcn, error) {
+ _nxmnwecn := &NxmNwEcn{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmNwEcn packet too short: %d < 1", decoder.Length())
+ }
+ _nxmnwecn.Value = uint8(decoder.ReadByte())
+ return _nxmnwecn, nil
+}
+
+func NewNxmNwEcn() *NxmNwEcn {
+ obj := &NxmNwEcn{
+ Oxm: NewOxm(79873),
+ }
+ return obj
+}
+func (self *NxmNwEcn) GetOXMName() string {
+ return "nw_ecn"
+}
+
+func (self *NxmNwEcn) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNwEcn) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmNwProto struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmNwProto interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmNwProto) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmNwProto) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmNwProto) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmNwProto(parent *Oxm, decoder *goloxi.Decoder) (*NxmNwProto, error) {
+ _nxmnwproto := &NxmNwProto{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmNwProto packet too short: %d < 1", decoder.Length())
+ }
+ _nxmnwproto.Value = uint8(decoder.ReadByte())
+ return _nxmnwproto, nil
+}
+
+func NewNxmNwProto() *NxmNwProto {
+ obj := &NxmNwProto{
+ Oxm: NewOxm(3073),
+ }
+ return obj
+}
+func (self *NxmNwProto) GetOXMName() string {
+ return "nw_proto"
+}
+
+func (self *NxmNwProto) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNwProto) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmNwTos struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmNwTos interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmNwTos) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmNwTos) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmNwTos) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmNwTos(parent *Oxm, decoder *goloxi.Decoder) (*NxmNwTos, error) {
+ _nxmnwtos := &NxmNwTos{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmNwTos packet too short: %d < 1", decoder.Length())
+ }
+ _nxmnwtos.Value = uint8(decoder.ReadByte())
+ return _nxmnwtos, nil
+}
+
+func NewNxmNwTos() *NxmNwTos {
+ obj := &NxmNwTos{
+ Oxm: NewOxm(2561),
+ }
+ return obj
+}
+func (self *NxmNwTos) GetOXMName() string {
+ return "nw_tos"
+}
+
+func (self *NxmNwTos) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNwTos) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmNwTtl struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmNwTtl interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmNwTtl) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmNwTtl) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmNwTtl) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmNwTtl(parent *Oxm, decoder *goloxi.Decoder) (*NxmNwTtl, error) {
+ _nxmnwttl := &NxmNwTtl{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmNwTtl packet too short: %d < 1", decoder.Length())
+ }
+ _nxmnwttl.Value = uint8(decoder.ReadByte())
+ return _nxmnwttl, nil
+}
+
+func NewNxmNwTtl() *NxmNwTtl {
+ obj := &NxmNwTtl{
+ Oxm: NewOxm(80385),
+ }
+ return obj
+}
+func (self *NxmNwTtl) GetOXMName() string {
+ return "nw_ttl"
+}
+
+func (self *NxmNwTtl) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmNwTtl) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmPktMark struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmPktMark interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmPktMark) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmPktMark) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmPktMark) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmPktMark(parent *Oxm, decoder *goloxi.Decoder) (*NxmPktMark, error) {
+ _nxmpktmark := &NxmPktMark{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmPktMark packet too short: %d < 4", decoder.Length())
+ }
+ _nxmpktmark.Value = uint32(decoder.ReadUint32())
+ return _nxmpktmark, nil
+}
+
+func NewNxmPktMark() *NxmPktMark {
+ obj := &NxmPktMark{
+ Oxm: NewOxm(82436),
+ }
+ return obj
+}
+func (self *NxmPktMark) GetOXMName() string {
+ return "pkt_mark"
+}
+
+func (self *NxmPktMark) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmPktMark) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmPktMarkMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmPktMarkMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmPktMarkMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmPktMarkMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmPktMarkMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmPktMarkMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmPktMarkMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmPktMarkMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmPktMarkMasked, error) {
+ _nxmpktmarkmasked := &NxmPktMarkMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmPktMarkMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmpktmarkmasked.Value = uint32(decoder.ReadUint32())
+ _nxmpktmarkmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmpktmarkmasked, nil
+}
+
+func NewNxmPktMarkMasked() *NxmPktMarkMasked {
+ obj := &NxmPktMarkMasked{
+ Oxm: NewOxm(82696),
+ }
+ return obj
+}
+func (self *NxmPktMarkMasked) GetOXMName() string {
+ return "pkt_mark_masked"
+}
+
+func (self *NxmPktMarkMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmPktMarkMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmPktMarkMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmRecircId struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmRecircId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmRecircId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmRecircId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmRecircId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmRecircId(parent *Oxm, decoder *goloxi.Decoder) (*NxmRecircId, error) {
+ _nxmrecircid := &NxmRecircId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmRecircId packet too short: %d < 4", decoder.Length())
+ }
+ _nxmrecircid.Value = uint32(decoder.ReadUint32())
+ return _nxmrecircid, nil
+}
+
+func NewNxmRecircId() *NxmRecircId {
+ obj := &NxmRecircId{
+ Oxm: NewOxm(83972),
+ }
+ return obj
+}
+func (self *NxmRecircId) GetOXMName() string {
+ return "recirc_id"
+}
+
+func (self *NxmRecircId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmRecircId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg0 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg0 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg0) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg0) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg0(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg0, error) {
+ _nxmreg0 := &NxmReg0{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg0 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg0.Value = uint32(decoder.ReadUint32())
+ return _nxmreg0, nil
+}
+
+func NewNxmReg0() *NxmReg0 {
+ obj := &NxmReg0{
+ Oxm: NewOxm(65540),
+ }
+ return obj
+}
+func (self *NxmReg0) GetOXMName() string {
+ return "reg0"
+}
+
+func (self *NxmReg0) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg0) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg0Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg0Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg0Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg0Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg0Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg0Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg0Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg0Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg0Masked, error) {
+ _nxmreg0masked := &NxmReg0Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg0Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg0masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg0masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg0masked, nil
+}
+
+func NewNxmReg0Masked() *NxmReg0Masked {
+ obj := &NxmReg0Masked{
+ Oxm: NewOxm(65800),
+ }
+ return obj
+}
+func (self *NxmReg0Masked) GetOXMName() string {
+ return "reg0_masked"
+}
+
+func (self *NxmReg0Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg0Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg0Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg1 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg1 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg1) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg1) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg1(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg1, error) {
+ _nxmreg1 := &NxmReg1{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg1 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg1.Value = uint32(decoder.ReadUint32())
+ return _nxmreg1, nil
+}
+
+func NewNxmReg1() *NxmReg1 {
+ obj := &NxmReg1{
+ Oxm: NewOxm(66052),
+ }
+ return obj
+}
+func (self *NxmReg1) GetOXMName() string {
+ return "reg1"
+}
+
+func (self *NxmReg1) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg1) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg10 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg10 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg10) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg10) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg10) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg10(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg10, error) {
+ _nxmreg10 := &NxmReg10{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg10 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg10.Value = uint32(decoder.ReadUint32())
+ return _nxmreg10, nil
+}
+
+func NewNxmReg10() *NxmReg10 {
+ obj := &NxmReg10{
+ Oxm: NewOxm(70660),
+ }
+ return obj
+}
+func (self *NxmReg10) GetOXMName() string {
+ return "reg10"
+}
+
+func (self *NxmReg10) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg10) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg10Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg10Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg10Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg10Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg10Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg10Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg10Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg10Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg10Masked, error) {
+ _nxmreg10masked := &NxmReg10Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg10Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg10masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg10masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg10masked, nil
+}
+
+func NewNxmReg10Masked() *NxmReg10Masked {
+ obj := &NxmReg10Masked{
+ Oxm: NewOxm(70920),
+ }
+ return obj
+}
+func (self *NxmReg10Masked) GetOXMName() string {
+ return "reg10_masked"
+}
+
+func (self *NxmReg10Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg10Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg10Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg11 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg11 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg11) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg11) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg11) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg11(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg11, error) {
+ _nxmreg11 := &NxmReg11{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg11 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg11.Value = uint32(decoder.ReadUint32())
+ return _nxmreg11, nil
+}
+
+func NewNxmReg11() *NxmReg11 {
+ obj := &NxmReg11{
+ Oxm: NewOxm(71172),
+ }
+ return obj
+}
+func (self *NxmReg11) GetOXMName() string {
+ return "reg11"
+}
+
+func (self *NxmReg11) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg11) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg11Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg11Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg11Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg11Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg11Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg11Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg11Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg11Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg11Masked, error) {
+ _nxmreg11masked := &NxmReg11Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg11Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg11masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg11masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg11masked, nil
+}
+
+func NewNxmReg11Masked() *NxmReg11Masked {
+ obj := &NxmReg11Masked{
+ Oxm: NewOxm(71432),
+ }
+ return obj
+}
+func (self *NxmReg11Masked) GetOXMName() string {
+ return "reg11_masked"
+}
+
+func (self *NxmReg11Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg11Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg11Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg12 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg12 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg12) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg12) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg12) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg12(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg12, error) {
+ _nxmreg12 := &NxmReg12{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg12 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg12.Value = uint32(decoder.ReadUint32())
+ return _nxmreg12, nil
+}
+
+func NewNxmReg12() *NxmReg12 {
+ obj := &NxmReg12{
+ Oxm: NewOxm(71684),
+ }
+ return obj
+}
+func (self *NxmReg12) GetOXMName() string {
+ return "reg12"
+}
+
+func (self *NxmReg12) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg12) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg12Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg12Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg12Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg12Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg12Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg12Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg12Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg12Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg12Masked, error) {
+ _nxmreg12masked := &NxmReg12Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg12Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg12masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg12masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg12masked, nil
+}
+
+func NewNxmReg12Masked() *NxmReg12Masked {
+ obj := &NxmReg12Masked{
+ Oxm: NewOxm(71944),
+ }
+ return obj
+}
+func (self *NxmReg12Masked) GetOXMName() string {
+ return "reg12_masked"
+}
+
+func (self *NxmReg12Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg12Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg12Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg13 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg13 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg13) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg13) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg13) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg13(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg13, error) {
+ _nxmreg13 := &NxmReg13{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg13 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg13.Value = uint32(decoder.ReadUint32())
+ return _nxmreg13, nil
+}
+
+func NewNxmReg13() *NxmReg13 {
+ obj := &NxmReg13{
+ Oxm: NewOxm(72196),
+ }
+ return obj
+}
+func (self *NxmReg13) GetOXMName() string {
+ return "reg13"
+}
+
+func (self *NxmReg13) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg13) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg13Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg13Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg13Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg13Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg13Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg13Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg13Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg13Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg13Masked, error) {
+ _nxmreg13masked := &NxmReg13Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg13Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg13masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg13masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg13masked, nil
+}
+
+func NewNxmReg13Masked() *NxmReg13Masked {
+ obj := &NxmReg13Masked{
+ Oxm: NewOxm(72456),
+ }
+ return obj
+}
+func (self *NxmReg13Masked) GetOXMName() string {
+ return "reg13_masked"
+}
+
+func (self *NxmReg13Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg13Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg13Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg14 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg14 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg14) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg14) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg14) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg14(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg14, error) {
+ _nxmreg14 := &NxmReg14{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg14 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg14.Value = uint32(decoder.ReadUint32())
+ return _nxmreg14, nil
+}
+
+func NewNxmReg14() *NxmReg14 {
+ obj := &NxmReg14{
+ Oxm: NewOxm(72708),
+ }
+ return obj
+}
+func (self *NxmReg14) GetOXMName() string {
+ return "reg14"
+}
+
+func (self *NxmReg14) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg14) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg14Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg14Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg14Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg14Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg14Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg14Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg14Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg14Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg14Masked, error) {
+ _nxmreg14masked := &NxmReg14Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg14Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg14masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg14masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg14masked, nil
+}
+
+func NewNxmReg14Masked() *NxmReg14Masked {
+ obj := &NxmReg14Masked{
+ Oxm: NewOxm(72968),
+ }
+ return obj
+}
+func (self *NxmReg14Masked) GetOXMName() string {
+ return "reg14_masked"
+}
+
+func (self *NxmReg14Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg14Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg14Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg15 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg15 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg15) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg15) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg15) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg15(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg15, error) {
+ _nxmreg15 := &NxmReg15{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg15 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg15.Value = uint32(decoder.ReadUint32())
+ return _nxmreg15, nil
+}
+
+func NewNxmReg15() *NxmReg15 {
+ obj := &NxmReg15{
+ Oxm: NewOxm(73220),
+ }
+ return obj
+}
+func (self *NxmReg15) GetOXMName() string {
+ return "reg15"
+}
+
+func (self *NxmReg15) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg15) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg15Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg15Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg15Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg15Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg15Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg15Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg15Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg15Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg15Masked, error) {
+ _nxmreg15masked := &NxmReg15Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg15Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg15masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg15masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg15masked, nil
+}
+
+func NewNxmReg15Masked() *NxmReg15Masked {
+ obj := &NxmReg15Masked{
+ Oxm: NewOxm(73480),
+ }
+ return obj
+}
+func (self *NxmReg15Masked) GetOXMName() string {
+ return "reg15_masked"
+}
+
+func (self *NxmReg15Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg15Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg15Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg1Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg1Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg1Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg1Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg1Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg1Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg1Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg1Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg1Masked, error) {
+ _nxmreg1masked := &NxmReg1Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg1Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg1masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg1masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg1masked, nil
+}
+
+func NewNxmReg1Masked() *NxmReg1Masked {
+ obj := &NxmReg1Masked{
+ Oxm: NewOxm(66312),
+ }
+ return obj
+}
+func (self *NxmReg1Masked) GetOXMName() string {
+ return "reg1_masked"
+}
+
+func (self *NxmReg1Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg1Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg1Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg2 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg2 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg2) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg2) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg2(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg2, error) {
+ _nxmreg2 := &NxmReg2{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg2 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg2.Value = uint32(decoder.ReadUint32())
+ return _nxmreg2, nil
+}
+
+func NewNxmReg2() *NxmReg2 {
+ obj := &NxmReg2{
+ Oxm: NewOxm(66564),
+ }
+ return obj
+}
+func (self *NxmReg2) GetOXMName() string {
+ return "reg2"
+}
+
+func (self *NxmReg2) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg2) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg2Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg2Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg2Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg2Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg2Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg2Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg2Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg2Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg2Masked, error) {
+ _nxmreg2masked := &NxmReg2Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg2Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg2masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg2masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg2masked, nil
+}
+
+func NewNxmReg2Masked() *NxmReg2Masked {
+ obj := &NxmReg2Masked{
+ Oxm: NewOxm(66824),
+ }
+ return obj
+}
+func (self *NxmReg2Masked) GetOXMName() string {
+ return "reg2_masked"
+}
+
+func (self *NxmReg2Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg2Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg2Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg3 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg3 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg3) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg3) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg3(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg3, error) {
+ _nxmreg3 := &NxmReg3{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg3 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg3.Value = uint32(decoder.ReadUint32())
+ return _nxmreg3, nil
+}
+
+func NewNxmReg3() *NxmReg3 {
+ obj := &NxmReg3{
+ Oxm: NewOxm(67076),
+ }
+ return obj
+}
+func (self *NxmReg3) GetOXMName() string {
+ return "reg3"
+}
+
+func (self *NxmReg3) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg3) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg3Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg3Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg3Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg3Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg3Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg3Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg3Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg3Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg3Masked, error) {
+ _nxmreg3masked := &NxmReg3Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg3Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg3masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg3masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg3masked, nil
+}
+
+func NewNxmReg3Masked() *NxmReg3Masked {
+ obj := &NxmReg3Masked{
+ Oxm: NewOxm(67336),
+ }
+ return obj
+}
+func (self *NxmReg3Masked) GetOXMName() string {
+ return "reg3_masked"
+}
+
+func (self *NxmReg3Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg3Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg3Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg4 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg4 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg4) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg4) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg4) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg4(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg4, error) {
+ _nxmreg4 := &NxmReg4{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg4 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg4.Value = uint32(decoder.ReadUint32())
+ return _nxmreg4, nil
+}
+
+func NewNxmReg4() *NxmReg4 {
+ obj := &NxmReg4{
+ Oxm: NewOxm(67588),
+ }
+ return obj
+}
+func (self *NxmReg4) GetOXMName() string {
+ return "reg4"
+}
+
+func (self *NxmReg4) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg4) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg4Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg4Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg4Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg4Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg4Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg4Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg4Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg4Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg4Masked, error) {
+ _nxmreg4masked := &NxmReg4Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg4Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg4masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg4masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg4masked, nil
+}
+
+func NewNxmReg4Masked() *NxmReg4Masked {
+ obj := &NxmReg4Masked{
+ Oxm: NewOxm(67848),
+ }
+ return obj
+}
+func (self *NxmReg4Masked) GetOXMName() string {
+ return "reg4_masked"
+}
+
+func (self *NxmReg4Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg4Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg4Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg5 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg5 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg5) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg5) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg5) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg5(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg5, error) {
+ _nxmreg5 := &NxmReg5{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg5 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg5.Value = uint32(decoder.ReadUint32())
+ return _nxmreg5, nil
+}
+
+func NewNxmReg5() *NxmReg5 {
+ obj := &NxmReg5{
+ Oxm: NewOxm(68100),
+ }
+ return obj
+}
+func (self *NxmReg5) GetOXMName() string {
+ return "reg5"
+}
+
+func (self *NxmReg5) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg5) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg5Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg5Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg5Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg5Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg5Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg5Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg5Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg5Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg5Masked, error) {
+ _nxmreg5masked := &NxmReg5Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg5Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg5masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg5masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg5masked, nil
+}
+
+func NewNxmReg5Masked() *NxmReg5Masked {
+ obj := &NxmReg5Masked{
+ Oxm: NewOxm(68360),
+ }
+ return obj
+}
+func (self *NxmReg5Masked) GetOXMName() string {
+ return "reg5_masked"
+}
+
+func (self *NxmReg5Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg5Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg5Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg6 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg6 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg6) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg6) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg6) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg6(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg6, error) {
+ _nxmreg6 := &NxmReg6{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg6 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg6.Value = uint32(decoder.ReadUint32())
+ return _nxmreg6, nil
+}
+
+func NewNxmReg6() *NxmReg6 {
+ obj := &NxmReg6{
+ Oxm: NewOxm(68612),
+ }
+ return obj
+}
+func (self *NxmReg6) GetOXMName() string {
+ return "reg6"
+}
+
+func (self *NxmReg6) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg6) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg6Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg6Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg6Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg6Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg6Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg6Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg6Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg6Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg6Masked, error) {
+ _nxmreg6masked := &NxmReg6Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg6Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg6masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg6masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg6masked, nil
+}
+
+func NewNxmReg6Masked() *NxmReg6Masked {
+ obj := &NxmReg6Masked{
+ Oxm: NewOxm(68872),
+ }
+ return obj
+}
+func (self *NxmReg6Masked) GetOXMName() string {
+ return "reg6_masked"
+}
+
+func (self *NxmReg6Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg6Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg6Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg7 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg7 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg7) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg7) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg7) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg7(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg7, error) {
+ _nxmreg7 := &NxmReg7{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg7 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg7.Value = uint32(decoder.ReadUint32())
+ return _nxmreg7, nil
+}
+
+func NewNxmReg7() *NxmReg7 {
+ obj := &NxmReg7{
+ Oxm: NewOxm(69124),
+ }
+ return obj
+}
+func (self *NxmReg7) GetOXMName() string {
+ return "reg7"
+}
+
+func (self *NxmReg7) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg7) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg7Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg7Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg7Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg7Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg7Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg7Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg7Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg7Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg7Masked, error) {
+ _nxmreg7masked := &NxmReg7Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg7Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg7masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg7masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg7masked, nil
+}
+
+func NewNxmReg7Masked() *NxmReg7Masked {
+ obj := &NxmReg7Masked{
+ Oxm: NewOxm(69384),
+ }
+ return obj
+}
+func (self *NxmReg7Masked) GetOXMName() string {
+ return "reg7_masked"
+}
+
+func (self *NxmReg7Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg7Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg7Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg8 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg8 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg8) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg8) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg8) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg8(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg8, error) {
+ _nxmreg8 := &NxmReg8{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg8 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg8.Value = uint32(decoder.ReadUint32())
+ return _nxmreg8, nil
+}
+
+func NewNxmReg8() *NxmReg8 {
+ obj := &NxmReg8{
+ Oxm: NewOxm(69636),
+ }
+ return obj
+}
+func (self *NxmReg8) GetOXMName() string {
+ return "reg8"
+}
+
+func (self *NxmReg8) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg8) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg8Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg8Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg8Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg8Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg8Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg8Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg8Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg8Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg8Masked, error) {
+ _nxmreg8masked := &NxmReg8Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg8Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg8masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg8masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg8masked, nil
+}
+
+func NewNxmReg8Masked() *NxmReg8Masked {
+ obj := &NxmReg8Masked{
+ Oxm: NewOxm(69896),
+ }
+ return obj
+}
+func (self *NxmReg8Masked) GetOXMName() string {
+ return "reg8_masked"
+}
+
+func (self *NxmReg8Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg8Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg8Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmReg9 struct {
+ *Oxm
+ Value uint32
+}
+
+type INxmReg9 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *NxmReg9) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg9) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg9) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeNxmReg9(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg9, error) {
+ _nxmreg9 := &NxmReg9{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmReg9 packet too short: %d < 4", decoder.Length())
+ }
+ _nxmreg9.Value = uint32(decoder.ReadUint32())
+ return _nxmreg9, nil
+}
+
+func NewNxmReg9() *NxmReg9 {
+ obj := &NxmReg9{
+ Oxm: NewOxm(70148),
+ }
+ return obj
+}
+func (self *NxmReg9) GetOXMName() string {
+ return "reg9"
+}
+
+func (self *NxmReg9) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg9) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmReg9Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type INxmReg9Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *NxmReg9Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *NxmReg9Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *NxmReg9Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *NxmReg9Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *NxmReg9Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmReg9Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmReg9Masked, error) {
+ _nxmreg9masked := &NxmReg9Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmReg9Masked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmreg9masked.Value = uint32(decoder.ReadUint32())
+ _nxmreg9masked.ValueMask = uint32(decoder.ReadUint32())
+ return _nxmreg9masked, nil
+}
+
+func NewNxmReg9Masked() *NxmReg9Masked {
+ obj := &NxmReg9Masked{
+ Oxm: NewOxm(70408),
+ }
+ return obj
+}
+func (self *NxmReg9Masked) GetOXMName() string {
+ return "reg9_masked"
+}
+
+func (self *NxmReg9Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmReg9Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmReg9Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTcpDst struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmTcpDst interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmTcpDst) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmTcpDst) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmTcpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmTcpDst(parent *Oxm, decoder *goloxi.Decoder) (*NxmTcpDst, error) {
+ _nxmtcpdst := &NxmTcpDst{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmTcpDst packet too short: %d < 2", decoder.Length())
+ }
+ _nxmtcpdst.Value = uint16(decoder.ReadUint16())
+ return _nxmtcpdst, nil
+}
+
+func NewNxmTcpDst() *NxmTcpDst {
+ obj := &NxmTcpDst{
+ Oxm: NewOxm(5122),
+ }
+ return obj
+}
+func (self *NxmTcpDst) GetOXMName() string {
+ return "tcp_dst"
+}
+
+func (self *NxmTcpDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTcpDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTcpDstMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type INxmTcpDstMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *NxmTcpDstMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmTcpDstMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmTcpDstMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmTcpDstMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmTcpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmTcpDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTcpDstMasked, error) {
+ _nxmtcpdstmasked := &NxmTcpDstMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmTcpDstMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmtcpdstmasked.Value = uint16(decoder.ReadUint16())
+ _nxmtcpdstmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmtcpdstmasked, nil
+}
+
+func NewNxmTcpDstMasked() *NxmTcpDstMasked {
+ obj := &NxmTcpDstMasked{
+ Oxm: NewOxm(5378),
+ }
+ return obj
+}
+func (self *NxmTcpDstMasked) GetOXMName() string {
+ return "tcp_dst_masked"
+}
+
+func (self *NxmTcpDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTcpDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTcpDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTcpFlags struct {
+ *Oxm
+ Value TcpFlags
+}
+
+type INxmTcpFlags interface {
+ goloxi.IOxm
+ GetValue() TcpFlags
+}
+
+func (self *NxmTcpFlags) GetValue() TcpFlags {
+ return self.Value
+}
+
+func (self *NxmTcpFlags) SetValue(v TcpFlags) {
+ self.Value = v
+}
+
+func (self *NxmTcpFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmTcpFlags(parent *Oxm, decoder *goloxi.Decoder) (*NxmTcpFlags, error) {
+ _nxmtcpflags := &NxmTcpFlags{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmTcpFlags packet too short: %d < 2", decoder.Length())
+ }
+ _nxmtcpflags.Value = TcpFlags(decoder.ReadUint16())
+ return _nxmtcpflags, nil
+}
+
+func NewNxmTcpFlags() *NxmTcpFlags {
+ obj := &NxmTcpFlags{
+ Oxm: NewOxm(82946),
+ }
+ return obj
+}
+func (self *NxmTcpFlags) GetOXMName() string {
+ return "tcp_flags"
+}
+
+func (self *NxmTcpFlags) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTcpFlags) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTcpFlagsMasked struct {
+ *Oxm
+ Value TcpFlags
+ ValueMask uint16
+}
+
+type INxmTcpFlagsMasked interface {
+ goloxi.IOxm
+ GetValue() TcpFlags
+ GetValueMask() uint16
+}
+
+func (self *NxmTcpFlagsMasked) GetValue() TcpFlags {
+ return self.Value
+}
+
+func (self *NxmTcpFlagsMasked) SetValue(v TcpFlags) {
+ self.Value = v
+}
+
+func (self *NxmTcpFlagsMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmTcpFlagsMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmTcpFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmTcpFlagsMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTcpFlagsMasked, error) {
+ _nxmtcpflagsmasked := &NxmTcpFlagsMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmTcpFlagsMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmtcpflagsmasked.Value = TcpFlags(decoder.ReadUint16())
+ _nxmtcpflagsmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmtcpflagsmasked, nil
+}
+
+func NewNxmTcpFlagsMasked() *NxmTcpFlagsMasked {
+ obj := &NxmTcpFlagsMasked{
+ Oxm: NewOxm(83204),
+ }
+ return obj
+}
+func (self *NxmTcpFlagsMasked) GetOXMName() string {
+ return "tcp_flags_masked"
+}
+
+func (self *NxmTcpFlagsMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTcpFlagsMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTcpFlagsMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTcpSrc struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmTcpSrc interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmTcpSrc) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmTcpSrc) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmTcpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmTcpSrc(parent *Oxm, decoder *goloxi.Decoder) (*NxmTcpSrc, error) {
+ _nxmtcpsrc := &NxmTcpSrc{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmTcpSrc packet too short: %d < 2", decoder.Length())
+ }
+ _nxmtcpsrc.Value = uint16(decoder.ReadUint16())
+ return _nxmtcpsrc, nil
+}
+
+func NewNxmTcpSrc() *NxmTcpSrc {
+ obj := &NxmTcpSrc{
+ Oxm: NewOxm(4610),
+ }
+ return obj
+}
+func (self *NxmTcpSrc) GetOXMName() string {
+ return "tcp_src"
+}
+
+func (self *NxmTcpSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTcpSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTcpSrcMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type INxmTcpSrcMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *NxmTcpSrcMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmTcpSrcMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmTcpSrcMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmTcpSrcMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmTcpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmTcpSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTcpSrcMasked, error) {
+ _nxmtcpsrcmasked := &NxmTcpSrcMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmTcpSrcMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmtcpsrcmasked.Value = uint16(decoder.ReadUint16())
+ _nxmtcpsrcmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmtcpsrcmasked, nil
+}
+
+func NewNxmTcpSrcMasked() *NxmTcpSrcMasked {
+ obj := &NxmTcpSrcMasked{
+ Oxm: NewOxm(4868),
+ }
+ return obj
+}
+func (self *NxmTcpSrcMasked) GetOXMName() string {
+ return "tcp_src_masked"
+}
+
+func (self *NxmTcpSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTcpSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTcpSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunDst struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmTunDst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmTunDst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmTunDst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmTunDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeNxmTunDst(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunDst, error) {
+ _nxmtundst := &NxmTunDst{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmTunDst packet too short: %d < 4", decoder.Length())
+ }
+ _nxmtundst.Value = net.IP(decoder.Read(4))
+ return _nxmtundst, nil
+}
+
+func NewNxmTunDst() *NxmTunDst {
+ obj := &NxmTunDst{
+ Oxm: NewOxm(81924),
+ }
+ return obj
+}
+func (self *NxmTunDst) GetOXMName() string {
+ return "tun_dst"
+}
+
+func (self *NxmTunDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunDstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmTunDstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmTunDstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmTunDstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmTunDstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmTunDstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeNxmTunDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunDstMasked, error) {
+ _nxmtundstmasked := &NxmTunDstMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmTunDstMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmtundstmasked.Value = net.IP(decoder.Read(4))
+ _nxmtundstmasked.ValueMask = net.IP(decoder.Read(4))
+ return _nxmtundstmasked, nil
+}
+
+func NewNxmTunDstMasked() *NxmTunDstMasked {
+ obj := &NxmTunDstMasked{
+ Oxm: NewOxm(82184),
+ }
+ return obj
+}
+func (self *NxmTunDstMasked) GetOXMName() string {
+ return "tun_dst_masked"
+}
+
+func (self *NxmTunDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunFlags struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmTunFlags interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmTunFlags) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmTunFlags) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmTunFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmTunFlags(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunFlags, error) {
+ _nxmtunflags := &NxmTunFlags{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmTunFlags packet too short: %d < 2", decoder.Length())
+ }
+ _nxmtunflags.Value = uint16(decoder.ReadUint16())
+ return _nxmtunflags, nil
+}
+
+func NewNxmTunFlags() *NxmTunFlags {
+ obj := &NxmTunFlags{
+ Oxm: NewOxm(118786),
+ }
+ return obj
+}
+func (self *NxmTunFlags) GetOXMName() string {
+ return "tun_flags"
+}
+
+func (self *NxmTunFlags) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunFlags) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunFlagsMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type INxmTunFlagsMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *NxmTunFlagsMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmTunFlagsMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmTunFlagsMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmTunFlagsMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmTunFlagsMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunFlagsMasked, error) {
+ _nxmtunflagsmasked := &NxmTunFlagsMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmTunFlagsMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmtunflagsmasked.Value = uint16(decoder.ReadUint16())
+ _nxmtunflagsmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmtunflagsmasked, nil
+}
+
+func NewNxmTunFlagsMasked() *NxmTunFlagsMasked {
+ obj := &NxmTunFlagsMasked{
+ Oxm: NewOxm(119044),
+ }
+ return obj
+}
+func (self *NxmTunFlagsMasked) GetOXMName() string {
+ return "tun_flags_masked"
+}
+
+func (self *NxmTunFlagsMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunFlagsMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunFlagsMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunGbpFlags struct {
+ *Oxm
+ Value uint8
+}
+
+type INxmTunGbpFlags interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *NxmTunGbpFlags) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmTunGbpFlags) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmTunGbpFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeNxmTunGbpFlags(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunGbpFlags, error) {
+ _nxmtungbpflags := &NxmTunGbpFlags{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("NxmTunGbpFlags packet too short: %d < 1", decoder.Length())
+ }
+ _nxmtungbpflags.Value = uint8(decoder.ReadByte())
+ return _nxmtungbpflags, nil
+}
+
+func NewNxmTunGbpFlags() *NxmTunGbpFlags {
+ obj := &NxmTunGbpFlags{
+ Oxm: NewOxm(85505),
+ }
+ return obj
+}
+func (self *NxmTunGbpFlags) GetOXMName() string {
+ return "tun_gbp_flags"
+}
+
+func (self *NxmTunGbpFlags) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunGbpFlags) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunGbpFlagsMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type INxmTunGbpFlagsMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *NxmTunGbpFlagsMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *NxmTunGbpFlagsMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *NxmTunGbpFlagsMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *NxmTunGbpFlagsMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunGbpFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmTunGbpFlagsMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunGbpFlagsMasked, error) {
+ _nxmtungbpflagsmasked := &NxmTunGbpFlagsMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmTunGbpFlagsMasked packet too short: %d < 2", decoder.Length())
+ }
+ _nxmtungbpflagsmasked.Value = uint8(decoder.ReadByte())
+ _nxmtungbpflagsmasked.ValueMask = uint8(decoder.ReadByte())
+ return _nxmtungbpflagsmasked, nil
+}
+
+func NewNxmTunGbpFlagsMasked() *NxmTunGbpFlagsMasked {
+ obj := &NxmTunGbpFlagsMasked{
+ Oxm: NewOxm(85762),
+ }
+ return obj
+}
+func (self *NxmTunGbpFlagsMasked) GetOXMName() string {
+ return "tun_gbp_flags_masked"
+}
+
+func (self *NxmTunGbpFlagsMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunGbpFlagsMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunGbpFlagsMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunGbpId struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmTunGbpId interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmTunGbpId) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmTunGbpId) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmTunGbpId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmTunGbpId(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunGbpId, error) {
+ _nxmtungbpid := &NxmTunGbpId{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmTunGbpId packet too short: %d < 2", decoder.Length())
+ }
+ _nxmtungbpid.Value = uint16(decoder.ReadUint16())
+ return _nxmtungbpid, nil
+}
+
+func NewNxmTunGbpId() *NxmTunGbpId {
+ obj := &NxmTunGbpId{
+ Oxm: NewOxm(84994),
+ }
+ return obj
+}
+func (self *NxmTunGbpId) GetOXMName() string {
+ return "tun_gbp_id"
+}
+
+func (self *NxmTunGbpId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunGbpId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunGbpIdMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type INxmTunGbpIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *NxmTunGbpIdMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmTunGbpIdMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmTunGbpIdMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmTunGbpIdMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunGbpIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmTunGbpIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunGbpIdMasked, error) {
+ _nxmtungbpidmasked := &NxmTunGbpIdMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmTunGbpIdMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmtungbpidmasked.Value = uint16(decoder.ReadUint16())
+ _nxmtungbpidmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmtungbpidmasked, nil
+}
+
+func NewNxmTunGbpIdMasked() *NxmTunGbpIdMasked {
+ obj := &NxmTunGbpIdMasked{
+ Oxm: NewOxm(85252),
+ }
+ return obj
+}
+func (self *NxmTunGbpIdMasked) GetOXMName() string {
+ return "tun_gbp_id_masked"
+}
+
+func (self *NxmTunGbpIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunGbpIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunGbpIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunId struct {
+ *Oxm
+ Value uint64
+}
+
+type INxmTunId interface {
+ goloxi.IOxm
+ GetValue() uint64
+}
+
+func (self *NxmTunId) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *NxmTunId) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *NxmTunId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ return nil
+}
+
+func DecodeNxmTunId(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunId, error) {
+ _nxmtunid := &NxmTunId{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmTunId packet too short: %d < 8", decoder.Length())
+ }
+ _nxmtunid.Value = uint64(decoder.ReadUint64())
+ return _nxmtunid, nil
+}
+
+func NewNxmTunId() *NxmTunId {
+ obj := &NxmTunId{
+ Oxm: NewOxm(73736),
+ }
+ return obj
+}
+func (self *NxmTunId) GetOXMName() string {
+ return "tun_id"
+}
+
+func (self *NxmTunId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunIdMasked struct {
+ *Oxm
+ Value uint64
+ ValueMask uint64
+}
+
+type INxmTunIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint64
+ GetValueMask() uint64
+}
+
+func (self *NxmTunIdMasked) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *NxmTunIdMasked) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *NxmTunIdMasked) GetValueMask() uint64 {
+ return self.ValueMask
+}
+
+func (self *NxmTunIdMasked) SetValueMask(v uint64) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+ encoder.PutUint64(uint64(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmTunIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunIdMasked, error) {
+ _nxmtunidmasked := &NxmTunIdMasked{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmTunIdMasked packet too short: %d < 16", decoder.Length())
+ }
+ _nxmtunidmasked.Value = uint64(decoder.ReadUint64())
+ _nxmtunidmasked.ValueMask = uint64(decoder.ReadUint64())
+ return _nxmtunidmasked, nil
+}
+
+func NewNxmTunIdMasked() *NxmTunIdMasked {
+ obj := &NxmTunIdMasked{
+ Oxm: NewOxm(74000),
+ }
+ return obj
+}
+func (self *NxmTunIdMasked) GetOXMName() string {
+ return "tun_id_masked"
+}
+
+func (self *NxmTunIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunIpv6Dst struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmTunIpv6Dst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmTunIpv6Dst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmTunIpv6Dst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmTunIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeNxmTunIpv6Dst(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunIpv6Dst, error) {
+ _nxmtunipv6dst := &NxmTunIpv6Dst{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmTunIpv6Dst packet too short: %d < 16", decoder.Length())
+ }
+ _nxmtunipv6dst.Value = net.IP(decoder.Read(16))
+ return _nxmtunipv6dst, nil
+}
+
+func NewNxmTunIpv6Dst() *NxmTunIpv6Dst {
+ obj := &NxmTunIpv6Dst{
+ Oxm: NewOxm(121872),
+ }
+ return obj
+}
+func (self *NxmTunIpv6Dst) GetOXMName() string {
+ return "tun_ipv6_dst"
+}
+
+func (self *NxmTunIpv6Dst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunIpv6Dst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunIpv6DstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmTunIpv6DstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmTunIpv6DstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmTunIpv6DstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmTunIpv6DstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmTunIpv6DstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunIpv6DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeNxmTunIpv6DstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunIpv6DstMasked, error) {
+ _nxmtunipv6dstmasked := &NxmTunIpv6DstMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmTunIpv6DstMasked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmtunipv6dstmasked.Value = net.IP(decoder.Read(16))
+ _nxmtunipv6dstmasked.ValueMask = net.IP(decoder.Read(16))
+ return _nxmtunipv6dstmasked, nil
+}
+
+func NewNxmTunIpv6DstMasked() *NxmTunIpv6DstMasked {
+ obj := &NxmTunIpv6DstMasked{
+ Oxm: NewOxm(122144),
+ }
+ return obj
+}
+func (self *NxmTunIpv6DstMasked) GetOXMName() string {
+ return "tun_ipv6_dst_masked"
+}
+
+func (self *NxmTunIpv6DstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunIpv6DstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunIpv6DstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunIpv6Src struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmTunIpv6Src interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmTunIpv6Src) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmTunIpv6Src) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmTunIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeNxmTunIpv6Src(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunIpv6Src, error) {
+ _nxmtunipv6src := &NxmTunIpv6Src{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmTunIpv6Src packet too short: %d < 16", decoder.Length())
+ }
+ _nxmtunipv6src.Value = net.IP(decoder.Read(16))
+ return _nxmtunipv6src, nil
+}
+
+func NewNxmTunIpv6Src() *NxmTunIpv6Src {
+ obj := &NxmTunIpv6Src{
+ Oxm: NewOxm(121360),
+ }
+ return obj
+}
+func (self *NxmTunIpv6Src) GetOXMName() string {
+ return "tun_ipv6_src"
+}
+
+func (self *NxmTunIpv6Src) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunIpv6Src) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunIpv6SrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmTunIpv6SrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmTunIpv6SrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmTunIpv6SrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmTunIpv6SrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmTunIpv6SrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunIpv6SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeNxmTunIpv6SrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunIpv6SrcMasked, error) {
+ _nxmtunipv6srcmasked := &NxmTunIpv6SrcMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmTunIpv6SrcMasked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmtunipv6srcmasked.Value = net.IP(decoder.Read(16))
+ _nxmtunipv6srcmasked.ValueMask = net.IP(decoder.Read(16))
+ return _nxmtunipv6srcmasked, nil
+}
+
+func NewNxmTunIpv6SrcMasked() *NxmTunIpv6SrcMasked {
+ obj := &NxmTunIpv6SrcMasked{
+ Oxm: NewOxm(121632),
+ }
+ return obj
+}
+func (self *NxmTunIpv6SrcMasked) GetOXMName() string {
+ return "tun_ipv6_src_masked"
+}
+
+func (self *NxmTunIpv6SrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunIpv6SrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunIpv6SrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata0 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata0 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata0) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata0) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata0(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata0, error) {
+ _nxmtunmetadata0 := &NxmTunMetadata0{Oxm: parent}
+ _nxmtunmetadata0.Value = decoder.Read(int(_nxmtunmetadata0.TypeLen & 0xFF))
+ return _nxmtunmetadata0, nil
+}
+
+func NewNxmTunMetadata0() *NxmTunMetadata0 {
+ obj := &NxmTunMetadata0{
+ Oxm: NewOxm(86140),
+ }
+ return obj
+}
+func (self *NxmTunMetadata0) GetOXMName() string {
+ return "tun_metadata0"
+}
+
+func (self *NxmTunMetadata0) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata0) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata0Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata0Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata0Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata0Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata0Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata0Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata0Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata0Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata0Masked, error) {
+ _nxmtunmetadata0masked := &NxmTunMetadata0Masked{Oxm: parent}
+ _nxmtunmetadata0masked.Value = decoder.Read(int(_nxmtunmetadata0masked.TypeLen & 0xFF))
+ _nxmtunmetadata0masked.ValueMask = decoder.Read(int(_nxmtunmetadata0masked.TypeLen & 0xFF))
+ return _nxmtunmetadata0masked, nil
+}
+
+func NewNxmTunMetadata0Masked() *NxmTunMetadata0Masked {
+ obj := &NxmTunMetadata0Masked{
+ Oxm: NewOxm(86520),
+ }
+ return obj
+}
+func (self *NxmTunMetadata0Masked) GetOXMName() string {
+ return "tun_metadata0_masked"
+}
+
+func (self *NxmTunMetadata0Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata0Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata0Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata1 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata1 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata1) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata1) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata1(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata1, error) {
+ _nxmtunmetadata1 := &NxmTunMetadata1{Oxm: parent}
+ _nxmtunmetadata1.Value = decoder.Read(int(_nxmtunmetadata1.TypeLen & 0xFF))
+ return _nxmtunmetadata1, nil
+}
+
+func NewNxmTunMetadata1() *NxmTunMetadata1 {
+ obj := &NxmTunMetadata1{
+ Oxm: NewOxm(86652),
+ }
+ return obj
+}
+func (self *NxmTunMetadata1) GetOXMName() string {
+ return "tun_metadata1"
+}
+
+func (self *NxmTunMetadata1) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata1) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata10 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata10 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata10) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata10) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata10) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata10(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata10, error) {
+ _nxmtunmetadata10 := &NxmTunMetadata10{Oxm: parent}
+ _nxmtunmetadata10.Value = decoder.Read(int(_nxmtunmetadata10.TypeLen & 0xFF))
+ return _nxmtunmetadata10, nil
+}
+
+func NewNxmTunMetadata10() *NxmTunMetadata10 {
+ obj := &NxmTunMetadata10{
+ Oxm: NewOxm(91260),
+ }
+ return obj
+}
+func (self *NxmTunMetadata10) GetOXMName() string {
+ return "tun_metadata10"
+}
+
+func (self *NxmTunMetadata10) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata10) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata10Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata10Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata10Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata10Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata10Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata10Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata10Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata10Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata10Masked, error) {
+ _nxmtunmetadata10masked := &NxmTunMetadata10Masked{Oxm: parent}
+ _nxmtunmetadata10masked.Value = decoder.Read(int(_nxmtunmetadata10masked.TypeLen & 0xFF))
+ _nxmtunmetadata10masked.ValueMask = decoder.Read(int(_nxmtunmetadata10masked.TypeLen & 0xFF))
+ return _nxmtunmetadata10masked, nil
+}
+
+func NewNxmTunMetadata10Masked() *NxmTunMetadata10Masked {
+ obj := &NxmTunMetadata10Masked{
+ Oxm: NewOxm(91640),
+ }
+ return obj
+}
+func (self *NxmTunMetadata10Masked) GetOXMName() string {
+ return "tun_metadata10_masked"
+}
+
+func (self *NxmTunMetadata10Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata10Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata10Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata11 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata11 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata11) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata11) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata11) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata11(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata11, error) {
+ _nxmtunmetadata11 := &NxmTunMetadata11{Oxm: parent}
+ _nxmtunmetadata11.Value = decoder.Read(int(_nxmtunmetadata11.TypeLen & 0xFF))
+ return _nxmtunmetadata11, nil
+}
+
+func NewNxmTunMetadata11() *NxmTunMetadata11 {
+ obj := &NxmTunMetadata11{
+ Oxm: NewOxm(91772),
+ }
+ return obj
+}
+func (self *NxmTunMetadata11) GetOXMName() string {
+ return "tun_metadata11"
+}
+
+func (self *NxmTunMetadata11) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata11) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata11Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata11Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata11Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata11Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata11Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata11Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata11Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata11Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata11Masked, error) {
+ _nxmtunmetadata11masked := &NxmTunMetadata11Masked{Oxm: parent}
+ _nxmtunmetadata11masked.Value = decoder.Read(int(_nxmtunmetadata11masked.TypeLen & 0xFF))
+ _nxmtunmetadata11masked.ValueMask = decoder.Read(int(_nxmtunmetadata11masked.TypeLen & 0xFF))
+ return _nxmtunmetadata11masked, nil
+}
+
+func NewNxmTunMetadata11Masked() *NxmTunMetadata11Masked {
+ obj := &NxmTunMetadata11Masked{
+ Oxm: NewOxm(92152),
+ }
+ return obj
+}
+func (self *NxmTunMetadata11Masked) GetOXMName() string {
+ return "tun_metadata11_masked"
+}
+
+func (self *NxmTunMetadata11Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata11Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata11Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata12 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata12 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata12) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata12) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata12) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata12(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata12, error) {
+ _nxmtunmetadata12 := &NxmTunMetadata12{Oxm: parent}
+ _nxmtunmetadata12.Value = decoder.Read(int(_nxmtunmetadata12.TypeLen & 0xFF))
+ return _nxmtunmetadata12, nil
+}
+
+func NewNxmTunMetadata12() *NxmTunMetadata12 {
+ obj := &NxmTunMetadata12{
+ Oxm: NewOxm(92284),
+ }
+ return obj
+}
+func (self *NxmTunMetadata12) GetOXMName() string {
+ return "tun_metadata12"
+}
+
+func (self *NxmTunMetadata12) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata12) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata12Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata12Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata12Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata12Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata12Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata12Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata12Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata12Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata12Masked, error) {
+ _nxmtunmetadata12masked := &NxmTunMetadata12Masked{Oxm: parent}
+ _nxmtunmetadata12masked.Value = decoder.Read(int(_nxmtunmetadata12masked.TypeLen & 0xFF))
+ _nxmtunmetadata12masked.ValueMask = decoder.Read(int(_nxmtunmetadata12masked.TypeLen & 0xFF))
+ return _nxmtunmetadata12masked, nil
+}
+
+func NewNxmTunMetadata12Masked() *NxmTunMetadata12Masked {
+ obj := &NxmTunMetadata12Masked{
+ Oxm: NewOxm(92664),
+ }
+ return obj
+}
+func (self *NxmTunMetadata12Masked) GetOXMName() string {
+ return "tun_metadata12_masked"
+}
+
+func (self *NxmTunMetadata12Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata12Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata12Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata13 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata13 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata13) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata13) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata13) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata13(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata13, error) {
+ _nxmtunmetadata13 := &NxmTunMetadata13{Oxm: parent}
+ _nxmtunmetadata13.Value = decoder.Read(int(_nxmtunmetadata13.TypeLen & 0xFF))
+ return _nxmtunmetadata13, nil
+}
+
+func NewNxmTunMetadata13() *NxmTunMetadata13 {
+ obj := &NxmTunMetadata13{
+ Oxm: NewOxm(92796),
+ }
+ return obj
+}
+func (self *NxmTunMetadata13) GetOXMName() string {
+ return "tun_metadata13"
+}
+
+func (self *NxmTunMetadata13) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata13) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata13Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata13Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata13Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata13Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata13Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata13Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata13Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata13Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata13Masked, error) {
+ _nxmtunmetadata13masked := &NxmTunMetadata13Masked{Oxm: parent}
+ _nxmtunmetadata13masked.Value = decoder.Read(int(_nxmtunmetadata13masked.TypeLen & 0xFF))
+ _nxmtunmetadata13masked.ValueMask = decoder.Read(int(_nxmtunmetadata13masked.TypeLen & 0xFF))
+ return _nxmtunmetadata13masked, nil
+}
+
+func NewNxmTunMetadata13Masked() *NxmTunMetadata13Masked {
+ obj := &NxmTunMetadata13Masked{
+ Oxm: NewOxm(93176),
+ }
+ return obj
+}
+func (self *NxmTunMetadata13Masked) GetOXMName() string {
+ return "tun_metadata13_masked"
+}
+
+func (self *NxmTunMetadata13Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata13Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata13Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata14 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata14 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata14) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata14) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata14) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata14(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata14, error) {
+ _nxmtunmetadata14 := &NxmTunMetadata14{Oxm: parent}
+ _nxmtunmetadata14.Value = decoder.Read(int(_nxmtunmetadata14.TypeLen & 0xFF))
+ return _nxmtunmetadata14, nil
+}
+
+func NewNxmTunMetadata14() *NxmTunMetadata14 {
+ obj := &NxmTunMetadata14{
+ Oxm: NewOxm(93308),
+ }
+ return obj
+}
+func (self *NxmTunMetadata14) GetOXMName() string {
+ return "tun_metadata14"
+}
+
+func (self *NxmTunMetadata14) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata14) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata14Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata14Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata14Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata14Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata14Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata14Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata14Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata14Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata14Masked, error) {
+ _nxmtunmetadata14masked := &NxmTunMetadata14Masked{Oxm: parent}
+ _nxmtunmetadata14masked.Value = decoder.Read(int(_nxmtunmetadata14masked.TypeLen & 0xFF))
+ _nxmtunmetadata14masked.ValueMask = decoder.Read(int(_nxmtunmetadata14masked.TypeLen & 0xFF))
+ return _nxmtunmetadata14masked, nil
+}
+
+func NewNxmTunMetadata14Masked() *NxmTunMetadata14Masked {
+ obj := &NxmTunMetadata14Masked{
+ Oxm: NewOxm(93688),
+ }
+ return obj
+}
+func (self *NxmTunMetadata14Masked) GetOXMName() string {
+ return "tun_metadata14_masked"
+}
+
+func (self *NxmTunMetadata14Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata14Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata14Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata15 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata15 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata15) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata15) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata15) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata15(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata15, error) {
+ _nxmtunmetadata15 := &NxmTunMetadata15{Oxm: parent}
+ _nxmtunmetadata15.Value = decoder.Read(int(_nxmtunmetadata15.TypeLen & 0xFF))
+ return _nxmtunmetadata15, nil
+}
+
+func NewNxmTunMetadata15() *NxmTunMetadata15 {
+ obj := &NxmTunMetadata15{
+ Oxm: NewOxm(93820),
+ }
+ return obj
+}
+func (self *NxmTunMetadata15) GetOXMName() string {
+ return "tun_metadata15"
+}
+
+func (self *NxmTunMetadata15) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata15) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata15Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata15Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata15Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata15Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata15Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata15Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata15Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata15Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata15Masked, error) {
+ _nxmtunmetadata15masked := &NxmTunMetadata15Masked{Oxm: parent}
+ _nxmtunmetadata15masked.Value = decoder.Read(int(_nxmtunmetadata15masked.TypeLen & 0xFF))
+ _nxmtunmetadata15masked.ValueMask = decoder.Read(int(_nxmtunmetadata15masked.TypeLen & 0xFF))
+ return _nxmtunmetadata15masked, nil
+}
+
+func NewNxmTunMetadata15Masked() *NxmTunMetadata15Masked {
+ obj := &NxmTunMetadata15Masked{
+ Oxm: NewOxm(94200),
+ }
+ return obj
+}
+func (self *NxmTunMetadata15Masked) GetOXMName() string {
+ return "tun_metadata15_masked"
+}
+
+func (self *NxmTunMetadata15Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata15Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata15Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata16 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata16 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata16) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata16) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata16) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata16(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata16, error) {
+ _nxmtunmetadata16 := &NxmTunMetadata16{Oxm: parent}
+ _nxmtunmetadata16.Value = decoder.Read(int(_nxmtunmetadata16.TypeLen & 0xFF))
+ return _nxmtunmetadata16, nil
+}
+
+func NewNxmTunMetadata16() *NxmTunMetadata16 {
+ obj := &NxmTunMetadata16{
+ Oxm: NewOxm(94332),
+ }
+ return obj
+}
+func (self *NxmTunMetadata16) GetOXMName() string {
+ return "tun_metadata16"
+}
+
+func (self *NxmTunMetadata16) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata16) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata16Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata16Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata16Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata16Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata16Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata16Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata16Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata16Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata16Masked, error) {
+ _nxmtunmetadata16masked := &NxmTunMetadata16Masked{Oxm: parent}
+ _nxmtunmetadata16masked.Value = decoder.Read(int(_nxmtunmetadata16masked.TypeLen & 0xFF))
+ _nxmtunmetadata16masked.ValueMask = decoder.Read(int(_nxmtunmetadata16masked.TypeLen & 0xFF))
+ return _nxmtunmetadata16masked, nil
+}
+
+func NewNxmTunMetadata16Masked() *NxmTunMetadata16Masked {
+ obj := &NxmTunMetadata16Masked{
+ Oxm: NewOxm(94712),
+ }
+ return obj
+}
+func (self *NxmTunMetadata16Masked) GetOXMName() string {
+ return "tun_metadata16_masked"
+}
+
+func (self *NxmTunMetadata16Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata16Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata16Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata17 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata17 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata17) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata17) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata17) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata17(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata17, error) {
+ _nxmtunmetadata17 := &NxmTunMetadata17{Oxm: parent}
+ _nxmtunmetadata17.Value = decoder.Read(int(_nxmtunmetadata17.TypeLen & 0xFF))
+ return _nxmtunmetadata17, nil
+}
+
+func NewNxmTunMetadata17() *NxmTunMetadata17 {
+ obj := &NxmTunMetadata17{
+ Oxm: NewOxm(94844),
+ }
+ return obj
+}
+func (self *NxmTunMetadata17) GetOXMName() string {
+ return "tun_metadata17"
+}
+
+func (self *NxmTunMetadata17) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata17) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata17Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata17Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata17Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata17Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata17Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata17Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata17Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata17Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata17Masked, error) {
+ _nxmtunmetadata17masked := &NxmTunMetadata17Masked{Oxm: parent}
+ _nxmtunmetadata17masked.Value = decoder.Read(int(_nxmtunmetadata17masked.TypeLen & 0xFF))
+ _nxmtunmetadata17masked.ValueMask = decoder.Read(int(_nxmtunmetadata17masked.TypeLen & 0xFF))
+ return _nxmtunmetadata17masked, nil
+}
+
+func NewNxmTunMetadata17Masked() *NxmTunMetadata17Masked {
+ obj := &NxmTunMetadata17Masked{
+ Oxm: NewOxm(95224),
+ }
+ return obj
+}
+func (self *NxmTunMetadata17Masked) GetOXMName() string {
+ return "tun_metadata17_masked"
+}
+
+func (self *NxmTunMetadata17Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata17Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata17Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata18 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata18 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata18) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata18) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata18) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata18(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata18, error) {
+ _nxmtunmetadata18 := &NxmTunMetadata18{Oxm: parent}
+ _nxmtunmetadata18.Value = decoder.Read(int(_nxmtunmetadata18.TypeLen & 0xFF))
+ return _nxmtunmetadata18, nil
+}
+
+func NewNxmTunMetadata18() *NxmTunMetadata18 {
+ obj := &NxmTunMetadata18{
+ Oxm: NewOxm(95356),
+ }
+ return obj
+}
+func (self *NxmTunMetadata18) GetOXMName() string {
+ return "tun_metadata18"
+}
+
+func (self *NxmTunMetadata18) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata18) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata18Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata18Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata18Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata18Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata18Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata18Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata18Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata18Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata18Masked, error) {
+ _nxmtunmetadata18masked := &NxmTunMetadata18Masked{Oxm: parent}
+ _nxmtunmetadata18masked.Value = decoder.Read(int(_nxmtunmetadata18masked.TypeLen & 0xFF))
+ _nxmtunmetadata18masked.ValueMask = decoder.Read(int(_nxmtunmetadata18masked.TypeLen & 0xFF))
+ return _nxmtunmetadata18masked, nil
+}
+
+func NewNxmTunMetadata18Masked() *NxmTunMetadata18Masked {
+ obj := &NxmTunMetadata18Masked{
+ Oxm: NewOxm(95736),
+ }
+ return obj
+}
+func (self *NxmTunMetadata18Masked) GetOXMName() string {
+ return "tun_metadata18_masked"
+}
+
+func (self *NxmTunMetadata18Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata18Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata18Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata19 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata19 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata19) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata19) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata19) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata19(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata19, error) {
+ _nxmtunmetadata19 := &NxmTunMetadata19{Oxm: parent}
+ _nxmtunmetadata19.Value = decoder.Read(int(_nxmtunmetadata19.TypeLen & 0xFF))
+ return _nxmtunmetadata19, nil
+}
+
+func NewNxmTunMetadata19() *NxmTunMetadata19 {
+ obj := &NxmTunMetadata19{
+ Oxm: NewOxm(95868),
+ }
+ return obj
+}
+func (self *NxmTunMetadata19) GetOXMName() string {
+ return "tun_metadata19"
+}
+
+func (self *NxmTunMetadata19) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata19) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata19Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata19Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata19Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata19Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata19Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata19Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata19Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata19Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata19Masked, error) {
+ _nxmtunmetadata19masked := &NxmTunMetadata19Masked{Oxm: parent}
+ _nxmtunmetadata19masked.Value = decoder.Read(int(_nxmtunmetadata19masked.TypeLen & 0xFF))
+ _nxmtunmetadata19masked.ValueMask = decoder.Read(int(_nxmtunmetadata19masked.TypeLen & 0xFF))
+ return _nxmtunmetadata19masked, nil
+}
+
+func NewNxmTunMetadata19Masked() *NxmTunMetadata19Masked {
+ obj := &NxmTunMetadata19Masked{
+ Oxm: NewOxm(96248),
+ }
+ return obj
+}
+func (self *NxmTunMetadata19Masked) GetOXMName() string {
+ return "tun_metadata19_masked"
+}
+
+func (self *NxmTunMetadata19Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata19Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata19Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata1Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata1Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata1Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata1Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata1Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata1Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata1Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata1Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata1Masked, error) {
+ _nxmtunmetadata1masked := &NxmTunMetadata1Masked{Oxm: parent}
+ _nxmtunmetadata1masked.Value = decoder.Read(int(_nxmtunmetadata1masked.TypeLen & 0xFF))
+ _nxmtunmetadata1masked.ValueMask = decoder.Read(int(_nxmtunmetadata1masked.TypeLen & 0xFF))
+ return _nxmtunmetadata1masked, nil
+}
+
+func NewNxmTunMetadata1Masked() *NxmTunMetadata1Masked {
+ obj := &NxmTunMetadata1Masked{
+ Oxm: NewOxm(87032),
+ }
+ return obj
+}
+func (self *NxmTunMetadata1Masked) GetOXMName() string {
+ return "tun_metadata1_masked"
+}
+
+func (self *NxmTunMetadata1Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata1Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata1Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata2 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata2 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata2) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata2) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata2(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata2, error) {
+ _nxmtunmetadata2 := &NxmTunMetadata2{Oxm: parent}
+ _nxmtunmetadata2.Value = decoder.Read(int(_nxmtunmetadata2.TypeLen & 0xFF))
+ return _nxmtunmetadata2, nil
+}
+
+func NewNxmTunMetadata2() *NxmTunMetadata2 {
+ obj := &NxmTunMetadata2{
+ Oxm: NewOxm(87164),
+ }
+ return obj
+}
+func (self *NxmTunMetadata2) GetOXMName() string {
+ return "tun_metadata2"
+}
+
+func (self *NxmTunMetadata2) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata2) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata20 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata20 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata20) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata20) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata20) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata20(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata20, error) {
+ _nxmtunmetadata20 := &NxmTunMetadata20{Oxm: parent}
+ _nxmtunmetadata20.Value = decoder.Read(int(_nxmtunmetadata20.TypeLen & 0xFF))
+ return _nxmtunmetadata20, nil
+}
+
+func NewNxmTunMetadata20() *NxmTunMetadata20 {
+ obj := &NxmTunMetadata20{
+ Oxm: NewOxm(96380),
+ }
+ return obj
+}
+func (self *NxmTunMetadata20) GetOXMName() string {
+ return "tun_metadata20"
+}
+
+func (self *NxmTunMetadata20) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata20) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata20Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata20Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata20Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata20Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata20Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata20Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata20Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata20Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata20Masked, error) {
+ _nxmtunmetadata20masked := &NxmTunMetadata20Masked{Oxm: parent}
+ _nxmtunmetadata20masked.Value = decoder.Read(int(_nxmtunmetadata20masked.TypeLen & 0xFF))
+ _nxmtunmetadata20masked.ValueMask = decoder.Read(int(_nxmtunmetadata20masked.TypeLen & 0xFF))
+ return _nxmtunmetadata20masked, nil
+}
+
+func NewNxmTunMetadata20Masked() *NxmTunMetadata20Masked {
+ obj := &NxmTunMetadata20Masked{
+ Oxm: NewOxm(96760),
+ }
+ return obj
+}
+func (self *NxmTunMetadata20Masked) GetOXMName() string {
+ return "tun_metadata20_masked"
+}
+
+func (self *NxmTunMetadata20Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata20Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata20Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata21 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata21 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata21) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata21) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata21) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata21(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata21, error) {
+ _nxmtunmetadata21 := &NxmTunMetadata21{Oxm: parent}
+ _nxmtunmetadata21.Value = decoder.Read(int(_nxmtunmetadata21.TypeLen & 0xFF))
+ return _nxmtunmetadata21, nil
+}
+
+func NewNxmTunMetadata21() *NxmTunMetadata21 {
+ obj := &NxmTunMetadata21{
+ Oxm: NewOxm(96892),
+ }
+ return obj
+}
+func (self *NxmTunMetadata21) GetOXMName() string {
+ return "tun_metadata21"
+}
+
+func (self *NxmTunMetadata21) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata21) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata21Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata21Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata21Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata21Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata21Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata21Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata21Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata21Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata21Masked, error) {
+ _nxmtunmetadata21masked := &NxmTunMetadata21Masked{Oxm: parent}
+ _nxmtunmetadata21masked.Value = decoder.Read(int(_nxmtunmetadata21masked.TypeLen & 0xFF))
+ _nxmtunmetadata21masked.ValueMask = decoder.Read(int(_nxmtunmetadata21masked.TypeLen & 0xFF))
+ return _nxmtunmetadata21masked, nil
+}
+
+func NewNxmTunMetadata21Masked() *NxmTunMetadata21Masked {
+ obj := &NxmTunMetadata21Masked{
+ Oxm: NewOxm(97272),
+ }
+ return obj
+}
+func (self *NxmTunMetadata21Masked) GetOXMName() string {
+ return "tun_metadata21_masked"
+}
+
+func (self *NxmTunMetadata21Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata21Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata21Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata22 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata22 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata22) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata22) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata22) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata22(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata22, error) {
+ _nxmtunmetadata22 := &NxmTunMetadata22{Oxm: parent}
+ _nxmtunmetadata22.Value = decoder.Read(int(_nxmtunmetadata22.TypeLen & 0xFF))
+ return _nxmtunmetadata22, nil
+}
+
+func NewNxmTunMetadata22() *NxmTunMetadata22 {
+ obj := &NxmTunMetadata22{
+ Oxm: NewOxm(97404),
+ }
+ return obj
+}
+func (self *NxmTunMetadata22) GetOXMName() string {
+ return "tun_metadata22"
+}
+
+func (self *NxmTunMetadata22) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata22) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata22Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata22Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata22Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata22Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata22Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata22Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata22Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata22Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata22Masked, error) {
+ _nxmtunmetadata22masked := &NxmTunMetadata22Masked{Oxm: parent}
+ _nxmtunmetadata22masked.Value = decoder.Read(int(_nxmtunmetadata22masked.TypeLen & 0xFF))
+ _nxmtunmetadata22masked.ValueMask = decoder.Read(int(_nxmtunmetadata22masked.TypeLen & 0xFF))
+ return _nxmtunmetadata22masked, nil
+}
+
+func NewNxmTunMetadata22Masked() *NxmTunMetadata22Masked {
+ obj := &NxmTunMetadata22Masked{
+ Oxm: NewOxm(97784),
+ }
+ return obj
+}
+func (self *NxmTunMetadata22Masked) GetOXMName() string {
+ return "tun_metadata22_masked"
+}
+
+func (self *NxmTunMetadata22Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata22Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata22Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata23 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata23 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata23) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata23) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata23) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata23(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata23, error) {
+ _nxmtunmetadata23 := &NxmTunMetadata23{Oxm: parent}
+ _nxmtunmetadata23.Value = decoder.Read(int(_nxmtunmetadata23.TypeLen & 0xFF))
+ return _nxmtunmetadata23, nil
+}
+
+func NewNxmTunMetadata23() *NxmTunMetadata23 {
+ obj := &NxmTunMetadata23{
+ Oxm: NewOxm(97916),
+ }
+ return obj
+}
+func (self *NxmTunMetadata23) GetOXMName() string {
+ return "tun_metadata23"
+}
+
+func (self *NxmTunMetadata23) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata23) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata23Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata23Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata23Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata23Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata23Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata23Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata23Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata23Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata23Masked, error) {
+ _nxmtunmetadata23masked := &NxmTunMetadata23Masked{Oxm: parent}
+ _nxmtunmetadata23masked.Value = decoder.Read(int(_nxmtunmetadata23masked.TypeLen & 0xFF))
+ _nxmtunmetadata23masked.ValueMask = decoder.Read(int(_nxmtunmetadata23masked.TypeLen & 0xFF))
+ return _nxmtunmetadata23masked, nil
+}
+
+func NewNxmTunMetadata23Masked() *NxmTunMetadata23Masked {
+ obj := &NxmTunMetadata23Masked{
+ Oxm: NewOxm(98296),
+ }
+ return obj
+}
+func (self *NxmTunMetadata23Masked) GetOXMName() string {
+ return "tun_metadata23_masked"
+}
+
+func (self *NxmTunMetadata23Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata23Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata23Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata24 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata24 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata24) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata24) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata24) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata24(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata24, error) {
+ _nxmtunmetadata24 := &NxmTunMetadata24{Oxm: parent}
+ _nxmtunmetadata24.Value = decoder.Read(int(_nxmtunmetadata24.TypeLen & 0xFF))
+ return _nxmtunmetadata24, nil
+}
+
+func NewNxmTunMetadata24() *NxmTunMetadata24 {
+ obj := &NxmTunMetadata24{
+ Oxm: NewOxm(98428),
+ }
+ return obj
+}
+func (self *NxmTunMetadata24) GetOXMName() string {
+ return "tun_metadata24"
+}
+
+func (self *NxmTunMetadata24) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata24) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata24Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata24Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata24Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata24Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata24Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata24Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata24Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata24Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata24Masked, error) {
+ _nxmtunmetadata24masked := &NxmTunMetadata24Masked{Oxm: parent}
+ _nxmtunmetadata24masked.Value = decoder.Read(int(_nxmtunmetadata24masked.TypeLen & 0xFF))
+ _nxmtunmetadata24masked.ValueMask = decoder.Read(int(_nxmtunmetadata24masked.TypeLen & 0xFF))
+ return _nxmtunmetadata24masked, nil
+}
+
+func NewNxmTunMetadata24Masked() *NxmTunMetadata24Masked {
+ obj := &NxmTunMetadata24Masked{
+ Oxm: NewOxm(98808),
+ }
+ return obj
+}
+func (self *NxmTunMetadata24Masked) GetOXMName() string {
+ return "tun_metadata24_masked"
+}
+
+func (self *NxmTunMetadata24Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata24Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata24Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata25 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata25 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata25) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata25) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata25) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata25(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata25, error) {
+ _nxmtunmetadata25 := &NxmTunMetadata25{Oxm: parent}
+ _nxmtunmetadata25.Value = decoder.Read(int(_nxmtunmetadata25.TypeLen & 0xFF))
+ return _nxmtunmetadata25, nil
+}
+
+func NewNxmTunMetadata25() *NxmTunMetadata25 {
+ obj := &NxmTunMetadata25{
+ Oxm: NewOxm(98940),
+ }
+ return obj
+}
+func (self *NxmTunMetadata25) GetOXMName() string {
+ return "tun_metadata25"
+}
+
+func (self *NxmTunMetadata25) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata25) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata25Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata25Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata25Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata25Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata25Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata25Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata25Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata25Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata25Masked, error) {
+ _nxmtunmetadata25masked := &NxmTunMetadata25Masked{Oxm: parent}
+ _nxmtunmetadata25masked.Value = decoder.Read(int(_nxmtunmetadata25masked.TypeLen & 0xFF))
+ _nxmtunmetadata25masked.ValueMask = decoder.Read(int(_nxmtunmetadata25masked.TypeLen & 0xFF))
+ return _nxmtunmetadata25masked, nil
+}
+
+func NewNxmTunMetadata25Masked() *NxmTunMetadata25Masked {
+ obj := &NxmTunMetadata25Masked{
+ Oxm: NewOxm(99320),
+ }
+ return obj
+}
+func (self *NxmTunMetadata25Masked) GetOXMName() string {
+ return "tun_metadata25_masked"
+}
+
+func (self *NxmTunMetadata25Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata25Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata25Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata26 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata26 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata26) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata26) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata26) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata26(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata26, error) {
+ _nxmtunmetadata26 := &NxmTunMetadata26{Oxm: parent}
+ _nxmtunmetadata26.Value = decoder.Read(int(_nxmtunmetadata26.TypeLen & 0xFF))
+ return _nxmtunmetadata26, nil
+}
+
+func NewNxmTunMetadata26() *NxmTunMetadata26 {
+ obj := &NxmTunMetadata26{
+ Oxm: NewOxm(99452),
+ }
+ return obj
+}
+func (self *NxmTunMetadata26) GetOXMName() string {
+ return "tun_metadata26"
+}
+
+func (self *NxmTunMetadata26) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata26) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata26Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata26Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata26Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata26Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata26Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata26Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata26Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata26Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata26Masked, error) {
+ _nxmtunmetadata26masked := &NxmTunMetadata26Masked{Oxm: parent}
+ _nxmtunmetadata26masked.Value = decoder.Read(int(_nxmtunmetadata26masked.TypeLen & 0xFF))
+ _nxmtunmetadata26masked.ValueMask = decoder.Read(int(_nxmtunmetadata26masked.TypeLen & 0xFF))
+ return _nxmtunmetadata26masked, nil
+}
+
+func NewNxmTunMetadata26Masked() *NxmTunMetadata26Masked {
+ obj := &NxmTunMetadata26Masked{
+ Oxm: NewOxm(99832),
+ }
+ return obj
+}
+func (self *NxmTunMetadata26Masked) GetOXMName() string {
+ return "tun_metadata26_masked"
+}
+
+func (self *NxmTunMetadata26Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata26Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata26Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata27 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata27 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata27) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata27) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata27) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata27(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata27, error) {
+ _nxmtunmetadata27 := &NxmTunMetadata27{Oxm: parent}
+ _nxmtunmetadata27.Value = decoder.Read(int(_nxmtunmetadata27.TypeLen & 0xFF))
+ return _nxmtunmetadata27, nil
+}
+
+func NewNxmTunMetadata27() *NxmTunMetadata27 {
+ obj := &NxmTunMetadata27{
+ Oxm: NewOxm(99964),
+ }
+ return obj
+}
+func (self *NxmTunMetadata27) GetOXMName() string {
+ return "tun_metadata27"
+}
+
+func (self *NxmTunMetadata27) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata27) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata27Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata27Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata27Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata27Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata27Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata27Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata27Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata27Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata27Masked, error) {
+ _nxmtunmetadata27masked := &NxmTunMetadata27Masked{Oxm: parent}
+ _nxmtunmetadata27masked.Value = decoder.Read(int(_nxmtunmetadata27masked.TypeLen & 0xFF))
+ _nxmtunmetadata27masked.ValueMask = decoder.Read(int(_nxmtunmetadata27masked.TypeLen & 0xFF))
+ return _nxmtunmetadata27masked, nil
+}
+
+func NewNxmTunMetadata27Masked() *NxmTunMetadata27Masked {
+ obj := &NxmTunMetadata27Masked{
+ Oxm: NewOxm(100344),
+ }
+ return obj
+}
+func (self *NxmTunMetadata27Masked) GetOXMName() string {
+ return "tun_metadata27_masked"
+}
+
+func (self *NxmTunMetadata27Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata27Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata27Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata28 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata28 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata28) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata28) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata28) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata28(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata28, error) {
+ _nxmtunmetadata28 := &NxmTunMetadata28{Oxm: parent}
+ _nxmtunmetadata28.Value = decoder.Read(int(_nxmtunmetadata28.TypeLen & 0xFF))
+ return _nxmtunmetadata28, nil
+}
+
+func NewNxmTunMetadata28() *NxmTunMetadata28 {
+ obj := &NxmTunMetadata28{
+ Oxm: NewOxm(100476),
+ }
+ return obj
+}
+func (self *NxmTunMetadata28) GetOXMName() string {
+ return "tun_metadata28"
+}
+
+func (self *NxmTunMetadata28) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata28) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata28Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata28Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata28Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata28Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata28Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata28Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata28Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata28Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata28Masked, error) {
+ _nxmtunmetadata28masked := &NxmTunMetadata28Masked{Oxm: parent}
+ _nxmtunmetadata28masked.Value = decoder.Read(int(_nxmtunmetadata28masked.TypeLen & 0xFF))
+ _nxmtunmetadata28masked.ValueMask = decoder.Read(int(_nxmtunmetadata28masked.TypeLen & 0xFF))
+ return _nxmtunmetadata28masked, nil
+}
+
+func NewNxmTunMetadata28Masked() *NxmTunMetadata28Masked {
+ obj := &NxmTunMetadata28Masked{
+ Oxm: NewOxm(100856),
+ }
+ return obj
+}
+func (self *NxmTunMetadata28Masked) GetOXMName() string {
+ return "tun_metadata28_masked"
+}
+
+func (self *NxmTunMetadata28Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata28Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata28Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata29 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata29 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata29) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata29) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata29) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata29(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata29, error) {
+ _nxmtunmetadata29 := &NxmTunMetadata29{Oxm: parent}
+ _nxmtunmetadata29.Value = decoder.Read(int(_nxmtunmetadata29.TypeLen & 0xFF))
+ return _nxmtunmetadata29, nil
+}
+
+func NewNxmTunMetadata29() *NxmTunMetadata29 {
+ obj := &NxmTunMetadata29{
+ Oxm: NewOxm(100988),
+ }
+ return obj
+}
+func (self *NxmTunMetadata29) GetOXMName() string {
+ return "tun_metadata29"
+}
+
+func (self *NxmTunMetadata29) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata29) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata29Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata29Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata29Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata29Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata29Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata29Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata29Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata29Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata29Masked, error) {
+ _nxmtunmetadata29masked := &NxmTunMetadata29Masked{Oxm: parent}
+ _nxmtunmetadata29masked.Value = decoder.Read(int(_nxmtunmetadata29masked.TypeLen & 0xFF))
+ _nxmtunmetadata29masked.ValueMask = decoder.Read(int(_nxmtunmetadata29masked.TypeLen & 0xFF))
+ return _nxmtunmetadata29masked, nil
+}
+
+func NewNxmTunMetadata29Masked() *NxmTunMetadata29Masked {
+ obj := &NxmTunMetadata29Masked{
+ Oxm: NewOxm(101368),
+ }
+ return obj
+}
+func (self *NxmTunMetadata29Masked) GetOXMName() string {
+ return "tun_metadata29_masked"
+}
+
+func (self *NxmTunMetadata29Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata29Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata29Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata2Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata2Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata2Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata2Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata2Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata2Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata2Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata2Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata2Masked, error) {
+ _nxmtunmetadata2masked := &NxmTunMetadata2Masked{Oxm: parent}
+ _nxmtunmetadata2masked.Value = decoder.Read(int(_nxmtunmetadata2masked.TypeLen & 0xFF))
+ _nxmtunmetadata2masked.ValueMask = decoder.Read(int(_nxmtunmetadata2masked.TypeLen & 0xFF))
+ return _nxmtunmetadata2masked, nil
+}
+
+func NewNxmTunMetadata2Masked() *NxmTunMetadata2Masked {
+ obj := &NxmTunMetadata2Masked{
+ Oxm: NewOxm(87544),
+ }
+ return obj
+}
+func (self *NxmTunMetadata2Masked) GetOXMName() string {
+ return "tun_metadata2_masked"
+}
+
+func (self *NxmTunMetadata2Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata2Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata2Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata3 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata3 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata3) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata3) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata3(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata3, error) {
+ _nxmtunmetadata3 := &NxmTunMetadata3{Oxm: parent}
+ _nxmtunmetadata3.Value = decoder.Read(int(_nxmtunmetadata3.TypeLen & 0xFF))
+ return _nxmtunmetadata3, nil
+}
+
+func NewNxmTunMetadata3() *NxmTunMetadata3 {
+ obj := &NxmTunMetadata3{
+ Oxm: NewOxm(87676),
+ }
+ return obj
+}
+func (self *NxmTunMetadata3) GetOXMName() string {
+ return "tun_metadata3"
+}
+
+func (self *NxmTunMetadata3) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata3) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata30 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata30 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata30) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata30) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata30) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata30(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata30, error) {
+ _nxmtunmetadata30 := &NxmTunMetadata30{Oxm: parent}
+ _nxmtunmetadata30.Value = decoder.Read(int(_nxmtunmetadata30.TypeLen & 0xFF))
+ return _nxmtunmetadata30, nil
+}
+
+func NewNxmTunMetadata30() *NxmTunMetadata30 {
+ obj := &NxmTunMetadata30{
+ Oxm: NewOxm(101500),
+ }
+ return obj
+}
+func (self *NxmTunMetadata30) GetOXMName() string {
+ return "tun_metadata30"
+}
+
+func (self *NxmTunMetadata30) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata30) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata30Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata30Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata30Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata30Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata30Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata30Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata30Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata30Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata30Masked, error) {
+ _nxmtunmetadata30masked := &NxmTunMetadata30Masked{Oxm: parent}
+ _nxmtunmetadata30masked.Value = decoder.Read(int(_nxmtunmetadata30masked.TypeLen & 0xFF))
+ _nxmtunmetadata30masked.ValueMask = decoder.Read(int(_nxmtunmetadata30masked.TypeLen & 0xFF))
+ return _nxmtunmetadata30masked, nil
+}
+
+func NewNxmTunMetadata30Masked() *NxmTunMetadata30Masked {
+ obj := &NxmTunMetadata30Masked{
+ Oxm: NewOxm(101880),
+ }
+ return obj
+}
+func (self *NxmTunMetadata30Masked) GetOXMName() string {
+ return "tun_metadata30_masked"
+}
+
+func (self *NxmTunMetadata30Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata30Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata30Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata31 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata31 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata31) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata31) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata31) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata31(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata31, error) {
+ _nxmtunmetadata31 := &NxmTunMetadata31{Oxm: parent}
+ _nxmtunmetadata31.Value = decoder.Read(int(_nxmtunmetadata31.TypeLen & 0xFF))
+ return _nxmtunmetadata31, nil
+}
+
+func NewNxmTunMetadata31() *NxmTunMetadata31 {
+ obj := &NxmTunMetadata31{
+ Oxm: NewOxm(102012),
+ }
+ return obj
+}
+func (self *NxmTunMetadata31) GetOXMName() string {
+ return "tun_metadata31"
+}
+
+func (self *NxmTunMetadata31) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata31) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata31Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata31Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata31Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata31Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata31Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata31Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata31Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata31Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata31Masked, error) {
+ _nxmtunmetadata31masked := &NxmTunMetadata31Masked{Oxm: parent}
+ _nxmtunmetadata31masked.Value = decoder.Read(int(_nxmtunmetadata31masked.TypeLen & 0xFF))
+ _nxmtunmetadata31masked.ValueMask = decoder.Read(int(_nxmtunmetadata31masked.TypeLen & 0xFF))
+ return _nxmtunmetadata31masked, nil
+}
+
+func NewNxmTunMetadata31Masked() *NxmTunMetadata31Masked {
+ obj := &NxmTunMetadata31Masked{
+ Oxm: NewOxm(102392),
+ }
+ return obj
+}
+func (self *NxmTunMetadata31Masked) GetOXMName() string {
+ return "tun_metadata31_masked"
+}
+
+func (self *NxmTunMetadata31Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata31Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata31Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata32 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata32 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata32) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata32) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata32) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata32(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata32, error) {
+ _nxmtunmetadata32 := &NxmTunMetadata32{Oxm: parent}
+ _nxmtunmetadata32.Value = decoder.Read(int(_nxmtunmetadata32.TypeLen & 0xFF))
+ return _nxmtunmetadata32, nil
+}
+
+func NewNxmTunMetadata32() *NxmTunMetadata32 {
+ obj := &NxmTunMetadata32{
+ Oxm: NewOxm(102524),
+ }
+ return obj
+}
+func (self *NxmTunMetadata32) GetOXMName() string {
+ return "tun_metadata32"
+}
+
+func (self *NxmTunMetadata32) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata32) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata32Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata32Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata32Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata32Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata32Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata32Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata32Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata32Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata32Masked, error) {
+ _nxmtunmetadata32masked := &NxmTunMetadata32Masked{Oxm: parent}
+ _nxmtunmetadata32masked.Value = decoder.Read(int(_nxmtunmetadata32masked.TypeLen & 0xFF))
+ _nxmtunmetadata32masked.ValueMask = decoder.Read(int(_nxmtunmetadata32masked.TypeLen & 0xFF))
+ return _nxmtunmetadata32masked, nil
+}
+
+func NewNxmTunMetadata32Masked() *NxmTunMetadata32Masked {
+ obj := &NxmTunMetadata32Masked{
+ Oxm: NewOxm(102904),
+ }
+ return obj
+}
+func (self *NxmTunMetadata32Masked) GetOXMName() string {
+ return "tun_metadata32_masked"
+}
+
+func (self *NxmTunMetadata32Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata32Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata32Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata33 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata33 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata33) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata33) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata33) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata33(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata33, error) {
+ _nxmtunmetadata33 := &NxmTunMetadata33{Oxm: parent}
+ _nxmtunmetadata33.Value = decoder.Read(int(_nxmtunmetadata33.TypeLen & 0xFF))
+ return _nxmtunmetadata33, nil
+}
+
+func NewNxmTunMetadata33() *NxmTunMetadata33 {
+ obj := &NxmTunMetadata33{
+ Oxm: NewOxm(103036),
+ }
+ return obj
+}
+func (self *NxmTunMetadata33) GetOXMName() string {
+ return "tun_metadata33"
+}
+
+func (self *NxmTunMetadata33) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata33) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata33Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata33Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata33Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata33Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata33Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata33Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata33Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata33Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata33Masked, error) {
+ _nxmtunmetadata33masked := &NxmTunMetadata33Masked{Oxm: parent}
+ _nxmtunmetadata33masked.Value = decoder.Read(int(_nxmtunmetadata33masked.TypeLen & 0xFF))
+ _nxmtunmetadata33masked.ValueMask = decoder.Read(int(_nxmtunmetadata33masked.TypeLen & 0xFF))
+ return _nxmtunmetadata33masked, nil
+}
+
+func NewNxmTunMetadata33Masked() *NxmTunMetadata33Masked {
+ obj := &NxmTunMetadata33Masked{
+ Oxm: NewOxm(103416),
+ }
+ return obj
+}
+func (self *NxmTunMetadata33Masked) GetOXMName() string {
+ return "tun_metadata33_masked"
+}
+
+func (self *NxmTunMetadata33Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata33Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata33Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata34 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata34 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata34) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata34) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata34) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata34(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata34, error) {
+ _nxmtunmetadata34 := &NxmTunMetadata34{Oxm: parent}
+ _nxmtunmetadata34.Value = decoder.Read(int(_nxmtunmetadata34.TypeLen & 0xFF))
+ return _nxmtunmetadata34, nil
+}
+
+func NewNxmTunMetadata34() *NxmTunMetadata34 {
+ obj := &NxmTunMetadata34{
+ Oxm: NewOxm(103548),
+ }
+ return obj
+}
+func (self *NxmTunMetadata34) GetOXMName() string {
+ return "tun_metadata34"
+}
+
+func (self *NxmTunMetadata34) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata34) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata34Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata34Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata34Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata34Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata34Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata34Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata34Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata34Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata34Masked, error) {
+ _nxmtunmetadata34masked := &NxmTunMetadata34Masked{Oxm: parent}
+ _nxmtunmetadata34masked.Value = decoder.Read(int(_nxmtunmetadata34masked.TypeLen & 0xFF))
+ _nxmtunmetadata34masked.ValueMask = decoder.Read(int(_nxmtunmetadata34masked.TypeLen & 0xFF))
+ return _nxmtunmetadata34masked, nil
+}
+
+func NewNxmTunMetadata34Masked() *NxmTunMetadata34Masked {
+ obj := &NxmTunMetadata34Masked{
+ Oxm: NewOxm(103928),
+ }
+ return obj
+}
+func (self *NxmTunMetadata34Masked) GetOXMName() string {
+ return "tun_metadata34_masked"
+}
+
+func (self *NxmTunMetadata34Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata34Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata34Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata35 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata35 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata35) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata35) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata35) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata35(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata35, error) {
+ _nxmtunmetadata35 := &NxmTunMetadata35{Oxm: parent}
+ _nxmtunmetadata35.Value = decoder.Read(int(_nxmtunmetadata35.TypeLen & 0xFF))
+ return _nxmtunmetadata35, nil
+}
+
+func NewNxmTunMetadata35() *NxmTunMetadata35 {
+ obj := &NxmTunMetadata35{
+ Oxm: NewOxm(104060),
+ }
+ return obj
+}
+func (self *NxmTunMetadata35) GetOXMName() string {
+ return "tun_metadata35"
+}
+
+func (self *NxmTunMetadata35) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata35) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata35Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata35Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata35Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata35Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata35Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata35Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata35Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata35Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata35Masked, error) {
+ _nxmtunmetadata35masked := &NxmTunMetadata35Masked{Oxm: parent}
+ _nxmtunmetadata35masked.Value = decoder.Read(int(_nxmtunmetadata35masked.TypeLen & 0xFF))
+ _nxmtunmetadata35masked.ValueMask = decoder.Read(int(_nxmtunmetadata35masked.TypeLen & 0xFF))
+ return _nxmtunmetadata35masked, nil
+}
+
+func NewNxmTunMetadata35Masked() *NxmTunMetadata35Masked {
+ obj := &NxmTunMetadata35Masked{
+ Oxm: NewOxm(104440),
+ }
+ return obj
+}
+func (self *NxmTunMetadata35Masked) GetOXMName() string {
+ return "tun_metadata35_masked"
+}
+
+func (self *NxmTunMetadata35Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata35Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata35Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata36 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata36 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata36) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata36) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata36) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata36(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata36, error) {
+ _nxmtunmetadata36 := &NxmTunMetadata36{Oxm: parent}
+ _nxmtunmetadata36.Value = decoder.Read(int(_nxmtunmetadata36.TypeLen & 0xFF))
+ return _nxmtunmetadata36, nil
+}
+
+func NewNxmTunMetadata36() *NxmTunMetadata36 {
+ obj := &NxmTunMetadata36{
+ Oxm: NewOxm(104572),
+ }
+ return obj
+}
+func (self *NxmTunMetadata36) GetOXMName() string {
+ return "tun_metadata36"
+}
+
+func (self *NxmTunMetadata36) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata36) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata36Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata36Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata36Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata36Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata36Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata36Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata36Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata36Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata36Masked, error) {
+ _nxmtunmetadata36masked := &NxmTunMetadata36Masked{Oxm: parent}
+ _nxmtunmetadata36masked.Value = decoder.Read(int(_nxmtunmetadata36masked.TypeLen & 0xFF))
+ _nxmtunmetadata36masked.ValueMask = decoder.Read(int(_nxmtunmetadata36masked.TypeLen & 0xFF))
+ return _nxmtunmetadata36masked, nil
+}
+
+func NewNxmTunMetadata36Masked() *NxmTunMetadata36Masked {
+ obj := &NxmTunMetadata36Masked{
+ Oxm: NewOxm(104952),
+ }
+ return obj
+}
+func (self *NxmTunMetadata36Masked) GetOXMName() string {
+ return "tun_metadata36_masked"
+}
+
+func (self *NxmTunMetadata36Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata36Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata36Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata37 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata37 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata37) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata37) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata37) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata37(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata37, error) {
+ _nxmtunmetadata37 := &NxmTunMetadata37{Oxm: parent}
+ _nxmtunmetadata37.Value = decoder.Read(int(_nxmtunmetadata37.TypeLen & 0xFF))
+ return _nxmtunmetadata37, nil
+}
+
+func NewNxmTunMetadata37() *NxmTunMetadata37 {
+ obj := &NxmTunMetadata37{
+ Oxm: NewOxm(105084),
+ }
+ return obj
+}
+func (self *NxmTunMetadata37) GetOXMName() string {
+ return "tun_metadata37"
+}
+
+func (self *NxmTunMetadata37) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata37) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata37Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata37Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata37Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata37Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata37Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata37Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata37Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata37Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata37Masked, error) {
+ _nxmtunmetadata37masked := &NxmTunMetadata37Masked{Oxm: parent}
+ _nxmtunmetadata37masked.Value = decoder.Read(int(_nxmtunmetadata37masked.TypeLen & 0xFF))
+ _nxmtunmetadata37masked.ValueMask = decoder.Read(int(_nxmtunmetadata37masked.TypeLen & 0xFF))
+ return _nxmtunmetadata37masked, nil
+}
+
+func NewNxmTunMetadata37Masked() *NxmTunMetadata37Masked {
+ obj := &NxmTunMetadata37Masked{
+ Oxm: NewOxm(105464),
+ }
+ return obj
+}
+func (self *NxmTunMetadata37Masked) GetOXMName() string {
+ return "tun_metadata37_masked"
+}
+
+func (self *NxmTunMetadata37Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata37Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata37Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata38 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata38 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata38) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata38) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata38) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata38(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata38, error) {
+ _nxmtunmetadata38 := &NxmTunMetadata38{Oxm: parent}
+ _nxmtunmetadata38.Value = decoder.Read(int(_nxmtunmetadata38.TypeLen & 0xFF))
+ return _nxmtunmetadata38, nil
+}
+
+func NewNxmTunMetadata38() *NxmTunMetadata38 {
+ obj := &NxmTunMetadata38{
+ Oxm: NewOxm(105596),
+ }
+ return obj
+}
+func (self *NxmTunMetadata38) GetOXMName() string {
+ return "tun_metadata38"
+}
+
+func (self *NxmTunMetadata38) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata38) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata38Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata38Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata38Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata38Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata38Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata38Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata38Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata38Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata38Masked, error) {
+ _nxmtunmetadata38masked := &NxmTunMetadata38Masked{Oxm: parent}
+ _nxmtunmetadata38masked.Value = decoder.Read(int(_nxmtunmetadata38masked.TypeLen & 0xFF))
+ _nxmtunmetadata38masked.ValueMask = decoder.Read(int(_nxmtunmetadata38masked.TypeLen & 0xFF))
+ return _nxmtunmetadata38masked, nil
+}
+
+func NewNxmTunMetadata38Masked() *NxmTunMetadata38Masked {
+ obj := &NxmTunMetadata38Masked{
+ Oxm: NewOxm(105976),
+ }
+ return obj
+}
+func (self *NxmTunMetadata38Masked) GetOXMName() string {
+ return "tun_metadata38_masked"
+}
+
+func (self *NxmTunMetadata38Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata38Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata38Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata39 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata39 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata39) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata39) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata39) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata39(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata39, error) {
+ _nxmtunmetadata39 := &NxmTunMetadata39{Oxm: parent}
+ _nxmtunmetadata39.Value = decoder.Read(int(_nxmtunmetadata39.TypeLen & 0xFF))
+ return _nxmtunmetadata39, nil
+}
+
+func NewNxmTunMetadata39() *NxmTunMetadata39 {
+ obj := &NxmTunMetadata39{
+ Oxm: NewOxm(106108),
+ }
+ return obj
+}
+func (self *NxmTunMetadata39) GetOXMName() string {
+ return "tun_metadata39"
+}
+
+func (self *NxmTunMetadata39) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata39) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata39Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata39Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata39Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata39Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata39Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata39Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata39Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata39Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata39Masked, error) {
+ _nxmtunmetadata39masked := &NxmTunMetadata39Masked{Oxm: parent}
+ _nxmtunmetadata39masked.Value = decoder.Read(int(_nxmtunmetadata39masked.TypeLen & 0xFF))
+ _nxmtunmetadata39masked.ValueMask = decoder.Read(int(_nxmtunmetadata39masked.TypeLen & 0xFF))
+ return _nxmtunmetadata39masked, nil
+}
+
+func NewNxmTunMetadata39Masked() *NxmTunMetadata39Masked {
+ obj := &NxmTunMetadata39Masked{
+ Oxm: NewOxm(106488),
+ }
+ return obj
+}
+func (self *NxmTunMetadata39Masked) GetOXMName() string {
+ return "tun_metadata39_masked"
+}
+
+func (self *NxmTunMetadata39Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata39Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata39Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata3Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata3Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata3Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata3Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata3Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata3Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata3Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata3Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata3Masked, error) {
+ _nxmtunmetadata3masked := &NxmTunMetadata3Masked{Oxm: parent}
+ _nxmtunmetadata3masked.Value = decoder.Read(int(_nxmtunmetadata3masked.TypeLen & 0xFF))
+ _nxmtunmetadata3masked.ValueMask = decoder.Read(int(_nxmtunmetadata3masked.TypeLen & 0xFF))
+ return _nxmtunmetadata3masked, nil
+}
+
+func NewNxmTunMetadata3Masked() *NxmTunMetadata3Masked {
+ obj := &NxmTunMetadata3Masked{
+ Oxm: NewOxm(88056),
+ }
+ return obj
+}
+func (self *NxmTunMetadata3Masked) GetOXMName() string {
+ return "tun_metadata3_masked"
+}
+
+func (self *NxmTunMetadata3Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata3Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata3Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata4 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata4 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata4) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata4) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata4) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata4(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata4, error) {
+ _nxmtunmetadata4 := &NxmTunMetadata4{Oxm: parent}
+ _nxmtunmetadata4.Value = decoder.Read(int(_nxmtunmetadata4.TypeLen & 0xFF))
+ return _nxmtunmetadata4, nil
+}
+
+func NewNxmTunMetadata4() *NxmTunMetadata4 {
+ obj := &NxmTunMetadata4{
+ Oxm: NewOxm(88188),
+ }
+ return obj
+}
+func (self *NxmTunMetadata4) GetOXMName() string {
+ return "tun_metadata4"
+}
+
+func (self *NxmTunMetadata4) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata4) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata40 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata40 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata40) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata40) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata40) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata40(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata40, error) {
+ _nxmtunmetadata40 := &NxmTunMetadata40{Oxm: parent}
+ _nxmtunmetadata40.Value = decoder.Read(int(_nxmtunmetadata40.TypeLen & 0xFF))
+ return _nxmtunmetadata40, nil
+}
+
+func NewNxmTunMetadata40() *NxmTunMetadata40 {
+ obj := &NxmTunMetadata40{
+ Oxm: NewOxm(106620),
+ }
+ return obj
+}
+func (self *NxmTunMetadata40) GetOXMName() string {
+ return "tun_metadata40"
+}
+
+func (self *NxmTunMetadata40) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata40) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata40Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata40Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata40Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata40Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata40Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata40Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata40Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata40Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata40Masked, error) {
+ _nxmtunmetadata40masked := &NxmTunMetadata40Masked{Oxm: parent}
+ _nxmtunmetadata40masked.Value = decoder.Read(int(_nxmtunmetadata40masked.TypeLen & 0xFF))
+ _nxmtunmetadata40masked.ValueMask = decoder.Read(int(_nxmtunmetadata40masked.TypeLen & 0xFF))
+ return _nxmtunmetadata40masked, nil
+}
+
+func NewNxmTunMetadata40Masked() *NxmTunMetadata40Masked {
+ obj := &NxmTunMetadata40Masked{
+ Oxm: NewOxm(107000),
+ }
+ return obj
+}
+func (self *NxmTunMetadata40Masked) GetOXMName() string {
+ return "tun_metadata40_masked"
+}
+
+func (self *NxmTunMetadata40Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata40Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata40Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata41 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata41 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata41) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata41) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata41) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata41(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata41, error) {
+ _nxmtunmetadata41 := &NxmTunMetadata41{Oxm: parent}
+ _nxmtunmetadata41.Value = decoder.Read(int(_nxmtunmetadata41.TypeLen & 0xFF))
+ return _nxmtunmetadata41, nil
+}
+
+func NewNxmTunMetadata41() *NxmTunMetadata41 {
+ obj := &NxmTunMetadata41{
+ Oxm: NewOxm(107132),
+ }
+ return obj
+}
+func (self *NxmTunMetadata41) GetOXMName() string {
+ return "tun_metadata41"
+}
+
+func (self *NxmTunMetadata41) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata41) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata41Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata41Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata41Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata41Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata41Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata41Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata41Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata41Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata41Masked, error) {
+ _nxmtunmetadata41masked := &NxmTunMetadata41Masked{Oxm: parent}
+ _nxmtunmetadata41masked.Value = decoder.Read(int(_nxmtunmetadata41masked.TypeLen & 0xFF))
+ _nxmtunmetadata41masked.ValueMask = decoder.Read(int(_nxmtunmetadata41masked.TypeLen & 0xFF))
+ return _nxmtunmetadata41masked, nil
+}
+
+func NewNxmTunMetadata41Masked() *NxmTunMetadata41Masked {
+ obj := &NxmTunMetadata41Masked{
+ Oxm: NewOxm(107512),
+ }
+ return obj
+}
+func (self *NxmTunMetadata41Masked) GetOXMName() string {
+ return "tun_metadata41_masked"
+}
+
+func (self *NxmTunMetadata41Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata41Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata41Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata42 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata42 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata42) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata42) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata42) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata42(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata42, error) {
+ _nxmtunmetadata42 := &NxmTunMetadata42{Oxm: parent}
+ _nxmtunmetadata42.Value = decoder.Read(int(_nxmtunmetadata42.TypeLen & 0xFF))
+ return _nxmtunmetadata42, nil
+}
+
+func NewNxmTunMetadata42() *NxmTunMetadata42 {
+ obj := &NxmTunMetadata42{
+ Oxm: NewOxm(107644),
+ }
+ return obj
+}
+func (self *NxmTunMetadata42) GetOXMName() string {
+ return "tun_metadata42"
+}
+
+func (self *NxmTunMetadata42) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata42) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata42Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata42Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata42Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata42Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata42Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata42Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata42Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata42Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata42Masked, error) {
+ _nxmtunmetadata42masked := &NxmTunMetadata42Masked{Oxm: parent}
+ _nxmtunmetadata42masked.Value = decoder.Read(int(_nxmtunmetadata42masked.TypeLen & 0xFF))
+ _nxmtunmetadata42masked.ValueMask = decoder.Read(int(_nxmtunmetadata42masked.TypeLen & 0xFF))
+ return _nxmtunmetadata42masked, nil
+}
+
+func NewNxmTunMetadata42Masked() *NxmTunMetadata42Masked {
+ obj := &NxmTunMetadata42Masked{
+ Oxm: NewOxm(108024),
+ }
+ return obj
+}
+func (self *NxmTunMetadata42Masked) GetOXMName() string {
+ return "tun_metadata42_masked"
+}
+
+func (self *NxmTunMetadata42Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata42Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata42Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata43 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata43 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata43) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata43) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata43) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata43(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata43, error) {
+ _nxmtunmetadata43 := &NxmTunMetadata43{Oxm: parent}
+ _nxmtunmetadata43.Value = decoder.Read(int(_nxmtunmetadata43.TypeLen & 0xFF))
+ return _nxmtunmetadata43, nil
+}
+
+func NewNxmTunMetadata43() *NxmTunMetadata43 {
+ obj := &NxmTunMetadata43{
+ Oxm: NewOxm(108156),
+ }
+ return obj
+}
+func (self *NxmTunMetadata43) GetOXMName() string {
+ return "tun_metadata43"
+}
+
+func (self *NxmTunMetadata43) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata43) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata43Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata43Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata43Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata43Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata43Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata43Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata43Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata43Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata43Masked, error) {
+ _nxmtunmetadata43masked := &NxmTunMetadata43Masked{Oxm: parent}
+ _nxmtunmetadata43masked.Value = decoder.Read(int(_nxmtunmetadata43masked.TypeLen & 0xFF))
+ _nxmtunmetadata43masked.ValueMask = decoder.Read(int(_nxmtunmetadata43masked.TypeLen & 0xFF))
+ return _nxmtunmetadata43masked, nil
+}
+
+func NewNxmTunMetadata43Masked() *NxmTunMetadata43Masked {
+ obj := &NxmTunMetadata43Masked{
+ Oxm: NewOxm(108536),
+ }
+ return obj
+}
+func (self *NxmTunMetadata43Masked) GetOXMName() string {
+ return "tun_metadata43_masked"
+}
+
+func (self *NxmTunMetadata43Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata43Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata43Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata44 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata44 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata44) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata44) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata44) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata44(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata44, error) {
+ _nxmtunmetadata44 := &NxmTunMetadata44{Oxm: parent}
+ _nxmtunmetadata44.Value = decoder.Read(int(_nxmtunmetadata44.TypeLen & 0xFF))
+ return _nxmtunmetadata44, nil
+}
+
+func NewNxmTunMetadata44() *NxmTunMetadata44 {
+ obj := &NxmTunMetadata44{
+ Oxm: NewOxm(108668),
+ }
+ return obj
+}
+func (self *NxmTunMetadata44) GetOXMName() string {
+ return "tun_metadata44"
+}
+
+func (self *NxmTunMetadata44) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata44) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata44Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata44Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata44Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata44Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata44Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata44Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata44Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata44Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata44Masked, error) {
+ _nxmtunmetadata44masked := &NxmTunMetadata44Masked{Oxm: parent}
+ _nxmtunmetadata44masked.Value = decoder.Read(int(_nxmtunmetadata44masked.TypeLen & 0xFF))
+ _nxmtunmetadata44masked.ValueMask = decoder.Read(int(_nxmtunmetadata44masked.TypeLen & 0xFF))
+ return _nxmtunmetadata44masked, nil
+}
+
+func NewNxmTunMetadata44Masked() *NxmTunMetadata44Masked {
+ obj := &NxmTunMetadata44Masked{
+ Oxm: NewOxm(109048),
+ }
+ return obj
+}
+func (self *NxmTunMetadata44Masked) GetOXMName() string {
+ return "tun_metadata44_masked"
+}
+
+func (self *NxmTunMetadata44Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata44Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata44Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata45 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata45 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata45) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata45) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata45) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata45(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata45, error) {
+ _nxmtunmetadata45 := &NxmTunMetadata45{Oxm: parent}
+ _nxmtunmetadata45.Value = decoder.Read(int(_nxmtunmetadata45.TypeLen & 0xFF))
+ return _nxmtunmetadata45, nil
+}
+
+func NewNxmTunMetadata45() *NxmTunMetadata45 {
+ obj := &NxmTunMetadata45{
+ Oxm: NewOxm(109180),
+ }
+ return obj
+}
+func (self *NxmTunMetadata45) GetOXMName() string {
+ return "tun_metadata45"
+}
+
+func (self *NxmTunMetadata45) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata45) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata45Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata45Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata45Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata45Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata45Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata45Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata45Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata45Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata45Masked, error) {
+ _nxmtunmetadata45masked := &NxmTunMetadata45Masked{Oxm: parent}
+ _nxmtunmetadata45masked.Value = decoder.Read(int(_nxmtunmetadata45masked.TypeLen & 0xFF))
+ _nxmtunmetadata45masked.ValueMask = decoder.Read(int(_nxmtunmetadata45masked.TypeLen & 0xFF))
+ return _nxmtunmetadata45masked, nil
+}
+
+func NewNxmTunMetadata45Masked() *NxmTunMetadata45Masked {
+ obj := &NxmTunMetadata45Masked{
+ Oxm: NewOxm(109560),
+ }
+ return obj
+}
+func (self *NxmTunMetadata45Masked) GetOXMName() string {
+ return "tun_metadata45_masked"
+}
+
+func (self *NxmTunMetadata45Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata45Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata45Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata46 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata46 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata46) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata46) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata46) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata46(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata46, error) {
+ _nxmtunmetadata46 := &NxmTunMetadata46{Oxm: parent}
+ _nxmtunmetadata46.Value = decoder.Read(int(_nxmtunmetadata46.TypeLen & 0xFF))
+ return _nxmtunmetadata46, nil
+}
+
+func NewNxmTunMetadata46() *NxmTunMetadata46 {
+ obj := &NxmTunMetadata46{
+ Oxm: NewOxm(109692),
+ }
+ return obj
+}
+func (self *NxmTunMetadata46) GetOXMName() string {
+ return "tun_metadata46"
+}
+
+func (self *NxmTunMetadata46) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata46) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata46Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata46Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata46Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata46Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata46Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata46Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata46Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata46Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata46Masked, error) {
+ _nxmtunmetadata46masked := &NxmTunMetadata46Masked{Oxm: parent}
+ _nxmtunmetadata46masked.Value = decoder.Read(int(_nxmtunmetadata46masked.TypeLen & 0xFF))
+ _nxmtunmetadata46masked.ValueMask = decoder.Read(int(_nxmtunmetadata46masked.TypeLen & 0xFF))
+ return _nxmtunmetadata46masked, nil
+}
+
+func NewNxmTunMetadata46Masked() *NxmTunMetadata46Masked {
+ obj := &NxmTunMetadata46Masked{
+ Oxm: NewOxm(110072),
+ }
+ return obj
+}
+func (self *NxmTunMetadata46Masked) GetOXMName() string {
+ return "tun_metadata46_masked"
+}
+
+func (self *NxmTunMetadata46Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata46Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata46Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata47 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata47 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata47) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata47) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata47) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata47(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata47, error) {
+ _nxmtunmetadata47 := &NxmTunMetadata47{Oxm: parent}
+ _nxmtunmetadata47.Value = decoder.Read(int(_nxmtunmetadata47.TypeLen & 0xFF))
+ return _nxmtunmetadata47, nil
+}
+
+func NewNxmTunMetadata47() *NxmTunMetadata47 {
+ obj := &NxmTunMetadata47{
+ Oxm: NewOxm(110204),
+ }
+ return obj
+}
+func (self *NxmTunMetadata47) GetOXMName() string {
+ return "tun_metadata47"
+}
+
+func (self *NxmTunMetadata47) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata47) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata47Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata47Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata47Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata47Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata47Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata47Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata47Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata47Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata47Masked, error) {
+ _nxmtunmetadata47masked := &NxmTunMetadata47Masked{Oxm: parent}
+ _nxmtunmetadata47masked.Value = decoder.Read(int(_nxmtunmetadata47masked.TypeLen & 0xFF))
+ _nxmtunmetadata47masked.ValueMask = decoder.Read(int(_nxmtunmetadata47masked.TypeLen & 0xFF))
+ return _nxmtunmetadata47masked, nil
+}
+
+func NewNxmTunMetadata47Masked() *NxmTunMetadata47Masked {
+ obj := &NxmTunMetadata47Masked{
+ Oxm: NewOxm(110584),
+ }
+ return obj
+}
+func (self *NxmTunMetadata47Masked) GetOXMName() string {
+ return "tun_metadata47_masked"
+}
+
+func (self *NxmTunMetadata47Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata47Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata47Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata48 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata48 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata48) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata48) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata48) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata48(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata48, error) {
+ _nxmtunmetadata48 := &NxmTunMetadata48{Oxm: parent}
+ _nxmtunmetadata48.Value = decoder.Read(int(_nxmtunmetadata48.TypeLen & 0xFF))
+ return _nxmtunmetadata48, nil
+}
+
+func NewNxmTunMetadata48() *NxmTunMetadata48 {
+ obj := &NxmTunMetadata48{
+ Oxm: NewOxm(110716),
+ }
+ return obj
+}
+func (self *NxmTunMetadata48) GetOXMName() string {
+ return "tun_metadata48"
+}
+
+func (self *NxmTunMetadata48) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata48) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata48Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata48Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata48Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata48Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata48Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata48Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata48Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata48Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata48Masked, error) {
+ _nxmtunmetadata48masked := &NxmTunMetadata48Masked{Oxm: parent}
+ _nxmtunmetadata48masked.Value = decoder.Read(int(_nxmtunmetadata48masked.TypeLen & 0xFF))
+ _nxmtunmetadata48masked.ValueMask = decoder.Read(int(_nxmtunmetadata48masked.TypeLen & 0xFF))
+ return _nxmtunmetadata48masked, nil
+}
+
+func NewNxmTunMetadata48Masked() *NxmTunMetadata48Masked {
+ obj := &NxmTunMetadata48Masked{
+ Oxm: NewOxm(111096),
+ }
+ return obj
+}
+func (self *NxmTunMetadata48Masked) GetOXMName() string {
+ return "tun_metadata48_masked"
+}
+
+func (self *NxmTunMetadata48Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata48Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata48Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata49 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata49 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata49) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata49) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata49) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata49(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata49, error) {
+ _nxmtunmetadata49 := &NxmTunMetadata49{Oxm: parent}
+ _nxmtunmetadata49.Value = decoder.Read(int(_nxmtunmetadata49.TypeLen & 0xFF))
+ return _nxmtunmetadata49, nil
+}
+
+func NewNxmTunMetadata49() *NxmTunMetadata49 {
+ obj := &NxmTunMetadata49{
+ Oxm: NewOxm(111228),
+ }
+ return obj
+}
+func (self *NxmTunMetadata49) GetOXMName() string {
+ return "tun_metadata49"
+}
+
+func (self *NxmTunMetadata49) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata49) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata49Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata49Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata49Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata49Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata49Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata49Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata49Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata49Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata49Masked, error) {
+ _nxmtunmetadata49masked := &NxmTunMetadata49Masked{Oxm: parent}
+ _nxmtunmetadata49masked.Value = decoder.Read(int(_nxmtunmetadata49masked.TypeLen & 0xFF))
+ _nxmtunmetadata49masked.ValueMask = decoder.Read(int(_nxmtunmetadata49masked.TypeLen & 0xFF))
+ return _nxmtunmetadata49masked, nil
+}
+
+func NewNxmTunMetadata49Masked() *NxmTunMetadata49Masked {
+ obj := &NxmTunMetadata49Masked{
+ Oxm: NewOxm(111608),
+ }
+ return obj
+}
+func (self *NxmTunMetadata49Masked) GetOXMName() string {
+ return "tun_metadata49_masked"
+}
+
+func (self *NxmTunMetadata49Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata49Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata49Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata4Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata4Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata4Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata4Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata4Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata4Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata4Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata4Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata4Masked, error) {
+ _nxmtunmetadata4masked := &NxmTunMetadata4Masked{Oxm: parent}
+ _nxmtunmetadata4masked.Value = decoder.Read(int(_nxmtunmetadata4masked.TypeLen & 0xFF))
+ _nxmtunmetadata4masked.ValueMask = decoder.Read(int(_nxmtunmetadata4masked.TypeLen & 0xFF))
+ return _nxmtunmetadata4masked, nil
+}
+
+func NewNxmTunMetadata4Masked() *NxmTunMetadata4Masked {
+ obj := &NxmTunMetadata4Masked{
+ Oxm: NewOxm(88568),
+ }
+ return obj
+}
+func (self *NxmTunMetadata4Masked) GetOXMName() string {
+ return "tun_metadata4_masked"
+}
+
+func (self *NxmTunMetadata4Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata4Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata4Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata5 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata5 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata5) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata5) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata5) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata5(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata5, error) {
+ _nxmtunmetadata5 := &NxmTunMetadata5{Oxm: parent}
+ _nxmtunmetadata5.Value = decoder.Read(int(_nxmtunmetadata5.TypeLen & 0xFF))
+ return _nxmtunmetadata5, nil
+}
+
+func NewNxmTunMetadata5() *NxmTunMetadata5 {
+ obj := &NxmTunMetadata5{
+ Oxm: NewOxm(88700),
+ }
+ return obj
+}
+func (self *NxmTunMetadata5) GetOXMName() string {
+ return "tun_metadata5"
+}
+
+func (self *NxmTunMetadata5) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata5) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata50 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata50 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata50) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata50) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata50) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata50(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata50, error) {
+ _nxmtunmetadata50 := &NxmTunMetadata50{Oxm: parent}
+ _nxmtunmetadata50.Value = decoder.Read(int(_nxmtunmetadata50.TypeLen & 0xFF))
+ return _nxmtunmetadata50, nil
+}
+
+func NewNxmTunMetadata50() *NxmTunMetadata50 {
+ obj := &NxmTunMetadata50{
+ Oxm: NewOxm(111740),
+ }
+ return obj
+}
+func (self *NxmTunMetadata50) GetOXMName() string {
+ return "tun_metadata50"
+}
+
+func (self *NxmTunMetadata50) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata50) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata50Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata50Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata50Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata50Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata50Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata50Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata50Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata50Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata50Masked, error) {
+ _nxmtunmetadata50masked := &NxmTunMetadata50Masked{Oxm: parent}
+ _nxmtunmetadata50masked.Value = decoder.Read(int(_nxmtunmetadata50masked.TypeLen & 0xFF))
+ _nxmtunmetadata50masked.ValueMask = decoder.Read(int(_nxmtunmetadata50masked.TypeLen & 0xFF))
+ return _nxmtunmetadata50masked, nil
+}
+
+func NewNxmTunMetadata50Masked() *NxmTunMetadata50Masked {
+ obj := &NxmTunMetadata50Masked{
+ Oxm: NewOxm(112120),
+ }
+ return obj
+}
+func (self *NxmTunMetadata50Masked) GetOXMName() string {
+ return "tun_metadata50_masked"
+}
+
+func (self *NxmTunMetadata50Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata50Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata50Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata51 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata51 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata51) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata51) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata51) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata51(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata51, error) {
+ _nxmtunmetadata51 := &NxmTunMetadata51{Oxm: parent}
+ _nxmtunmetadata51.Value = decoder.Read(int(_nxmtunmetadata51.TypeLen & 0xFF))
+ return _nxmtunmetadata51, nil
+}
+
+func NewNxmTunMetadata51() *NxmTunMetadata51 {
+ obj := &NxmTunMetadata51{
+ Oxm: NewOxm(112252),
+ }
+ return obj
+}
+func (self *NxmTunMetadata51) GetOXMName() string {
+ return "tun_metadata51"
+}
+
+func (self *NxmTunMetadata51) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata51) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata51Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata51Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata51Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata51Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata51Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata51Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata51Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata51Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata51Masked, error) {
+ _nxmtunmetadata51masked := &NxmTunMetadata51Masked{Oxm: parent}
+ _nxmtunmetadata51masked.Value = decoder.Read(int(_nxmtunmetadata51masked.TypeLen & 0xFF))
+ _nxmtunmetadata51masked.ValueMask = decoder.Read(int(_nxmtunmetadata51masked.TypeLen & 0xFF))
+ return _nxmtunmetadata51masked, nil
+}
+
+func NewNxmTunMetadata51Masked() *NxmTunMetadata51Masked {
+ obj := &NxmTunMetadata51Masked{
+ Oxm: NewOxm(112632),
+ }
+ return obj
+}
+func (self *NxmTunMetadata51Masked) GetOXMName() string {
+ return "tun_metadata51_masked"
+}
+
+func (self *NxmTunMetadata51Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata51Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata51Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata52 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata52 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata52) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata52) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata52) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata52(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata52, error) {
+ _nxmtunmetadata52 := &NxmTunMetadata52{Oxm: parent}
+ _nxmtunmetadata52.Value = decoder.Read(int(_nxmtunmetadata52.TypeLen & 0xFF))
+ return _nxmtunmetadata52, nil
+}
+
+func NewNxmTunMetadata52() *NxmTunMetadata52 {
+ obj := &NxmTunMetadata52{
+ Oxm: NewOxm(112764),
+ }
+ return obj
+}
+func (self *NxmTunMetadata52) GetOXMName() string {
+ return "tun_metadata52"
+}
+
+func (self *NxmTunMetadata52) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata52) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata52Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata52Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata52Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata52Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata52Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata52Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata52Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata52Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata52Masked, error) {
+ _nxmtunmetadata52masked := &NxmTunMetadata52Masked{Oxm: parent}
+ _nxmtunmetadata52masked.Value = decoder.Read(int(_nxmtunmetadata52masked.TypeLen & 0xFF))
+ _nxmtunmetadata52masked.ValueMask = decoder.Read(int(_nxmtunmetadata52masked.TypeLen & 0xFF))
+ return _nxmtunmetadata52masked, nil
+}
+
+func NewNxmTunMetadata52Masked() *NxmTunMetadata52Masked {
+ obj := &NxmTunMetadata52Masked{
+ Oxm: NewOxm(113144),
+ }
+ return obj
+}
+func (self *NxmTunMetadata52Masked) GetOXMName() string {
+ return "tun_metadata52_masked"
+}
+
+func (self *NxmTunMetadata52Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata52Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata52Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata53 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata53 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata53) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata53) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata53) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata53(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata53, error) {
+ _nxmtunmetadata53 := &NxmTunMetadata53{Oxm: parent}
+ _nxmtunmetadata53.Value = decoder.Read(int(_nxmtunmetadata53.TypeLen & 0xFF))
+ return _nxmtunmetadata53, nil
+}
+
+func NewNxmTunMetadata53() *NxmTunMetadata53 {
+ obj := &NxmTunMetadata53{
+ Oxm: NewOxm(113276),
+ }
+ return obj
+}
+func (self *NxmTunMetadata53) GetOXMName() string {
+ return "tun_metadata53"
+}
+
+func (self *NxmTunMetadata53) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata53) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata53Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata53Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata53Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata53Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata53Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata53Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata53Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata53Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata53Masked, error) {
+ _nxmtunmetadata53masked := &NxmTunMetadata53Masked{Oxm: parent}
+ _nxmtunmetadata53masked.Value = decoder.Read(int(_nxmtunmetadata53masked.TypeLen & 0xFF))
+ _nxmtunmetadata53masked.ValueMask = decoder.Read(int(_nxmtunmetadata53masked.TypeLen & 0xFF))
+ return _nxmtunmetadata53masked, nil
+}
+
+func NewNxmTunMetadata53Masked() *NxmTunMetadata53Masked {
+ obj := &NxmTunMetadata53Masked{
+ Oxm: NewOxm(113656),
+ }
+ return obj
+}
+func (self *NxmTunMetadata53Masked) GetOXMName() string {
+ return "tun_metadata53_masked"
+}
+
+func (self *NxmTunMetadata53Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata53Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata53Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata54 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata54 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata54) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata54) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata54) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata54(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata54, error) {
+ _nxmtunmetadata54 := &NxmTunMetadata54{Oxm: parent}
+ _nxmtunmetadata54.Value = decoder.Read(int(_nxmtunmetadata54.TypeLen & 0xFF))
+ return _nxmtunmetadata54, nil
+}
+
+func NewNxmTunMetadata54() *NxmTunMetadata54 {
+ obj := &NxmTunMetadata54{
+ Oxm: NewOxm(113788),
+ }
+ return obj
+}
+func (self *NxmTunMetadata54) GetOXMName() string {
+ return "tun_metadata54"
+}
+
+func (self *NxmTunMetadata54) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata54) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata54Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata54Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata54Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata54Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata54Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata54Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata54Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata54Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata54Masked, error) {
+ _nxmtunmetadata54masked := &NxmTunMetadata54Masked{Oxm: parent}
+ _nxmtunmetadata54masked.Value = decoder.Read(int(_nxmtunmetadata54masked.TypeLen & 0xFF))
+ _nxmtunmetadata54masked.ValueMask = decoder.Read(int(_nxmtunmetadata54masked.TypeLen & 0xFF))
+ return _nxmtunmetadata54masked, nil
+}
+
+func NewNxmTunMetadata54Masked() *NxmTunMetadata54Masked {
+ obj := &NxmTunMetadata54Masked{
+ Oxm: NewOxm(114168),
+ }
+ return obj
+}
+func (self *NxmTunMetadata54Masked) GetOXMName() string {
+ return "tun_metadata54_masked"
+}
+
+func (self *NxmTunMetadata54Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata54Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata54Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata55 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata55 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata55) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata55) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata55) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata55(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata55, error) {
+ _nxmtunmetadata55 := &NxmTunMetadata55{Oxm: parent}
+ _nxmtunmetadata55.Value = decoder.Read(int(_nxmtunmetadata55.TypeLen & 0xFF))
+ return _nxmtunmetadata55, nil
+}
+
+func NewNxmTunMetadata55() *NxmTunMetadata55 {
+ obj := &NxmTunMetadata55{
+ Oxm: NewOxm(114300),
+ }
+ return obj
+}
+func (self *NxmTunMetadata55) GetOXMName() string {
+ return "tun_metadata55"
+}
+
+func (self *NxmTunMetadata55) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata55) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata55Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata55Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata55Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata55Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata55Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata55Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata55Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata55Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata55Masked, error) {
+ _nxmtunmetadata55masked := &NxmTunMetadata55Masked{Oxm: parent}
+ _nxmtunmetadata55masked.Value = decoder.Read(int(_nxmtunmetadata55masked.TypeLen & 0xFF))
+ _nxmtunmetadata55masked.ValueMask = decoder.Read(int(_nxmtunmetadata55masked.TypeLen & 0xFF))
+ return _nxmtunmetadata55masked, nil
+}
+
+func NewNxmTunMetadata55Masked() *NxmTunMetadata55Masked {
+ obj := &NxmTunMetadata55Masked{
+ Oxm: NewOxm(114680),
+ }
+ return obj
+}
+func (self *NxmTunMetadata55Masked) GetOXMName() string {
+ return "tun_metadata55_masked"
+}
+
+func (self *NxmTunMetadata55Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata55Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata55Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata56 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata56 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata56) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata56) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata56) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata56(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata56, error) {
+ _nxmtunmetadata56 := &NxmTunMetadata56{Oxm: parent}
+ _nxmtunmetadata56.Value = decoder.Read(int(_nxmtunmetadata56.TypeLen & 0xFF))
+ return _nxmtunmetadata56, nil
+}
+
+func NewNxmTunMetadata56() *NxmTunMetadata56 {
+ obj := &NxmTunMetadata56{
+ Oxm: NewOxm(114812),
+ }
+ return obj
+}
+func (self *NxmTunMetadata56) GetOXMName() string {
+ return "tun_metadata56"
+}
+
+func (self *NxmTunMetadata56) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata56) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata56Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata56Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata56Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata56Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata56Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata56Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata56Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata56Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata56Masked, error) {
+ _nxmtunmetadata56masked := &NxmTunMetadata56Masked{Oxm: parent}
+ _nxmtunmetadata56masked.Value = decoder.Read(int(_nxmtunmetadata56masked.TypeLen & 0xFF))
+ _nxmtunmetadata56masked.ValueMask = decoder.Read(int(_nxmtunmetadata56masked.TypeLen & 0xFF))
+ return _nxmtunmetadata56masked, nil
+}
+
+func NewNxmTunMetadata56Masked() *NxmTunMetadata56Masked {
+ obj := &NxmTunMetadata56Masked{
+ Oxm: NewOxm(115192),
+ }
+ return obj
+}
+func (self *NxmTunMetadata56Masked) GetOXMName() string {
+ return "tun_metadata56_masked"
+}
+
+func (self *NxmTunMetadata56Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata56Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata56Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata57 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata57 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata57) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata57) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata57) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata57(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata57, error) {
+ _nxmtunmetadata57 := &NxmTunMetadata57{Oxm: parent}
+ _nxmtunmetadata57.Value = decoder.Read(int(_nxmtunmetadata57.TypeLen & 0xFF))
+ return _nxmtunmetadata57, nil
+}
+
+func NewNxmTunMetadata57() *NxmTunMetadata57 {
+ obj := &NxmTunMetadata57{
+ Oxm: NewOxm(115324),
+ }
+ return obj
+}
+func (self *NxmTunMetadata57) GetOXMName() string {
+ return "tun_metadata57"
+}
+
+func (self *NxmTunMetadata57) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata57) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata57Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata57Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata57Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata57Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata57Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata57Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata57Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata57Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata57Masked, error) {
+ _nxmtunmetadata57masked := &NxmTunMetadata57Masked{Oxm: parent}
+ _nxmtunmetadata57masked.Value = decoder.Read(int(_nxmtunmetadata57masked.TypeLen & 0xFF))
+ _nxmtunmetadata57masked.ValueMask = decoder.Read(int(_nxmtunmetadata57masked.TypeLen & 0xFF))
+ return _nxmtunmetadata57masked, nil
+}
+
+func NewNxmTunMetadata57Masked() *NxmTunMetadata57Masked {
+ obj := &NxmTunMetadata57Masked{
+ Oxm: NewOxm(115704),
+ }
+ return obj
+}
+func (self *NxmTunMetadata57Masked) GetOXMName() string {
+ return "tun_metadata57_masked"
+}
+
+func (self *NxmTunMetadata57Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata57Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata57Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata58 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata58 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata58) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata58) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata58) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata58(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata58, error) {
+ _nxmtunmetadata58 := &NxmTunMetadata58{Oxm: parent}
+ _nxmtunmetadata58.Value = decoder.Read(int(_nxmtunmetadata58.TypeLen & 0xFF))
+ return _nxmtunmetadata58, nil
+}
+
+func NewNxmTunMetadata58() *NxmTunMetadata58 {
+ obj := &NxmTunMetadata58{
+ Oxm: NewOxm(115836),
+ }
+ return obj
+}
+func (self *NxmTunMetadata58) GetOXMName() string {
+ return "tun_metadata58"
+}
+
+func (self *NxmTunMetadata58) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata58) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata58Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata58Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata58Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata58Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata58Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata58Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata58Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata58Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata58Masked, error) {
+ _nxmtunmetadata58masked := &NxmTunMetadata58Masked{Oxm: parent}
+ _nxmtunmetadata58masked.Value = decoder.Read(int(_nxmtunmetadata58masked.TypeLen & 0xFF))
+ _nxmtunmetadata58masked.ValueMask = decoder.Read(int(_nxmtunmetadata58masked.TypeLen & 0xFF))
+ return _nxmtunmetadata58masked, nil
+}
+
+func NewNxmTunMetadata58Masked() *NxmTunMetadata58Masked {
+ obj := &NxmTunMetadata58Masked{
+ Oxm: NewOxm(116216),
+ }
+ return obj
+}
+func (self *NxmTunMetadata58Masked) GetOXMName() string {
+ return "tun_metadata58_masked"
+}
+
+func (self *NxmTunMetadata58Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata58Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata58Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata59 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata59 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata59) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata59) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata59) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata59(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata59, error) {
+ _nxmtunmetadata59 := &NxmTunMetadata59{Oxm: parent}
+ _nxmtunmetadata59.Value = decoder.Read(int(_nxmtunmetadata59.TypeLen & 0xFF))
+ return _nxmtunmetadata59, nil
+}
+
+func NewNxmTunMetadata59() *NxmTunMetadata59 {
+ obj := &NxmTunMetadata59{
+ Oxm: NewOxm(116348),
+ }
+ return obj
+}
+func (self *NxmTunMetadata59) GetOXMName() string {
+ return "tun_metadata59"
+}
+
+func (self *NxmTunMetadata59) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata59) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata59Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata59Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata59Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata59Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata59Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata59Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata59Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata59Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata59Masked, error) {
+ _nxmtunmetadata59masked := &NxmTunMetadata59Masked{Oxm: parent}
+ _nxmtunmetadata59masked.Value = decoder.Read(int(_nxmtunmetadata59masked.TypeLen & 0xFF))
+ _nxmtunmetadata59masked.ValueMask = decoder.Read(int(_nxmtunmetadata59masked.TypeLen & 0xFF))
+ return _nxmtunmetadata59masked, nil
+}
+
+func NewNxmTunMetadata59Masked() *NxmTunMetadata59Masked {
+ obj := &NxmTunMetadata59Masked{
+ Oxm: NewOxm(116728),
+ }
+ return obj
+}
+func (self *NxmTunMetadata59Masked) GetOXMName() string {
+ return "tun_metadata59_masked"
+}
+
+func (self *NxmTunMetadata59Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata59Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata59Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata5Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata5Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata5Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata5Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata5Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata5Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata5Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata5Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata5Masked, error) {
+ _nxmtunmetadata5masked := &NxmTunMetadata5Masked{Oxm: parent}
+ _nxmtunmetadata5masked.Value = decoder.Read(int(_nxmtunmetadata5masked.TypeLen & 0xFF))
+ _nxmtunmetadata5masked.ValueMask = decoder.Read(int(_nxmtunmetadata5masked.TypeLen & 0xFF))
+ return _nxmtunmetadata5masked, nil
+}
+
+func NewNxmTunMetadata5Masked() *NxmTunMetadata5Masked {
+ obj := &NxmTunMetadata5Masked{
+ Oxm: NewOxm(89080),
+ }
+ return obj
+}
+func (self *NxmTunMetadata5Masked) GetOXMName() string {
+ return "tun_metadata5_masked"
+}
+
+func (self *NxmTunMetadata5Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata5Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata5Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata6 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata6 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata6) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata6) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata6) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata6(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata6, error) {
+ _nxmtunmetadata6 := &NxmTunMetadata6{Oxm: parent}
+ _nxmtunmetadata6.Value = decoder.Read(int(_nxmtunmetadata6.TypeLen & 0xFF))
+ return _nxmtunmetadata6, nil
+}
+
+func NewNxmTunMetadata6() *NxmTunMetadata6 {
+ obj := &NxmTunMetadata6{
+ Oxm: NewOxm(89212),
+ }
+ return obj
+}
+func (self *NxmTunMetadata6) GetOXMName() string {
+ return "tun_metadata6"
+}
+
+func (self *NxmTunMetadata6) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata6) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata60 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata60 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata60) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata60) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata60) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata60(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata60, error) {
+ _nxmtunmetadata60 := &NxmTunMetadata60{Oxm: parent}
+ _nxmtunmetadata60.Value = decoder.Read(int(_nxmtunmetadata60.TypeLen & 0xFF))
+ return _nxmtunmetadata60, nil
+}
+
+func NewNxmTunMetadata60() *NxmTunMetadata60 {
+ obj := &NxmTunMetadata60{
+ Oxm: NewOxm(116860),
+ }
+ return obj
+}
+func (self *NxmTunMetadata60) GetOXMName() string {
+ return "tun_metadata60"
+}
+
+func (self *NxmTunMetadata60) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata60) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata60Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata60Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata60Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata60Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata60Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata60Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata60Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata60Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata60Masked, error) {
+ _nxmtunmetadata60masked := &NxmTunMetadata60Masked{Oxm: parent}
+ _nxmtunmetadata60masked.Value = decoder.Read(int(_nxmtunmetadata60masked.TypeLen & 0xFF))
+ _nxmtunmetadata60masked.ValueMask = decoder.Read(int(_nxmtunmetadata60masked.TypeLen & 0xFF))
+ return _nxmtunmetadata60masked, nil
+}
+
+func NewNxmTunMetadata60Masked() *NxmTunMetadata60Masked {
+ obj := &NxmTunMetadata60Masked{
+ Oxm: NewOxm(117240),
+ }
+ return obj
+}
+func (self *NxmTunMetadata60Masked) GetOXMName() string {
+ return "tun_metadata60_masked"
+}
+
+func (self *NxmTunMetadata60Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata60Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata60Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata61 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata61 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata61) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata61) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata61) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata61(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata61, error) {
+ _nxmtunmetadata61 := &NxmTunMetadata61{Oxm: parent}
+ _nxmtunmetadata61.Value = decoder.Read(int(_nxmtunmetadata61.TypeLen & 0xFF))
+ return _nxmtunmetadata61, nil
+}
+
+func NewNxmTunMetadata61() *NxmTunMetadata61 {
+ obj := &NxmTunMetadata61{
+ Oxm: NewOxm(117372),
+ }
+ return obj
+}
+func (self *NxmTunMetadata61) GetOXMName() string {
+ return "tun_metadata61"
+}
+
+func (self *NxmTunMetadata61) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata61) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata61Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata61Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata61Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata61Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata61Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata61Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata61Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata61Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata61Masked, error) {
+ _nxmtunmetadata61masked := &NxmTunMetadata61Masked{Oxm: parent}
+ _nxmtunmetadata61masked.Value = decoder.Read(int(_nxmtunmetadata61masked.TypeLen & 0xFF))
+ _nxmtunmetadata61masked.ValueMask = decoder.Read(int(_nxmtunmetadata61masked.TypeLen & 0xFF))
+ return _nxmtunmetadata61masked, nil
+}
+
+func NewNxmTunMetadata61Masked() *NxmTunMetadata61Masked {
+ obj := &NxmTunMetadata61Masked{
+ Oxm: NewOxm(117752),
+ }
+ return obj
+}
+func (self *NxmTunMetadata61Masked) GetOXMName() string {
+ return "tun_metadata61_masked"
+}
+
+func (self *NxmTunMetadata61Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata61Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata61Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata62 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata62 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata62) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata62) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata62) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata62(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata62, error) {
+ _nxmtunmetadata62 := &NxmTunMetadata62{Oxm: parent}
+ _nxmtunmetadata62.Value = decoder.Read(int(_nxmtunmetadata62.TypeLen & 0xFF))
+ return _nxmtunmetadata62, nil
+}
+
+func NewNxmTunMetadata62() *NxmTunMetadata62 {
+ obj := &NxmTunMetadata62{
+ Oxm: NewOxm(117884),
+ }
+ return obj
+}
+func (self *NxmTunMetadata62) GetOXMName() string {
+ return "tun_metadata62"
+}
+
+func (self *NxmTunMetadata62) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata62) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata62Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata62Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata62Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata62Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata62Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata62Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata62Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata62Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata62Masked, error) {
+ _nxmtunmetadata62masked := &NxmTunMetadata62Masked{Oxm: parent}
+ _nxmtunmetadata62masked.Value = decoder.Read(int(_nxmtunmetadata62masked.TypeLen & 0xFF))
+ _nxmtunmetadata62masked.ValueMask = decoder.Read(int(_nxmtunmetadata62masked.TypeLen & 0xFF))
+ return _nxmtunmetadata62masked, nil
+}
+
+func NewNxmTunMetadata62Masked() *NxmTunMetadata62Masked {
+ obj := &NxmTunMetadata62Masked{
+ Oxm: NewOxm(118264),
+ }
+ return obj
+}
+func (self *NxmTunMetadata62Masked) GetOXMName() string {
+ return "tun_metadata62_masked"
+}
+
+func (self *NxmTunMetadata62Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata62Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata62Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata63 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata63 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata63) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata63) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata63) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata63(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata63, error) {
+ _nxmtunmetadata63 := &NxmTunMetadata63{Oxm: parent}
+ _nxmtunmetadata63.Value = decoder.Read(int(_nxmtunmetadata63.TypeLen & 0xFF))
+ return _nxmtunmetadata63, nil
+}
+
+func NewNxmTunMetadata63() *NxmTunMetadata63 {
+ obj := &NxmTunMetadata63{
+ Oxm: NewOxm(118396),
+ }
+ return obj
+}
+func (self *NxmTunMetadata63) GetOXMName() string {
+ return "tun_metadata63"
+}
+
+func (self *NxmTunMetadata63) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata63) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata63Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata63Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata63Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata63Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata63Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata63Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata63Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata63Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata63Masked, error) {
+ _nxmtunmetadata63masked := &NxmTunMetadata63Masked{Oxm: parent}
+ _nxmtunmetadata63masked.Value = decoder.Read(int(_nxmtunmetadata63masked.TypeLen & 0xFF))
+ _nxmtunmetadata63masked.ValueMask = decoder.Read(int(_nxmtunmetadata63masked.TypeLen & 0xFF))
+ return _nxmtunmetadata63masked, nil
+}
+
+func NewNxmTunMetadata63Masked() *NxmTunMetadata63Masked {
+ obj := &NxmTunMetadata63Masked{
+ Oxm: NewOxm(118776),
+ }
+ return obj
+}
+func (self *NxmTunMetadata63Masked) GetOXMName() string {
+ return "tun_metadata63_masked"
+}
+
+func (self *NxmTunMetadata63Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata63Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata63Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata6Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata6Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata6Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata6Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata6Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata6Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata6Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata6Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata6Masked, error) {
+ _nxmtunmetadata6masked := &NxmTunMetadata6Masked{Oxm: parent}
+ _nxmtunmetadata6masked.Value = decoder.Read(int(_nxmtunmetadata6masked.TypeLen & 0xFF))
+ _nxmtunmetadata6masked.ValueMask = decoder.Read(int(_nxmtunmetadata6masked.TypeLen & 0xFF))
+ return _nxmtunmetadata6masked, nil
+}
+
+func NewNxmTunMetadata6Masked() *NxmTunMetadata6Masked {
+ obj := &NxmTunMetadata6Masked{
+ Oxm: NewOxm(89592),
+ }
+ return obj
+}
+func (self *NxmTunMetadata6Masked) GetOXMName() string {
+ return "tun_metadata6_masked"
+}
+
+func (self *NxmTunMetadata6Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata6Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata6Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata7 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata7 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata7) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata7) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata7) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata7(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata7, error) {
+ _nxmtunmetadata7 := &NxmTunMetadata7{Oxm: parent}
+ _nxmtunmetadata7.Value = decoder.Read(int(_nxmtunmetadata7.TypeLen & 0xFF))
+ return _nxmtunmetadata7, nil
+}
+
+func NewNxmTunMetadata7() *NxmTunMetadata7 {
+ obj := &NxmTunMetadata7{
+ Oxm: NewOxm(89724),
+ }
+ return obj
+}
+func (self *NxmTunMetadata7) GetOXMName() string {
+ return "tun_metadata7"
+}
+
+func (self *NxmTunMetadata7) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata7) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata7Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata7Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata7Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata7Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata7Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata7Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata7Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata7Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata7Masked, error) {
+ _nxmtunmetadata7masked := &NxmTunMetadata7Masked{Oxm: parent}
+ _nxmtunmetadata7masked.Value = decoder.Read(int(_nxmtunmetadata7masked.TypeLen & 0xFF))
+ _nxmtunmetadata7masked.ValueMask = decoder.Read(int(_nxmtunmetadata7masked.TypeLen & 0xFF))
+ return _nxmtunmetadata7masked, nil
+}
+
+func NewNxmTunMetadata7Masked() *NxmTunMetadata7Masked {
+ obj := &NxmTunMetadata7Masked{
+ Oxm: NewOxm(90104),
+ }
+ return obj
+}
+func (self *NxmTunMetadata7Masked) GetOXMName() string {
+ return "tun_metadata7_masked"
+}
+
+func (self *NxmTunMetadata7Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata7Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata7Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata8 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata8 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata8) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata8) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata8) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata8(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata8, error) {
+ _nxmtunmetadata8 := &NxmTunMetadata8{Oxm: parent}
+ _nxmtunmetadata8.Value = decoder.Read(int(_nxmtunmetadata8.TypeLen & 0xFF))
+ return _nxmtunmetadata8, nil
+}
+
+func NewNxmTunMetadata8() *NxmTunMetadata8 {
+ obj := &NxmTunMetadata8{
+ Oxm: NewOxm(90236),
+ }
+ return obj
+}
+func (self *NxmTunMetadata8) GetOXMName() string {
+ return "tun_metadata8"
+}
+
+func (self *NxmTunMetadata8) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata8) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata8Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata8Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata8Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata8Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata8Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata8Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata8Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata8Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata8Masked, error) {
+ _nxmtunmetadata8masked := &NxmTunMetadata8Masked{Oxm: parent}
+ _nxmtunmetadata8masked.Value = decoder.Read(int(_nxmtunmetadata8masked.TypeLen & 0xFF))
+ _nxmtunmetadata8masked.ValueMask = decoder.Read(int(_nxmtunmetadata8masked.TypeLen & 0xFF))
+ return _nxmtunmetadata8masked, nil
+}
+
+func NewNxmTunMetadata8Masked() *NxmTunMetadata8Masked {
+ obj := &NxmTunMetadata8Masked{
+ Oxm: NewOxm(90616),
+ }
+ return obj
+}
+func (self *NxmTunMetadata8Masked) GetOXMName() string {
+ return "tun_metadata8_masked"
+}
+
+func (self *NxmTunMetadata8Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata8Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata8Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunMetadata9 struct {
+ *Oxm
+ Value []byte
+}
+
+type INxmTunMetadata9 interface {
+ goloxi.IOxm
+ GetValue() []byte
+}
+
+func (self *NxmTunMetadata9) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata9) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata9) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata9(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata9, error) {
+ _nxmtunmetadata9 := &NxmTunMetadata9{Oxm: parent}
+ _nxmtunmetadata9.Value = decoder.Read(int(_nxmtunmetadata9.TypeLen & 0xFF))
+ return _nxmtunmetadata9, nil
+}
+
+func NewNxmTunMetadata9() *NxmTunMetadata9 {
+ obj := &NxmTunMetadata9{
+ Oxm: NewOxm(90748),
+ }
+ return obj
+}
+func (self *NxmTunMetadata9) GetOXMName() string {
+ return "tun_metadata9"
+}
+
+func (self *NxmTunMetadata9) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata9) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunMetadata9Masked struct {
+ *Oxm
+ Value []byte
+ ValueMask []byte
+}
+
+type INxmTunMetadata9Masked interface {
+ goloxi.IOxm
+ GetValue() []byte
+ GetValueMask() []byte
+}
+
+func (self *NxmTunMetadata9Masked) GetValue() []byte {
+ return self.Value
+}
+
+func (self *NxmTunMetadata9Masked) SetValue(v []byte) {
+ self.Value = v
+}
+
+func (self *NxmTunMetadata9Masked) GetValueMask() []byte {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata9Masked) SetValueMask(v []byte) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunMetadata9Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeNxmTunMetadata9Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunMetadata9Masked, error) {
+ _nxmtunmetadata9masked := &NxmTunMetadata9Masked{Oxm: parent}
+ _nxmtunmetadata9masked.Value = decoder.Read(int(_nxmtunmetadata9masked.TypeLen & 0xFF))
+ _nxmtunmetadata9masked.ValueMask = decoder.Read(int(_nxmtunmetadata9masked.TypeLen & 0xFF))
+ return _nxmtunmetadata9masked, nil
+}
+
+func NewNxmTunMetadata9Masked() *NxmTunMetadata9Masked {
+ obj := &NxmTunMetadata9Masked{
+ Oxm: NewOxm(91128),
+ }
+ return obj
+}
+func (self *NxmTunMetadata9Masked) GetOXMName() string {
+ return "tun_metadata9_masked"
+}
+
+func (self *NxmTunMetadata9Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunMetadata9Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunMetadata9Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmTunSrc struct {
+ *Oxm
+ Value net.IP
+}
+
+type INxmTunSrc interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *NxmTunSrc) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmTunSrc) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmTunSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeNxmTunSrc(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunSrc, error) {
+ _nxmtunsrc := &NxmTunSrc{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmTunSrc packet too short: %d < 4", decoder.Length())
+ }
+ _nxmtunsrc.Value = net.IP(decoder.Read(4))
+ return _nxmtunsrc, nil
+}
+
+func NewNxmTunSrc() *NxmTunSrc {
+ obj := &NxmTunSrc{
+ Oxm: NewOxm(81412),
+ }
+ return obj
+}
+func (self *NxmTunSrc) GetOXMName() string {
+ return "tun_src"
+}
+
+func (self *NxmTunSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmTunSrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type INxmTunSrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *NxmTunSrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *NxmTunSrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *NxmTunSrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *NxmTunSrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *NxmTunSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeNxmTunSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmTunSrcMasked, error) {
+ _nxmtunsrcmasked := &NxmTunSrcMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("NxmTunSrcMasked packet too short: %d < 8", decoder.Length())
+ }
+ _nxmtunsrcmasked.Value = net.IP(decoder.Read(4))
+ _nxmtunsrcmasked.ValueMask = net.IP(decoder.Read(4))
+ return _nxmtunsrcmasked, nil
+}
+
+func NewNxmTunSrcMasked() *NxmTunSrcMasked {
+ obj := &NxmTunSrcMasked{
+ Oxm: NewOxm(81672),
+ }
+ return obj
+}
+func (self *NxmTunSrcMasked) GetOXMName() string {
+ return "tun_src_masked"
+}
+
+func (self *NxmTunSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmTunSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmTunSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmUdpDst struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmUdpDst interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmUdpDst) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmUdpDst) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmUdpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmUdpDst(parent *Oxm, decoder *goloxi.Decoder) (*NxmUdpDst, error) {
+ _nxmudpdst := &NxmUdpDst{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmUdpDst packet too short: %d < 2", decoder.Length())
+ }
+ _nxmudpdst.Value = uint16(decoder.ReadUint16())
+ return _nxmudpdst, nil
+}
+
+func NewNxmUdpDst() *NxmUdpDst {
+ obj := &NxmUdpDst{
+ Oxm: NewOxm(6146),
+ }
+ return obj
+}
+func (self *NxmUdpDst) GetOXMName() string {
+ return "udp_dst"
+}
+
+func (self *NxmUdpDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmUdpDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmUdpDstMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type INxmUdpDstMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *NxmUdpDstMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmUdpDstMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmUdpDstMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmUdpDstMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmUdpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmUdpDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmUdpDstMasked, error) {
+ _nxmudpdstmasked := &NxmUdpDstMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmUdpDstMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmudpdstmasked.Value = uint16(decoder.ReadUint16())
+ _nxmudpdstmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmudpdstmasked, nil
+}
+
+func NewNxmUdpDstMasked() *NxmUdpDstMasked {
+ obj := &NxmUdpDstMasked{
+ Oxm: NewOxm(6404),
+ }
+ return obj
+}
+func (self *NxmUdpDstMasked) GetOXMName() string {
+ return "udp_dst_masked"
+}
+
+func (self *NxmUdpDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmUdpDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmUdpDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmUdpSrc struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmUdpSrc interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmUdpSrc) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmUdpSrc) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmUdpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmUdpSrc(parent *Oxm, decoder *goloxi.Decoder) (*NxmUdpSrc, error) {
+ _nxmudpsrc := &NxmUdpSrc{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmUdpSrc packet too short: %d < 2", decoder.Length())
+ }
+ _nxmudpsrc.Value = uint16(decoder.ReadUint16())
+ return _nxmudpsrc, nil
+}
+
+func NewNxmUdpSrc() *NxmUdpSrc {
+ obj := &NxmUdpSrc{
+ Oxm: NewOxm(5634),
+ }
+ return obj
+}
+func (self *NxmUdpSrc) GetOXMName() string {
+ return "udp_src"
+}
+
+func (self *NxmUdpSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmUdpSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmUdpSrcMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type INxmUdpSrcMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *NxmUdpSrcMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmUdpSrcMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmUdpSrcMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmUdpSrcMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmUdpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmUdpSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmUdpSrcMasked, error) {
+ _nxmudpsrcmasked := &NxmUdpSrcMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmUdpSrcMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmudpsrcmasked.Value = uint16(decoder.ReadUint16())
+ _nxmudpsrcmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmudpsrcmasked, nil
+}
+
+func NewNxmUdpSrcMasked() *NxmUdpSrcMasked {
+ obj := &NxmUdpSrcMasked{
+ Oxm: NewOxm(5892),
+ }
+ return obj
+}
+func (self *NxmUdpSrcMasked) GetOXMName() string {
+ return "udp_src_masked"
+}
+
+func (self *NxmUdpSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmUdpSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmUdpSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmVlanTci struct {
+ *Oxm
+ Value uint16
+}
+
+type INxmVlanTci interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *NxmVlanTci) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmVlanTci) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmVlanTci) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeNxmVlanTci(parent *Oxm, decoder *goloxi.Decoder) (*NxmVlanTci, error) {
+ _nxmvlantci := &NxmVlanTci{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("NxmVlanTci packet too short: %d < 2", decoder.Length())
+ }
+ _nxmvlantci.Value = uint16(decoder.ReadUint16())
+ return _nxmvlantci, nil
+}
+
+func NewNxmVlanTci() *NxmVlanTci {
+ obj := &NxmVlanTci{
+ Oxm: NewOxm(2050),
+ }
+ return obj
+}
+func (self *NxmVlanTci) GetOXMName() string {
+ return "vlan_tci"
+}
+
+func (self *NxmVlanTci) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmVlanTci) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmVlanTciMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type INxmVlanTciMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *NxmVlanTciMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *NxmVlanTciMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *NxmVlanTciMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *NxmVlanTciMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *NxmVlanTciMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmVlanTciMasked(parent *Oxm, decoder *goloxi.Decoder) (*NxmVlanTciMasked, error) {
+ _nxmvlantcimasked := &NxmVlanTciMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("NxmVlanTciMasked packet too short: %d < 4", decoder.Length())
+ }
+ _nxmvlantcimasked.Value = uint16(decoder.ReadUint16())
+ _nxmvlantcimasked.ValueMask = uint16(decoder.ReadUint16())
+ return _nxmvlantcimasked, nil
+}
+
+func NewNxmVlanTciMasked() *NxmVlanTciMasked {
+ obj := &NxmVlanTciMasked{
+ Oxm: NewOxm(2308),
+ }
+ return obj
+}
+func (self *NxmVlanTciMasked) GetOXMName() string {
+ return "vlan_tci_masked"
+}
+
+func (self *NxmVlanTciMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmVlanTciMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmVlanTciMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmXxreg0 struct {
+ *Oxm
+ Value uint128
+}
+
+type INxmXxreg0 interface {
+ goloxi.IOxm
+ GetValue() uint128
+}
+
+func (self *NxmXxreg0) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmXxreg0) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmXxreg0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+
+ return nil
+}
+
+func DecodeNxmXxreg0(parent *Oxm, decoder *goloxi.Decoder) (*NxmXxreg0, error) {
+ _nxmxxreg0 := &NxmXxreg0{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmXxreg0 packet too short: %d < 16", decoder.Length())
+ }
+ _nxmxxreg0.Value = uint128(decoder.ReadUint128())
+ return _nxmxxreg0, nil
+}
+
+func NewNxmXxreg0() *NxmXxreg0 {
+ obj := &NxmXxreg0{
+ Oxm: NewOxm(122384),
+ }
+ return obj
+}
+func (self *NxmXxreg0) GetOXMName() string {
+ return "xxreg0"
+}
+
+func (self *NxmXxreg0) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmXxreg0) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmXxreg0Masked struct {
+ *Oxm
+ Value uint128
+ ValueMask uint128
+}
+
+type INxmXxreg0Masked interface {
+ goloxi.IOxm
+ GetValue() uint128
+ GetValueMask() uint128
+}
+
+func (self *NxmXxreg0Masked) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmXxreg0Masked) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmXxreg0Masked) GetValueMask() uint128 {
+ return self.ValueMask
+}
+
+func (self *NxmXxreg0Masked) SetValueMask(v uint128) {
+ self.ValueMask = v
+}
+
+func (self *NxmXxreg0Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+ encoder.PutUint128(uint128(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmXxreg0Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmXxreg0Masked, error) {
+ _nxmxxreg0masked := &NxmXxreg0Masked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmXxreg0Masked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmxxreg0masked.Value = uint128(decoder.ReadUint128())
+ _nxmxxreg0masked.ValueMask = uint128(decoder.ReadUint128())
+ return _nxmxxreg0masked, nil
+}
+
+func NewNxmXxreg0Masked() *NxmXxreg0Masked {
+ obj := &NxmXxreg0Masked{
+ Oxm: NewOxm(122656),
+ }
+ return obj
+}
+func (self *NxmXxreg0Masked) GetOXMName() string {
+ return "xxreg0_masked"
+}
+
+func (self *NxmXxreg0Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmXxreg0Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmXxreg0Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmXxreg1 struct {
+ *Oxm
+ Value uint128
+}
+
+type INxmXxreg1 interface {
+ goloxi.IOxm
+ GetValue() uint128
+}
+
+func (self *NxmXxreg1) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmXxreg1) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmXxreg1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+
+ return nil
+}
+
+func DecodeNxmXxreg1(parent *Oxm, decoder *goloxi.Decoder) (*NxmXxreg1, error) {
+ _nxmxxreg1 := &NxmXxreg1{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmXxreg1 packet too short: %d < 16", decoder.Length())
+ }
+ _nxmxxreg1.Value = uint128(decoder.ReadUint128())
+ return _nxmxxreg1, nil
+}
+
+func NewNxmXxreg1() *NxmXxreg1 {
+ obj := &NxmXxreg1{
+ Oxm: NewOxm(122896),
+ }
+ return obj
+}
+func (self *NxmXxreg1) GetOXMName() string {
+ return "xxreg1"
+}
+
+func (self *NxmXxreg1) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmXxreg1) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmXxreg1Masked struct {
+ *Oxm
+ Value uint128
+ ValueMask uint128
+}
+
+type INxmXxreg1Masked interface {
+ goloxi.IOxm
+ GetValue() uint128
+ GetValueMask() uint128
+}
+
+func (self *NxmXxreg1Masked) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmXxreg1Masked) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmXxreg1Masked) GetValueMask() uint128 {
+ return self.ValueMask
+}
+
+func (self *NxmXxreg1Masked) SetValueMask(v uint128) {
+ self.ValueMask = v
+}
+
+func (self *NxmXxreg1Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+ encoder.PutUint128(uint128(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmXxreg1Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmXxreg1Masked, error) {
+ _nxmxxreg1masked := &NxmXxreg1Masked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmXxreg1Masked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmxxreg1masked.Value = uint128(decoder.ReadUint128())
+ _nxmxxreg1masked.ValueMask = uint128(decoder.ReadUint128())
+ return _nxmxxreg1masked, nil
+}
+
+func NewNxmXxreg1Masked() *NxmXxreg1Masked {
+ obj := &NxmXxreg1Masked{
+ Oxm: NewOxm(123168),
+ }
+ return obj
+}
+func (self *NxmXxreg1Masked) GetOXMName() string {
+ return "xxreg1_masked"
+}
+
+func (self *NxmXxreg1Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmXxreg1Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmXxreg1Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmXxreg2 struct {
+ *Oxm
+ Value uint128
+}
+
+type INxmXxreg2 interface {
+ goloxi.IOxm
+ GetValue() uint128
+}
+
+func (self *NxmXxreg2) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmXxreg2) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmXxreg2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+
+ return nil
+}
+
+func DecodeNxmXxreg2(parent *Oxm, decoder *goloxi.Decoder) (*NxmXxreg2, error) {
+ _nxmxxreg2 := &NxmXxreg2{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmXxreg2 packet too short: %d < 16", decoder.Length())
+ }
+ _nxmxxreg2.Value = uint128(decoder.ReadUint128())
+ return _nxmxxreg2, nil
+}
+
+func NewNxmXxreg2() *NxmXxreg2 {
+ obj := &NxmXxreg2{
+ Oxm: NewOxm(123408),
+ }
+ return obj
+}
+func (self *NxmXxreg2) GetOXMName() string {
+ return "xxreg2"
+}
+
+func (self *NxmXxreg2) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmXxreg2) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmXxreg2Masked struct {
+ *Oxm
+ Value uint128
+ ValueMask uint128
+}
+
+type INxmXxreg2Masked interface {
+ goloxi.IOxm
+ GetValue() uint128
+ GetValueMask() uint128
+}
+
+func (self *NxmXxreg2Masked) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmXxreg2Masked) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmXxreg2Masked) GetValueMask() uint128 {
+ return self.ValueMask
+}
+
+func (self *NxmXxreg2Masked) SetValueMask(v uint128) {
+ self.ValueMask = v
+}
+
+func (self *NxmXxreg2Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+ encoder.PutUint128(uint128(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmXxreg2Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmXxreg2Masked, error) {
+ _nxmxxreg2masked := &NxmXxreg2Masked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmXxreg2Masked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmxxreg2masked.Value = uint128(decoder.ReadUint128())
+ _nxmxxreg2masked.ValueMask = uint128(decoder.ReadUint128())
+ return _nxmxxreg2masked, nil
+}
+
+func NewNxmXxreg2Masked() *NxmXxreg2Masked {
+ obj := &NxmXxreg2Masked{
+ Oxm: NewOxm(123680),
+ }
+ return obj
+}
+func (self *NxmXxreg2Masked) GetOXMName() string {
+ return "xxreg2_masked"
+}
+
+func (self *NxmXxreg2Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmXxreg2Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmXxreg2Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type NxmXxreg3 struct {
+ *Oxm
+ Value uint128
+}
+
+type INxmXxreg3 interface {
+ goloxi.IOxm
+ GetValue() uint128
+}
+
+func (self *NxmXxreg3) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmXxreg3) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmXxreg3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+
+ return nil
+}
+
+func DecodeNxmXxreg3(parent *Oxm, decoder *goloxi.Decoder) (*NxmXxreg3, error) {
+ _nxmxxreg3 := &NxmXxreg3{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("NxmXxreg3 packet too short: %d < 16", decoder.Length())
+ }
+ _nxmxxreg3.Value = uint128(decoder.ReadUint128())
+ return _nxmxxreg3, nil
+}
+
+func NewNxmXxreg3() *NxmXxreg3 {
+ obj := &NxmXxreg3{
+ Oxm: NewOxm(123920),
+ }
+ return obj
+}
+func (self *NxmXxreg3) GetOXMName() string {
+ return "xxreg3"
+}
+
+func (self *NxmXxreg3) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmXxreg3) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type NxmXxreg3Masked struct {
+ *Oxm
+ Value uint128
+ ValueMask uint128
+}
+
+type INxmXxreg3Masked interface {
+ goloxi.IOxm
+ GetValue() uint128
+ GetValueMask() uint128
+}
+
+func (self *NxmXxreg3Masked) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *NxmXxreg3Masked) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *NxmXxreg3Masked) GetValueMask() uint128 {
+ return self.ValueMask
+}
+
+func (self *NxmXxreg3Masked) SetValueMask(v uint128) {
+ self.ValueMask = v
+}
+
+func (self *NxmXxreg3Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+ encoder.PutUint128(uint128(self.ValueMask))
+
+ return nil
+}
+
+func DecodeNxmXxreg3Masked(parent *Oxm, decoder *goloxi.Decoder) (*NxmXxreg3Masked, error) {
+ _nxmxxreg3masked := &NxmXxreg3Masked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("NxmXxreg3Masked packet too short: %d < 32", decoder.Length())
+ }
+ _nxmxxreg3masked.Value = uint128(decoder.ReadUint128())
+ _nxmxxreg3masked.ValueMask = uint128(decoder.ReadUint128())
+ return _nxmxxreg3masked, nil
+}
+
+func NewNxmXxreg3Masked() *NxmXxreg3Masked {
+ obj := &NxmXxreg3Masked{
+ Oxm: NewOxm(124192),
+ }
+ return obj
+}
+func (self *NxmXxreg3Masked) GetOXMName() string {
+ return "xxreg3_masked"
+}
+
+func (self *NxmXxreg3Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *NxmXxreg3Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *NxmXxreg3Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmArpOp struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmArpOp interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmArpOp) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmArpOp) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmArpOp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmArpOp(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpOp, error) {
+ _oxmarpop := &OxmArpOp{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmArpOp packet too short: %d < 2", decoder.Length())
+ }
+ _oxmarpop.Value = uint16(decoder.ReadUint16())
+ return _oxmarpop, nil
+}
+
+func NewOxmArpOp() *OxmArpOp {
+ obj := &OxmArpOp{
+ Oxm: NewOxm(2147494402),
+ }
+ return obj
+}
+func (self *OxmArpOp) GetOXMName() string {
+ return "arp_op"
+}
+
+func (self *OxmArpOp) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpOp) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmArpOpMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmArpOpMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmArpOpMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmArpOpMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmArpOpMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmArpOpMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmArpOpMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmArpOpMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpOpMasked, error) {
+ _oxmarpopmasked := &OxmArpOpMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmArpOpMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmarpopmasked.Value = uint16(decoder.ReadUint16())
+ _oxmarpopmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmarpopmasked, nil
+}
+
+func NewOxmArpOpMasked() *OxmArpOpMasked {
+ obj := &OxmArpOpMasked{
+ Oxm: NewOxm(2147494660),
+ }
+ return obj
+}
+func (self *OxmArpOpMasked) GetOXMName() string {
+ return "arp_op_masked"
+}
+
+func (self *OxmArpOpMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpOpMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmArpOpMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmArpSha struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type IOxmArpSha interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *OxmArpSha) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmArpSha) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmArpSha) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeOxmArpSha(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpSha, error) {
+ _oxmarpsha := &OxmArpSha{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("OxmArpSha packet too short: %d < 6", decoder.Length())
+ }
+ _oxmarpsha.Value = net.HardwareAddr(decoder.Read(6))
+ return _oxmarpsha, nil
+}
+
+func NewOxmArpSha() *OxmArpSha {
+ obj := &OxmArpSha{
+ Oxm: NewOxm(2147495942),
+ }
+ return obj
+}
+func (self *OxmArpSha) GetOXMName() string {
+ return "arp_sha"
+}
+
+func (self *OxmArpSha) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpSha) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmArpShaMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type IOxmArpShaMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *OxmArpShaMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmArpShaMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmArpShaMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *OxmArpShaMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *OxmArpShaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeOxmArpShaMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpShaMasked, error) {
+ _oxmarpshamasked := &OxmArpShaMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("OxmArpShaMasked packet too short: %d < 12", decoder.Length())
+ }
+ _oxmarpshamasked.Value = net.HardwareAddr(decoder.Read(6))
+ _oxmarpshamasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _oxmarpshamasked, nil
+}
+
+func NewOxmArpShaMasked() *OxmArpShaMasked {
+ obj := &OxmArpShaMasked{
+ Oxm: NewOxm(2147496204),
+ }
+ return obj
+}
+func (self *OxmArpShaMasked) GetOXMName() string {
+ return "arp_sha_masked"
+}
+
+func (self *OxmArpShaMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpShaMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmArpShaMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmArpSpa struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmArpSpa interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmArpSpa) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmArpSpa) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmArpSpa) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmArpSpa(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpSpa, error) {
+ _oxmarpspa := &OxmArpSpa{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmArpSpa packet too short: %d < 4", decoder.Length())
+ }
+ _oxmarpspa.Value = uint32(decoder.ReadUint32())
+ return _oxmarpspa, nil
+}
+
+func NewOxmArpSpa() *OxmArpSpa {
+ obj := &OxmArpSpa{
+ Oxm: NewOxm(2147494916),
+ }
+ return obj
+}
+func (self *OxmArpSpa) GetOXMName() string {
+ return "arp_spa"
+}
+
+func (self *OxmArpSpa) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpSpa) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmArpSpaMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmArpSpaMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmArpSpaMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmArpSpaMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmArpSpaMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmArpSpaMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmArpSpaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmArpSpaMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpSpaMasked, error) {
+ _oxmarpspamasked := &OxmArpSpaMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmArpSpaMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmarpspamasked.Value = uint32(decoder.ReadUint32())
+ _oxmarpspamasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmarpspamasked, nil
+}
+
+func NewOxmArpSpaMasked() *OxmArpSpaMasked {
+ obj := &OxmArpSpaMasked{
+ Oxm: NewOxm(2147495176),
+ }
+ return obj
+}
+func (self *OxmArpSpaMasked) GetOXMName() string {
+ return "arp_spa_masked"
+}
+
+func (self *OxmArpSpaMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpSpaMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmArpSpaMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmArpTha struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type IOxmArpTha interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *OxmArpTha) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmArpTha) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmArpTha) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeOxmArpTha(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpTha, error) {
+ _oxmarptha := &OxmArpTha{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("OxmArpTha packet too short: %d < 6", decoder.Length())
+ }
+ _oxmarptha.Value = net.HardwareAddr(decoder.Read(6))
+ return _oxmarptha, nil
+}
+
+func NewOxmArpTha() *OxmArpTha {
+ obj := &OxmArpTha{
+ Oxm: NewOxm(2147496454),
+ }
+ return obj
+}
+func (self *OxmArpTha) GetOXMName() string {
+ return "arp_tha"
+}
+
+func (self *OxmArpTha) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpTha) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmArpThaMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type IOxmArpThaMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *OxmArpThaMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmArpThaMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmArpThaMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *OxmArpThaMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *OxmArpThaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeOxmArpThaMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpThaMasked, error) {
+ _oxmarpthamasked := &OxmArpThaMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("OxmArpThaMasked packet too short: %d < 12", decoder.Length())
+ }
+ _oxmarpthamasked.Value = net.HardwareAddr(decoder.Read(6))
+ _oxmarpthamasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _oxmarpthamasked, nil
+}
+
+func NewOxmArpThaMasked() *OxmArpThaMasked {
+ obj := &OxmArpThaMasked{
+ Oxm: NewOxm(2147496716),
+ }
+ return obj
+}
+func (self *OxmArpThaMasked) GetOXMName() string {
+ return "arp_tha_masked"
+}
+
+func (self *OxmArpThaMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpThaMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmArpThaMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmArpTpa struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmArpTpa interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmArpTpa) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmArpTpa) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmArpTpa) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmArpTpa(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpTpa, error) {
+ _oxmarptpa := &OxmArpTpa{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmArpTpa packet too short: %d < 4", decoder.Length())
+ }
+ _oxmarptpa.Value = uint32(decoder.ReadUint32())
+ return _oxmarptpa, nil
+}
+
+func NewOxmArpTpa() *OxmArpTpa {
+ obj := &OxmArpTpa{
+ Oxm: NewOxm(2147495428),
+ }
+ return obj
+}
+func (self *OxmArpTpa) GetOXMName() string {
+ return "arp_tpa"
+}
+
+func (self *OxmArpTpa) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpTpa) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmArpTpaMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmArpTpaMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmArpTpaMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmArpTpaMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmArpTpaMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmArpTpaMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmArpTpaMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmArpTpaMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmArpTpaMasked, error) {
+ _oxmarptpamasked := &OxmArpTpaMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmArpTpaMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmarptpamasked.Value = uint32(decoder.ReadUint32())
+ _oxmarptpamasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmarptpamasked, nil
+}
+
+func NewOxmArpTpaMasked() *OxmArpTpaMasked {
+ obj := &OxmArpTpaMasked{
+ Oxm: NewOxm(2147495688),
+ }
+ return obj
+}
+func (self *OxmArpTpaMasked) GetOXMName() string {
+ return "arp_tpa_masked"
+}
+
+func (self *OxmArpTpaMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmArpTpaMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmArpTpaMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnEgrPortGroupId struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnEgrPortGroupId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnEgrPortGroupId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnEgrPortGroupId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnEgrPortGroupId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnEgrPortGroupId(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnEgrPortGroupId, error) {
+ _oxmbsnegrportgroupid := &OxmBsnEgrPortGroupId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnEgrPortGroupId packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnegrportgroupid.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnegrportgroupid, nil
+}
+
+func NewOxmBsnEgrPortGroupId() *OxmBsnEgrPortGroupId {
+ obj := &OxmBsnEgrPortGroupId{
+ Oxm: NewOxm(200196),
+ }
+ return obj
+}
+func (self *OxmBsnEgrPortGroupId) GetOXMName() string {
+ return "bsn_egr_port_group_id"
+}
+
+func (self *OxmBsnEgrPortGroupId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnEgrPortGroupId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnEgrPortGroupIdMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnEgrPortGroupIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnEgrPortGroupIdMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnEgrPortGroupIdMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnEgrPortGroupIdMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnEgrPortGroupIdMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnEgrPortGroupIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnEgrPortGroupIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnEgrPortGroupIdMasked, error) {
+ _oxmbsnegrportgroupidmasked := &OxmBsnEgrPortGroupIdMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnEgrPortGroupIdMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnegrportgroupidmasked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnegrportgroupidmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnegrportgroupidmasked, nil
+}
+
+func NewOxmBsnEgrPortGroupIdMasked() *OxmBsnEgrPortGroupIdMasked {
+ obj := &OxmBsnEgrPortGroupIdMasked{
+ Oxm: NewOxm(200456),
+ }
+ return obj
+}
+func (self *OxmBsnEgrPortGroupIdMasked) GetOXMName() string {
+ return "bsn_egr_port_group_id_masked"
+}
+
+func (self *OxmBsnEgrPortGroupIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnEgrPortGroupIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnEgrPortGroupIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnGlobalVrfAllowed struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmBsnGlobalVrfAllowed interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmBsnGlobalVrfAllowed) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmBsnGlobalVrfAllowed) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmBsnGlobalVrfAllowed) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnGlobalVrfAllowed(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnGlobalVrfAllowed, error) {
+ _oxmbsnglobalvrfallowed := &OxmBsnGlobalVrfAllowed{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmBsnGlobalVrfAllowed packet too short: %d < 1", decoder.Length())
+ }
+ _oxmbsnglobalvrfallowed.Value = uint8(decoder.ReadByte())
+ return _oxmbsnglobalvrfallowed, nil
+}
+
+func NewOxmBsnGlobalVrfAllowed() *OxmBsnGlobalVrfAllowed {
+ obj := &OxmBsnGlobalVrfAllowed{
+ Oxm: NewOxm(198145),
+ }
+ return obj
+}
+func (self *OxmBsnGlobalVrfAllowed) GetOXMName() string {
+ return "bsn_global_vrf_allowed"
+}
+
+func (self *OxmBsnGlobalVrfAllowed) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnGlobalVrfAllowed) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnGlobalVrfAllowedMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmBsnGlobalVrfAllowedMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmBsnGlobalVrfAllowedMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmBsnGlobalVrfAllowedMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmBsnGlobalVrfAllowedMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnGlobalVrfAllowedMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnGlobalVrfAllowedMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnGlobalVrfAllowedMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnGlobalVrfAllowedMasked, error) {
+ _oxmbsnglobalvrfallowedmasked := &OxmBsnGlobalVrfAllowedMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmBsnGlobalVrfAllowedMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmbsnglobalvrfallowedmasked.Value = uint8(decoder.ReadByte())
+ _oxmbsnglobalvrfallowedmasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmbsnglobalvrfallowedmasked, nil
+}
+
+func NewOxmBsnGlobalVrfAllowedMasked() *OxmBsnGlobalVrfAllowedMasked {
+ obj := &OxmBsnGlobalVrfAllowedMasked{
+ Oxm: NewOxm(198402),
+ }
+ return obj
+}
+func (self *OxmBsnGlobalVrfAllowedMasked) GetOXMName() string {
+ return "bsn_global_vrf_allowed_masked"
+}
+
+func (self *OxmBsnGlobalVrfAllowedMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnGlobalVrfAllowedMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnGlobalVrfAllowedMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnInPorts128 struct {
+ *Oxm
+ Value Bitmap128
+}
+
+type IOxmBsnInPorts128 interface {
+ goloxi.IOxm
+ GetValue() Bitmap128
+}
+
+func (self *OxmBsnInPorts128) GetValue() Bitmap128 {
+ return self.Value
+}
+
+func (self *OxmBsnInPorts128) SetValue(v Bitmap128) {
+ self.Value = v
+}
+
+func (self *OxmBsnInPorts128) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeOxmBsnInPorts128(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInPorts128, error) {
+ _oxmbsninports128 := &OxmBsnInPorts128{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("OxmBsnInPorts128 packet too short: %d < 16", decoder.Length())
+ }
+ _oxmbsninports128.Value.Decode(decoder)
+ return _oxmbsninports128, nil
+}
+
+func NewOxmBsnInPorts128() *OxmBsnInPorts128 {
+ obj := &OxmBsnInPorts128{
+ Oxm: NewOxm(196624),
+ }
+ return obj
+}
+func (self *OxmBsnInPorts128) GetOXMName() string {
+ return "bsn_in_ports_128"
+}
+
+func (self *OxmBsnInPorts128) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInPorts128) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnInPorts128Masked struct {
+ *Oxm
+ Value Bitmap128
+ ValueMask Bitmap128
+}
+
+type IOxmBsnInPorts128Masked interface {
+ goloxi.IOxm
+ GetValue() Bitmap128
+ GetValueMask() Bitmap128
+}
+
+func (self *OxmBsnInPorts128Masked) GetValue() Bitmap128 {
+ return self.Value
+}
+
+func (self *OxmBsnInPorts128Masked) SetValue(v Bitmap128) {
+ self.Value = v
+}
+
+func (self *OxmBsnInPorts128Masked) GetValueMask() Bitmap128 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInPorts128Masked) SetValueMask(v Bitmap128) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnInPorts128Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+ self.ValueMask.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeOxmBsnInPorts128Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInPorts128Masked, error) {
+ _oxmbsninports128masked := &OxmBsnInPorts128Masked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("OxmBsnInPorts128Masked packet too short: %d < 32", decoder.Length())
+ }
+ _oxmbsninports128masked.Value.Decode(decoder)
+ _oxmbsninports128masked.ValueMask.Decode(decoder)
+ return _oxmbsninports128masked, nil
+}
+
+func NewOxmBsnInPorts128Masked() *OxmBsnInPorts128Masked {
+ obj := &OxmBsnInPorts128Masked{
+ Oxm: NewOxm(196896),
+ }
+ return obj
+}
+func (self *OxmBsnInPorts128Masked) GetOXMName() string {
+ return "bsn_in_ports_128_masked"
+}
+
+func (self *OxmBsnInPorts128Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInPorts128Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInPorts128Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnInPorts512 struct {
+ *Oxm
+ Value Bitmap512
+}
+
+type IOxmBsnInPorts512 interface {
+ goloxi.IOxm
+ GetValue() Bitmap512
+}
+
+func (self *OxmBsnInPorts512) GetValue() Bitmap512 {
+ return self.Value
+}
+
+func (self *OxmBsnInPorts512) SetValue(v Bitmap512) {
+ self.Value = v
+}
+
+func (self *OxmBsnInPorts512) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeOxmBsnInPorts512(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInPorts512, error) {
+ _oxmbsninports512 := &OxmBsnInPorts512{Oxm: parent}
+ if decoder.Length() < 64 {
+ return nil, fmt.Errorf("OxmBsnInPorts512 packet too short: %d < 64", decoder.Length())
+ }
+ _oxmbsninports512.Value.Decode(decoder)
+ return _oxmbsninports512, nil
+}
+
+func NewOxmBsnInPorts512() *OxmBsnInPorts512 {
+ obj := &OxmBsnInPorts512{
+ Oxm: NewOxm(206400),
+ }
+ return obj
+}
+func (self *OxmBsnInPorts512) GetOXMName() string {
+ return "bsn_in_ports_512"
+}
+
+func (self *OxmBsnInPorts512) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInPorts512) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnInPorts512Masked struct {
+ *Oxm
+ Value Bitmap512
+ ValueMask Bitmap512
+}
+
+type IOxmBsnInPorts512Masked interface {
+ goloxi.IOxm
+ GetValue() Bitmap512
+ GetValueMask() Bitmap512
+}
+
+func (self *OxmBsnInPorts512Masked) GetValue() Bitmap512 {
+ return self.Value
+}
+
+func (self *OxmBsnInPorts512Masked) SetValue(v Bitmap512) {
+ self.Value = v
+}
+
+func (self *OxmBsnInPorts512Masked) GetValueMask() Bitmap512 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInPorts512Masked) SetValueMask(v Bitmap512) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnInPorts512Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+ self.ValueMask.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeOxmBsnInPorts512Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInPorts512Masked, error) {
+ _oxmbsninports512masked := &OxmBsnInPorts512Masked{Oxm: parent}
+ if decoder.Length() < 128 {
+ return nil, fmt.Errorf("OxmBsnInPorts512Masked packet too short: %d < 128", decoder.Length())
+ }
+ _oxmbsninports512masked.Value.Decode(decoder)
+ _oxmbsninports512masked.ValueMask.Decode(decoder)
+ return _oxmbsninports512masked, nil
+}
+
+func NewOxmBsnInPorts512Masked() *OxmBsnInPorts512Masked {
+ obj := &OxmBsnInPorts512Masked{
+ Oxm: NewOxm(206720),
+ }
+ return obj
+}
+func (self *OxmBsnInPorts512Masked) GetOXMName() string {
+ return "bsn_in_ports_512_masked"
+}
+
+func (self *OxmBsnInPorts512Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInPorts512Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInPorts512Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnIngressPortGroupId struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnIngressPortGroupId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnIngressPortGroupId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnIngressPortGroupId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnIngressPortGroupId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnIngressPortGroupId(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnIngressPortGroupId, error) {
+ _oxmbsningressportgroupid := &OxmBsnIngressPortGroupId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnIngressPortGroupId packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsningressportgroupid.Value = uint32(decoder.ReadUint32())
+ return _oxmbsningressportgroupid, nil
+}
+
+func NewOxmBsnIngressPortGroupId() *OxmBsnIngressPortGroupId {
+ obj := &OxmBsnIngressPortGroupId{
+ Oxm: NewOxm(206852),
+ }
+ return obj
+}
+func (self *OxmBsnIngressPortGroupId) GetOXMName() string {
+ return "bsn_ingress_port_group_id"
+}
+
+func (self *OxmBsnIngressPortGroupId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnIngressPortGroupId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnIngressPortGroupIdMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnIngressPortGroupIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnIngressPortGroupIdMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnIngressPortGroupIdMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnIngressPortGroupIdMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnIngressPortGroupIdMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnIngressPortGroupIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnIngressPortGroupIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnIngressPortGroupIdMasked, error) {
+ _oxmbsningressportgroupidmasked := &OxmBsnIngressPortGroupIdMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnIngressPortGroupIdMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsningressportgroupidmasked.Value = uint32(decoder.ReadUint32())
+ _oxmbsningressportgroupidmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsningressportgroupidmasked, nil
+}
+
+func NewOxmBsnIngressPortGroupIdMasked() *OxmBsnIngressPortGroupIdMasked {
+ obj := &OxmBsnIngressPortGroupIdMasked{
+ Oxm: NewOxm(207112),
+ }
+ return obj
+}
+func (self *OxmBsnIngressPortGroupIdMasked) GetOXMName() string {
+ return "bsn_ingress_port_group_id_masked"
+}
+
+func (self *OxmBsnIngressPortGroupIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnIngressPortGroupIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnIngressPortGroupIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnInnerEthDst struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type IOxmBsnInnerEthDst interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *OxmBsnInnerEthDst) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmBsnInnerEthDst) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmBsnInnerEthDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeOxmBsnInnerEthDst(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInnerEthDst, error) {
+ _oxmbsninnerethdst := &OxmBsnInnerEthDst{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("OxmBsnInnerEthDst packet too short: %d < 6", decoder.Length())
+ }
+ _oxmbsninnerethdst.Value = net.HardwareAddr(decoder.Read(6))
+ return _oxmbsninnerethdst, nil
+}
+
+func NewOxmBsnInnerEthDst() *OxmBsnInnerEthDst {
+ obj := &OxmBsnInnerEthDst{
+ Oxm: NewOxm(207878),
+ }
+ return obj
+}
+func (self *OxmBsnInnerEthDst) GetOXMName() string {
+ return "bsn_inner_eth_dst"
+}
+
+func (self *OxmBsnInnerEthDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInnerEthDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnInnerEthDstMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type IOxmBsnInnerEthDstMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *OxmBsnInnerEthDstMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmBsnInnerEthDstMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmBsnInnerEthDstMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInnerEthDstMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnInnerEthDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeOxmBsnInnerEthDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInnerEthDstMasked, error) {
+ _oxmbsninnerethdstmasked := &OxmBsnInnerEthDstMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("OxmBsnInnerEthDstMasked packet too short: %d < 12", decoder.Length())
+ }
+ _oxmbsninnerethdstmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _oxmbsninnerethdstmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _oxmbsninnerethdstmasked, nil
+}
+
+func NewOxmBsnInnerEthDstMasked() *OxmBsnInnerEthDstMasked {
+ obj := &OxmBsnInnerEthDstMasked{
+ Oxm: NewOxm(208140),
+ }
+ return obj
+}
+func (self *OxmBsnInnerEthDstMasked) GetOXMName() string {
+ return "bsn_inner_eth_dst_masked"
+}
+
+func (self *OxmBsnInnerEthDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInnerEthDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInnerEthDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnInnerEthSrc struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type IOxmBsnInnerEthSrc interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *OxmBsnInnerEthSrc) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmBsnInnerEthSrc) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmBsnInnerEthSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeOxmBsnInnerEthSrc(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInnerEthSrc, error) {
+ _oxmbsninnerethsrc := &OxmBsnInnerEthSrc{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("OxmBsnInnerEthSrc packet too short: %d < 6", decoder.Length())
+ }
+ _oxmbsninnerethsrc.Value = net.HardwareAddr(decoder.Read(6))
+ return _oxmbsninnerethsrc, nil
+}
+
+func NewOxmBsnInnerEthSrc() *OxmBsnInnerEthSrc {
+ obj := &OxmBsnInnerEthSrc{
+ Oxm: NewOxm(208390),
+ }
+ return obj
+}
+func (self *OxmBsnInnerEthSrc) GetOXMName() string {
+ return "bsn_inner_eth_src"
+}
+
+func (self *OxmBsnInnerEthSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInnerEthSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnInnerEthSrcMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type IOxmBsnInnerEthSrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *OxmBsnInnerEthSrcMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmBsnInnerEthSrcMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmBsnInnerEthSrcMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInnerEthSrcMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnInnerEthSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeOxmBsnInnerEthSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInnerEthSrcMasked, error) {
+ _oxmbsninnerethsrcmasked := &OxmBsnInnerEthSrcMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("OxmBsnInnerEthSrcMasked packet too short: %d < 12", decoder.Length())
+ }
+ _oxmbsninnerethsrcmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _oxmbsninnerethsrcmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _oxmbsninnerethsrcmasked, nil
+}
+
+func NewOxmBsnInnerEthSrcMasked() *OxmBsnInnerEthSrcMasked {
+ obj := &OxmBsnInnerEthSrcMasked{
+ Oxm: NewOxm(208652),
+ }
+ return obj
+}
+func (self *OxmBsnInnerEthSrcMasked) GetOXMName() string {
+ return "bsn_inner_eth_src_masked"
+}
+
+func (self *OxmBsnInnerEthSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInnerEthSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInnerEthSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnInnerVlanVid struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmBsnInnerVlanVid interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmBsnInnerVlanVid) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmBsnInnerVlanVid) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmBsnInnerVlanVid) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnInnerVlanVid(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInnerVlanVid, error) {
+ _oxmbsninnervlanvid := &OxmBsnInnerVlanVid{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmBsnInnerVlanVid packet too short: %d < 2", decoder.Length())
+ }
+ _oxmbsninnervlanvid.Value = uint16(decoder.ReadUint16())
+ return _oxmbsninnervlanvid, nil
+}
+
+func NewOxmBsnInnerVlanVid() *OxmBsnInnerVlanVid {
+ obj := &OxmBsnInnerVlanVid{
+ Oxm: NewOxm(208898),
+ }
+ return obj
+}
+func (self *OxmBsnInnerVlanVid) GetOXMName() string {
+ return "bsn_inner_vlan_vid"
+}
+
+func (self *OxmBsnInnerVlanVid) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInnerVlanVid) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnInnerVlanVidMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmBsnInnerVlanVidMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmBsnInnerVlanVidMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmBsnInnerVlanVidMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmBsnInnerVlanVidMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInnerVlanVidMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnInnerVlanVidMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnInnerVlanVidMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnInnerVlanVidMasked, error) {
+ _oxmbsninnervlanvidmasked := &OxmBsnInnerVlanVidMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnInnerVlanVidMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsninnervlanvidmasked.Value = uint16(decoder.ReadUint16())
+ _oxmbsninnervlanvidmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmbsninnervlanvidmasked, nil
+}
+
+func NewOxmBsnInnerVlanVidMasked() *OxmBsnInnerVlanVidMasked {
+ obj := &OxmBsnInnerVlanVidMasked{
+ Oxm: NewOxm(209156),
+ }
+ return obj
+}
+func (self *OxmBsnInnerVlanVidMasked) GetOXMName() string {
+ return "bsn_inner_vlan_vid_masked"
+}
+
+func (self *OxmBsnInnerVlanVidMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnInnerVlanVidMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnInnerVlanVidMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnIpFragmentation struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmBsnIpFragmentation interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmBsnIpFragmentation) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmBsnIpFragmentation) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmBsnIpFragmentation) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnIpFragmentation(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnIpFragmentation, error) {
+ _oxmbsnipfragmentation := &OxmBsnIpFragmentation{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmBsnIpFragmentation packet too short: %d < 1", decoder.Length())
+ }
+ _oxmbsnipfragmentation.Value = uint8(decoder.ReadByte())
+ return _oxmbsnipfragmentation, nil
+}
+
+func NewOxmBsnIpFragmentation() *OxmBsnIpFragmentation {
+ obj := &OxmBsnIpFragmentation{
+ Oxm: NewOxm(209921),
+ }
+ return obj
+}
+func (self *OxmBsnIpFragmentation) GetOXMName() string {
+ return "bsn_ip_fragmentation"
+}
+
+func (self *OxmBsnIpFragmentation) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnIpFragmentation) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnIpFragmentationMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmBsnIpFragmentationMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmBsnIpFragmentationMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmBsnIpFragmentationMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmBsnIpFragmentationMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnIpFragmentationMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnIpFragmentationMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnIpFragmentationMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnIpFragmentationMasked, error) {
+ _oxmbsnipfragmentationmasked := &OxmBsnIpFragmentationMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmBsnIpFragmentationMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmbsnipfragmentationmasked.Value = uint8(decoder.ReadByte())
+ _oxmbsnipfragmentationmasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmbsnipfragmentationmasked, nil
+}
+
+func NewOxmBsnIpFragmentationMasked() *OxmBsnIpFragmentationMasked {
+ obj := &OxmBsnIpFragmentationMasked{
+ Oxm: NewOxm(210178),
+ }
+ return obj
+}
+func (self *OxmBsnIpFragmentationMasked) GetOXMName() string {
+ return "bsn_ip_fragmentation_masked"
+}
+
+func (self *OxmBsnIpFragmentationMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnIpFragmentationMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnIpFragmentationMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnL2CacheHit struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmBsnL2CacheHit interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmBsnL2CacheHit) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmBsnL2CacheHit) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmBsnL2CacheHit) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnL2CacheHit(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnL2CacheHit, error) {
+ _oxmbsnl2cachehit := &OxmBsnL2CacheHit{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmBsnL2CacheHit packet too short: %d < 1", decoder.Length())
+ }
+ _oxmbsnl2cachehit.Value = uint8(decoder.ReadByte())
+ return _oxmbsnl2cachehit, nil
+}
+
+func NewOxmBsnL2CacheHit() *OxmBsnL2CacheHit {
+ obj := &OxmBsnL2CacheHit{
+ Oxm: NewOxm(205825),
+ }
+ return obj
+}
+func (self *OxmBsnL2CacheHit) GetOXMName() string {
+ return "bsn_l2_cache_hit"
+}
+
+func (self *OxmBsnL2CacheHit) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnL2CacheHit) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnL2CacheHitMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmBsnL2CacheHitMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmBsnL2CacheHitMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmBsnL2CacheHitMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmBsnL2CacheHitMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnL2CacheHitMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnL2CacheHitMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnL2CacheHitMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnL2CacheHitMasked, error) {
+ _oxmbsnl2cachehitmasked := &OxmBsnL2CacheHitMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmBsnL2CacheHitMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmbsnl2cachehitmasked.Value = uint8(decoder.ReadByte())
+ _oxmbsnl2cachehitmasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmbsnl2cachehitmasked, nil
+}
+
+func NewOxmBsnL2CacheHitMasked() *OxmBsnL2CacheHitMasked {
+ obj := &OxmBsnL2CacheHitMasked{
+ Oxm: NewOxm(206082),
+ }
+ return obj
+}
+func (self *OxmBsnL2CacheHitMasked) GetOXMName() string {
+ return "bsn_l2_cache_hit_masked"
+}
+
+func (self *OxmBsnL2CacheHitMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnL2CacheHitMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnL2CacheHitMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnL3DstClassId struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnL3DstClassId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnL3DstClassId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnL3DstClassId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnL3DstClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnL3DstClassId(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnL3DstClassId, error) {
+ _oxmbsnl3dstclassid := &OxmBsnL3DstClassId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnL3DstClassId packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnl3dstclassid.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnl3dstclassid, nil
+}
+
+func NewOxmBsnL3DstClassId() *OxmBsnL3DstClassId {
+ obj := &OxmBsnL3DstClassId{
+ Oxm: NewOxm(199684),
+ }
+ return obj
+}
+func (self *OxmBsnL3DstClassId) GetOXMName() string {
+ return "bsn_l3_dst_class_id"
+}
+
+func (self *OxmBsnL3DstClassId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnL3DstClassId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnL3DstClassIdMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnL3DstClassIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnL3DstClassIdMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnL3DstClassIdMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnL3DstClassIdMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnL3DstClassIdMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnL3DstClassIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnL3DstClassIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnL3DstClassIdMasked, error) {
+ _oxmbsnl3dstclassidmasked := &OxmBsnL3DstClassIdMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnL3DstClassIdMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnl3dstclassidmasked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnl3dstclassidmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnl3dstclassidmasked, nil
+}
+
+func NewOxmBsnL3DstClassIdMasked() *OxmBsnL3DstClassIdMasked {
+ obj := &OxmBsnL3DstClassIdMasked{
+ Oxm: NewOxm(199944),
+ }
+ return obj
+}
+func (self *OxmBsnL3DstClassIdMasked) GetOXMName() string {
+ return "bsn_l3_dst_class_id_masked"
+}
+
+func (self *OxmBsnL3DstClassIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnL3DstClassIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnL3DstClassIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnL3InterfaceClassId struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnL3InterfaceClassId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnL3InterfaceClassId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnL3InterfaceClassId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnL3InterfaceClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnL3InterfaceClassId(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnL3InterfaceClassId, error) {
+ _oxmbsnl3interfaceclassid := &OxmBsnL3InterfaceClassId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnL3InterfaceClassId packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnl3interfaceclassid.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnl3interfaceclassid, nil
+}
+
+func NewOxmBsnL3InterfaceClassId() *OxmBsnL3InterfaceClassId {
+ obj := &OxmBsnL3InterfaceClassId{
+ Oxm: NewOxm(198660),
+ }
+ return obj
+}
+func (self *OxmBsnL3InterfaceClassId) GetOXMName() string {
+ return "bsn_l3_interface_class_id"
+}
+
+func (self *OxmBsnL3InterfaceClassId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnL3InterfaceClassId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnL3InterfaceClassIdMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnL3InterfaceClassIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnL3InterfaceClassIdMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnL3InterfaceClassIdMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnL3InterfaceClassIdMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnL3InterfaceClassIdMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnL3InterfaceClassIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnL3InterfaceClassIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnL3InterfaceClassIdMasked, error) {
+ _oxmbsnl3interfaceclassidmasked := &OxmBsnL3InterfaceClassIdMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnL3InterfaceClassIdMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnl3interfaceclassidmasked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnl3interfaceclassidmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnl3interfaceclassidmasked, nil
+}
+
+func NewOxmBsnL3InterfaceClassIdMasked() *OxmBsnL3InterfaceClassIdMasked {
+ obj := &OxmBsnL3InterfaceClassIdMasked{
+ Oxm: NewOxm(198920),
+ }
+ return obj
+}
+func (self *OxmBsnL3InterfaceClassIdMasked) GetOXMName() string {
+ return "bsn_l3_interface_class_id_masked"
+}
+
+func (self *OxmBsnL3InterfaceClassIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnL3InterfaceClassIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnL3InterfaceClassIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnL3SrcClassId struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnL3SrcClassId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnL3SrcClassId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnL3SrcClassId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnL3SrcClassId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnL3SrcClassId(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnL3SrcClassId, error) {
+ _oxmbsnl3srcclassid := &OxmBsnL3SrcClassId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnL3SrcClassId packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnl3srcclassid.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnl3srcclassid, nil
+}
+
+func NewOxmBsnL3SrcClassId() *OxmBsnL3SrcClassId {
+ obj := &OxmBsnL3SrcClassId{
+ Oxm: NewOxm(199172),
+ }
+ return obj
+}
+func (self *OxmBsnL3SrcClassId) GetOXMName() string {
+ return "bsn_l3_src_class_id"
+}
+
+func (self *OxmBsnL3SrcClassId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnL3SrcClassId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnL3SrcClassIdMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnL3SrcClassIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnL3SrcClassIdMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnL3SrcClassIdMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnL3SrcClassIdMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnL3SrcClassIdMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnL3SrcClassIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnL3SrcClassIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnL3SrcClassIdMasked, error) {
+ _oxmbsnl3srcclassidmasked := &OxmBsnL3SrcClassIdMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnL3SrcClassIdMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnl3srcclassidmasked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnl3srcclassidmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnl3srcclassidmasked, nil
+}
+
+func NewOxmBsnL3SrcClassIdMasked() *OxmBsnL3SrcClassIdMasked {
+ obj := &OxmBsnL3SrcClassIdMasked{
+ Oxm: NewOxm(199432),
+ }
+ return obj
+}
+func (self *OxmBsnL3SrcClassIdMasked) GetOXMName() string {
+ return "bsn_l3_src_class_id_masked"
+}
+
+func (self *OxmBsnL3SrcClassIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnL3SrcClassIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnL3SrcClassIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnLagId struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnLagId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnLagId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnLagId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnLagId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnLagId(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnLagId, error) {
+ _oxmbsnlagid := &OxmBsnLagId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnLagId packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnlagid.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnlagid, nil
+}
+
+func NewOxmBsnLagId() *OxmBsnLagId {
+ obj := &OxmBsnLagId{
+ Oxm: NewOxm(197124),
+ }
+ return obj
+}
+func (self *OxmBsnLagId) GetOXMName() string {
+ return "bsn_lag_id"
+}
+
+func (self *OxmBsnLagId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnLagId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnLagIdMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnLagIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnLagIdMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnLagIdMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnLagIdMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnLagIdMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnLagIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnLagIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnLagIdMasked, error) {
+ _oxmbsnlagidmasked := &OxmBsnLagIdMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnLagIdMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnlagidmasked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnlagidmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnlagidmasked, nil
+}
+
+func NewOxmBsnLagIdMasked() *OxmBsnLagIdMasked {
+ obj := &OxmBsnLagIdMasked{
+ Oxm: NewOxm(197384),
+ }
+ return obj
+}
+func (self *OxmBsnLagIdMasked) GetOXMName() string {
+ return "bsn_lag_id_masked"
+}
+
+func (self *OxmBsnLagIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnLagIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnLagIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnTcpFlags struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmBsnTcpFlags interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmBsnTcpFlags) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmBsnTcpFlags) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmBsnTcpFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnTcpFlags(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnTcpFlags, error) {
+ _oxmbsntcpflags := &OxmBsnTcpFlags{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmBsnTcpFlags packet too short: %d < 2", decoder.Length())
+ }
+ _oxmbsntcpflags.Value = uint16(decoder.ReadUint16())
+ return _oxmbsntcpflags, nil
+}
+
+func NewOxmBsnTcpFlags() *OxmBsnTcpFlags {
+ obj := &OxmBsnTcpFlags{
+ Oxm: NewOxm(204802),
+ }
+ return obj
+}
+func (self *OxmBsnTcpFlags) GetOXMName() string {
+ return "bsn_tcp_flags"
+}
+
+func (self *OxmBsnTcpFlags) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnTcpFlags) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnTcpFlagsMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmBsnTcpFlagsMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmBsnTcpFlagsMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmBsnTcpFlagsMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmBsnTcpFlagsMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnTcpFlagsMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnTcpFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnTcpFlagsMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnTcpFlagsMasked, error) {
+ _oxmbsntcpflagsmasked := &OxmBsnTcpFlagsMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnTcpFlagsMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsntcpflagsmasked.Value = uint16(decoder.ReadUint16())
+ _oxmbsntcpflagsmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmbsntcpflagsmasked, nil
+}
+
+func NewOxmBsnTcpFlagsMasked() *OxmBsnTcpFlagsMasked {
+ obj := &OxmBsnTcpFlagsMasked{
+ Oxm: NewOxm(205060),
+ }
+ return obj
+}
+func (self *OxmBsnTcpFlagsMasked) GetOXMName() string {
+ return "bsn_tcp_flags_masked"
+}
+
+func (self *OxmBsnTcpFlagsMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnTcpFlagsMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnTcpFlagsMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnUdf0 struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnUdf0 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnUdf0) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf0) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf0) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf0(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf0, error) {
+ _oxmbsnudf0 := &OxmBsnUdf0{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnUdf0 packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnudf0.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnudf0, nil
+}
+
+func NewOxmBsnUdf0() *OxmBsnUdf0 {
+ obj := &OxmBsnUdf0{
+ Oxm: NewOxm(200708),
+ }
+ return obj
+}
+func (self *OxmBsnUdf0) GetOXMName() string {
+ return "bsn_udf0"
+}
+
+func (self *OxmBsnUdf0) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf0) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnUdf0Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnUdf0Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnUdf0Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf0Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf0Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf0Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnUdf0Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf0Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf0Masked, error) {
+ _oxmbsnudf0masked := &OxmBsnUdf0Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnUdf0Masked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnudf0masked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnudf0masked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnudf0masked, nil
+}
+
+func NewOxmBsnUdf0Masked() *OxmBsnUdf0Masked {
+ obj := &OxmBsnUdf0Masked{
+ Oxm: NewOxm(200968),
+ }
+ return obj
+}
+func (self *OxmBsnUdf0Masked) GetOXMName() string {
+ return "bsn_udf0_masked"
+}
+
+func (self *OxmBsnUdf0Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf0Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf0Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnUdf1 struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnUdf1 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnUdf1) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf1) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf1) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf1(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf1, error) {
+ _oxmbsnudf1 := &OxmBsnUdf1{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnUdf1 packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnudf1.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnudf1, nil
+}
+
+func NewOxmBsnUdf1() *OxmBsnUdf1 {
+ obj := &OxmBsnUdf1{
+ Oxm: NewOxm(201220),
+ }
+ return obj
+}
+func (self *OxmBsnUdf1) GetOXMName() string {
+ return "bsn_udf1"
+}
+
+func (self *OxmBsnUdf1) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf1) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnUdf1Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnUdf1Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnUdf1Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf1Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf1Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf1Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnUdf1Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf1Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf1Masked, error) {
+ _oxmbsnudf1masked := &OxmBsnUdf1Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnUdf1Masked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnudf1masked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnudf1masked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnudf1masked, nil
+}
+
+func NewOxmBsnUdf1Masked() *OxmBsnUdf1Masked {
+ obj := &OxmBsnUdf1Masked{
+ Oxm: NewOxm(201480),
+ }
+ return obj
+}
+func (self *OxmBsnUdf1Masked) GetOXMName() string {
+ return "bsn_udf1_masked"
+}
+
+func (self *OxmBsnUdf1Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf1Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf1Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnUdf2 struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnUdf2 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnUdf2) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf2) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf2) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf2(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf2, error) {
+ _oxmbsnudf2 := &OxmBsnUdf2{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnUdf2 packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnudf2.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnudf2, nil
+}
+
+func NewOxmBsnUdf2() *OxmBsnUdf2 {
+ obj := &OxmBsnUdf2{
+ Oxm: NewOxm(201732),
+ }
+ return obj
+}
+func (self *OxmBsnUdf2) GetOXMName() string {
+ return "bsn_udf2"
+}
+
+func (self *OxmBsnUdf2) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf2) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnUdf2Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnUdf2Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnUdf2Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf2Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf2Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf2Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnUdf2Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf2Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf2Masked, error) {
+ _oxmbsnudf2masked := &OxmBsnUdf2Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnUdf2Masked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnudf2masked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnudf2masked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnudf2masked, nil
+}
+
+func NewOxmBsnUdf2Masked() *OxmBsnUdf2Masked {
+ obj := &OxmBsnUdf2Masked{
+ Oxm: NewOxm(201992),
+ }
+ return obj
+}
+func (self *OxmBsnUdf2Masked) GetOXMName() string {
+ return "bsn_udf2_masked"
+}
+
+func (self *OxmBsnUdf2Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf2Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf2Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnUdf3 struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnUdf3 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnUdf3) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf3) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf3) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf3(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf3, error) {
+ _oxmbsnudf3 := &OxmBsnUdf3{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnUdf3 packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnudf3.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnudf3, nil
+}
+
+func NewOxmBsnUdf3() *OxmBsnUdf3 {
+ obj := &OxmBsnUdf3{
+ Oxm: NewOxm(202244),
+ }
+ return obj
+}
+func (self *OxmBsnUdf3) GetOXMName() string {
+ return "bsn_udf3"
+}
+
+func (self *OxmBsnUdf3) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf3) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnUdf3Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnUdf3Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnUdf3Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf3Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf3Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf3Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnUdf3Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf3Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf3Masked, error) {
+ _oxmbsnudf3masked := &OxmBsnUdf3Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnUdf3Masked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnudf3masked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnudf3masked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnudf3masked, nil
+}
+
+func NewOxmBsnUdf3Masked() *OxmBsnUdf3Masked {
+ obj := &OxmBsnUdf3Masked{
+ Oxm: NewOxm(202504),
+ }
+ return obj
+}
+func (self *OxmBsnUdf3Masked) GetOXMName() string {
+ return "bsn_udf3_masked"
+}
+
+func (self *OxmBsnUdf3Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf3Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf3Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnUdf4 struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnUdf4 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnUdf4) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf4) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf4) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf4(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf4, error) {
+ _oxmbsnudf4 := &OxmBsnUdf4{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnUdf4 packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnudf4.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnudf4, nil
+}
+
+func NewOxmBsnUdf4() *OxmBsnUdf4 {
+ obj := &OxmBsnUdf4{
+ Oxm: NewOxm(202756),
+ }
+ return obj
+}
+func (self *OxmBsnUdf4) GetOXMName() string {
+ return "bsn_udf4"
+}
+
+func (self *OxmBsnUdf4) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf4) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnUdf4Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnUdf4Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnUdf4Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf4Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf4Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf4Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnUdf4Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf4Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf4Masked, error) {
+ _oxmbsnudf4masked := &OxmBsnUdf4Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnUdf4Masked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnudf4masked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnudf4masked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnudf4masked, nil
+}
+
+func NewOxmBsnUdf4Masked() *OxmBsnUdf4Masked {
+ obj := &OxmBsnUdf4Masked{
+ Oxm: NewOxm(203016),
+ }
+ return obj
+}
+func (self *OxmBsnUdf4Masked) GetOXMName() string {
+ return "bsn_udf4_masked"
+}
+
+func (self *OxmBsnUdf4Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf4Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf4Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnUdf5 struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnUdf5 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnUdf5) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf5) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf5) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf5(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf5, error) {
+ _oxmbsnudf5 := &OxmBsnUdf5{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnUdf5 packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnudf5.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnudf5, nil
+}
+
+func NewOxmBsnUdf5() *OxmBsnUdf5 {
+ obj := &OxmBsnUdf5{
+ Oxm: NewOxm(203268),
+ }
+ return obj
+}
+func (self *OxmBsnUdf5) GetOXMName() string {
+ return "bsn_udf5"
+}
+
+func (self *OxmBsnUdf5) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf5) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnUdf5Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnUdf5Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnUdf5Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf5Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf5Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf5Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnUdf5Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf5Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf5Masked, error) {
+ _oxmbsnudf5masked := &OxmBsnUdf5Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnUdf5Masked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnudf5masked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnudf5masked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnudf5masked, nil
+}
+
+func NewOxmBsnUdf5Masked() *OxmBsnUdf5Masked {
+ obj := &OxmBsnUdf5Masked{
+ Oxm: NewOxm(203528),
+ }
+ return obj
+}
+func (self *OxmBsnUdf5Masked) GetOXMName() string {
+ return "bsn_udf5_masked"
+}
+
+func (self *OxmBsnUdf5Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf5Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf5Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnUdf6 struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnUdf6 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnUdf6) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf6) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf6) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf6(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf6, error) {
+ _oxmbsnudf6 := &OxmBsnUdf6{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnUdf6 packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnudf6.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnudf6, nil
+}
+
+func NewOxmBsnUdf6() *OxmBsnUdf6 {
+ obj := &OxmBsnUdf6{
+ Oxm: NewOxm(203780),
+ }
+ return obj
+}
+func (self *OxmBsnUdf6) GetOXMName() string {
+ return "bsn_udf6"
+}
+
+func (self *OxmBsnUdf6) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf6) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnUdf6Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnUdf6Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnUdf6Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf6Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf6Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf6Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnUdf6Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf6Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf6Masked, error) {
+ _oxmbsnudf6masked := &OxmBsnUdf6Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnUdf6Masked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnudf6masked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnudf6masked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnudf6masked, nil
+}
+
+func NewOxmBsnUdf6Masked() *OxmBsnUdf6Masked {
+ obj := &OxmBsnUdf6Masked{
+ Oxm: NewOxm(204040),
+ }
+ return obj
+}
+func (self *OxmBsnUdf6Masked) GetOXMName() string {
+ return "bsn_udf6_masked"
+}
+
+func (self *OxmBsnUdf6Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf6Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf6Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnUdf7 struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnUdf7 interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnUdf7) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf7) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf7) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf7(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf7, error) {
+ _oxmbsnudf7 := &OxmBsnUdf7{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnUdf7 packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnudf7.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnudf7, nil
+}
+
+func NewOxmBsnUdf7() *OxmBsnUdf7 {
+ obj := &OxmBsnUdf7{
+ Oxm: NewOxm(204292),
+ }
+ return obj
+}
+func (self *OxmBsnUdf7) GetOXMName() string {
+ return "bsn_udf7"
+}
+
+func (self *OxmBsnUdf7) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf7) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnUdf7Masked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnUdf7Masked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnUdf7Masked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnUdf7Masked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnUdf7Masked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf7Masked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnUdf7Masked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnUdf7Masked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnUdf7Masked, error) {
+ _oxmbsnudf7masked := &OxmBsnUdf7Masked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnUdf7Masked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnudf7masked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnudf7masked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnudf7masked, nil
+}
+
+func NewOxmBsnUdf7Masked() *OxmBsnUdf7Masked {
+ obj := &OxmBsnUdf7Masked{
+ Oxm: NewOxm(204552),
+ }
+ return obj
+}
+func (self *OxmBsnUdf7Masked) GetOXMName() string {
+ return "bsn_udf7_masked"
+}
+
+func (self *OxmBsnUdf7Masked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnUdf7Masked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnUdf7Masked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnVfi struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmBsnVfi interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmBsnVfi) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmBsnVfi) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmBsnVfi) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnVfi(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnVfi, error) {
+ _oxmbsnvfi := &OxmBsnVfi{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmBsnVfi packet too short: %d < 2", decoder.Length())
+ }
+ _oxmbsnvfi.Value = uint16(decoder.ReadUint16())
+ return _oxmbsnvfi, nil
+}
+
+func NewOxmBsnVfi() *OxmBsnVfi {
+ obj := &OxmBsnVfi{
+ Oxm: NewOxm(209410),
+ }
+ return obj
+}
+func (self *OxmBsnVfi) GetOXMName() string {
+ return "bsn_vfi"
+}
+
+func (self *OxmBsnVfi) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnVfi) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnVfiMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmBsnVfiMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmBsnVfiMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmBsnVfiMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmBsnVfiMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnVfiMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnVfiMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnVfiMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnVfiMasked, error) {
+ _oxmbsnvfimasked := &OxmBsnVfiMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnVfiMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnvfimasked.Value = uint16(decoder.ReadUint16())
+ _oxmbsnvfimasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmbsnvfimasked, nil
+}
+
+func NewOxmBsnVfiMasked() *OxmBsnVfiMasked {
+ obj := &OxmBsnVfiMasked{
+ Oxm: NewOxm(209668),
+ }
+ return obj
+}
+func (self *OxmBsnVfiMasked) GetOXMName() string {
+ return "bsn_vfi_masked"
+}
+
+func (self *OxmBsnVfiMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnVfiMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnVfiMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnVlanXlatePortGroupId struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnVlanXlatePortGroupId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnVlanXlatePortGroupId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnVlanXlatePortGroupId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnVlanXlatePortGroupId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnVlanXlatePortGroupId(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnVlanXlatePortGroupId, error) {
+ _oxmbsnvlanxlateportgroupid := &OxmBsnVlanXlatePortGroupId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnVlanXlatePortGroupId packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnvlanxlateportgroupid.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnvlanxlateportgroupid, nil
+}
+
+func NewOxmBsnVlanXlatePortGroupId() *OxmBsnVlanXlatePortGroupId {
+ obj := &OxmBsnVlanXlatePortGroupId{
+ Oxm: NewOxm(205316),
+ }
+ return obj
+}
+func (self *OxmBsnVlanXlatePortGroupId) GetOXMName() string {
+ return "bsn_vlan_xlate_port_group_id"
+}
+
+func (self *OxmBsnVlanXlatePortGroupId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnVlanXlatePortGroupId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnVlanXlatePortGroupIdMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnVlanXlatePortGroupIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnVlanXlatePortGroupIdMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnVlanXlatePortGroupIdMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnVlanXlatePortGroupIdMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnVlanXlatePortGroupIdMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnVlanXlatePortGroupIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnVlanXlatePortGroupIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnVlanXlatePortGroupIdMasked, error) {
+ _oxmbsnvlanxlateportgroupidmasked := &OxmBsnVlanXlatePortGroupIdMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnVlanXlatePortGroupIdMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnvlanxlateportgroupidmasked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnvlanxlateportgroupidmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnvlanxlateportgroupidmasked, nil
+}
+
+func NewOxmBsnVlanXlatePortGroupIdMasked() *OxmBsnVlanXlatePortGroupIdMasked {
+ obj := &OxmBsnVlanXlatePortGroupIdMasked{
+ Oxm: NewOxm(205576),
+ }
+ return obj
+}
+func (self *OxmBsnVlanXlatePortGroupIdMasked) GetOXMName() string {
+ return "bsn_vlan_xlate_port_group_id_masked"
+}
+
+func (self *OxmBsnVlanXlatePortGroupIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnVlanXlatePortGroupIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnVlanXlatePortGroupIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnVrf struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnVrf interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnVrf) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnVrf) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnVrf) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnVrf(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnVrf, error) {
+ _oxmbsnvrf := &OxmBsnVrf{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnVrf packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnvrf.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnvrf, nil
+}
+
+func NewOxmBsnVrf() *OxmBsnVrf {
+ obj := &OxmBsnVrf{
+ Oxm: NewOxm(197636),
+ }
+ return obj
+}
+func (self *OxmBsnVrf) GetOXMName() string {
+ return "bsn_vrf"
+}
+
+func (self *OxmBsnVrf) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnVrf) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnVrfMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnVrfMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnVrfMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnVrfMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnVrfMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnVrfMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnVrfMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnVrfMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnVrfMasked, error) {
+ _oxmbsnvrfmasked := &OxmBsnVrfMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnVrfMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnvrfmasked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnvrfmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnvrfmasked, nil
+}
+
+func NewOxmBsnVrfMasked() *OxmBsnVrfMasked {
+ obj := &OxmBsnVrfMasked{
+ Oxm: NewOxm(197896),
+ }
+ return obj
+}
+func (self *OxmBsnVrfMasked) GetOXMName() string {
+ return "bsn_vrf_masked"
+}
+
+func (self *OxmBsnVrfMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnVrfMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnVrfMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmBsnVxlanNetworkId struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmBsnVxlanNetworkId interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmBsnVxlanNetworkId) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnVxlanNetworkId) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnVxlanNetworkId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmBsnVxlanNetworkId(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnVxlanNetworkId, error) {
+ _oxmbsnvxlannetworkid := &OxmBsnVxlanNetworkId{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmBsnVxlanNetworkId packet too short: %d < 4", decoder.Length())
+ }
+ _oxmbsnvxlannetworkid.Value = uint32(decoder.ReadUint32())
+ return _oxmbsnvxlannetworkid, nil
+}
+
+func NewOxmBsnVxlanNetworkId() *OxmBsnVxlanNetworkId {
+ obj := &OxmBsnVxlanNetworkId{
+ Oxm: NewOxm(207364),
+ }
+ return obj
+}
+func (self *OxmBsnVxlanNetworkId) GetOXMName() string {
+ return "bsn_vxlan_network_id"
+}
+
+func (self *OxmBsnVxlanNetworkId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnVxlanNetworkId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmBsnVxlanNetworkIdMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmBsnVxlanNetworkIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmBsnVxlanNetworkIdMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmBsnVxlanNetworkIdMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmBsnVxlanNetworkIdMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmBsnVxlanNetworkIdMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmBsnVxlanNetworkIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmBsnVxlanNetworkIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmBsnVxlanNetworkIdMasked, error) {
+ _oxmbsnvxlannetworkidmasked := &OxmBsnVxlanNetworkIdMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmBsnVxlanNetworkIdMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmbsnvxlannetworkidmasked.Value = uint32(decoder.ReadUint32())
+ _oxmbsnvxlannetworkidmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmbsnvxlannetworkidmasked, nil
+}
+
+func NewOxmBsnVxlanNetworkIdMasked() *OxmBsnVxlanNetworkIdMasked {
+ obj := &OxmBsnVxlanNetworkIdMasked{
+ Oxm: NewOxm(207624),
+ }
+ return obj
+}
+func (self *OxmBsnVxlanNetworkIdMasked) GetOXMName() string {
+ return "bsn_vxlan_network_id_masked"
+}
+
+func (self *OxmBsnVxlanNetworkIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmBsnVxlanNetworkIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmBsnVxlanNetworkIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingIpv6Dst struct {
+ *Oxm
+ Value net.IP
+}
+
+type IOxmConnTrackingIpv6Dst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *OxmConnTrackingIpv6Dst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmConnTrackingIpv6Dst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeOxmConnTrackingIpv6Dst(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingIpv6Dst, error) {
+ _oxmconntrackingipv6dst := &OxmConnTrackingIpv6Dst{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("OxmConnTrackingIpv6Dst packet too short: %d < 16", decoder.Length())
+ }
+ _oxmconntrackingipv6dst.Value = net.IP(decoder.Read(16))
+ return _oxmconntrackingipv6dst, nil
+}
+
+func NewOxmConnTrackingIpv6Dst() *OxmConnTrackingIpv6Dst {
+ obj := &OxmConnTrackingIpv6Dst{
+ Oxm: NewOxm(128528),
+ }
+ return obj
+}
+func (self *OxmConnTrackingIpv6Dst) GetOXMName() string {
+ return "conn_tracking_ipv6_dst"
+}
+
+func (self *OxmConnTrackingIpv6Dst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingIpv6Dst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingIpv6DstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type IOxmConnTrackingIpv6DstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *OxmConnTrackingIpv6DstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmConnTrackingIpv6DstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingIpv6DstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingIpv6DstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingIpv6DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeOxmConnTrackingIpv6DstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingIpv6DstMasked, error) {
+ _oxmconntrackingipv6dstmasked := &OxmConnTrackingIpv6DstMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("OxmConnTrackingIpv6DstMasked packet too short: %d < 32", decoder.Length())
+ }
+ _oxmconntrackingipv6dstmasked.Value = net.IP(decoder.Read(16))
+ _oxmconntrackingipv6dstmasked.ValueMask = net.IP(decoder.Read(16))
+ return _oxmconntrackingipv6dstmasked, nil
+}
+
+func NewOxmConnTrackingIpv6DstMasked() *OxmConnTrackingIpv6DstMasked {
+ obj := &OxmConnTrackingIpv6DstMasked{
+ Oxm: NewOxm(128800),
+ }
+ return obj
+}
+func (self *OxmConnTrackingIpv6DstMasked) GetOXMName() string {
+ return "conn_tracking_ipv6_dst_masked"
+}
+
+func (self *OxmConnTrackingIpv6DstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingIpv6DstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingIpv6DstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingIpv6Src struct {
+ *Oxm
+ Value net.IP
+}
+
+type IOxmConnTrackingIpv6Src interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *OxmConnTrackingIpv6Src) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmConnTrackingIpv6Src) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeOxmConnTrackingIpv6Src(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingIpv6Src, error) {
+ _oxmconntrackingipv6src := &OxmConnTrackingIpv6Src{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("OxmConnTrackingIpv6Src packet too short: %d < 16", decoder.Length())
+ }
+ _oxmconntrackingipv6src.Value = net.IP(decoder.Read(16))
+ return _oxmconntrackingipv6src, nil
+}
+
+func NewOxmConnTrackingIpv6Src() *OxmConnTrackingIpv6Src {
+ obj := &OxmConnTrackingIpv6Src{
+ Oxm: NewOxm(128016),
+ }
+ return obj
+}
+func (self *OxmConnTrackingIpv6Src) GetOXMName() string {
+ return "conn_tracking_ipv6_src"
+}
+
+func (self *OxmConnTrackingIpv6Src) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingIpv6Src) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingIpv6SrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type IOxmConnTrackingIpv6SrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *OxmConnTrackingIpv6SrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmConnTrackingIpv6SrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingIpv6SrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingIpv6SrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingIpv6SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeOxmConnTrackingIpv6SrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingIpv6SrcMasked, error) {
+ _oxmconntrackingipv6srcmasked := &OxmConnTrackingIpv6SrcMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("OxmConnTrackingIpv6SrcMasked packet too short: %d < 32", decoder.Length())
+ }
+ _oxmconntrackingipv6srcmasked.Value = net.IP(decoder.Read(16))
+ _oxmconntrackingipv6srcmasked.ValueMask = net.IP(decoder.Read(16))
+ return _oxmconntrackingipv6srcmasked, nil
+}
+
+func NewOxmConnTrackingIpv6SrcMasked() *OxmConnTrackingIpv6SrcMasked {
+ obj := &OxmConnTrackingIpv6SrcMasked{
+ Oxm: NewOxm(128288),
+ }
+ return obj
+}
+func (self *OxmConnTrackingIpv6SrcMasked) GetOXMName() string {
+ return "conn_tracking_ipv6_src_masked"
+}
+
+func (self *OxmConnTrackingIpv6SrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingIpv6SrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingIpv6SrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingLabel struct {
+ *Oxm
+ Value uint128
+}
+
+type IOxmConnTrackingLabel interface {
+ goloxi.IOxm
+ GetValue() uint128
+}
+
+func (self *OxmConnTrackingLabel) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingLabel) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingLabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingLabel(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingLabel, error) {
+ _oxmconntrackinglabel := &OxmConnTrackingLabel{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("OxmConnTrackingLabel packet too short: %d < 16", decoder.Length())
+ }
+ _oxmconntrackinglabel.Value = uint128(decoder.ReadUint128())
+ return _oxmconntrackinglabel, nil
+}
+
+func NewOxmConnTrackingLabel() *OxmConnTrackingLabel {
+ obj := &OxmConnTrackingLabel{
+ Oxm: NewOxm(120848),
+ }
+ return obj
+}
+func (self *OxmConnTrackingLabel) GetOXMName() string {
+ return "conn_tracking_label"
+}
+
+func (self *OxmConnTrackingLabel) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingLabel) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingLabelMasked struct {
+ *Oxm
+ Value uint128
+ ValueMask uint128
+}
+
+type IOxmConnTrackingLabelMasked interface {
+ goloxi.IOxm
+ GetValue() uint128
+ GetValueMask() uint128
+}
+
+func (self *OxmConnTrackingLabelMasked) GetValue() uint128 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingLabelMasked) SetValue(v uint128) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingLabelMasked) GetValueMask() uint128 {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingLabelMasked) SetValueMask(v uint128) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingLabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint128(uint128(self.Value))
+ encoder.PutUint128(uint128(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingLabelMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingLabelMasked, error) {
+ _oxmconntrackinglabelmasked := &OxmConnTrackingLabelMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("OxmConnTrackingLabelMasked packet too short: %d < 32", decoder.Length())
+ }
+ _oxmconntrackinglabelmasked.Value = uint128(decoder.ReadUint128())
+ _oxmconntrackinglabelmasked.ValueMask = uint128(decoder.ReadUint128())
+ return _oxmconntrackinglabelmasked, nil
+}
+
+func NewOxmConnTrackingLabelMasked() *OxmConnTrackingLabelMasked {
+ obj := &OxmConnTrackingLabelMasked{
+ Oxm: NewOxm(121120),
+ }
+ return obj
+}
+func (self *OxmConnTrackingLabelMasked) GetOXMName() string {
+ return "conn_tracking_label_masked"
+}
+
+func (self *OxmConnTrackingLabelMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingLabelMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingLabelMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingMark struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmConnTrackingMark interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmConnTrackingMark) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingMark) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingMark) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingMark(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingMark, error) {
+ _oxmconntrackingmark := &OxmConnTrackingMark{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmConnTrackingMark packet too short: %d < 4", decoder.Length())
+ }
+ _oxmconntrackingmark.Value = uint32(decoder.ReadUint32())
+ return _oxmconntrackingmark, nil
+}
+
+func NewOxmConnTrackingMark() *OxmConnTrackingMark {
+ obj := &OxmConnTrackingMark{
+ Oxm: NewOxm(120324),
+ }
+ return obj
+}
+func (self *OxmConnTrackingMark) GetOXMName() string {
+ return "conn_tracking_mark"
+}
+
+func (self *OxmConnTrackingMark) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingMark) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingMarkMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmConnTrackingMarkMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmConnTrackingMarkMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingMarkMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingMarkMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingMarkMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingMarkMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingMarkMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingMarkMasked, error) {
+ _oxmconntrackingmarkmasked := &OxmConnTrackingMarkMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmConnTrackingMarkMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmconntrackingmarkmasked.Value = uint32(decoder.ReadUint32())
+ _oxmconntrackingmarkmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmconntrackingmarkmasked, nil
+}
+
+func NewOxmConnTrackingMarkMasked() *OxmConnTrackingMarkMasked {
+ obj := &OxmConnTrackingMarkMasked{
+ Oxm: NewOxm(120584),
+ }
+ return obj
+}
+func (self *OxmConnTrackingMarkMasked) GetOXMName() string {
+ return "conn_tracking_mark_masked"
+}
+
+func (self *OxmConnTrackingMarkMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingMarkMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingMarkMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingNwDst struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmConnTrackingNwDst interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmConnTrackingNwDst) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwDst) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingNwDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingNwDst(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingNwDst, error) {
+ _oxmconntrackingnwdst := &OxmConnTrackingNwDst{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmConnTrackingNwDst packet too short: %d < 4", decoder.Length())
+ }
+ _oxmconntrackingnwdst.Value = uint32(decoder.ReadUint32())
+ return _oxmconntrackingnwdst, nil
+}
+
+func NewOxmConnTrackingNwDst() *OxmConnTrackingNwDst {
+ obj := &OxmConnTrackingNwDst{
+ Oxm: NewOxm(127492),
+ }
+ return obj
+}
+func (self *OxmConnTrackingNwDst) GetOXMName() string {
+ return "conn_tracking_nw_dst"
+}
+
+func (self *OxmConnTrackingNwDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingNwDstMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmConnTrackingNwDstMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmConnTrackingNwDstMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwDstMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingNwDstMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingNwDstMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingNwDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingNwDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingNwDstMasked, error) {
+ _oxmconntrackingnwdstmasked := &OxmConnTrackingNwDstMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmConnTrackingNwDstMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmconntrackingnwdstmasked.Value = uint32(decoder.ReadUint32())
+ _oxmconntrackingnwdstmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmconntrackingnwdstmasked, nil
+}
+
+func NewOxmConnTrackingNwDstMasked() *OxmConnTrackingNwDstMasked {
+ obj := &OxmConnTrackingNwDstMasked{
+ Oxm: NewOxm(127752),
+ }
+ return obj
+}
+func (self *OxmConnTrackingNwDstMasked) GetOXMName() string {
+ return "conn_tracking_nw_dst_masked"
+}
+
+func (self *OxmConnTrackingNwDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingNwDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingNwProto struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmConnTrackingNwProto interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmConnTrackingNwProto) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwProto) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingNwProto) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingNwProto(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingNwProto, error) {
+ _oxmconntrackingnwproto := &OxmConnTrackingNwProto{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmConnTrackingNwProto packet too short: %d < 1", decoder.Length())
+ }
+ _oxmconntrackingnwproto.Value = uint8(decoder.ReadByte())
+ return _oxmconntrackingnwproto, nil
+}
+
+func NewOxmConnTrackingNwProto() *OxmConnTrackingNwProto {
+ obj := &OxmConnTrackingNwProto{
+ Oxm: NewOxm(126465),
+ }
+ return obj
+}
+func (self *OxmConnTrackingNwProto) GetOXMName() string {
+ return "conn_tracking_nw_proto"
+}
+
+func (self *OxmConnTrackingNwProto) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwProto) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingNwProtoMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmConnTrackingNwProtoMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmConnTrackingNwProtoMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwProtoMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingNwProtoMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingNwProtoMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingNwProtoMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingNwProtoMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingNwProtoMasked, error) {
+ _oxmconntrackingnwprotomasked := &OxmConnTrackingNwProtoMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmConnTrackingNwProtoMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmconntrackingnwprotomasked.Value = uint8(decoder.ReadByte())
+ _oxmconntrackingnwprotomasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmconntrackingnwprotomasked, nil
+}
+
+func NewOxmConnTrackingNwProtoMasked() *OxmConnTrackingNwProtoMasked {
+ obj := &OxmConnTrackingNwProtoMasked{
+ Oxm: NewOxm(126722),
+ }
+ return obj
+}
+func (self *OxmConnTrackingNwProtoMasked) GetOXMName() string {
+ return "conn_tracking_nw_proto_masked"
+}
+
+func (self *OxmConnTrackingNwProtoMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwProtoMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingNwProtoMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingNwSrc struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmConnTrackingNwSrc interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmConnTrackingNwSrc) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwSrc) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingNwSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingNwSrc(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingNwSrc, error) {
+ _oxmconntrackingnwsrc := &OxmConnTrackingNwSrc{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmConnTrackingNwSrc packet too short: %d < 4", decoder.Length())
+ }
+ _oxmconntrackingnwsrc.Value = uint32(decoder.ReadUint32())
+ return _oxmconntrackingnwsrc, nil
+}
+
+func NewOxmConnTrackingNwSrc() *OxmConnTrackingNwSrc {
+ obj := &OxmConnTrackingNwSrc{
+ Oxm: NewOxm(126980),
+ }
+ return obj
+}
+func (self *OxmConnTrackingNwSrc) GetOXMName() string {
+ return "conn_tracking_nw_src"
+}
+
+func (self *OxmConnTrackingNwSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingNwSrcMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmConnTrackingNwSrcMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmConnTrackingNwSrcMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwSrcMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingNwSrcMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingNwSrcMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingNwSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingNwSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingNwSrcMasked, error) {
+ _oxmconntrackingnwsrcmasked := &OxmConnTrackingNwSrcMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmConnTrackingNwSrcMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmconntrackingnwsrcmasked.Value = uint32(decoder.ReadUint32())
+ _oxmconntrackingnwsrcmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmconntrackingnwsrcmasked, nil
+}
+
+func NewOxmConnTrackingNwSrcMasked() *OxmConnTrackingNwSrcMasked {
+ obj := &OxmConnTrackingNwSrcMasked{
+ Oxm: NewOxm(127240),
+ }
+ return obj
+}
+func (self *OxmConnTrackingNwSrcMasked) GetOXMName() string {
+ return "conn_tracking_nw_src_masked"
+}
+
+func (self *OxmConnTrackingNwSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingNwSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingNwSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingState struct {
+ *Oxm
+ Value CsStates
+}
+
+type IOxmConnTrackingState interface {
+ goloxi.IOxm
+ GetValue() CsStates
+}
+
+func (self *OxmConnTrackingState) GetValue() CsStates {
+ return self.Value
+}
+
+func (self *OxmConnTrackingState) SetValue(v CsStates) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingState) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingState(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingState, error) {
+ _oxmconntrackingstate := &OxmConnTrackingState{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmConnTrackingState packet too short: %d < 4", decoder.Length())
+ }
+ _oxmconntrackingstate.Value = CsStates(decoder.ReadUint32())
+ return _oxmconntrackingstate, nil
+}
+
+func NewOxmConnTrackingState() *OxmConnTrackingState {
+ obj := &OxmConnTrackingState{
+ Oxm: NewOxm(119300),
+ }
+ return obj
+}
+func (self *OxmConnTrackingState) GetOXMName() string {
+ return "conn_tracking_state"
+}
+
+func (self *OxmConnTrackingState) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingState) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingStateMasked struct {
+ *Oxm
+ Value CsStates
+ ValueMask CsStates
+}
+
+type IOxmConnTrackingStateMasked interface {
+ goloxi.IOxm
+ GetValue() CsStates
+ GetValueMask() CsStates
+}
+
+func (self *OxmConnTrackingStateMasked) GetValue() CsStates {
+ return self.Value
+}
+
+func (self *OxmConnTrackingStateMasked) SetValue(v CsStates) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingStateMasked) GetValueMask() CsStates {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingStateMasked) SetValueMask(v CsStates) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingStateMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingStateMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingStateMasked, error) {
+ _oxmconntrackingstatemasked := &OxmConnTrackingStateMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmConnTrackingStateMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmconntrackingstatemasked.Value = CsStates(decoder.ReadUint32())
+ _oxmconntrackingstatemasked.ValueMask = CsStates(decoder.ReadUint32())
+ return _oxmconntrackingstatemasked, nil
+}
+
+func NewOxmConnTrackingStateMasked() *OxmConnTrackingStateMasked {
+ obj := &OxmConnTrackingStateMasked{
+ Oxm: NewOxm(119560),
+ }
+ return obj
+}
+func (self *OxmConnTrackingStateMasked) GetOXMName() string {
+ return "conn_tracking_state_masked"
+}
+
+func (self *OxmConnTrackingStateMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingStateMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingStateMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingTpDst struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmConnTrackingTpDst interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmConnTrackingTpDst) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingTpDst) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingTpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingTpDst(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingTpDst, error) {
+ _oxmconntrackingtpdst := &OxmConnTrackingTpDst{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmConnTrackingTpDst packet too short: %d < 2", decoder.Length())
+ }
+ _oxmconntrackingtpdst.Value = uint16(decoder.ReadUint16())
+ return _oxmconntrackingtpdst, nil
+}
+
+func NewOxmConnTrackingTpDst() *OxmConnTrackingTpDst {
+ obj := &OxmConnTrackingTpDst{
+ Oxm: NewOxm(129538),
+ }
+ return obj
+}
+func (self *OxmConnTrackingTpDst) GetOXMName() string {
+ return "conn_tracking_tp_dst"
+}
+
+func (self *OxmConnTrackingTpDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingTpDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingTpDstMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmConnTrackingTpDstMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmConnTrackingTpDstMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingTpDstMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingTpDstMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingTpDstMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingTpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingTpDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingTpDstMasked, error) {
+ _oxmconntrackingtpdstmasked := &OxmConnTrackingTpDstMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmConnTrackingTpDstMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmconntrackingtpdstmasked.Value = uint16(decoder.ReadUint16())
+ _oxmconntrackingtpdstmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmconntrackingtpdstmasked, nil
+}
+
+func NewOxmConnTrackingTpDstMasked() *OxmConnTrackingTpDstMasked {
+ obj := &OxmConnTrackingTpDstMasked{
+ Oxm: NewOxm(129796),
+ }
+ return obj
+}
+func (self *OxmConnTrackingTpDstMasked) GetOXMName() string {
+ return "conn_tracking_tp_dst_masked"
+}
+
+func (self *OxmConnTrackingTpDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingTpDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingTpDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingTpSrc struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmConnTrackingTpSrc interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmConnTrackingTpSrc) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingTpSrc) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingTpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingTpSrc(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingTpSrc, error) {
+ _oxmconntrackingtpsrc := &OxmConnTrackingTpSrc{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmConnTrackingTpSrc packet too short: %d < 2", decoder.Length())
+ }
+ _oxmconntrackingtpsrc.Value = uint16(decoder.ReadUint16())
+ return _oxmconntrackingtpsrc, nil
+}
+
+func NewOxmConnTrackingTpSrc() *OxmConnTrackingTpSrc {
+ obj := &OxmConnTrackingTpSrc{
+ Oxm: NewOxm(129026),
+ }
+ return obj
+}
+func (self *OxmConnTrackingTpSrc) GetOXMName() string {
+ return "conn_tracking_tp_src"
+}
+
+func (self *OxmConnTrackingTpSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingTpSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingTpSrcMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmConnTrackingTpSrcMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmConnTrackingTpSrcMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingTpSrcMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingTpSrcMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingTpSrcMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingTpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingTpSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingTpSrcMasked, error) {
+ _oxmconntrackingtpsrcmasked := &OxmConnTrackingTpSrcMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmConnTrackingTpSrcMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmconntrackingtpsrcmasked.Value = uint16(decoder.ReadUint16())
+ _oxmconntrackingtpsrcmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmconntrackingtpsrcmasked, nil
+}
+
+func NewOxmConnTrackingTpSrcMasked() *OxmConnTrackingTpSrcMasked {
+ obj := &OxmConnTrackingTpSrcMasked{
+ Oxm: NewOxm(129284),
+ }
+ return obj
+}
+func (self *OxmConnTrackingTpSrcMasked) GetOXMName() string {
+ return "conn_tracking_tp_src_masked"
+}
+
+func (self *OxmConnTrackingTpSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingTpSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingTpSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmConnTrackingZone struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmConnTrackingZone interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmConnTrackingZone) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingZone) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingZone) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingZone(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingZone, error) {
+ _oxmconntrackingzone := &OxmConnTrackingZone{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmConnTrackingZone packet too short: %d < 2", decoder.Length())
+ }
+ _oxmconntrackingzone.Value = uint16(decoder.ReadUint16())
+ return _oxmconntrackingzone, nil
+}
+
+func NewOxmConnTrackingZone() *OxmConnTrackingZone {
+ obj := &OxmConnTrackingZone{
+ Oxm: NewOxm(119810),
+ }
+ return obj
+}
+func (self *OxmConnTrackingZone) GetOXMName() string {
+ return "conn_tracking_zone"
+}
+
+func (self *OxmConnTrackingZone) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingZone) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmConnTrackingZoneMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmConnTrackingZoneMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmConnTrackingZoneMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmConnTrackingZoneMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmConnTrackingZoneMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingZoneMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmConnTrackingZoneMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmConnTrackingZoneMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmConnTrackingZoneMasked, error) {
+ _oxmconntrackingzonemasked := &OxmConnTrackingZoneMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmConnTrackingZoneMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmconntrackingzonemasked.Value = uint16(decoder.ReadUint16())
+ _oxmconntrackingzonemasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmconntrackingzonemasked, nil
+}
+
+func NewOxmConnTrackingZoneMasked() *OxmConnTrackingZoneMasked {
+ obj := &OxmConnTrackingZoneMasked{
+ Oxm: NewOxm(120068),
+ }
+ return obj
+}
+func (self *OxmConnTrackingZoneMasked) GetOXMName() string {
+ return "conn_tracking_zone_masked"
+}
+
+func (self *OxmConnTrackingZoneMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmConnTrackingZoneMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmConnTrackingZoneMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmEthDst struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type IOxmEthDst interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *OxmEthDst) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmEthDst) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmEthDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeOxmEthDst(parent *Oxm, decoder *goloxi.Decoder) (*OxmEthDst, error) {
+ _oxmethdst := &OxmEthDst{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("OxmEthDst packet too short: %d < 6", decoder.Length())
+ }
+ _oxmethdst.Value = net.HardwareAddr(decoder.Read(6))
+ return _oxmethdst, nil
+}
+
+func NewOxmEthDst() *OxmEthDst {
+ obj := &OxmEthDst{
+ Oxm: NewOxm(2147485190),
+ }
+ return obj
+}
+func (self *OxmEthDst) GetOXMName() string {
+ return "eth_dst"
+}
+
+func (self *OxmEthDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmEthDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmEthDstMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type IOxmEthDstMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *OxmEthDstMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmEthDstMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmEthDstMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *OxmEthDstMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *OxmEthDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeOxmEthDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmEthDstMasked, error) {
+ _oxmethdstmasked := &OxmEthDstMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("OxmEthDstMasked packet too short: %d < 12", decoder.Length())
+ }
+ _oxmethdstmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _oxmethdstmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _oxmethdstmasked, nil
+}
+
+func NewOxmEthDstMasked() *OxmEthDstMasked {
+ obj := &OxmEthDstMasked{
+ Oxm: NewOxm(2147485452),
+ }
+ return obj
+}
+func (self *OxmEthDstMasked) GetOXMName() string {
+ return "eth_dst_masked"
+}
+
+func (self *OxmEthDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmEthDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmEthDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmEthSrc struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type IOxmEthSrc interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *OxmEthSrc) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmEthSrc) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmEthSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeOxmEthSrc(parent *Oxm, decoder *goloxi.Decoder) (*OxmEthSrc, error) {
+ _oxmethsrc := &OxmEthSrc{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("OxmEthSrc packet too short: %d < 6", decoder.Length())
+ }
+ _oxmethsrc.Value = net.HardwareAddr(decoder.Read(6))
+ return _oxmethsrc, nil
+}
+
+func NewOxmEthSrc() *OxmEthSrc {
+ obj := &OxmEthSrc{
+ Oxm: NewOxm(2147485702),
+ }
+ return obj
+}
+func (self *OxmEthSrc) GetOXMName() string {
+ return "eth_src"
+}
+
+func (self *OxmEthSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmEthSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmEthSrcMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type IOxmEthSrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *OxmEthSrcMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmEthSrcMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmEthSrcMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *OxmEthSrcMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *OxmEthSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeOxmEthSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmEthSrcMasked, error) {
+ _oxmethsrcmasked := &OxmEthSrcMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("OxmEthSrcMasked packet too short: %d < 12", decoder.Length())
+ }
+ _oxmethsrcmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _oxmethsrcmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _oxmethsrcmasked, nil
+}
+
+func NewOxmEthSrcMasked() *OxmEthSrcMasked {
+ obj := &OxmEthSrcMasked{
+ Oxm: NewOxm(2147485964),
+ }
+ return obj
+}
+func (self *OxmEthSrcMasked) GetOXMName() string {
+ return "eth_src_masked"
+}
+
+func (self *OxmEthSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmEthSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmEthSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmEthType struct {
+ *Oxm
+ Value EthernetType
+}
+
+type IOxmEthType interface {
+ goloxi.IOxm
+ GetValue() EthernetType
+}
+
+func (self *OxmEthType) GetValue() EthernetType {
+ return self.Value
+}
+
+func (self *OxmEthType) SetValue(v EthernetType) {
+ self.Value = v
+}
+
+func (self *OxmEthType) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmEthType(parent *Oxm, decoder *goloxi.Decoder) (*OxmEthType, error) {
+ _oxmethtype := &OxmEthType{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmEthType packet too short: %d < 2", decoder.Length())
+ }
+ _oxmethtype.Value = EthernetType(decoder.ReadUint16())
+ return _oxmethtype, nil
+}
+
+func NewOxmEthType() *OxmEthType {
+ obj := &OxmEthType{
+ Oxm: NewOxm(2147486210),
+ }
+ return obj
+}
+func (self *OxmEthType) GetOXMName() string {
+ return "eth_type"
+}
+
+func (self *OxmEthType) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmEthType) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmEthTypeMasked struct {
+ *Oxm
+ Value EthernetType
+ ValueMask uint16
+}
+
+type IOxmEthTypeMasked interface {
+ goloxi.IOxm
+ GetValue() EthernetType
+ GetValueMask() uint16
+}
+
+func (self *OxmEthTypeMasked) GetValue() EthernetType {
+ return self.Value
+}
+
+func (self *OxmEthTypeMasked) SetValue(v EthernetType) {
+ self.Value = v
+}
+
+func (self *OxmEthTypeMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmEthTypeMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmEthTypeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmEthTypeMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmEthTypeMasked, error) {
+ _oxmethtypemasked := &OxmEthTypeMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmEthTypeMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmethtypemasked.Value = EthernetType(decoder.ReadUint16())
+ _oxmethtypemasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmethtypemasked, nil
+}
+
+func NewOxmEthTypeMasked() *OxmEthTypeMasked {
+ obj := &OxmEthTypeMasked{
+ Oxm: NewOxm(2147486468),
+ }
+ return obj
+}
+func (self *OxmEthTypeMasked) GetOXMName() string {
+ return "eth_type_masked"
+}
+
+func (self *OxmEthTypeMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmEthTypeMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmEthTypeMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIcmpv4Code struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmIcmpv4Code interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmIcmpv4Code) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmIcmpv4Code) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmIcmpv4Code) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmIcmpv4Code(parent *Oxm, decoder *goloxi.Decoder) (*OxmIcmpv4Code, error) {
+ _oxmicmpv4code := &OxmIcmpv4Code{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmIcmpv4Code packet too short: %d < 1", decoder.Length())
+ }
+ _oxmicmpv4code.Value = uint8(decoder.ReadByte())
+ return _oxmicmpv4code, nil
+}
+
+func NewOxmIcmpv4Code() *OxmIcmpv4Code {
+ obj := &OxmIcmpv4Code{
+ Oxm: NewOxm(2147493889),
+ }
+ return obj
+}
+func (self *OxmIcmpv4Code) GetOXMName() string {
+ return "icmpv4_code"
+}
+
+func (self *OxmIcmpv4Code) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIcmpv4Code) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIcmpv4CodeMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmIcmpv4CodeMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmIcmpv4CodeMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmIcmpv4CodeMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmIcmpv4CodeMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmIcmpv4CodeMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmIcmpv4CodeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmIcmpv4CodeMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIcmpv4CodeMasked, error) {
+ _oxmicmpv4codemasked := &OxmIcmpv4CodeMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmIcmpv4CodeMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmicmpv4codemasked.Value = uint8(decoder.ReadByte())
+ _oxmicmpv4codemasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmicmpv4codemasked, nil
+}
+
+func NewOxmIcmpv4CodeMasked() *OxmIcmpv4CodeMasked {
+ obj := &OxmIcmpv4CodeMasked{
+ Oxm: NewOxm(2147494146),
+ }
+ return obj
+}
+func (self *OxmIcmpv4CodeMasked) GetOXMName() string {
+ return "icmpv4_code_masked"
+}
+
+func (self *OxmIcmpv4CodeMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIcmpv4CodeMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIcmpv4CodeMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIcmpv4Type struct {
+ *Oxm
+ Value IcmpType
+}
+
+type IOxmIcmpv4Type interface {
+ goloxi.IOxm
+ GetValue() IcmpType
+}
+
+func (self *OxmIcmpv4Type) GetValue() IcmpType {
+ return self.Value
+}
+
+func (self *OxmIcmpv4Type) SetValue(v IcmpType) {
+ self.Value = v
+}
+
+func (self *OxmIcmpv4Type) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmIcmpv4Type(parent *Oxm, decoder *goloxi.Decoder) (*OxmIcmpv4Type, error) {
+ _oxmicmpv4type := &OxmIcmpv4Type{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmIcmpv4Type packet too short: %d < 1", decoder.Length())
+ }
+ _oxmicmpv4type.Value = IcmpType(decoder.ReadByte())
+ return _oxmicmpv4type, nil
+}
+
+func NewOxmIcmpv4Type() *OxmIcmpv4Type {
+ obj := &OxmIcmpv4Type{
+ Oxm: NewOxm(2147493377),
+ }
+ return obj
+}
+func (self *OxmIcmpv4Type) GetOXMName() string {
+ return "icmpv4_type"
+}
+
+func (self *OxmIcmpv4Type) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIcmpv4Type) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIcmpv4TypeMasked struct {
+ *Oxm
+ Value IcmpType
+ ValueMask uint8
+}
+
+type IOxmIcmpv4TypeMasked interface {
+ goloxi.IOxm
+ GetValue() IcmpType
+ GetValueMask() uint8
+}
+
+func (self *OxmIcmpv4TypeMasked) GetValue() IcmpType {
+ return self.Value
+}
+
+func (self *OxmIcmpv4TypeMasked) SetValue(v IcmpType) {
+ self.Value = v
+}
+
+func (self *OxmIcmpv4TypeMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmIcmpv4TypeMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmIcmpv4TypeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmIcmpv4TypeMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIcmpv4TypeMasked, error) {
+ _oxmicmpv4typemasked := &OxmIcmpv4TypeMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmIcmpv4TypeMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmicmpv4typemasked.Value = IcmpType(decoder.ReadByte())
+ _oxmicmpv4typemasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmicmpv4typemasked, nil
+}
+
+func NewOxmIcmpv4TypeMasked() *OxmIcmpv4TypeMasked {
+ obj := &OxmIcmpv4TypeMasked{
+ Oxm: NewOxm(2147493634),
+ }
+ return obj
+}
+func (self *OxmIcmpv4TypeMasked) GetOXMName() string {
+ return "icmpv4_type_masked"
+}
+
+func (self *OxmIcmpv4TypeMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIcmpv4TypeMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIcmpv4TypeMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIcmpv6Code struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmIcmpv6Code interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmIcmpv6Code) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmIcmpv6Code) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmIcmpv6Code) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmIcmpv6Code(parent *Oxm, decoder *goloxi.Decoder) (*OxmIcmpv6Code, error) {
+ _oxmicmpv6code := &OxmIcmpv6Code{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmIcmpv6Code packet too short: %d < 1", decoder.Length())
+ }
+ _oxmicmpv6code.Value = uint8(decoder.ReadByte())
+ return _oxmicmpv6code, nil
+}
+
+func NewOxmIcmpv6Code() *OxmIcmpv6Code {
+ obj := &OxmIcmpv6Code{
+ Oxm: NewOxm(2147499009),
+ }
+ return obj
+}
+func (self *OxmIcmpv6Code) GetOXMName() string {
+ return "icmpv6_code"
+}
+
+func (self *OxmIcmpv6Code) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIcmpv6Code) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIcmpv6CodeMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmIcmpv6CodeMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmIcmpv6CodeMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmIcmpv6CodeMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmIcmpv6CodeMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmIcmpv6CodeMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmIcmpv6CodeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmIcmpv6CodeMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIcmpv6CodeMasked, error) {
+ _oxmicmpv6codemasked := &OxmIcmpv6CodeMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmIcmpv6CodeMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmicmpv6codemasked.Value = uint8(decoder.ReadByte())
+ _oxmicmpv6codemasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmicmpv6codemasked, nil
+}
+
+func NewOxmIcmpv6CodeMasked() *OxmIcmpv6CodeMasked {
+ obj := &OxmIcmpv6CodeMasked{
+ Oxm: NewOxm(2147499266),
+ }
+ return obj
+}
+func (self *OxmIcmpv6CodeMasked) GetOXMName() string {
+ return "icmpv6_code_masked"
+}
+
+func (self *OxmIcmpv6CodeMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIcmpv6CodeMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIcmpv6CodeMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIcmpv6Type struct {
+ *Oxm
+ Value Icmpv6Type
+}
+
+type IOxmIcmpv6Type interface {
+ goloxi.IOxm
+ GetValue() Icmpv6Type
+}
+
+func (self *OxmIcmpv6Type) GetValue() Icmpv6Type {
+ return self.Value
+}
+
+func (self *OxmIcmpv6Type) SetValue(v Icmpv6Type) {
+ self.Value = v
+}
+
+func (self *OxmIcmpv6Type) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmIcmpv6Type(parent *Oxm, decoder *goloxi.Decoder) (*OxmIcmpv6Type, error) {
+ _oxmicmpv6type := &OxmIcmpv6Type{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmIcmpv6Type packet too short: %d < 1", decoder.Length())
+ }
+ _oxmicmpv6type.Value = Icmpv6Type(decoder.ReadByte())
+ return _oxmicmpv6type, nil
+}
+
+func NewOxmIcmpv6Type() *OxmIcmpv6Type {
+ obj := &OxmIcmpv6Type{
+ Oxm: NewOxm(2147498497),
+ }
+ return obj
+}
+func (self *OxmIcmpv6Type) GetOXMName() string {
+ return "icmpv6_type"
+}
+
+func (self *OxmIcmpv6Type) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIcmpv6Type) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIcmpv6TypeMasked struct {
+ *Oxm
+ Value Icmpv6Type
+ ValueMask uint8
+}
+
+type IOxmIcmpv6TypeMasked interface {
+ goloxi.IOxm
+ GetValue() Icmpv6Type
+ GetValueMask() uint8
+}
+
+func (self *OxmIcmpv6TypeMasked) GetValue() Icmpv6Type {
+ return self.Value
+}
+
+func (self *OxmIcmpv6TypeMasked) SetValue(v Icmpv6Type) {
+ self.Value = v
+}
+
+func (self *OxmIcmpv6TypeMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmIcmpv6TypeMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmIcmpv6TypeMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmIcmpv6TypeMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIcmpv6TypeMasked, error) {
+ _oxmicmpv6typemasked := &OxmIcmpv6TypeMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmIcmpv6TypeMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmicmpv6typemasked.Value = Icmpv6Type(decoder.ReadByte())
+ _oxmicmpv6typemasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmicmpv6typemasked, nil
+}
+
+func NewOxmIcmpv6TypeMasked() *OxmIcmpv6TypeMasked {
+ obj := &OxmIcmpv6TypeMasked{
+ Oxm: NewOxm(2147498754),
+ }
+ return obj
+}
+func (self *OxmIcmpv6TypeMasked) GetOXMName() string {
+ return "icmpv6_type_masked"
+}
+
+func (self *OxmIcmpv6TypeMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIcmpv6TypeMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIcmpv6TypeMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmInPhyPort struct {
+ *Oxm
+ Value Port
+}
+
+type IOxmInPhyPort interface {
+ goloxi.IOxm
+ GetValue() Port
+}
+
+func (self *OxmInPhyPort) GetValue() Port {
+ return self.Value
+}
+
+func (self *OxmInPhyPort) SetValue(v Port) {
+ self.Value = v
+}
+
+func (self *OxmInPhyPort) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeOxmInPhyPort(parent *Oxm, decoder *goloxi.Decoder) (*OxmInPhyPort, error) {
+ _oxminphyport := &OxmInPhyPort{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmInPhyPort packet too short: %d < 4", decoder.Length())
+ }
+ _oxminphyport.Value.Decode(decoder)
+ return _oxminphyport, nil
+}
+
+func NewOxmInPhyPort() *OxmInPhyPort {
+ obj := &OxmInPhyPort{
+ Oxm: NewOxm(2147484164),
+ }
+ return obj
+}
+func (self *OxmInPhyPort) GetOXMName() string {
+ return "in_phy_port"
+}
+
+func (self *OxmInPhyPort) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmInPhyPort) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmInPhyPortMasked struct {
+ *Oxm
+ Value Port
+ ValueMask Port
+}
+
+type IOxmInPhyPortMasked interface {
+ goloxi.IOxm
+ GetValue() Port
+ GetValueMask() Port
+}
+
+func (self *OxmInPhyPortMasked) GetValue() Port {
+ return self.Value
+}
+
+func (self *OxmInPhyPortMasked) SetValue(v Port) {
+ self.Value = v
+}
+
+func (self *OxmInPhyPortMasked) GetValueMask() Port {
+ return self.ValueMask
+}
+
+func (self *OxmInPhyPortMasked) SetValueMask(v Port) {
+ self.ValueMask = v
+}
+
+func (self *OxmInPhyPortMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+ self.ValueMask.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeOxmInPhyPortMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmInPhyPortMasked, error) {
+ _oxminphyportmasked := &OxmInPhyPortMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmInPhyPortMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxminphyportmasked.Value.Decode(decoder)
+ _oxminphyportmasked.ValueMask.Decode(decoder)
+ return _oxminphyportmasked, nil
+}
+
+func NewOxmInPhyPortMasked() *OxmInPhyPortMasked {
+ obj := &OxmInPhyPortMasked{
+ Oxm: NewOxm(2147484424),
+ }
+ return obj
+}
+func (self *OxmInPhyPortMasked) GetOXMName() string {
+ return "in_phy_port_masked"
+}
+
+func (self *OxmInPhyPortMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmInPhyPortMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmInPhyPortMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmInPort struct {
+ *Oxm
+ Value Port
+}
+
+type IOxmInPort interface {
+ goloxi.IOxm
+ GetValue() Port
+}
+
+func (self *OxmInPort) GetValue() Port {
+ return self.Value
+}
+
+func (self *OxmInPort) SetValue(v Port) {
+ self.Value = v
+}
+
+func (self *OxmInPort) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeOxmInPort(parent *Oxm, decoder *goloxi.Decoder) (*OxmInPort, error) {
+ _oxminport := &OxmInPort{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmInPort packet too short: %d < 4", decoder.Length())
+ }
+ _oxminport.Value.Decode(decoder)
+ return _oxminport, nil
+}
+
+func NewOxmInPort() *OxmInPort {
+ obj := &OxmInPort{
+ Oxm: NewOxm(2147483652),
+ }
+ return obj
+}
+func (self *OxmInPort) GetOXMName() string {
+ return "in_port"
+}
+
+func (self *OxmInPort) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmInPort) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmInPortMasked struct {
+ *Oxm
+ Value Port
+ ValueMask Port
+}
+
+type IOxmInPortMasked interface {
+ goloxi.IOxm
+ GetValue() Port
+ GetValueMask() Port
+}
+
+func (self *OxmInPortMasked) GetValue() Port {
+ return self.Value
+}
+
+func (self *OxmInPortMasked) SetValue(v Port) {
+ self.Value = v
+}
+
+func (self *OxmInPortMasked) GetValueMask() Port {
+ return self.ValueMask
+}
+
+func (self *OxmInPortMasked) SetValueMask(v Port) {
+ self.ValueMask = v
+}
+
+func (self *OxmInPortMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ self.Value.Serialize(encoder)
+ self.ValueMask.Serialize(encoder)
+
+ return nil
+}
+
+func DecodeOxmInPortMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmInPortMasked, error) {
+ _oxminportmasked := &OxmInPortMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmInPortMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxminportmasked.Value.Decode(decoder)
+ _oxminportmasked.ValueMask.Decode(decoder)
+ return _oxminportmasked, nil
+}
+
+func NewOxmInPortMasked() *OxmInPortMasked {
+ obj := &OxmInPortMasked{
+ Oxm: NewOxm(2147483912),
+ }
+ return obj
+}
+func (self *OxmInPortMasked) GetOXMName() string {
+ return "in_port_masked"
+}
+
+func (self *OxmInPortMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmInPortMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmInPortMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpDscp struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmIpDscp interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmIpDscp) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmIpDscp) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmIpDscp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmIpDscp(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpDscp, error) {
+ _oxmipdscp := &OxmIpDscp{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmIpDscp packet too short: %d < 1", decoder.Length())
+ }
+ _oxmipdscp.Value = uint8(decoder.ReadByte())
+ return _oxmipdscp, nil
+}
+
+func NewOxmIpDscp() *OxmIpDscp {
+ obj := &OxmIpDscp{
+ Oxm: NewOxm(2147487745),
+ }
+ return obj
+}
+func (self *OxmIpDscp) GetOXMName() string {
+ return "ip_dscp"
+}
+
+func (self *OxmIpDscp) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpDscp) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpDscpMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmIpDscpMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmIpDscpMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmIpDscpMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmIpDscpMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmIpDscpMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpDscpMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmIpDscpMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpDscpMasked, error) {
+ _oxmipdscpmasked := &OxmIpDscpMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmIpDscpMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmipdscpmasked.Value = uint8(decoder.ReadByte())
+ _oxmipdscpmasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmipdscpmasked, nil
+}
+
+func NewOxmIpDscpMasked() *OxmIpDscpMasked {
+ obj := &OxmIpDscpMasked{
+ Oxm: NewOxm(2147488002),
+ }
+ return obj
+}
+func (self *OxmIpDscpMasked) GetOXMName() string {
+ return "ip_dscp_masked"
+}
+
+func (self *OxmIpDscpMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpDscpMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpDscpMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpEcn struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmIpEcn interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmIpEcn) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmIpEcn) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmIpEcn) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmIpEcn(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpEcn, error) {
+ _oxmipecn := &OxmIpEcn{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmIpEcn packet too short: %d < 1", decoder.Length())
+ }
+ _oxmipecn.Value = uint8(decoder.ReadByte())
+ return _oxmipecn, nil
+}
+
+func NewOxmIpEcn() *OxmIpEcn {
+ obj := &OxmIpEcn{
+ Oxm: NewOxm(2147488257),
+ }
+ return obj
+}
+func (self *OxmIpEcn) GetOXMName() string {
+ return "ip_ecn"
+}
+
+func (self *OxmIpEcn) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpEcn) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpEcnMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmIpEcnMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmIpEcnMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmIpEcnMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmIpEcnMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmIpEcnMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpEcnMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmIpEcnMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpEcnMasked, error) {
+ _oxmipecnmasked := &OxmIpEcnMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmIpEcnMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmipecnmasked.Value = uint8(decoder.ReadByte())
+ _oxmipecnmasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmipecnmasked, nil
+}
+
+func NewOxmIpEcnMasked() *OxmIpEcnMasked {
+ obj := &OxmIpEcnMasked{
+ Oxm: NewOxm(2147488514),
+ }
+ return obj
+}
+func (self *OxmIpEcnMasked) GetOXMName() string {
+ return "ip_ecn_masked"
+}
+
+func (self *OxmIpEcnMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpEcnMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpEcnMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpProto struct {
+ *Oxm
+ Value IpPrototype
+}
+
+type IOxmIpProto interface {
+ goloxi.IOxm
+ GetValue() IpPrototype
+}
+
+func (self *OxmIpProto) GetValue() IpPrototype {
+ return self.Value
+}
+
+func (self *OxmIpProto) SetValue(v IpPrototype) {
+ self.Value = v
+}
+
+func (self *OxmIpProto) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmIpProto(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpProto, error) {
+ _oxmipproto := &OxmIpProto{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmIpProto packet too short: %d < 1", decoder.Length())
+ }
+ _oxmipproto.Value = IpPrototype(decoder.ReadByte())
+ return _oxmipproto, nil
+}
+
+func NewOxmIpProto() *OxmIpProto {
+ obj := &OxmIpProto{
+ Oxm: NewOxm(2147488769),
+ }
+ return obj
+}
+func (self *OxmIpProto) GetOXMName() string {
+ return "ip_proto"
+}
+
+func (self *OxmIpProto) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpProto) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpProtoMasked struct {
+ *Oxm
+ Value IpPrototype
+ ValueMask uint8
+}
+
+type IOxmIpProtoMasked interface {
+ goloxi.IOxm
+ GetValue() IpPrototype
+ GetValueMask() uint8
+}
+
+func (self *OxmIpProtoMasked) GetValue() IpPrototype {
+ return self.Value
+}
+
+func (self *OxmIpProtoMasked) SetValue(v IpPrototype) {
+ self.Value = v
+}
+
+func (self *OxmIpProtoMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmIpProtoMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpProtoMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmIpProtoMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpProtoMasked, error) {
+ _oxmipprotomasked := &OxmIpProtoMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmIpProtoMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmipprotomasked.Value = IpPrototype(decoder.ReadByte())
+ _oxmipprotomasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmipprotomasked, nil
+}
+
+func NewOxmIpProtoMasked() *OxmIpProtoMasked {
+ obj := &OxmIpProtoMasked{
+ Oxm: NewOxm(2147489026),
+ }
+ return obj
+}
+func (self *OxmIpProtoMasked) GetOXMName() string {
+ return "ip_proto_masked"
+}
+
+func (self *OxmIpProtoMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpProtoMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpProtoMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpv4Dst struct {
+ *Oxm
+ Value net.IP
+}
+
+type IOxmIpv4Dst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *OxmIpv4Dst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv4Dst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv4Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeOxmIpv4Dst(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv4Dst, error) {
+ _oxmipv4dst := &OxmIpv4Dst{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmIpv4Dst packet too short: %d < 4", decoder.Length())
+ }
+ _oxmipv4dst.Value = net.IP(decoder.Read(4))
+ return _oxmipv4dst, nil
+}
+
+func NewOxmIpv4Dst() *OxmIpv4Dst {
+ obj := &OxmIpv4Dst{
+ Oxm: NewOxm(2147489796),
+ }
+ return obj
+}
+func (self *OxmIpv4Dst) GetOXMName() string {
+ return "ipv4_dst"
+}
+
+func (self *OxmIpv4Dst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv4Dst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpv4DstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type IOxmIpv4DstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *OxmIpv4DstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv4DstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv4DstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *OxmIpv4DstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpv4DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeOxmIpv4DstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv4DstMasked, error) {
+ _oxmipv4dstmasked := &OxmIpv4DstMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmIpv4DstMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmipv4dstmasked.Value = net.IP(decoder.Read(4))
+ _oxmipv4dstmasked.ValueMask = net.IP(decoder.Read(4))
+ return _oxmipv4dstmasked, nil
+}
+
+func NewOxmIpv4DstMasked() *OxmIpv4DstMasked {
+ obj := &OxmIpv4DstMasked{
+ Oxm: NewOxm(2147490056),
+ }
+ return obj
+}
+func (self *OxmIpv4DstMasked) GetOXMName() string {
+ return "ipv4_dst_masked"
+}
+
+func (self *OxmIpv4DstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv4DstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpv4DstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpv4Src struct {
+ *Oxm
+ Value net.IP
+}
+
+type IOxmIpv4Src interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *OxmIpv4Src) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv4Src) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv4Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeOxmIpv4Src(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv4Src, error) {
+ _oxmipv4src := &OxmIpv4Src{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmIpv4Src packet too short: %d < 4", decoder.Length())
+ }
+ _oxmipv4src.Value = net.IP(decoder.Read(4))
+ return _oxmipv4src, nil
+}
+
+func NewOxmIpv4Src() *OxmIpv4Src {
+ obj := &OxmIpv4Src{
+ Oxm: NewOxm(2147489284),
+ }
+ return obj
+}
+func (self *OxmIpv4Src) GetOXMName() string {
+ return "ipv4_src"
+}
+
+func (self *OxmIpv4Src) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv4Src) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpv4SrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type IOxmIpv4SrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *OxmIpv4SrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv4SrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv4SrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *OxmIpv4SrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpv4SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeOxmIpv4SrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv4SrcMasked, error) {
+ _oxmipv4srcmasked := &OxmIpv4SrcMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmIpv4SrcMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmipv4srcmasked.Value = net.IP(decoder.Read(4))
+ _oxmipv4srcmasked.ValueMask = net.IP(decoder.Read(4))
+ return _oxmipv4srcmasked, nil
+}
+
+func NewOxmIpv4SrcMasked() *OxmIpv4SrcMasked {
+ obj := &OxmIpv4SrcMasked{
+ Oxm: NewOxm(2147489544),
+ }
+ return obj
+}
+func (self *OxmIpv4SrcMasked) GetOXMName() string {
+ return "ipv4_src_masked"
+}
+
+func (self *OxmIpv4SrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv4SrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpv4SrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpv6Dst struct {
+ *Oxm
+ Value net.IP
+}
+
+type IOxmIpv6Dst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *OxmIpv6Dst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv6Dst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv6Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeOxmIpv6Dst(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6Dst, error) {
+ _oxmipv6dst := &OxmIpv6Dst{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("OxmIpv6Dst packet too short: %d < 16", decoder.Length())
+ }
+ _oxmipv6dst.Value = net.IP(decoder.Read(16))
+ return _oxmipv6dst, nil
+}
+
+func NewOxmIpv6Dst() *OxmIpv6Dst {
+ obj := &OxmIpv6Dst{
+ Oxm: NewOxm(2147497488),
+ }
+ return obj
+}
+func (self *OxmIpv6Dst) GetOXMName() string {
+ return "ipv6_dst"
+}
+
+func (self *OxmIpv6Dst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6Dst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpv6DstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type IOxmIpv6DstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *OxmIpv6DstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv6DstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv6DstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6DstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpv6DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeOxmIpv6DstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6DstMasked, error) {
+ _oxmipv6dstmasked := &OxmIpv6DstMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("OxmIpv6DstMasked packet too short: %d < 32", decoder.Length())
+ }
+ _oxmipv6dstmasked.Value = net.IP(decoder.Read(16))
+ _oxmipv6dstmasked.ValueMask = net.IP(decoder.Read(16))
+ return _oxmipv6dstmasked, nil
+}
+
+func NewOxmIpv6DstMasked() *OxmIpv6DstMasked {
+ obj := &OxmIpv6DstMasked{
+ Oxm: NewOxm(2147497760),
+ }
+ return obj
+}
+func (self *OxmIpv6DstMasked) GetOXMName() string {
+ return "ipv6_dst_masked"
+}
+
+func (self *OxmIpv6DstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6DstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6DstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpv6Exthdr struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmIpv6Exthdr interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmIpv6Exthdr) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmIpv6Exthdr) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmIpv6Exthdr) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmIpv6Exthdr(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6Exthdr, error) {
+ _oxmipv6exthdr := &OxmIpv6Exthdr{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmIpv6Exthdr packet too short: %d < 2", decoder.Length())
+ }
+ _oxmipv6exthdr.Value = uint16(decoder.ReadUint16())
+ return _oxmipv6exthdr, nil
+}
+
+func NewOxmIpv6Exthdr() *OxmIpv6Exthdr {
+ obj := &OxmIpv6Exthdr{
+ Oxm: NewOxm(2147503618),
+ }
+ return obj
+}
+func (self *OxmIpv6Exthdr) GetOXMName() string {
+ return "ipv6_exthdr"
+}
+
+func (self *OxmIpv6Exthdr) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6Exthdr) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpv6ExthdrMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmIpv6ExthdrMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmIpv6ExthdrMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmIpv6ExthdrMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmIpv6ExthdrMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6ExthdrMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpv6ExthdrMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmIpv6ExthdrMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6ExthdrMasked, error) {
+ _oxmipv6exthdrmasked := &OxmIpv6ExthdrMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmIpv6ExthdrMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmipv6exthdrmasked.Value = uint16(decoder.ReadUint16())
+ _oxmipv6exthdrmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmipv6exthdrmasked, nil
+}
+
+func NewOxmIpv6ExthdrMasked() *OxmIpv6ExthdrMasked {
+ obj := &OxmIpv6ExthdrMasked{
+ Oxm: NewOxm(2147503876),
+ }
+ return obj
+}
+func (self *OxmIpv6ExthdrMasked) GetOXMName() string {
+ return "ipv6_exthdr_masked"
+}
+
+func (self *OxmIpv6ExthdrMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6ExthdrMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6ExthdrMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpv6Flabel struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmIpv6Flabel interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmIpv6Flabel) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmIpv6Flabel) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmIpv6Flabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmIpv6Flabel(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6Flabel, error) {
+ _oxmipv6flabel := &OxmIpv6Flabel{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmIpv6Flabel packet too short: %d < 4", decoder.Length())
+ }
+ _oxmipv6flabel.Value = uint32(decoder.ReadUint32())
+ return _oxmipv6flabel, nil
+}
+
+func NewOxmIpv6Flabel() *OxmIpv6Flabel {
+ obj := &OxmIpv6Flabel{
+ Oxm: NewOxm(2147497988),
+ }
+ return obj
+}
+func (self *OxmIpv6Flabel) GetOXMName() string {
+ return "ipv6_flabel"
+}
+
+func (self *OxmIpv6Flabel) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6Flabel) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpv6FlabelMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmIpv6FlabelMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmIpv6FlabelMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmIpv6FlabelMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmIpv6FlabelMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6FlabelMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpv6FlabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmIpv6FlabelMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6FlabelMasked, error) {
+ _oxmipv6flabelmasked := &OxmIpv6FlabelMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmIpv6FlabelMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmipv6flabelmasked.Value = uint32(decoder.ReadUint32())
+ _oxmipv6flabelmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmipv6flabelmasked, nil
+}
+
+func NewOxmIpv6FlabelMasked() *OxmIpv6FlabelMasked {
+ obj := &OxmIpv6FlabelMasked{
+ Oxm: NewOxm(2147498248),
+ }
+ return obj
+}
+func (self *OxmIpv6FlabelMasked) GetOXMName() string {
+ return "ipv6_flabel_masked"
+}
+
+func (self *OxmIpv6FlabelMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6FlabelMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6FlabelMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpv6NdSll struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type IOxmIpv6NdSll interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *OxmIpv6NdSll) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmIpv6NdSll) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmIpv6NdSll) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeOxmIpv6NdSll(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6NdSll, error) {
+ _oxmipv6ndsll := &OxmIpv6NdSll{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("OxmIpv6NdSll packet too short: %d < 6", decoder.Length())
+ }
+ _oxmipv6ndsll.Value = net.HardwareAddr(decoder.Read(6))
+ return _oxmipv6ndsll, nil
+}
+
+func NewOxmIpv6NdSll() *OxmIpv6NdSll {
+ obj := &OxmIpv6NdSll{
+ Oxm: NewOxm(2147500038),
+ }
+ return obj
+}
+func (self *OxmIpv6NdSll) GetOXMName() string {
+ return "ipv6_nd_sll"
+}
+
+func (self *OxmIpv6NdSll) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6NdSll) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpv6NdSllMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type IOxmIpv6NdSllMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *OxmIpv6NdSllMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmIpv6NdSllMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmIpv6NdSllMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6NdSllMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpv6NdSllMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeOxmIpv6NdSllMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6NdSllMasked, error) {
+ _oxmipv6ndsllmasked := &OxmIpv6NdSllMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("OxmIpv6NdSllMasked packet too short: %d < 12", decoder.Length())
+ }
+ _oxmipv6ndsllmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _oxmipv6ndsllmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _oxmipv6ndsllmasked, nil
+}
+
+func NewOxmIpv6NdSllMasked() *OxmIpv6NdSllMasked {
+ obj := &OxmIpv6NdSllMasked{
+ Oxm: NewOxm(2147500300),
+ }
+ return obj
+}
+func (self *OxmIpv6NdSllMasked) GetOXMName() string {
+ return "ipv6_nd_sll_masked"
+}
+
+func (self *OxmIpv6NdSllMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6NdSllMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6NdSllMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpv6NdTarget struct {
+ *Oxm
+ Value net.IP
+}
+
+type IOxmIpv6NdTarget interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *OxmIpv6NdTarget) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv6NdTarget) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv6NdTarget) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeOxmIpv6NdTarget(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6NdTarget, error) {
+ _oxmipv6ndtarget := &OxmIpv6NdTarget{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("OxmIpv6NdTarget packet too short: %d < 16", decoder.Length())
+ }
+ _oxmipv6ndtarget.Value = net.IP(decoder.Read(16))
+ return _oxmipv6ndtarget, nil
+}
+
+func NewOxmIpv6NdTarget() *OxmIpv6NdTarget {
+ obj := &OxmIpv6NdTarget{
+ Oxm: NewOxm(2147499536),
+ }
+ return obj
+}
+func (self *OxmIpv6NdTarget) GetOXMName() string {
+ return "ipv6_nd_target"
+}
+
+func (self *OxmIpv6NdTarget) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6NdTarget) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpv6NdTargetMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type IOxmIpv6NdTargetMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *OxmIpv6NdTargetMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv6NdTargetMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv6NdTargetMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6NdTargetMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpv6NdTargetMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeOxmIpv6NdTargetMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6NdTargetMasked, error) {
+ _oxmipv6ndtargetmasked := &OxmIpv6NdTargetMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("OxmIpv6NdTargetMasked packet too short: %d < 32", decoder.Length())
+ }
+ _oxmipv6ndtargetmasked.Value = net.IP(decoder.Read(16))
+ _oxmipv6ndtargetmasked.ValueMask = net.IP(decoder.Read(16))
+ return _oxmipv6ndtargetmasked, nil
+}
+
+func NewOxmIpv6NdTargetMasked() *OxmIpv6NdTargetMasked {
+ obj := &OxmIpv6NdTargetMasked{
+ Oxm: NewOxm(2147499808),
+ }
+ return obj
+}
+func (self *OxmIpv6NdTargetMasked) GetOXMName() string {
+ return "ipv6_nd_target_masked"
+}
+
+func (self *OxmIpv6NdTargetMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6NdTargetMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6NdTargetMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpv6NdTll struct {
+ *Oxm
+ Value net.HardwareAddr
+}
+
+type IOxmIpv6NdTll interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+}
+
+func (self *OxmIpv6NdTll) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmIpv6NdTll) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmIpv6NdTll) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+
+ return nil
+}
+
+func DecodeOxmIpv6NdTll(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6NdTll, error) {
+ _oxmipv6ndtll := &OxmIpv6NdTll{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("OxmIpv6NdTll packet too short: %d < 6", decoder.Length())
+ }
+ _oxmipv6ndtll.Value = net.HardwareAddr(decoder.Read(6))
+ return _oxmipv6ndtll, nil
+}
+
+func NewOxmIpv6NdTll() *OxmIpv6NdTll {
+ obj := &OxmIpv6NdTll{
+ Oxm: NewOxm(2147500550),
+ }
+ return obj
+}
+func (self *OxmIpv6NdTll) GetOXMName() string {
+ return "ipv6_nd_tll"
+}
+
+func (self *OxmIpv6NdTll) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6NdTll) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpv6NdTllMasked struct {
+ *Oxm
+ Value net.HardwareAddr
+ ValueMask net.HardwareAddr
+}
+
+type IOxmIpv6NdTllMasked interface {
+ goloxi.IOxm
+ GetValue() net.HardwareAddr
+ GetValueMask() net.HardwareAddr
+}
+
+func (self *OxmIpv6NdTllMasked) GetValue() net.HardwareAddr {
+ return self.Value
+}
+
+func (self *OxmIpv6NdTllMasked) SetValue(v net.HardwareAddr) {
+ self.Value = v
+}
+
+func (self *OxmIpv6NdTllMasked) GetValueMask() net.HardwareAddr {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6NdTllMasked) SetValueMask(v net.HardwareAddr) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpv6NdTllMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value)
+ encoder.Write(self.ValueMask)
+
+ return nil
+}
+
+func DecodeOxmIpv6NdTllMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6NdTllMasked, error) {
+ _oxmipv6ndtllmasked := &OxmIpv6NdTllMasked{Oxm: parent}
+ if decoder.Length() < 12 {
+ return nil, fmt.Errorf("OxmIpv6NdTllMasked packet too short: %d < 12", decoder.Length())
+ }
+ _oxmipv6ndtllmasked.Value = net.HardwareAddr(decoder.Read(6))
+ _oxmipv6ndtllmasked.ValueMask = net.HardwareAddr(decoder.Read(6))
+ return _oxmipv6ndtllmasked, nil
+}
+
+func NewOxmIpv6NdTllMasked() *OxmIpv6NdTllMasked {
+ obj := &OxmIpv6NdTllMasked{
+ Oxm: NewOxm(2147500812),
+ }
+ return obj
+}
+func (self *OxmIpv6NdTllMasked) GetOXMName() string {
+ return "ipv6_nd_tll_masked"
+}
+
+func (self *OxmIpv6NdTllMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6NdTllMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6NdTllMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmIpv6Src struct {
+ *Oxm
+ Value net.IP
+}
+
+type IOxmIpv6Src interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *OxmIpv6Src) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv6Src) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv6Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+
+ return nil
+}
+
+func DecodeOxmIpv6Src(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6Src, error) {
+ _oxmipv6src := &OxmIpv6Src{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("OxmIpv6Src packet too short: %d < 16", decoder.Length())
+ }
+ _oxmipv6src.Value = net.IP(decoder.Read(16))
+ return _oxmipv6src, nil
+}
+
+func NewOxmIpv6Src() *OxmIpv6Src {
+ obj := &OxmIpv6Src{
+ Oxm: NewOxm(2147496976),
+ }
+ return obj
+}
+func (self *OxmIpv6Src) GetOXMName() string {
+ return "ipv6_src"
+}
+
+func (self *OxmIpv6Src) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6Src) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmIpv6SrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type IOxmIpv6SrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *OxmIpv6SrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmIpv6SrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmIpv6SrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6SrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *OxmIpv6SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To16())
+ encoder.Write(self.ValueMask.To16())
+
+ return nil
+}
+
+func DecodeOxmIpv6SrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmIpv6SrcMasked, error) {
+ _oxmipv6srcmasked := &OxmIpv6SrcMasked{Oxm: parent}
+ if decoder.Length() < 32 {
+ return nil, fmt.Errorf("OxmIpv6SrcMasked packet too short: %d < 32", decoder.Length())
+ }
+ _oxmipv6srcmasked.Value = net.IP(decoder.Read(16))
+ _oxmipv6srcmasked.ValueMask = net.IP(decoder.Read(16))
+ return _oxmipv6srcmasked, nil
+}
+
+func NewOxmIpv6SrcMasked() *OxmIpv6SrcMasked {
+ obj := &OxmIpv6SrcMasked{
+ Oxm: NewOxm(2147497248),
+ }
+ return obj
+}
+func (self *OxmIpv6SrcMasked) GetOXMName() string {
+ return "ipv6_src_masked"
+}
+
+func (self *OxmIpv6SrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmIpv6SrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmIpv6SrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmMetadata struct {
+ *Oxm
+ Value uint64
+}
+
+type IOxmMetadata interface {
+ goloxi.IOxm
+ GetValue() uint64
+}
+
+func (self *OxmMetadata) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *OxmMetadata) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *OxmMetadata) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ return nil
+}
+
+func DecodeOxmMetadata(parent *Oxm, decoder *goloxi.Decoder) (*OxmMetadata, error) {
+ _oxmmetadata := &OxmMetadata{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmMetadata packet too short: %d < 8", decoder.Length())
+ }
+ _oxmmetadata.Value = uint64(decoder.ReadUint64())
+ return _oxmmetadata, nil
+}
+
+func NewOxmMetadata() *OxmMetadata {
+ obj := &OxmMetadata{
+ Oxm: NewOxm(2147484680),
+ }
+ return obj
+}
+func (self *OxmMetadata) GetOXMName() string {
+ return "metadata"
+}
+
+func (self *OxmMetadata) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmMetadata) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmMetadataMasked struct {
+ *Oxm
+ Value uint64
+ ValueMask uint64
+}
+
+type IOxmMetadataMasked interface {
+ goloxi.IOxm
+ GetValue() uint64
+ GetValueMask() uint64
+}
+
+func (self *OxmMetadataMasked) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *OxmMetadataMasked) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *OxmMetadataMasked) GetValueMask() uint64 {
+ return self.ValueMask
+}
+
+func (self *OxmMetadataMasked) SetValueMask(v uint64) {
+ self.ValueMask = v
+}
+
+func (self *OxmMetadataMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+ encoder.PutUint64(uint64(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmMetadataMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmMetadataMasked, error) {
+ _oxmmetadatamasked := &OxmMetadataMasked{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("OxmMetadataMasked packet too short: %d < 16", decoder.Length())
+ }
+ _oxmmetadatamasked.Value = uint64(decoder.ReadUint64())
+ _oxmmetadatamasked.ValueMask = uint64(decoder.ReadUint64())
+ return _oxmmetadatamasked, nil
+}
+
+func NewOxmMetadataMasked() *OxmMetadataMasked {
+ obj := &OxmMetadataMasked{
+ Oxm: NewOxm(2147484944),
+ }
+ return obj
+}
+func (self *OxmMetadataMasked) GetOXMName() string {
+ return "metadata_masked"
+}
+
+func (self *OxmMetadataMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmMetadataMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmMetadataMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmMplsBos struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmMplsBos interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmMplsBos) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmMplsBos) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmMplsBos) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmMplsBos(parent *Oxm, decoder *goloxi.Decoder) (*OxmMplsBos, error) {
+ _oxmmplsbos := &OxmMplsBos{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmMplsBos packet too short: %d < 1", decoder.Length())
+ }
+ _oxmmplsbos.Value = uint8(decoder.ReadByte())
+ return _oxmmplsbos, nil
+}
+
+func NewOxmMplsBos() *OxmMplsBos {
+ obj := &OxmMplsBos{
+ Oxm: NewOxm(2147502081),
+ }
+ return obj
+}
+func (self *OxmMplsBos) GetOXMName() string {
+ return "mpls_bos"
+}
+
+func (self *OxmMplsBos) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmMplsBos) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmMplsBosMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmMplsBosMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmMplsBosMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmMplsBosMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmMplsBosMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmMplsBosMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmMplsBosMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmMplsBosMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmMplsBosMasked, error) {
+ _oxmmplsbosmasked := &OxmMplsBosMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmMplsBosMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmmplsbosmasked.Value = uint8(decoder.ReadByte())
+ _oxmmplsbosmasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmmplsbosmasked, nil
+}
+
+func NewOxmMplsBosMasked() *OxmMplsBosMasked {
+ obj := &OxmMplsBosMasked{
+ Oxm: NewOxm(2147502338),
+ }
+ return obj
+}
+func (self *OxmMplsBosMasked) GetOXMName() string {
+ return "mpls_bos_masked"
+}
+
+func (self *OxmMplsBosMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmMplsBosMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmMplsBosMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmMplsLabel struct {
+ *Oxm
+ Value uint32
+}
+
+type IOxmMplsLabel interface {
+ goloxi.IOxm
+ GetValue() uint32
+}
+
+func (self *OxmMplsLabel) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmMplsLabel) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmMplsLabel) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+
+ return nil
+}
+
+func DecodeOxmMplsLabel(parent *Oxm, decoder *goloxi.Decoder) (*OxmMplsLabel, error) {
+ _oxmmplslabel := &OxmMplsLabel{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmMplsLabel packet too short: %d < 4", decoder.Length())
+ }
+ _oxmmplslabel.Value = uint32(decoder.ReadUint32())
+ return _oxmmplslabel, nil
+}
+
+func NewOxmMplsLabel() *OxmMplsLabel {
+ obj := &OxmMplsLabel{
+ Oxm: NewOxm(2147501060),
+ }
+ return obj
+}
+func (self *OxmMplsLabel) GetOXMName() string {
+ return "mpls_label"
+}
+
+func (self *OxmMplsLabel) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmMplsLabel) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmMplsLabelMasked struct {
+ *Oxm
+ Value uint32
+ ValueMask uint32
+}
+
+type IOxmMplsLabelMasked interface {
+ goloxi.IOxm
+ GetValue() uint32
+ GetValueMask() uint32
+}
+
+func (self *OxmMplsLabelMasked) GetValue() uint32 {
+ return self.Value
+}
+
+func (self *OxmMplsLabelMasked) SetValue(v uint32) {
+ self.Value = v
+}
+
+func (self *OxmMplsLabelMasked) GetValueMask() uint32 {
+ return self.ValueMask
+}
+
+func (self *OxmMplsLabelMasked) SetValueMask(v uint32) {
+ self.ValueMask = v
+}
+
+func (self *OxmMplsLabelMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.Value))
+ encoder.PutUint32(uint32(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmMplsLabelMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmMplsLabelMasked, error) {
+ _oxmmplslabelmasked := &OxmMplsLabelMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmMplsLabelMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmmplslabelmasked.Value = uint32(decoder.ReadUint32())
+ _oxmmplslabelmasked.ValueMask = uint32(decoder.ReadUint32())
+ return _oxmmplslabelmasked, nil
+}
+
+func NewOxmMplsLabelMasked() *OxmMplsLabelMasked {
+ obj := &OxmMplsLabelMasked{
+ Oxm: NewOxm(2147501320),
+ }
+ return obj
+}
+func (self *OxmMplsLabelMasked) GetOXMName() string {
+ return "mpls_label_masked"
+}
+
+func (self *OxmMplsLabelMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmMplsLabelMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmMplsLabelMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmMplsTc struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmMplsTc interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmMplsTc) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmMplsTc) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmMplsTc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmMplsTc(parent *Oxm, decoder *goloxi.Decoder) (*OxmMplsTc, error) {
+ _oxmmplstc := &OxmMplsTc{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmMplsTc packet too short: %d < 1", decoder.Length())
+ }
+ _oxmmplstc.Value = uint8(decoder.ReadByte())
+ return _oxmmplstc, nil
+}
+
+func NewOxmMplsTc() *OxmMplsTc {
+ obj := &OxmMplsTc{
+ Oxm: NewOxm(2147501569),
+ }
+ return obj
+}
+func (self *OxmMplsTc) GetOXMName() string {
+ return "mpls_tc"
+}
+
+func (self *OxmMplsTc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmMplsTc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmMplsTcMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmMplsTcMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmMplsTcMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmMplsTcMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmMplsTcMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmMplsTcMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmMplsTcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmMplsTcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmMplsTcMasked, error) {
+ _oxmmplstcmasked := &OxmMplsTcMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmMplsTcMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmmplstcmasked.Value = uint8(decoder.ReadByte())
+ _oxmmplstcmasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmmplstcmasked, nil
+}
+
+func NewOxmMplsTcMasked() *OxmMplsTcMasked {
+ obj := &OxmMplsTcMasked{
+ Oxm: NewOxm(2147501826),
+ }
+ return obj
+}
+func (self *OxmMplsTcMasked) GetOXMName() string {
+ return "mpls_tc_masked"
+}
+
+func (self *OxmMplsTcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmMplsTcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmMplsTcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmOvsTcpFlags struct {
+ *Oxm
+ ExperimenterId uint32
+ Value uint16
+}
+
+type IOxmOvsTcpFlags interface {
+ goloxi.IOxm
+ GetExperimenterId() uint32
+ GetValue() uint16
+}
+
+func (self *OxmOvsTcpFlags) GetExperimenterId() uint32 {
+ return self.ExperimenterId
+}
+
+func (self *OxmOvsTcpFlags) SetExperimenterId(v uint32) {
+ self.ExperimenterId = v
+}
+
+func (self *OxmOvsTcpFlags) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmOvsTcpFlags) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmOvsTcpFlags) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.ExperimenterId))
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmOvsTcpFlags(parent *Oxm, decoder *goloxi.Decoder) (*OxmOvsTcpFlags, error) {
+ _oxmovstcpflags := &OxmOvsTcpFlags{Oxm: parent}
+ if decoder.Length() < 6 {
+ return nil, fmt.Errorf("OxmOvsTcpFlags packet too short: %d < 6", decoder.Length())
+ }
+ _oxmovstcpflags.ExperimenterId = uint32(decoder.ReadUint32())
+ _oxmovstcpflags.Value = uint16(decoder.ReadUint16())
+ return _oxmovstcpflags, nil
+}
+
+func NewOxmOvsTcpFlags() *OxmOvsTcpFlags {
+ obj := &OxmOvsTcpFlags{
+ Oxm: NewOxm(4294923270),
+ }
+ return obj
+}
+func (self *OxmOvsTcpFlags) GetOXMName() string {
+ return "ovs_tcp_flags"
+}
+
+func (self *OxmOvsTcpFlags) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmOvsTcpFlags) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmOvsTcpFlagsMasked struct {
+ *Oxm
+ ExperimenterId uint32
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmOvsTcpFlagsMasked interface {
+ goloxi.IOxm
+ GetExperimenterId() uint32
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmOvsTcpFlagsMasked) GetExperimenterId() uint32 {
+ return self.ExperimenterId
+}
+
+func (self *OxmOvsTcpFlagsMasked) SetExperimenterId(v uint32) {
+ self.ExperimenterId = v
+}
+
+func (self *OxmOvsTcpFlagsMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmOvsTcpFlagsMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmOvsTcpFlagsMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmOvsTcpFlagsMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmOvsTcpFlagsMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint32(uint32(self.ExperimenterId))
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmOvsTcpFlagsMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmOvsTcpFlagsMasked, error) {
+ _oxmovstcpflagsmasked := &OxmOvsTcpFlagsMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmOvsTcpFlagsMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmovstcpflagsmasked.ExperimenterId = uint32(decoder.ReadUint32())
+ _oxmovstcpflagsmasked.Value = uint16(decoder.ReadUint16())
+ _oxmovstcpflagsmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmovstcpflagsmasked, nil
+}
+
+func NewOxmOvsTcpFlagsMasked() *OxmOvsTcpFlagsMasked {
+ obj := &OxmOvsTcpFlagsMasked{
+ Oxm: NewOxm(4294923528),
+ }
+ return obj
+}
+func (self *OxmOvsTcpFlagsMasked) GetOXMName() string {
+ return "ovs_tcp_flags_masked"
+}
+
+func (self *OxmOvsTcpFlagsMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmOvsTcpFlagsMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmOvsTcpFlagsMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmSctpDst struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmSctpDst interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmSctpDst) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmSctpDst) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmSctpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmSctpDst(parent *Oxm, decoder *goloxi.Decoder) (*OxmSctpDst, error) {
+ _oxmsctpdst := &OxmSctpDst{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmSctpDst packet too short: %d < 2", decoder.Length())
+ }
+ _oxmsctpdst.Value = uint16(decoder.ReadUint16())
+ return _oxmsctpdst, nil
+}
+
+func NewOxmSctpDst() *OxmSctpDst {
+ obj := &OxmSctpDst{
+ Oxm: NewOxm(2147492866),
+ }
+ return obj
+}
+func (self *OxmSctpDst) GetOXMName() string {
+ return "sctp_dst"
+}
+
+func (self *OxmSctpDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmSctpDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmSctpDstMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmSctpDstMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmSctpDstMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmSctpDstMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmSctpDstMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmSctpDstMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmSctpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmSctpDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmSctpDstMasked, error) {
+ _oxmsctpdstmasked := &OxmSctpDstMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmSctpDstMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmsctpdstmasked.Value = uint16(decoder.ReadUint16())
+ _oxmsctpdstmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmsctpdstmasked, nil
+}
+
+func NewOxmSctpDstMasked() *OxmSctpDstMasked {
+ obj := &OxmSctpDstMasked{
+ Oxm: NewOxm(2147493124),
+ }
+ return obj
+}
+func (self *OxmSctpDstMasked) GetOXMName() string {
+ return "sctp_dst_masked"
+}
+
+func (self *OxmSctpDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmSctpDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmSctpDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmSctpSrc struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmSctpSrc interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmSctpSrc) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmSctpSrc) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmSctpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmSctpSrc(parent *Oxm, decoder *goloxi.Decoder) (*OxmSctpSrc, error) {
+ _oxmsctpsrc := &OxmSctpSrc{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmSctpSrc packet too short: %d < 2", decoder.Length())
+ }
+ _oxmsctpsrc.Value = uint16(decoder.ReadUint16())
+ return _oxmsctpsrc, nil
+}
+
+func NewOxmSctpSrc() *OxmSctpSrc {
+ obj := &OxmSctpSrc{
+ Oxm: NewOxm(2147492354),
+ }
+ return obj
+}
+func (self *OxmSctpSrc) GetOXMName() string {
+ return "sctp_src"
+}
+
+func (self *OxmSctpSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmSctpSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmSctpSrcMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmSctpSrcMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmSctpSrcMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmSctpSrcMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmSctpSrcMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmSctpSrcMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmSctpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmSctpSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmSctpSrcMasked, error) {
+ _oxmsctpsrcmasked := &OxmSctpSrcMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmSctpSrcMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmsctpsrcmasked.Value = uint16(decoder.ReadUint16())
+ _oxmsctpsrcmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmsctpsrcmasked, nil
+}
+
+func NewOxmSctpSrcMasked() *OxmSctpSrcMasked {
+ obj := &OxmSctpSrcMasked{
+ Oxm: NewOxm(2147492612),
+ }
+ return obj
+}
+func (self *OxmSctpSrcMasked) GetOXMName() string {
+ return "sctp_src_masked"
+}
+
+func (self *OxmSctpSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmSctpSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmSctpSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmTcpDst struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmTcpDst interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmTcpDst) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmTcpDst) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmTcpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmTcpDst(parent *Oxm, decoder *goloxi.Decoder) (*OxmTcpDst, error) {
+ _oxmtcpdst := &OxmTcpDst{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmTcpDst packet too short: %d < 2", decoder.Length())
+ }
+ _oxmtcpdst.Value = uint16(decoder.ReadUint16())
+ return _oxmtcpdst, nil
+}
+
+func NewOxmTcpDst() *OxmTcpDst {
+ obj := &OxmTcpDst{
+ Oxm: NewOxm(2147490818),
+ }
+ return obj
+}
+func (self *OxmTcpDst) GetOXMName() string {
+ return "tcp_dst"
+}
+
+func (self *OxmTcpDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTcpDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmTcpDstMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmTcpDstMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmTcpDstMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmTcpDstMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmTcpDstMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmTcpDstMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmTcpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmTcpDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmTcpDstMasked, error) {
+ _oxmtcpdstmasked := &OxmTcpDstMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmTcpDstMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmtcpdstmasked.Value = uint16(decoder.ReadUint16())
+ _oxmtcpdstmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmtcpdstmasked, nil
+}
+
+func NewOxmTcpDstMasked() *OxmTcpDstMasked {
+ obj := &OxmTcpDstMasked{
+ Oxm: NewOxm(2147491076),
+ }
+ return obj
+}
+func (self *OxmTcpDstMasked) GetOXMName() string {
+ return "tcp_dst_masked"
+}
+
+func (self *OxmTcpDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTcpDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmTcpDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmTcpSrc struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmTcpSrc interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmTcpSrc) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmTcpSrc) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmTcpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmTcpSrc(parent *Oxm, decoder *goloxi.Decoder) (*OxmTcpSrc, error) {
+ _oxmtcpsrc := &OxmTcpSrc{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmTcpSrc packet too short: %d < 2", decoder.Length())
+ }
+ _oxmtcpsrc.Value = uint16(decoder.ReadUint16())
+ return _oxmtcpsrc, nil
+}
+
+func NewOxmTcpSrc() *OxmTcpSrc {
+ obj := &OxmTcpSrc{
+ Oxm: NewOxm(2147490306),
+ }
+ return obj
+}
+func (self *OxmTcpSrc) GetOXMName() string {
+ return "tcp_src"
+}
+
+func (self *OxmTcpSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTcpSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmTcpSrcMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmTcpSrcMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmTcpSrcMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmTcpSrcMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmTcpSrcMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmTcpSrcMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmTcpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmTcpSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmTcpSrcMasked, error) {
+ _oxmtcpsrcmasked := &OxmTcpSrcMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmTcpSrcMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmtcpsrcmasked.Value = uint16(decoder.ReadUint16())
+ _oxmtcpsrcmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmtcpsrcmasked, nil
+}
+
+func NewOxmTcpSrcMasked() *OxmTcpSrcMasked {
+ obj := &OxmTcpSrcMasked{
+ Oxm: NewOxm(2147490564),
+ }
+ return obj
+}
+func (self *OxmTcpSrcMasked) GetOXMName() string {
+ return "tcp_src_masked"
+}
+
+func (self *OxmTcpSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTcpSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmTcpSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmTunnelId struct {
+ *Oxm
+ Value uint64
+}
+
+type IOxmTunnelId interface {
+ goloxi.IOxm
+ GetValue() uint64
+}
+
+func (self *OxmTunnelId) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *OxmTunnelId) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *OxmTunnelId) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+
+ return nil
+}
+
+func DecodeOxmTunnelId(parent *Oxm, decoder *goloxi.Decoder) (*OxmTunnelId, error) {
+ _oxmtunnelid := &OxmTunnelId{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmTunnelId packet too short: %d < 8", decoder.Length())
+ }
+ _oxmtunnelid.Value = uint64(decoder.ReadUint64())
+ return _oxmtunnelid, nil
+}
+
+func NewOxmTunnelId() *OxmTunnelId {
+ obj := &OxmTunnelId{
+ Oxm: NewOxm(2147503112),
+ }
+ return obj
+}
+func (self *OxmTunnelId) GetOXMName() string {
+ return "tunnel_id"
+}
+
+func (self *OxmTunnelId) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTunnelId) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmTunnelIdMasked struct {
+ *Oxm
+ Value uint64
+ ValueMask uint64
+}
+
+type IOxmTunnelIdMasked interface {
+ goloxi.IOxm
+ GetValue() uint64
+ GetValueMask() uint64
+}
+
+func (self *OxmTunnelIdMasked) GetValue() uint64 {
+ return self.Value
+}
+
+func (self *OxmTunnelIdMasked) SetValue(v uint64) {
+ self.Value = v
+}
+
+func (self *OxmTunnelIdMasked) GetValueMask() uint64 {
+ return self.ValueMask
+}
+
+func (self *OxmTunnelIdMasked) SetValueMask(v uint64) {
+ self.ValueMask = v
+}
+
+func (self *OxmTunnelIdMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint64(uint64(self.Value))
+ encoder.PutUint64(uint64(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmTunnelIdMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmTunnelIdMasked, error) {
+ _oxmtunnelidmasked := &OxmTunnelIdMasked{Oxm: parent}
+ if decoder.Length() < 16 {
+ return nil, fmt.Errorf("OxmTunnelIdMasked packet too short: %d < 16", decoder.Length())
+ }
+ _oxmtunnelidmasked.Value = uint64(decoder.ReadUint64())
+ _oxmtunnelidmasked.ValueMask = uint64(decoder.ReadUint64())
+ return _oxmtunnelidmasked, nil
+}
+
+func NewOxmTunnelIdMasked() *OxmTunnelIdMasked {
+ obj := &OxmTunnelIdMasked{
+ Oxm: NewOxm(2147503376),
+ }
+ return obj
+}
+func (self *OxmTunnelIdMasked) GetOXMName() string {
+ return "tunnel_id_masked"
+}
+
+func (self *OxmTunnelIdMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTunnelIdMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmTunnelIdMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmTunnelIpv4Dst struct {
+ *Oxm
+ Value net.IP
+}
+
+type IOxmTunnelIpv4Dst interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *OxmTunnelIpv4Dst) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmTunnelIpv4Dst) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmTunnelIpv4Dst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeOxmTunnelIpv4Dst(parent *Oxm, decoder *goloxi.Decoder) (*OxmTunnelIpv4Dst, error) {
+ _oxmtunnelipv4dst := &OxmTunnelIpv4Dst{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmTunnelIpv4Dst packet too short: %d < 4", decoder.Length())
+ }
+ _oxmtunnelipv4dst.Value = net.IP(decoder.Read(4))
+ return _oxmtunnelipv4dst, nil
+}
+
+func NewOxmTunnelIpv4Dst() *OxmTunnelIpv4Dst {
+ obj := &OxmTunnelIpv4Dst{
+ Oxm: NewOxm(81924),
+ }
+ return obj
+}
+func (self *OxmTunnelIpv4Dst) GetOXMName() string {
+ return "tunnel_ipv4_dst"
+}
+
+func (self *OxmTunnelIpv4Dst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTunnelIpv4Dst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmTunnelIpv4DstMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type IOxmTunnelIpv4DstMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *OxmTunnelIpv4DstMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmTunnelIpv4DstMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmTunnelIpv4DstMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *OxmTunnelIpv4DstMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *OxmTunnelIpv4DstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeOxmTunnelIpv4DstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmTunnelIpv4DstMasked, error) {
+ _oxmtunnelipv4dstmasked := &OxmTunnelIpv4DstMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmTunnelIpv4DstMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmtunnelipv4dstmasked.Value = net.IP(decoder.Read(4))
+ _oxmtunnelipv4dstmasked.ValueMask = net.IP(decoder.Read(4))
+ return _oxmtunnelipv4dstmasked, nil
+}
+
+func NewOxmTunnelIpv4DstMasked() *OxmTunnelIpv4DstMasked {
+ obj := &OxmTunnelIpv4DstMasked{
+ Oxm: NewOxm(82184),
+ }
+ return obj
+}
+func (self *OxmTunnelIpv4DstMasked) GetOXMName() string {
+ return "tunnel_ipv4_dst_masked"
+}
+
+func (self *OxmTunnelIpv4DstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTunnelIpv4DstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmTunnelIpv4DstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmTunnelIpv4Src struct {
+ *Oxm
+ Value net.IP
+}
+
+type IOxmTunnelIpv4Src interface {
+ goloxi.IOxm
+ GetValue() net.IP
+}
+
+func (self *OxmTunnelIpv4Src) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmTunnelIpv4Src) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmTunnelIpv4Src) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+
+ return nil
+}
+
+func DecodeOxmTunnelIpv4Src(parent *Oxm, decoder *goloxi.Decoder) (*OxmTunnelIpv4Src, error) {
+ _oxmtunnelipv4src := &OxmTunnelIpv4Src{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmTunnelIpv4Src packet too short: %d < 4", decoder.Length())
+ }
+ _oxmtunnelipv4src.Value = net.IP(decoder.Read(4))
+ return _oxmtunnelipv4src, nil
+}
+
+func NewOxmTunnelIpv4Src() *OxmTunnelIpv4Src {
+ obj := &OxmTunnelIpv4Src{
+ Oxm: NewOxm(81412),
+ }
+ return obj
+}
+func (self *OxmTunnelIpv4Src) GetOXMName() string {
+ return "tunnel_ipv4_src"
+}
+
+func (self *OxmTunnelIpv4Src) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTunnelIpv4Src) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmTunnelIpv4SrcMasked struct {
+ *Oxm
+ Value net.IP
+ ValueMask net.IP
+}
+
+type IOxmTunnelIpv4SrcMasked interface {
+ goloxi.IOxm
+ GetValue() net.IP
+ GetValueMask() net.IP
+}
+
+func (self *OxmTunnelIpv4SrcMasked) GetValue() net.IP {
+ return self.Value
+}
+
+func (self *OxmTunnelIpv4SrcMasked) SetValue(v net.IP) {
+ self.Value = v
+}
+
+func (self *OxmTunnelIpv4SrcMasked) GetValueMask() net.IP {
+ return self.ValueMask
+}
+
+func (self *OxmTunnelIpv4SrcMasked) SetValueMask(v net.IP) {
+ self.ValueMask = v
+}
+
+func (self *OxmTunnelIpv4SrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.Write(self.Value.To4())
+ encoder.Write(self.ValueMask.To4())
+
+ return nil
+}
+
+func DecodeOxmTunnelIpv4SrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmTunnelIpv4SrcMasked, error) {
+ _oxmtunnelipv4srcmasked := &OxmTunnelIpv4SrcMasked{Oxm: parent}
+ if decoder.Length() < 8 {
+ return nil, fmt.Errorf("OxmTunnelIpv4SrcMasked packet too short: %d < 8", decoder.Length())
+ }
+ _oxmtunnelipv4srcmasked.Value = net.IP(decoder.Read(4))
+ _oxmtunnelipv4srcmasked.ValueMask = net.IP(decoder.Read(4))
+ return _oxmtunnelipv4srcmasked, nil
+}
+
+func NewOxmTunnelIpv4SrcMasked() *OxmTunnelIpv4SrcMasked {
+ obj := &OxmTunnelIpv4SrcMasked{
+ Oxm: NewOxm(81672),
+ }
+ return obj
+}
+func (self *OxmTunnelIpv4SrcMasked) GetOXMName() string {
+ return "tunnel_ipv4_src_masked"
+}
+
+func (self *OxmTunnelIpv4SrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmTunnelIpv4SrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmTunnelIpv4SrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmUdpDst struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmUdpDst interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmUdpDst) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmUdpDst) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmUdpDst) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmUdpDst(parent *Oxm, decoder *goloxi.Decoder) (*OxmUdpDst, error) {
+ _oxmudpdst := &OxmUdpDst{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmUdpDst packet too short: %d < 2", decoder.Length())
+ }
+ _oxmudpdst.Value = uint16(decoder.ReadUint16())
+ return _oxmudpdst, nil
+}
+
+func NewOxmUdpDst() *OxmUdpDst {
+ obj := &OxmUdpDst{
+ Oxm: NewOxm(2147491842),
+ }
+ return obj
+}
+func (self *OxmUdpDst) GetOXMName() string {
+ return "udp_dst"
+}
+
+func (self *OxmUdpDst) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmUdpDst) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmUdpDstMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmUdpDstMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmUdpDstMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmUdpDstMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmUdpDstMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmUdpDstMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmUdpDstMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmUdpDstMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmUdpDstMasked, error) {
+ _oxmudpdstmasked := &OxmUdpDstMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmUdpDstMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmudpdstmasked.Value = uint16(decoder.ReadUint16())
+ _oxmudpdstmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmudpdstmasked, nil
+}
+
+func NewOxmUdpDstMasked() *OxmUdpDstMasked {
+ obj := &OxmUdpDstMasked{
+ Oxm: NewOxm(2147492100),
+ }
+ return obj
+}
+func (self *OxmUdpDstMasked) GetOXMName() string {
+ return "udp_dst_masked"
+}
+
+func (self *OxmUdpDstMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmUdpDstMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmUdpDstMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmUdpSrc struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmUdpSrc interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmUdpSrc) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmUdpSrc) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmUdpSrc) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmUdpSrc(parent *Oxm, decoder *goloxi.Decoder) (*OxmUdpSrc, error) {
+ _oxmudpsrc := &OxmUdpSrc{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmUdpSrc packet too short: %d < 2", decoder.Length())
+ }
+ _oxmudpsrc.Value = uint16(decoder.ReadUint16())
+ return _oxmudpsrc, nil
+}
+
+func NewOxmUdpSrc() *OxmUdpSrc {
+ obj := &OxmUdpSrc{
+ Oxm: NewOxm(2147491330),
+ }
+ return obj
+}
+func (self *OxmUdpSrc) GetOXMName() string {
+ return "udp_src"
+}
+
+func (self *OxmUdpSrc) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmUdpSrc) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmUdpSrcMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmUdpSrcMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmUdpSrcMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmUdpSrcMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmUdpSrcMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmUdpSrcMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmUdpSrcMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmUdpSrcMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmUdpSrcMasked, error) {
+ _oxmudpsrcmasked := &OxmUdpSrcMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmUdpSrcMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmudpsrcmasked.Value = uint16(decoder.ReadUint16())
+ _oxmudpsrcmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmudpsrcmasked, nil
+}
+
+func NewOxmUdpSrcMasked() *OxmUdpSrcMasked {
+ obj := &OxmUdpSrcMasked{
+ Oxm: NewOxm(2147491588),
+ }
+ return obj
+}
+func (self *OxmUdpSrcMasked) GetOXMName() string {
+ return "udp_src_masked"
+}
+
+func (self *OxmUdpSrcMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmUdpSrcMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmUdpSrcMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmVlanPcp struct {
+ *Oxm
+ Value uint8
+}
+
+type IOxmVlanPcp interface {
+ goloxi.IOxm
+ GetValue() uint8
+}
+
+func (self *OxmVlanPcp) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmVlanPcp) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmVlanPcp) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+
+ return nil
+}
+
+func DecodeOxmVlanPcp(parent *Oxm, decoder *goloxi.Decoder) (*OxmVlanPcp, error) {
+ _oxmvlanpcp := &OxmVlanPcp{Oxm: parent}
+ if decoder.Length() < 1 {
+ return nil, fmt.Errorf("OxmVlanPcp packet too short: %d < 1", decoder.Length())
+ }
+ _oxmvlanpcp.Value = uint8(decoder.ReadByte())
+ return _oxmvlanpcp, nil
+}
+
+func NewOxmVlanPcp() *OxmVlanPcp {
+ obj := &OxmVlanPcp{
+ Oxm: NewOxm(2147487233),
+ }
+ return obj
+}
+func (self *OxmVlanPcp) GetOXMName() string {
+ return "vlan_pcp"
+}
+
+func (self *OxmVlanPcp) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmVlanPcp) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmVlanPcpMasked struct {
+ *Oxm
+ Value uint8
+ ValueMask uint8
+}
+
+type IOxmVlanPcpMasked interface {
+ goloxi.IOxm
+ GetValue() uint8
+ GetValueMask() uint8
+}
+
+func (self *OxmVlanPcpMasked) GetValue() uint8 {
+ return self.Value
+}
+
+func (self *OxmVlanPcpMasked) SetValue(v uint8) {
+ self.Value = v
+}
+
+func (self *OxmVlanPcpMasked) GetValueMask() uint8 {
+ return self.ValueMask
+}
+
+func (self *OxmVlanPcpMasked) SetValueMask(v uint8) {
+ self.ValueMask = v
+}
+
+func (self *OxmVlanPcpMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint8(uint8(self.Value))
+ encoder.PutUint8(uint8(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmVlanPcpMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmVlanPcpMasked, error) {
+ _oxmvlanpcpmasked := &OxmVlanPcpMasked{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmVlanPcpMasked packet too short: %d < 2", decoder.Length())
+ }
+ _oxmvlanpcpmasked.Value = uint8(decoder.ReadByte())
+ _oxmvlanpcpmasked.ValueMask = uint8(decoder.ReadByte())
+ return _oxmvlanpcpmasked, nil
+}
+
+func NewOxmVlanPcpMasked() *OxmVlanPcpMasked {
+ obj := &OxmVlanPcpMasked{
+ Oxm: NewOxm(2147487490),
+ }
+ return obj
+}
+func (self *OxmVlanPcpMasked) GetOXMName() string {
+ return "vlan_pcp_masked"
+}
+
+func (self *OxmVlanPcpMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmVlanPcpMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmVlanPcpMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
+
+type OxmVlanVid struct {
+ *Oxm
+ Value uint16
+}
+
+type IOxmVlanVid interface {
+ goloxi.IOxm
+ GetValue() uint16
+}
+
+func (self *OxmVlanVid) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmVlanVid) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmVlanVid) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+
+ return nil
+}
+
+func DecodeOxmVlanVid(parent *Oxm, decoder *goloxi.Decoder) (*OxmVlanVid, error) {
+ _oxmvlanvid := &OxmVlanVid{Oxm: parent}
+ if decoder.Length() < 2 {
+ return nil, fmt.Errorf("OxmVlanVid packet too short: %d < 2", decoder.Length())
+ }
+ _oxmvlanvid.Value = uint16(decoder.ReadUint16())
+ return _oxmvlanvid, nil
+}
+
+func NewOxmVlanVid() *OxmVlanVid {
+ obj := &OxmVlanVid{
+ Oxm: NewOxm(2147486722),
+ }
+ return obj
+}
+func (self *OxmVlanVid) GetOXMName() string {
+ return "vlan_vid"
+}
+
+func (self *OxmVlanVid) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmVlanVid) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s}", self.GetOXMName(), string(value))), nil
+}
+
+type OxmVlanVidMasked struct {
+ *Oxm
+ Value uint16
+ ValueMask uint16
+}
+
+type IOxmVlanVidMasked interface {
+ goloxi.IOxm
+ GetValue() uint16
+ GetValueMask() uint16
+}
+
+func (self *OxmVlanVidMasked) GetValue() uint16 {
+ return self.Value
+}
+
+func (self *OxmVlanVidMasked) SetValue(v uint16) {
+ self.Value = v
+}
+
+func (self *OxmVlanVidMasked) GetValueMask() uint16 {
+ return self.ValueMask
+}
+
+func (self *OxmVlanVidMasked) SetValueMask(v uint16) {
+ self.ValueMask = v
+}
+
+func (self *OxmVlanVidMasked) Serialize(encoder *goloxi.Encoder) error {
+ if err := self.Oxm.Serialize(encoder); err != nil {
+ return err
+ }
+
+ encoder.PutUint16(uint16(self.Value))
+ encoder.PutUint16(uint16(self.ValueMask))
+
+ return nil
+}
+
+func DecodeOxmVlanVidMasked(parent *Oxm, decoder *goloxi.Decoder) (*OxmVlanVidMasked, error) {
+ _oxmvlanvidmasked := &OxmVlanVidMasked{Oxm: parent}
+ if decoder.Length() < 4 {
+ return nil, fmt.Errorf("OxmVlanVidMasked packet too short: %d < 4", decoder.Length())
+ }
+ _oxmvlanvidmasked.Value = uint16(decoder.ReadUint16())
+ _oxmvlanvidmasked.ValueMask = uint16(decoder.ReadUint16())
+ return _oxmvlanvidmasked, nil
+}
+
+func NewOxmVlanVidMasked() *OxmVlanVidMasked {
+ obj := &OxmVlanVidMasked{
+ Oxm: NewOxm(2147486980),
+ }
+ return obj
+}
+func (self *OxmVlanVidMasked) GetOXMName() string {
+ return "vlan_vid_masked"
+}
+
+func (self *OxmVlanVidMasked) GetOXMValue() interface{} {
+ return self.Value
+}
+
+func (self *OxmVlanVidMasked) GetOXMValueMask() interface{} {
+ return self.ValueMask
+}
+
+func (self *OxmVlanVidMasked) MarshalJSON() ([]byte, error) {
+ value, err := jsonValue(self.GetOXMValue())
+ if err != nil {
+ return nil, err
+ }
+ valueMask, err := jsonValue(self.GetOXMValueMask())
+ if err != nil {
+ return nil, err
+ }
+ return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Value\":%s,\"Mask\":%s}", self.GetOXMName(), string(value), string(valueMask))), nil
+}
diff --git a/vendor/github.com/skydive-project/goloxi/of13/types.go b/vendor/github.com/skydive-project/goloxi/of13/types.go
new file mode 100644
index 0000000..f6f2e7e
--- /dev/null
+++ b/vendor/github.com/skydive-project/goloxi/of13/types.go
@@ -0,0 +1,154 @@
+package of13
+
+import (
+ "encoding/json"
+ "fmt"
+ "net"
+
+ "github.com/skydive-project/goloxi"
+)
+
+// TODO: set real types
+type OXM = Oxm
+type uint128 = goloxi.Uint128
+type Checksum128 [16]byte
+type Bitmap128 uint128
+type Bitmap512 struct {
+ a, b, c, d uint128
+}
+type Unimplemented struct{}
+type BSNVport uint16
+type ControllerURI uint16
+
+func (h *Header) MessageType() uint8 {
+ return h.Type
+}
+
+func (h *Header) MessageName() string {
+ return Type(h.Type).String()
+}
+
+func (self *Checksum128) Decode(decoder *goloxi.Decoder) error {
+ return nil
+}
+
+func (self *Checksum128) Serialize(encoder *goloxi.Encoder) error {
+ return nil
+}
+func (self *Bitmap128) Decode(decoder *goloxi.Decoder) error {
+ return nil
+}
+
+func (self *Bitmap128) Serialize(encoder *goloxi.Encoder) error {
+ return nil
+}
+func (self *Bitmap512) Decode(decoder *goloxi.Decoder) error {
+ return nil
+}
+
+func (self *Bitmap512) Serialize(encoder *goloxi.Encoder) error {
+ return nil
+}
+func (self *BSNVport) Decode(decoder *goloxi.Decoder) error {
+ return nil
+}
+
+func (self *BSNVport) Serialize(encoder *goloxi.Encoder) error {
+ return nil
+}
+func (self *ControllerURI) Decode(decoder *goloxi.Decoder) error {
+ return nil
+}
+
+func (self *ControllerURI) Serialize(encoder *goloxi.Encoder) error {
+ return nil
+}
+
+type FmCmd uint8
+
+func (self *FmCmd) Serialize(encoder *goloxi.Encoder) error {
+ encoder.PutUint8(uint8(*self))
+ return nil
+}
+
+func (self *FmCmd) Decode(decoder *goloxi.Decoder) error {
+ *self = FmCmd(decoder.ReadUint8())
+ return nil
+}
+
+type MatchBmap uint64
+
+func (self *MatchBmap) Serialize(encoder *goloxi.Encoder) error {
+ encoder.PutUint64(uint64(*self))
+ return nil
+}
+
+func (self *MatchBmap) Decode(decoder *goloxi.Decoder) error {
+ *self = MatchBmap(decoder.ReadUint64())
+ return nil
+}
+
+type WcBmap uint64
+
+func (self *WcBmap) Serialize(encoder *goloxi.Encoder) error {
+ encoder.PutUint64(uint64(*self))
+ return nil
+}
+
+func (self *WcBmap) Decode(decoder *goloxi.Decoder) error {
+ *self = WcBmap(decoder.ReadUint64())
+ return nil
+}
+
+type Match = MatchV3
+type PortNo uint32
+
+func (self *PortNo) Serialize(encoder *goloxi.Encoder) error {
+ encoder.PutUint32(uint32(*self))
+ return nil
+}
+
+func (self *PortNo) Decode(decoder *goloxi.Decoder) error {
+ *self = PortNo(decoder.ReadUint32())
+ return nil
+}
+
+func DecodeMessage(data []byte) (goloxi.Message, error) {
+ header, err := DecodeHeader(goloxi.NewDecoder(data))
+ if err != nil {
+ return nil, err
+ }
+
+ return header.(goloxi.Message), nil
+}
+
+func (self *Port) Serialize(encoder *goloxi.Encoder) error {
+ portNo := PortNo(*self)
+ return portNo.Serialize(encoder)
+}
+
+func (self *Port) Decode(decoder *goloxi.Decoder) error {
+ portNo := PortNo(*self)
+ if err := portNo.Decode(decoder); err != nil {
+ return err
+ }
+ *self = Port(portNo)
+ return nil
+}
+
+func jsonValue(value interface{}) ([]byte, error) {
+ switch t := value.(type) {
+ case net.HardwareAddr:
+ value = t.String()
+ case net.IP:
+ value = t.String()
+ default:
+ if s, ok := t.(fmt.Stringer); ok {
+ value = s.String()
+ } else {
+ value = t
+ }
+ }
+
+ return json.Marshal(value)
+}