[SEBA-434] Replacing omci-sim with omci-lib-go

Change-Id: I499afc9ec49bb483467ea93bd6ce3077dd0ccc6e
diff --git a/vendor/github.com/cboling/omci/Gopkg.lock b/vendor/github.com/cboling/omci/Gopkg.lock
deleted file mode 100644
index 0f63cbc..0000000
--- a/vendor/github.com/cboling/omci/Gopkg.lock
+++ /dev/null
@@ -1,69 +0,0 @@
-# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
-
-
-[[projects]]
-  branch = "master"
-  digest = "1:5671867a7f78a839bce5a3a8d4513bdbec7f799ab9c919a2fb50fe6c167cd61e"
-  name = "github.com/aead/cmac"
-  packages = [
-    ".",
-    "aes",
-  ]
-  pruneopts = "UT"
-  revision = "7af84192f0b1d66a78841ebd3e0d2f5212a4a928"
-
-[[projects]]
-  digest = "1:ffe9824d294da03b391f44e1ae8281281b4afc1bdaa9588c9097785e3af10cec"
-  name = "github.com/davecgh/go-spew"
-  packages = ["spew"]
-  pruneopts = "UT"
-  revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"
-  version = "v1.1.1"
-
-[[projects]]
-  digest = "1:e47d51dab652d26c3fba6f8cba403f922d02757a82abdc77e90df7948daf296e"
-  name = "github.com/deckarep/golang-set"
-  packages = ["."]
-  pruneopts = "UT"
-  revision = "cbaa98ba5575e67703b32b4b19f73c91f3c4159e"
-  version = "v1.7.1"
-
-[[projects]]
-  branch = "master"
-  digest = "1:e1bdf8bd56b2c7775b12f17219b2e6b1d45a39cf20e42926f9069b1755639918"
-  name = "github.com/google/gopacket"
-  packages = [
-    ".",
-    "layers",
-  ]
-  pruneopts = "UT"
-  revision = "66eed7fc5258c34b3ead3c5964ea538025686a68"
-
-[[projects]]
-  digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe"
-  name = "github.com/pmezard/go-difflib"
-  packages = ["difflib"]
-  pruneopts = "UT"
-  revision = "792786c7400a136282c1664665ae0a8db921c6c2"
-  version = "v1.0.0"
-
-[[projects]]
-  digest = "1:972c2427413d41a1e06ca4897e8528e5a1622894050e2f527b38ddf0f343f759"
-  name = "github.com/stretchr/testify"
-  packages = ["assert"]
-  pruneopts = "UT"
-  revision = "ffdc059bfe9ce6a4e144ba849dbedead332c6053"
-  version = "v1.3.0"
-
-[solve-meta]
-  analyzer-name = "dep"
-  analyzer-version = 1
-  input-imports = [
-    "github.com/aead/cmac/aes",
-    "github.com/deckarep/golang-set",
-    "github.com/google/gopacket",
-    "github.com/google/gopacket/layers",
-    "github.com/stretchr/testify/assert",
-  ]
-  solver-name = "gps-cdcl"
-  solver-version = 1
diff --git a/vendor/github.com/cboling/omci/Gopkg.toml b/vendor/github.com/cboling/omci/Gopkg.toml
deleted file mode 100644
index 3a8d1da..0000000
--- a/vendor/github.com/cboling/omci/Gopkg.toml
+++ /dev/null
@@ -1,17 +0,0 @@
-# Gopkg.toml example
-#
-# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html
-# for detailed Gopkg.toml documentation.
-
-
-[[constraint]]
-  name = "github.com/google/gopacket"
-  branch = "master"
-
-[[constraint]]
-  name = "github.com/stretchr/testify"
-  version = "1.3.0"
-
-[prune]
-  go-tests = true
-  unused-packages = true
diff --git a/vendor/github.com/cboling/omci/README.md b/vendor/github.com/cboling/omci/README.md
deleted file mode 100644
index 4a29ef4..0000000
--- a/vendor/github.com/cboling/omci/README.md
+++ /dev/null
@@ -1,98 +0,0 @@
-# OMCI
-
-OMCI gopacket library supports the encoding and decoding of ITU G.988 OMCI
-messages. It is currently a work in progress.
-
-## Message Types supported and under unit test
-The following OMCI message types currently have been coded and are covered
-satisfactory by unit tests.
-
- - CreateRequest
- - CreateResponse
- - DeleteRequest
- - DeleteResponse
- - SetRequest
- - GetRequest
- - GetAllAlarmsRequest
- - GetAllAlarmsResponse
- - GetAllAlarmsNextRequest
- - MibUploadRequest
- - MibUploadResponse
- - MibUploadNextRequest
- - MibResetRequest
- - MibResetResponse
- - SynchronizeTimeRequest
-
-## Message Types supported but lacking full unit test
-The following OMCI message types currently have been coded and are partially covered
-by unit tests, but work still remains for sufficient/better unit test coverage.
-
- - SetResponse
- - GetResponse
- - GetAllAlarmsNextResponse
- - MibUploadNextResponse
- - SynchronizeTimeResponse
- - AttributeValueChange
- - RebootRequest
- - RebootResponse
- - StartSoftwareDownloadRequest
- - GetNextRequest
- - GetNextResponse
-
-## Message Types supported but lacking any unit test
-The following OMCI message types currently have been coded but do not
-have any unit test coverage.
-
- - StartSoftwareDownloadResponse
- - DownloadSectionRequest
- - DownloadSectionResponse
- - EndSoftwareDownloadRequest
- - EndSoftwareDownloadResponse
- - ActivateSoftwareRequest
- - ActivateSoftwareResponse
- - CommitSoftwareRequest
- - CommitSoftwareResponse
- - GetCurrentDataRequest
- - GetCurrentDataResponse
- - AlarmNotification
- 
-## Message Types not yet supported
-
-The following OMCI message types currently have not been coded.
-
- - TestResult
- - TestRequest
- - TestResponse
- - SetTableRequest
- - SetTableResponse
-
-## Current user-test coverage
-
-
-## Other outstanding items
-
-Besides OMCI Message decode/serialization, and associated unit tests, the following items
-would be needed or useful in a first official release of this library. Some changes are
-to be done in the generated OMCI ME code as well.
-
- - Specific examples of how to use this library (expand upon DecodeEncode.go examples)
-   Include unknown ME examples and how to catch various common or expected errors
- - Add Alarm Table Support (generated MEs also)
- - Add AVC flag for appropriate attributes
- - For serialization, check early for message size exceeded
- - Check proper gopacket use of Payload/Contents properties and make sure we
-   follow guidelines (if there are any)
- - For 'mebase.go' string output, look up ME name and output as needed
- - Look through 'error' messages and see if there are a few very common ones that
-   could be moved to a custom class to allow for better user interception/decode of
-   these errors.
- 
-The following would be 'nice' to have but are not necessary for initial code release
- - Extended message support
- - MIC Encode/Decode support
-
-## Create requests
-Currently the OMCI parser does not decode the default Set-By-Create attribute values
-from the ITU document. So for attributes that do not have a default of zero, you must
-specify the defaults if you use the 'meframe.go' routine to create a CreateRequest
-for a specific Managed Entity Instance.
diff --git a/vendor/github.com/cboling/omci/coverage.cmd b/vendor/github.com/cboling/omci/coverage.cmd
deleted file mode 100644
index 3344ed8..0000000
--- a/vendor/github.com/cboling/omci/coverage.cmd
+++ /dev/null
@@ -1,24 +0,0 @@
-@echo off
-rem    Coverage report for windows builds
-rem
-rem First general build
-echo Building the source
-go build
-if ERRORLEVEL 1 GOTO buildFaild
-
-echo Starting unit test coverage
-go test . examples/... generated/... -coverprofile=cp.out
-
-rem Output HTML coverage report (to coverage.html)
-echo Creating HTML coverage report (coverage.html)
-go tool cover -html=cp.out
-
-rem Now show in default browser
-echo Launching browser with results
-rem start coverage.html
-
-@echo Done
-exit /B 0
-
-:buildFailed
-@echo Build failed
\ No newline at end of file
diff --git a/vendor/github.com/cboling/omci/coverage.sh b/vendor/github.com/cboling/omci/coverage.sh
deleted file mode 100644
index 26bfe5c..0000000
--- a/vendor/github.com/cboling/omci/coverage.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-#
-#  Coverage report for windows builds
-#
-#First general build
-echo "Building the source"
-go build || exit $?
-
-echo "Starting unit test coverage"
-go test . examples/... generated/... -coverprofile=cp.out
-
-# Output HTML coverage report (to coverage.html)
-echo "Creating HTML coverage report (coverage.html)"
-go tool cover -html=cp.out
-
-# Now show in default browser
-echo "Launching browser with results"
diff --git a/vendor/github.com/cboling/omci/generated/ani-g.go b/vendor/github.com/cboling/omci/generated/ani-g.go
deleted file mode 100644
index f86fc9b..0000000
--- a/vendor/github.com/cboling/omci/generated/ani-g.go
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const AniGClassId ClassID = ClassID(263)
-
-var anigBME *ManagedEntityDefinition
-
-// AniG (class ID #263)
-//	This ME organizes data associated with each access network interface supported by a GPON ONU.
-//	The ONU automatically creates one instance of this ME for each PON physical port.
-//
-//	Relationships
-//		An instance of this ME is associated with each instance of a physical PON interface.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Its value
-//			indicates the physical position of the PON interface. The first byte is the slot ID, defined in
-//			clause 9.1.5. The second byte is the port ID. (R) (mandatory) (2 bytes)
-//
-//		Sr Indication
-//			SR indication: This Boolean attribute indicates the ONU's capability to report queue status for
-//			DBA. The value true means that status reporting is available for all TCONTs that are associated
-//			with the ANI. (R) (mandatory) (1 byte)
-//
-//		Total TCont Number
-//			Total TCONT number: This attribute indicates the total number of T-CONTs that can be supported
-//			on this ANI. (R) (mandatory) (2 bytes)
-//
-//		Gem Block Length
-//			In all other ITU-T PON systems, the unit for queue occupancy reporting is fixed in at 4 bytes by
-//			the respective TC layer specification.
-//
-//		Piggyback Dba Reporting
-//			(R) (mandatory) (1 byte)
-//
-//		Deprecated
-//			Deprecated:	This attribute should be set to 0 by the ONU and ignored by the OLT. (R) (mandatory)
-//			(1 byte)
-//
-//		Signal Fail Threshold
-//			Signal fail (SF) threshold: This attribute specifies the downstream bit error rate (BER)
-//			threshold to detect the SF alarm. When this value is y, the BER threshold is 10–y. Valid values
-//			are 3..8. Upon ME instantiation, the ONU sets this attribute to 5. (R, W) (mandatory) (1 byte)
-//
-//		Signal Degrade Sd Threshold
-//			Signal degrade (SD) threshold: This attribute specifies the downstream BER threshold to detect
-//			the SD alarm. When this value is x, the BER threshold for SD is 10–x. Valid values are 4..10.
-//			The SD threshold must be lower than the SF threshold; i.e., x > y. Upon ME instantiation, the
-//			ONU sets this attribute to 9. (R, W) (mandatory) (1 byte)
-//
-//		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Optical Signal Level
-//			Optical signal level: This attribute reports the current measurement of the total downstream
-//			optical signal level. Its value is a 2s complement integer referred to 1  mW (i.e., 1 dBm), with
-//			0.002 dB granularity. (R) (optional) (2 bytes)
-//
-//		Lower Optical Threshold
-//			Lower optical threshold: This attribute specifies the optical level the ONU uses to declare the
-//			downstream low received optical power alarm. Valid values are –127 dBm (coded as 254) to 0 dBm
-//			(coded as 0) in 0.5 dB increments. The default value 0xFF selects the ONU's internal policy.
-//			(R, W) (optional) (1 byte)
-//
-//		Upper Optical Threshold
-//			Upper optical threshold: This attribute specifies the optical level the ONU uses to declare the
-//			downstream high received optical power alarm. Valid values are –127 dBm (coded as 254) to 0 dBm
-//			(coded as 0) in 0.5 dB increments. The default value 0xFF selects the ONU's internal policy.
-//			(R, W) (optional) (1 byte)
-//
-//		Onu Response Time
-//			(R) (optional) (2 bytes)
-//
-//		Transmit Optical Level
-//			Transmit optical level: This attribute reports the current measurement of mean optical launch
-//			power. Its value is a 2s complement integer referred to 1 mW (i.e., 1 dBm), with 0.002 dB
-//			granularity. (R) (optional) (2 bytes)
-//
-//		Lower Transmit Power Threshold
-//			Lower transmit power threshold: This attribute specifies the minimum mean optical launch power
-//			that the ONU uses to declare the low transmit optical power alarm. Its value is a 2s complement
-//			integer referred to 1 mW (i.e., dBm), with 0.5 dB granularity. The default value –63.5 (0x81)
-//			selects the ONU's internal policy. (R, W) (optional) (1 byte)
-//
-//		Upper Transmit Power Threshold
-//			Upper transmit power threshold: This attribute specifies the maximum mean optical launch power
-//			that the ONU uses to declare the high transmit optical power alarm. Its value is a 2s complement
-//			integer referred to 1 mW (i.e., dBm), with 0.5 dB granularity. The default value –63.5 (0x81)
-//			selects the ONU's internal policy. (R, W) (optional) (1 byte)
-//
-type AniG struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	anigBME = &ManagedEntityDefinition{
-		Name:    "AniG",
-		ClassID: 263,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-			Test,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("SrIndication", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("TotalTcontNumber", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3:  Uint16Field("GemBlockLength", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  ByteField("PiggybackDbaReporting", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  ByteField("Deprecated", 0, mapset.NewSetWith(Read), false, false, false, true, 5),
-			6:  ByteField("SignalFailThreshold", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  ByteField("SignalDegradeSdThreshold", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 8),
-			9:  ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-			10: Uint16Field("OpticalSignalLevel", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: ByteField("LowerOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: ByteField("UpperOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: Uint16Field("OnuResponseTime", 0, mapset.NewSetWith(Read), false, false, true, false, 13),
-			14: Uint16Field("TransmitOpticalLevel", 0, mapset.NewSetWith(Read), false, false, true, false, 14),
-			15: ByteField("LowerTransmitPowerThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 15),
-			16: ByteField("UpperTransmitPowerThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 16),
-		},
-	}
-}
-
-// NewAniG (class ID 263 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewAniG(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(anigBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/attribute.go b/vendor/github.com/cboling/omci/generated/attribute.go
deleted file mode 100644
index 1246c56..0000000
--- a/vendor/github.com/cboling/omci/generated/attribute.go
+++ /dev/null
@@ -1,546 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import (
-	"encoding/binary"
-	"errors"
-	"fmt"
-	"github.com/deckarep/golang-set"
-	"github.com/google/gopacket"
-	"sort"
-	"strings"
-)
-
-type AttributeDefinitionMap map[uint]*AttributeDefinition
-
-// AttributeDefinition defines a single specific Managed Entity's attributes
-type AttributeDefinition struct {
-	Name         string
-	Index        uint
-	DefValue     interface{} // Note: Not supported yet
-	Size         int
-	Access       mapset.Set // AttributeAccess...
-	Constraint   func(interface{}) *ParamError
-	Avc          bool // If true, an AVC notification can occur for the attribute
-	Tca          bool // If true, a threshold crossing alert alarm notification can occur for the attribute
-	Counter      bool // If true, this attribute is a PM counter
-	Optional     bool // If true, attribute is option, else mandatory
-	TableSupport bool // If true, attribute is a table
-	Deprecated   bool // If true, this attribute is deprecated and only 'read' operations (if-any) performed
-}
-
-func (attr *AttributeDefinition) String() string {
-	return fmt.Sprintf("AttributeDefinition: %v (%v): Size: %v, Default: %v, Access: %v",
-		attr.GetName(), attr.GetIndex(), attr.GetSize(), attr.GetDefault(), attr.GetAccess())
-}
-func (attr *AttributeDefinition) GetName() string         { return attr.Name }
-func (attr *AttributeDefinition) GetIndex() uint          { return attr.Index }
-func (attr *AttributeDefinition) GetDefault() interface{} { return attr.DefValue }
-func (attr *AttributeDefinition) GetSize() int            { return attr.Size }
-func (attr *AttributeDefinition) GetAccess() mapset.Set   { return attr.Access }
-func (attr *AttributeDefinition) GetConstraints() func(interface{}) *ParamError {
-	return attr.Constraint
-}
-func (attr *AttributeDefinition) IsTableAttribute() bool {
-	return attr.TableSupport
-}
-
-func (attr *AttributeDefinition) Decode(data []byte, df gopacket.DecodeFeedback, msgType byte) (interface{}, error) {
-	if attr.IsTableAttribute() {
-		value, err := attr.tableAttributeDecode(data, df, msgType)
-		if err != nil {
-			return nil, err
-		}
-		if attr.GetConstraints() != nil {
-			if omciErr := attr.GetConstraints()(value); omciErr != nil {
-				return nil, omciErr.GetError()
-			}
-		}
-		return value, nil
-	}
-	size := attr.GetSize()
-
-	if len(data) < size {
-		df.SetTruncated()
-		return nil, NewMessageTruncatedError("packet too small for field")
-	}
-	switch attr.GetSize() {
-	default:
-		value := make([]byte, size)
-		copy(value, data[:size])
-		if attr.GetConstraints() != nil {
-			if omciErr := attr.GetConstraints()(value); omciErr != nil {
-				return nil, omciErr.GetError()
-			}
-		}
-		return value, nil
-	case 1:
-		value := data[0]
-		if attr.GetConstraints() != nil {
-			if omciErr := attr.GetConstraints()(value); omciErr != nil {
-				return nil, omciErr.GetError()
-			}
-		}
-		return value, nil
-	case 2:
-		value := binary.BigEndian.Uint16(data[0:2])
-		if attr.GetConstraints() != nil {
-			if omciErr := attr.GetConstraints()(value); omciErr != nil {
-				return nil, omciErr.GetError()
-			}
-		}
-		return value, nil
-	case 4:
-		value := binary.BigEndian.Uint32(data[0:4])
-		if attr.GetConstraints() != nil {
-			if omciErr := attr.GetConstraints()(value); omciErr != nil {
-				return nil, omciErr.GetError()
-			}
-		}
-		return value, nil
-	case 8:
-		value := binary.BigEndian.Uint64(data[0:8])
-		if attr.GetConstraints() != nil {
-			omciErr := attr.GetConstraints()(value)
-			if omciErr != nil {
-				return nil, omciErr.GetError()
-			}
-		}
-		return value, nil
-	}
-}
-
-func (attr *AttributeDefinition) SerializeTo(value interface{}, b gopacket.SerializeBuffer,
-	msgType byte, bytesAvailable int) (int, error) {
-	if attr.IsTableAttribute() {
-		return attr.tableAttributeSerializeTo(value, b, msgType, bytesAvailable)
-	}
-	size := attr.GetSize()
-	if bytesAvailable < size {
-		return 0, NewMessageTruncatedError(fmt.Sprintf("not enough space for attribute: %v", attr.Name))
-	}
-	bytes, err := b.AppendBytes(size)
-	if err != nil {
-		return 0, err
-	}
-	switch size {
-	default:
-		copy(bytes, value.([]byte))
-	case 1:
-		switch value.(type) {
-		case int:
-			bytes[0] = byte(value.(int))
-		default:
-			bytes[0] = value.(byte)
-		}
-	case 2:
-		switch value.(type) {
-		case int:
-			binary.BigEndian.PutUint16(bytes, uint16(value.(int)))
-		default:
-			binary.BigEndian.PutUint16(bytes, value.(uint16))
-		}
-	case 4:
-		switch value.(type) {
-		case int:
-			binary.BigEndian.PutUint32(bytes, uint32(value.(int)))
-		default:
-			binary.BigEndian.PutUint32(bytes, value.(uint32))
-		}
-	case 8:
-		switch value.(type) {
-		case int:
-			binary.BigEndian.PutUint64(bytes, uint64(value.(int)))
-		default:
-			binary.BigEndian.PutUint64(bytes, value.(uint64))
-		}
-	}
-	return size, nil
-}
-
-// BufferToTableAttributes takes the reconstructed octet buffer transmitted for
-// a table attribute (over many GetNextResponses) and converts it into the desired
-// format for each table row
-func (attr *AttributeDefinition) BufferToTableAttributes(data []byte) (interface{}, error) {
-	// Source is network byte order octets. Convert to proper array of slices
-	rowSize := attr.GetSize()
-	dataSize := len(data)
-	index := 0
-
-	switch rowSize {
-	default:
-		value := make([][]byte, dataSize/rowSize)
-		for offset := 0; offset < dataSize; offset += rowSize {
-			value[index] = make([]byte, rowSize)
-			copy(value[index], data[offset:])
-			index++
-		}
-		return value, nil
-	case 1:
-		value := make([]byte, dataSize)
-		copy(value, data)
-		return value, nil
-	case 2:
-		value := make([]uint16, dataSize/2)
-		for offset := 0; offset < dataSize; offset += rowSize {
-			value[offset] = binary.BigEndian.Uint16(data[offset:])
-			index++
-		}
-		return value, nil
-	case 4:
-		value := make([]uint32, dataSize/4)
-		for offset := 0; offset < dataSize; offset += rowSize {
-			value[offset] = binary.BigEndian.Uint32(data[offset:])
-			index++
-		}
-		return value, nil
-	case 8:
-		value := make([]uint64, dataSize/8)
-		for offset := 0; offset < dataSize; offset += rowSize {
-			value[offset] = binary.BigEndian.Uint64(data[offset:])
-			index++
-		}
-		return value, nil
-	}
-}
-
-func (attr *AttributeDefinition) tableAttributeDecode(data []byte, df gopacket.DecodeFeedback, msgType byte) (interface{}, error) {
-	// Serialization of a table depends on the type of message. A
-	// Review of ITU-T G.988 shows that access on tables are
-	// either Read and/or Write, never Set-by-Create
-	switch msgType {
-	default:
-		return nil, errors.New(fmt.Sprintf("unsupported Message Type '%v' for table serialization", msgType))
-
-	case byte(Get) | AK: // Get Response
-		// Size
-		value := binary.BigEndian.Uint32(data[0:4])
-		return value, nil
-
-	case byte(GetNext) | AK: // Get Next Response
-		// Block of data (octets) that need to be reassembled before conversion
-		// to table/row-data.  If table attribute is not explicitly given a value
-		// we have to assume the entire data buffer is the value. The receiver of
-		// this frame will need to trim off any addtional information at the end
-		// of the last frame sequence since they (and the ONU) are the only ones
-		// who know how long the data really is.
-		size := attr.GetSize()
-		if size != 0 && len(data) < attr.GetSize() {
-			df.SetTruncated()
-			return nil, NewMessageTruncatedError("packet too small for field")
-		} else if size == 0 {
-			return nil, NewProcessingError("table attributes with no size are not supported: %v", attr.Name)
-		}
-		return data, nil
-
-	case byte(Set) | AR: // Set Request
-		fmt.Println("TODO")
-		return nil, errors.New("TODO")
-
-	case byte(SetTable) | AR: // Set Table Request
-		// TODO: Only baseline supported at this time
-		return nil, errors.New("attribute encode for set-table-request not yet supported")
-	}
-	return nil, errors.New("TODO")
-}
-
-func (attr *AttributeDefinition) tableAttributeSerializeTo(value interface{}, b gopacket.SerializeBuffer, msgType byte,
-	bytesAvailable int) (int, error) {
-	// Serialization of a table depends on the type of message. A
-	// Review of ITU-T G.988 shows that access on tables are
-	// either Read and/or Write, never Set-by-Create
-	switch msgType {
-	default:
-		return 0, errors.New(fmt.Sprintf("unsupported Message Type '%v' for table serialization", msgType))
-
-	case byte(Get) | AK: // Get Response
-		// Size
-		if bytesAvailable < 4 {
-			return 0, NewMessageTruncatedError(fmt.Sprintf("not enough space for attribute: %v", attr.Name))
-		}
-		if dwordSize, ok := value.(uint32); ok {
-			bytes, err := b.AppendBytes(4)
-			if err != nil {
-				return 0, err
-			}
-			binary.BigEndian.PutUint32(bytes, dwordSize)
-			return 4, nil
-		}
-		return 0, errors.New("unexpected type for table serialization")
-
-	case byte(GetNext) | AK: // Get Next Response
-		// Values are already in network by order form
-		if data, ok := value.([]byte); ok {
-			if bytesAvailable < len(data) {
-				return 0, NewMessageTruncatedError(fmt.Sprintf("not enough space for attribute: %v", attr.Name))
-			}
-			bytes, err := b.AppendBytes(len(data))
-			if err != nil {
-				return 0, err
-			}
-			copy(bytes, data)
-			return len(data), nil
-		}
-		return 0, errors.New("unexpected type for table serialization")
-
-	case byte(Set) | AR: // Set Request
-		fmt.Println("TODO")
-
-	case byte(SetTable) | AR: // Set Table Request
-		// TODO: Only baseline supported at this time
-		return 0, errors.New("attribute encode for set-table-request not yet supported")
-	}
-	size := attr.GetSize()
-	if bytesAvailable < size {
-		return 0, NewMessageTruncatedError(fmt.Sprintf("not enough space for attribute: %v", attr.Name))
-	}
-	bytes, err := b.AppendBytes(size)
-	if err != nil {
-		return 0, err
-	}
-	switch attr.GetSize() {
-	default:
-		copy(bytes, value.([]byte))
-	case 1:
-		switch value.(type) {
-		case int:
-			bytes[0] = byte(value.(int))
-		default:
-			bytes[0] = value.(byte)
-		}
-	case 2:
-		switch value.(type) {
-		case int:
-			binary.BigEndian.PutUint16(bytes, uint16(value.(int)))
-		default:
-			binary.BigEndian.PutUint16(bytes, value.(uint16))
-		}
-	case 4:
-		switch value.(type) {
-		case int:
-			binary.BigEndian.PutUint32(bytes, uint32(value.(int)))
-		default:
-			binary.BigEndian.PutUint32(bytes, value.(uint32))
-		}
-	case 8:
-		switch value.(type) {
-		case int:
-			binary.BigEndian.PutUint64(bytes, uint64(value.(int)))
-		default:
-			binary.BigEndian.PutUint64(bytes, value.(uint64))
-		}
-	}
-	return size, nil
-}
-
-// GetAttributeDefinitionByName searches the attribute definition map for the
-// attribute with the specified name (case insensitive)
-func GetAttributeDefinitionByName(attrMap *AttributeDefinitionMap, name string) (*AttributeDefinition, OmciErrors) {
-	nameLower := strings.ToLower(name)
-	for _, attrVal := range *attrMap {
-		if nameLower == strings.ToLower(attrVal.GetName()) {
-			return attrVal, nil
-		}
-	}
-	return nil, NewAttributeFailureError(fmt.Sprintf("attribute '%s' not found", name))
-}
-
-// GetAttributeDefinitionMapKeys is a convenience functions since we may need to
-// iterate a map in key index order. Maps in Go since v1.0 the iteration order
-// of maps have been randomized.
-func GetAttributeDefinitionMapKeys(attrMap AttributeDefinitionMap) []uint {
-	var keys []uint
-	for k := range attrMap {
-		keys = append(keys, k)
-	}
-	sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] })
-	return keys
-}
-
-// GetAttributeBitmap is a convenience functions to scan a list of attributes
-// and return the bitmask that represents them
-func GetAttributeBitmap(attrMap AttributeDefinitionMap, attributes mapset.Set) (uint16, error) {
-	var mask uint16
-	for k, def := range attrMap {
-		if attributes.Contains(def.Name) {
-			mask |= 1 << uint16(16-k)
-			attributes.Remove(def.Name)
-		}
-	}
-	if attributes.Cardinality() > 0 {
-		return 0, errors.New(fmt.Sprintf("unsupported attributes: %v", attributes))
-	}
-	return mask, nil
-}
-
-///////////////////////////////////////////////////////////////////////
-// Packet definitions for attributes of various types/sizes
-
-func ByteField(name string, defVal uint8, access mapset.Set, avc bool,
-	counter bool, optional bool, deprecated bool, index uint) *AttributeDefinition {
-	return &AttributeDefinition{
-		Name:         name,
-		Index:        index,
-		DefValue:     defVal,
-		Size:         1,
-		Access:       access,
-		Avc:          avc,
-		Counter:      counter,
-		TableSupport: false,
-		Optional:     optional,
-		Deprecated:   deprecated,
-	}
-}
-
-func Uint16Field(name string, defVal uint16, access mapset.Set, avc bool,
-	counter bool, optional bool, deprecated bool, index uint) *AttributeDefinition {
-	return &AttributeDefinition{
-		Name:         name,
-		Index:        index,
-		DefValue:     defVal,
-		Size:         2,
-		Access:       access,
-		Avc:          avc,
-		Counter:      counter,
-		TableSupport: false,
-		Optional:     optional,
-		Deprecated:   deprecated,
-	}
-}
-
-func Uint32Field(name string, defVal uint32, access mapset.Set, avc bool,
-	counter bool, optional bool, deprecated bool, index uint) *AttributeDefinition {
-	return &AttributeDefinition{
-		Name:         name,
-		Index:        index,
-		DefValue:     defVal,
-		Size:         4,
-		Access:       access,
-		Avc:          avc,
-		Counter:      counter,
-		TableSupport: false,
-		Optional:     optional,
-		Deprecated:   deprecated,
-	}
-}
-
-func Uint64Field(name string, defVal uint64, access mapset.Set, avc bool,
-	counter bool, optional bool, deprecated bool, index uint) *AttributeDefinition {
-	return &AttributeDefinition{
-		Name:         name,
-		Index:        index,
-		DefValue:     defVal,
-		Size:         8,
-		Access:       access,
-		Avc:          avc,
-		Counter:      counter,
-		TableSupport: false,
-		Optional:     optional,
-		Deprecated:   deprecated,
-	}
-}
-
-func MultiByteField(name string, size uint, defVal []byte, access mapset.Set, avc bool,
-	counter bool, optional bool, deprecated bool, index uint) *AttributeDefinition {
-	return &AttributeDefinition{
-		Name:         name,
-		Index:        index,
-		DefValue:     defVal,
-		Size:         int(size),
-		Access:       access,
-		Avc:          avc,
-		Counter:      counter,
-		TableSupport: false,
-		Optional:     optional,
-		Deprecated:   deprecated,
-	}
-}
-
-// Notes on various OMCI ME Table attribute fields.  This comment will eventually be
-// removed once a good table solution is implemented.  These are not all the MEs with
-// table attributes, but probably ones I care about to support initially.
-//
-//   ME                     Notes
-//  --------------------------------------------------------------------------------------------
-//	Port-mapping package -> Combined Port table -> N * 25 sized rows (port (1) + ME(2) * 12)
-//  ONU Remote Debug     -> Reply table (N bytes)
-//  ONU3-G               -> Status snapshot recordtable M x N bytes
-//  MCAST Gem interworkTP-> IPv4 multicast adress table (12*n) (two 2 byte fields, two 4 byte fields)
-//                          IPv6 multicast adress table (24*n) (various sub-fields)
-//  L2 mcast gem TP      -> MCAST MAC addr filtering table (11 * n) (various sub-fields)
-//  MAC Bridge Port Filt -> MAC Filter table (8 * n) (3 fields, some are bits)      *** BITS ***
-//  MAC Bridge Port data -> Bridge Table (8*M) (vaius fields, some are bits)        *** BITS ***
-//  VLAN tagging filter  -> Rx Vlan tag op table (16 * n) Lots of bit fields        *** BITS ***
-//  MCAST operations profile
-//  MCAST Subscriber config info
-//  MCAST subscriber monitor
-//  OMCI                -> Two tables (N bytes and 2*N bytes)
-//  General pupose buffer   -> N bytes
-//  Enhanced security control (17 * N bytes), (16 * P Bytes) , (16 * Q bytes), and more...
-//
-// An early example of info to track
-//
-type TableInfo struct {
-	Value interface{}
-	Size  int
-}
-
-func (t *TableInfo) String() string {
-	return fmt.Sprintf("TableInfo: Size: %d, Value(s): %v", t.Size, t.Value)
-}
-
-// Now the field
-func TableField(name string, tableInfo TableInfo, access mapset.Set,
-	avc bool, optional bool, deprecated bool, index uint) *AttributeDefinition {
-	return &AttributeDefinition{
-		Name:         name,
-		Index:        index,
-		DefValue:     tableInfo.Value,
-		Size:         tableInfo.Size, //Number of elements
-		Access:       access,
-		Avc:          avc,
-		Counter:      false,
-		TableSupport: true,
-		Optional:     optional,
-		Deprecated:   deprecated,
-	}
-}
-
-func UnknownField(name string, defVal uint64, access mapset.Set, avc bool,
-	counter bool, optional bool, deprecated bool, index uint) *AttributeDefinition {
-	return &AttributeDefinition{
-		Name:         name,
-		Index:        index,
-		DefValue:     defVal,
-		Size:         99999999,
-		Access:       access,
-		Avc:          avc,
-		Counter:      counter,
-		TableSupport: false,
-		Optional:     optional,
-		Deprecated:   deprecated,
-	}
-}
-
-///////////////////////////////////////////////////////////////////////
-// Attribute Name to Value    (Interfaced defined in generated subdirectory)
-
-type AttributeValueMap map[string]interface{}
diff --git a/vendor/github.com/cboling/omci/generated/attributeme.go b/vendor/github.com/cboling/omci/generated/attributeme.go
deleted file mode 100644
index e405e66..0000000
--- a/vendor/github.com/cboling/omci/generated/attributeme.go
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const AttributeMeClassId ClassID = ClassID(289)
-
-var attributemeBME *ManagedEntityDefinition
-
-// AttributeMe (class ID #289)
-//	This ME describes a particular attribute type that is supported by the ONU. This ME is not
-//	included in an MIB upload.
-//
-//	Relationships
-//		One or more attribute entities are related to each ME entity. More than one ME entity can refer
-//		to a given attribute entity.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This number is
-//			the same as the one that appears in the attributes table in the ME. Only one instance of each
-//			unique attribute need be created. The ONU can assign attribute numbering as it pleases, out of
-//			the pool of 64K IDs; however, it is suggested that the numbering follow a rational scheme to aid
-//			human readability. (R) (mandatory) (2 bytes)
-//
-//		Name
-//			Name:	This attribute contains a 25 byte mnemonic tag for the attribute. Strings shorter than
-//			25 bytes are padded with null characters. (R) (mandatory) (25 bytes)
-//
-//		Size
-//			Size:	This attribute contains the size of the attribute, in bytes. The value 0 indicates that
-//			the attribute can have a variable/unknown size. (R) (mandatory) (2 bytes)
-//
-//		Access
-//			(R) (mandatory) (1 byte)
-//
-//		Format
-//			(R) (mandatory) (1 byte)
-//
-//		Lower Limit
-//			Lower limit:	This attribute provides the lowest value for the attribute. Valid for numeric types
-//			(pointer, signed integer, unsigned integer) only. For attributes smaller than 4 bytes, the
-//			desired numeric value is expressed in 4 byte representation (for example, the 2s complement
-//			1 byte integer 0xFE is expressed as 0xFFFF FFFE; the unsigned 1 byte integer 0xFE is expressed
-//			as 0x0000 00FE). (R) (mandatory) (4 bytes)
-//
-//		Upper Limit
-//			Upper limit:	This attribute provides the highest value for the attribute. It has the same
-//			validity and format as the lower limit attribute. (R) (mandatory) (4 bytes)
-//
-//		Bit Field
-//			Bit field:	This attribute is a mask of the supported bits in a bit field attribute, valid for
-//			bit field type only. A 1 in any position signifies that its code point is supported, while 0
-//			indicates that it is not supported. For bit fields smaller than 4 bytes, the attribute is
-//			aligned at the least significant end of the mask. (R) (mandatory) (4 bytes)
-//
-//		Code Points Table
-//			Code points table: This attribute lists the code points supported by an enumerated attribute.
-//			(R) (mandatory) (2 * Q bytes, where Q is the number of entries in the table.)
-//
-//		Support
-//			(R) (mandatory) (1 byte)
-//
-type AttributeMe struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	attributemeBME = &ManagedEntityDefinition{
-		Name:    "AttributeMe",
-		ClassID: 289,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			GetNext,
-		),
-		AllowedAttributeMask: 0XFF80,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: MultiByteField("Name", 25, nil, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("Size", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3: ByteField("Access", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: ByteField("Format", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("LowerLimit", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("UpperLimit", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("BitField", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: TableField("CodePointsTable", TableInfo{0, 2}, mapset.NewSetWith(Read), false, false, false, 8),
-			9: ByteField("Support", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-		},
-	}
-}
-
-// NewAttributeMe (class ID 289 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewAttributeMe(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(attributemeBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/authenticationsecuritymethod.go b/vendor/github.com/cboling/omci/generated/authenticationsecuritymethod.go
deleted file mode 100644
index 58b64dd..0000000
--- a/vendor/github.com/cboling/omci/generated/authenticationsecuritymethod.go
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const AuthenticationSecurityMethodClassId ClassID = ClassID(148)
-
-var authenticationsecuritymethodBME *ManagedEntityDefinition
-
-// AuthenticationSecurityMethod (class ID #148)
-//	The authentication security method defines the user ID and password configuration to establish a
-//	session between a client and a server. This object may be used in the role of the client or
-//	server. An instance of this ME is created by the OLT if authenticated communication is
-//	necessary.
-//
-//	Relationships
-//		One instance of this management entity may be associated with a network address ME. This ME may
-//		also be cited by other MEs that require authentication parameter management.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0xFFFF
-//			is reserved. (R, setbycreate) (mandatory) (2 bytes)
-//
-//		Validation Scheme
-//			(R, W) (mandatory) (1 byte)
-//
-//		Username 1
-//			Username 1:	This string attribute is the user name. If the string is shorter than 25 bytes, it
-//			must be null terminated (Note). (R, W) (mandatory) (25 bytes)
-//
-//		Password
-//			Password:	This string attribute is the password. If the string is shorter than 25 bytes, it must
-//			be null terminated. (R, W) (mandatory) (25 bytes)
-//
-//		Realm
-//			Realm:	This string attribute specifies the realm used in digest authentication. If the string is
-//			shorter than 25 bytes, it must be null terminated. (R, W) (mandatory) (25 bytes)
-//
-//		Username 2
-//			NOTE – The total username is the concatenation of the username 1 and username 2 attributes if
-//			and only if: a) username 1 comprises 25 non-null characters; b) username 2 is supported by the
-//			ONU; and c) username 2 contains a leading non-null character string. Otherwise, the total
-//			username is simply the value of the username 1 attribute.
-//
-type AuthenticationSecurityMethod struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	authenticationsecuritymethodBME = &ManagedEntityDefinition{
-		Name:    "AuthenticationSecurityMethod",
-		ClassID: 148,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XF800,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("ValidationScheme", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2: MultiByteField("Username1", 25, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3: MultiByteField("Password", 25, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4: MultiByteField("Realm", 25, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5: MultiByteField("Username2", 25, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
-		},
-	}
-}
-
-// NewAuthenticationSecurityMethod (class ID 148 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewAuthenticationSecurityMethod(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(authenticationsecuritymethodBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/dot1agmep.go b/vendor/github.com/cboling/omci/generated/dot1agmep.go
deleted file mode 100644
index 4b4924c..0000000
--- a/vendor/github.com/cboling/omci/generated/dot1agmep.go
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const Dot1AgMepClassId ClassID = ClassID(302)
-
-var dot1agmepBME *ManagedEntityDefinition
-
-// Dot1AgMep (class ID #302)
-//	This ME models an MEP as defined primarily in [IEEE 802.1ag] and secondarily in [ITUT Y.1731].
-//	It is created and deleted by the OLT. An MEP exists at one of eight possible maintenance levels,
-//	and resides at the boundary of a MD. It inherits a name, and optionally a set of associated
-//	VLANs, from its associated MA.
-//
-//	Relationships
-//		One or more MEPs may be associated with a MAC bridge port or an IEEE 802.1p mapper in the
-//		absence of a MAC bridge. An MEP is also associated with zero or more VLANs and an MA.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Layer 2 Entity Pointer
-//			Layer 2 entity pointer: Depending on the value of the layer 2 type attribute, this pointer
-//			specifies the MAC bridge port configuration data ME or the IEEE 802.1p mapper service profile ME
-//			with which this MEP is associated. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Layer 2 Type
-//			Layer 2 type:	This attribute specifies whether the MA is associated with a MAC bridge port
-//			(value 0) or an IEEE 802.1p mapper (value 1). (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Ma Pointer
-//			MA pointer:	This pointer specifies the maintenance association with which this MEP is
-//			associated. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Mep Id
-//			MEP ID:	This attribute specifies the MEP's own identity in the MA. For a given MA, the MEP ID
-//			must be unique throughout the network defined by the MD. The MEP ID is defined in the range
-//			1..8191. The value 0 indicates that no MEP ID is (yet) configured. (R, W, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Mep Control
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Primary Vlan
-//			Primary VLAN: This attribute is a 12 bit VLAN ID. The value 0 indicates that the MEP inherits
-//			its primary VLAN from its parent MA. CFM messages, except forwarded LTMs, are tagged with the
-//			primary VLAN ID. If explicitly specified, the value of this attribute must be one of the VLANs
-//			associated with the parent MA. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Administrative State
-//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is further described in clause A.1.6. (R, W, setbycreate) (mandatory)
-//			(1 byte)
-//
-//		Ccm And Ltm Priority
-//			CCM and LTM priority: Ranging from 0..7, this attribute permits CCM and LTM frames to be
-//			explicitly prioritized, which may be needed if flows are separated, e.g., by 802.1p priority.
-//			The priority specified in this attribute is also used in linktrace reply (LTR) frames originated
-//			by this MEP. The value 0xFF selects the IEEE 802.1ag default, whereby CCM and LTM frames are
-//			transmitted with the highest Ethernet priority available. (R, W, setbycreate) (mandatory)
-//			(1 byte)
-//
-//		Egress Identifier
-//			Egress identifier: This attribute comprises 8 bytes to be included in LTMs. They allow received
-//			LTRs to be directed to the correct originator. The attribute includes the originator MAC address
-//			and a locally defined identifier. If this field is 0, the ONU uses the MEP's MAC address, with 0
-//			as the locally defined identifier. (R, W, setbycreate) (mandatory) (8 bytes)
-//
-//		Peer Mep Ids
-//			Peer MEP IDs: This attribute lists the expected peer MEPs for CCMs, 2 bytes per MEP ID. [IEEE
-//			802.1ag] allows for multipoint networks, and therefore a list of peer MEPs. This attribute
-//			allows for up to 12 peers for a given MEP, though GPON applications are expected to need only a
-//			single peer. Missing or unexpected messages trigger alarm declaration after a soak interval.
-//			Unused peer MEP slots should be set to 0. (R, W) (mandatory) (24 bytes)
-//
-//		Eth Ais Control
-//			(R, W, setbycreate) (mandatory if ETH AIS is enabled) (1 byte)
-//
-//		Fault Alarm Threshold
-//			(R, W, setbycreate) (optional) (1 byte)
-//
-//		Alarm Declaration Soak Time
-//			Alarm declaration soak time: This attribute defines the defect soak time that must elapse before
-//			the MEP declares an alarm. It is expressed in 10 ms units with a range of 250 to 1000, i.e.,
-//			2.5 s to 10 s. The default is recommended to be 2.5 seconds. (R, W) (mandatory) (2 bytes)
-//
-//		Alarm Clear Soak Time
-//			Alarm clear soak time: This attribute defines the defect-free soak time that must elapse before
-//			the MEP clears an alarm. It is expressed in intervals of 10 ms with a range of 250 to 1 000,
-//			i.e., 2.5 s to 10 s. The default is recommended to be 10 s. (R, W) (mandatory) (2 bytes)
-//
-type Dot1AgMep struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	dot1agmepBME = &ManagedEntityDefinition{
-		Name:    "Dot1AgMep",
-		ClassID: 302,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFC,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint16Field("Layer2EntityPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  ByteField("Layer2Type", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint16Field("MaPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  Uint16Field("MepId", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  ByteField("MepControl", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6:  Uint16Field("PrimaryVlan", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8:  ByteField("CcmAndLtmPriority", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  Uint64Field("EgressIdentifier", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 9),
-			10: MultiByteField("PeerMepIds", 24, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 10),
-			11: ByteField("EthAisControl", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 11),
-			12: ByteField("FaultAlarmThreshold", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 12),
-			13: Uint16Field("AlarmDeclarationSoakTime", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 13),
-			14: Uint16Field("AlarmClearSoakTime", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 14),
-		},
-	}
-}
-
-// NewDot1AgMep (class ID 302 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewDot1AgMep(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(dot1agmepBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/dot1xconfigurationprofile.go b/vendor/github.com/cboling/omci/generated/dot1xconfigurationprofile.go
deleted file mode 100644
index 361293a..0000000
--- a/vendor/github.com/cboling/omci/generated/dot1xconfigurationprofile.go
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const Dot1XConfigurationProfileClassId ClassID = ClassID(291)
-
-var dot1xconfigurationprofileBME *ManagedEntityDefinition
-
-// Dot1XConfigurationProfile (class ID #291)
-//	An instance of this ME represents a set of attributes that control an ONU's 802.1X operation
-//	with regard to IEEE 802 services. An instance of this ME is created by the ONU if it is capable
-//	of supporting [IEEE 802.1X] authentication of CPE.
-//
-//	Relationships
-//		One instance of this ME governs the ONU's 802.1X CPE authentication behaviour.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute provides a unique number for each instance of this ME. There
-//			is at most one instance, number 0. (R) (mandatory) (2 bytes)
-//
-//		Circuit Id Prefix
-//			Circuit ID prefix: This attribute is a pointer to a large string ME whose content appears as the
-//			prefix of the NAS port ID in radius access-request messages. The remainder of the NAS port ID
-//			field is local information (for example, slot-port, appended by the ONU itself). The default
-//			value of this attribute is the null pointer 0. (R, W) (mandatory) (2 bytes)
-//
-//		Fallback Policy
-//			Fallback policy: When set to 1 (deny), this attribute causes IEEE 802.1X conversations to fail
-//			when no external authentication server is accessible, such that no Ethernet service is provided.
-//			The default value 0 causes IEEE 802.1X conversations to succeed when no external authentication
-//			server is accessible. (R, W) (mandatory) (1 byte)
-//
-//		Auth Server 1
-//			Auth server 1: This attribute is a pointer to a large string ME that contains the URI of the
-//			first choice radius authentication server. The value 0 indicates that no radius authentication
-//			server is specified. (R, W) (mandatory) (2 bytes)
-//
-//		Shared Secret Auth1
-//			Shared secret auth1: This attribute is the shared secret for the first radius authentication
-//			server. It is a null-terminated character string. (R, W) (mandatory) (25 bytes)
-//
-//		Auth Server 2
-//			Auth server 2:	(R, W) (optional) (2 bytes)
-//
-//		Shared Secret Auth2
-//			Shared secret auth2:	(R, W) (optional) (25 bytes)
-//
-//		Auth Server 3
-//			Auth server 3:	(R, W) (optional) (2 bytes)
-//
-//		Shared Secret Auth3
-//			Shared secret auth3:	(R, W) (optional) (25 bytes)
-//
-//		Olt Proxy Address
-//			OLT proxy address: This attribute indicates the IP address of a possible proxy at the OLT for
-//			IEEE 802.1X radius messages. The default value 0.0.0.0 indicates that no proxy is required.
-//			(R, W) (optional) (4 bytes)
-//
-//		Calling Station Id Format
-//			Other values are reserved.
-//
-type Dot1XConfigurationProfile struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	dot1xconfigurationprofileBME = &ManagedEntityDefinition{
-		Name:    "Dot1XConfigurationProfile",
-		ClassID: 291,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFC0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  Uint16Field("CircuitIdPrefix", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  ByteField("FallbackPolicy", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3:  Uint16Field("AuthServer1", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  MultiByteField("SharedSecretAuth1", 25, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  Uint16Field("AuthServer2", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
-			6:  MultiByteField("SharedSecretAuth2", 25, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7:  Uint16Field("AuthServer3", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 7),
-			8:  MultiByteField("SharedSecretAuth3", 25, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
-			9:  Uint32Field("OltProxyAddress", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-			10: Uint16Field("CallingStationIdFormat", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
-		},
-	}
-}
-
-// NewDot1XConfigurationProfile (class ID 291 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewDot1XConfigurationProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(dot1xconfigurationprofileBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/dot1xperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/dot1xperformancemonitoringhistorydata.go
deleted file mode 100644
index 18d4bd6..0000000
--- a/vendor/github.com/cboling/omci/generated/dot1xperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const Dot1XPerformanceMonitoringHistoryDataClassId ClassID = ClassID(292)
-
-var dot1xperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// Dot1XPerformanceMonitoringHistoryData (class ID #292)
-//	This ME collects performance statistics on an ONU's IEEE 802.1X CPE authentication operation.
-//	Instances of this ME are created and deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME may be associated with each UNI that can perform IEEE 802.1X
-//		authentication of CPE.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of a PPTP. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Eapol Frames Received
-//			EAPOL frames received: This attribute counts received valid EAPOL frames of any type. (R)
-//			(mandatory) (4 bytes)
-//
-//		Eapol Frames Transmitted
-//			EAPOL frames transmitted: This attribute counts transmitted EAPOL frames of any type. (R)
-//			(mandatory) (4 bytes)
-//
-//		Eapol Start Frames Received
-//			EAPOL start frames received: This attribute counts received EAPOL start frames. (R) (mandatory)
-//			(4 bytes)
-//
-//		Eapol Logoff Frames Received
-//			EAPOL logoff frames received: This attribute counts received EAPOL logoff frames. (R)
-//			(mandatory) (4 bytes)
-//
-//		Invalid Eapol Frames Received
-//			Invalid EAPOL frames received: This attribute counts received EAPOL frames in which the frame
-//			type was not recognized. (R) (mandatory) (4 bytes)
-//
-//		Eap Resp_Id Frames Received
-//			EAP resp/id frames received: This attribute counts received EAP response frames containing an
-//			identifier type field. (R) (mandatory) (4 bytes)
-//
-//		Eap Response Frames Received
-//			EAP response frames received: This attribute counts received EAP response frames, other than
-//			resp/id frames. (R) (mandatory) (4 bytes)
-//
-//		Eap Initial Request Frames Transmitted
-//			EAP initial request frames transmitted: This attribute counts transmitted request frames
-//			containing an identifier type field. In [IEEE 802.1X], this is also called ReqId. (R)
-//			(mandatory) (4 bytes)
-//
-//		Eap Request Frames Transmitted
-//			EAP request frames transmitted: This attribute counts transmitted request frames, other than
-//			request/id frames. (R) (mandatory) (4 bytes)
-//
-//		Eap Length Error Frames Received
-//			EAP length error frames received: This attribute counts received EAPOL frames whose packet body
-//			length field was invalid. (R) (mandatory) (4 bytes)
-//
-//		Eap Success Frames Generated Autonomously
-//			EAP success frames generated autonomously: This attribute counts EAPOL success frames generated
-//			according to the local fallback policy because no radius server was available. (R) (mandatory)
-//			(4 bytes)
-//
-//		Eap Failure Frames Generated Autonomously
-//			EAP failure frames generated autonomously: This attribute counts EAPOL failure frames generated
-//			according to the local fallback policy because no radius server was available. (R) (mandatory)
-//			(4 bytes)
-//
-type Dot1XPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	dot1xperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "Dot1XPerformanceMonitoringHistoryData",
-		ClassID: 292,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFC,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("EapolFramesReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("EapolFramesTransmitted", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("EapolStartFramesReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("EapolLogoffFramesReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("InvalidEapolFramesReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("EapRespIdFramesReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("EapResponseFramesReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("EapInitialRequestFramesTransmitted", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("EapRequestFramesTransmitted", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("EapLengthErrorFramesReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("EapSuccessFramesGeneratedAutonomously", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("EapFailureFramesGeneratedAutonomously", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-		},
-	}
-}
-
-// NewDot1XPerformanceMonitoringHistoryData (class ID 292 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewDot1XPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(dot1xperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/efmbondinggroupperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/efmbondinggroupperformancemonitoringhistorydata.go
deleted file mode 100644
index 0659555..0000000
--- a/vendor/github.com/cboling/omci/generated/efmbondinggroupperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const EfmBondingGroupPerformanceMonitoringHistoryDataClassId ClassID = ClassID(421)
-
-var efmbondinggroupperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// EfmBondingGroupPerformanceMonitoringHistoryData (class ID #421)
-//	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
-//	the OLT.
-//
-//	Relationships
-//		An instance of this ME is associated with an xDSL UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the EFM bonding group. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contain PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Rx Bad Fragments
-//			Rx bad fragments: Clause 45.2.3.33 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Lost Fragments
-//			Rx lost fragments: Clause 45.2.3.34 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Lost Starts
-//			Rx lost starts: Clause 45.2.3.35 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Lost Ends
-//			Rx lost ends: Clause 45.2.3.36 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Frames
-//			Rx frames: Number of Ethernet frames received over this group. (R) (mandatory) (4 bytes)
-//
-//		Tx Frames
-//			Tx frames: Number of Ethernet frames transmitted over this group. (R) (mandatory) (4 bytes)
-//
-//		Rx Bytes
-//			Rx bytes: Number of bytes contained in the Ethernet frames received over this group. (R)
-//			(mandatory) (8 bytes)
-//
-//		Tx Bytes
-//			Tx bytes: Number of bytes contained in the Ethernet frames transmitted over this group. (R)
-//			(mandatory) (8 bytes)
-//
-//		Tx Discarded Frames
-//			Tx discarded frames: Number of Ethernet frames discarded by the group transmit function. (R)
-//			(mandatory) (4 bytes)
-//
-//		Tx Discarded Bytes
-//			Tx discarded bytes: Number of bytes contained in the Ethernet frames discarded by the group
-//			transmit function. (R) (mandatory) (4 bytes)
-//
-type EfmBondingGroupPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	efmbondinggroupperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "EfmBondingGroupPerformanceMonitoringHistoryData",
-		ClassID: 421,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFF0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("RxBadFragments", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("RxLostFragments", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("RxLostStarts", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("RxLostEnds", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("RxFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("TxFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint64Field("RxBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint64Field("TxBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("TxDiscardedFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("TxDiscardedBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-		},
-	}
-}
-
-// NewEfmBondingGroupPerformanceMonitoringHistoryData (class ID 421 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewEfmBondingGroupPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(efmbondinggroupperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go b/vendor/github.com/cboling/omci/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
deleted file mode 100644
index eddbf2c..0000000
--- a/vendor/github.com/cboling/omci/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const EfmBondingGroupPerformanceMonitoringHistoryDataPart2ClassId ClassID = ClassID(422)
-
-var efmbondinggroupperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
-
-// EfmBondingGroupPerformanceMonitoringHistoryDataPart2 (class ID #422)
-//	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
-//	the OLT.
-//
-//	Relationships
-//		An instance of this ME is associated with an xDSL UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the EFM bonding group. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contain PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Rx Unicast Frames
-//			Rx unicast frames: Number of unicast Ethernet frames received over this group. (R) (mandatory)
-//			(4 bytes)
-//
-//		Tx Unicast Frames
-//			Tx unicast frames: Number of unicast Ethernet frames transmitted over this group. (R)
-//			(mandatory) (4 bytes)
-//
-//		Rx Unicast Bytes
-//			Rx unicast bytes: Number of bytes contained in the unicast Ethernet frames received over this
-//			group. (R) (mandatory) (8 bytes)
-//
-//		Tx Unicast Bytes
-//			Tx unicast bytes: Number of bytes contained in the unicast Ethernet frames transmitted over this
-//			group. (R) (mandatory) (8 bytes)
-//
-//		Rx Broadcast Frames
-//			Rx broadcast frames: Number of broadcast Ethernet frames received over this group. (R)
-//			(mandatory) (4 bytes)
-//
-//		Tx Broadcast Frames
-//			Tx broadcast frames: Number of broadcast Ethernet frames transmitted over this group. (R)
-//			(mandatory) (4 bytes)
-//
-//		Rx Broadcast Bytes
-//			Rx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames received over
-//			this group. (R) (mandatory) (8 bytes)
-//
-//		Tx Broadcast Bytes
-//			Tx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames transmitted over
-//			this group. (R) (mandatory) (8 bytes)
-//
-//		Rx Multicast Frames
-//			Rx multicast frames: Number of multicast Ethernet frames received over this group. (R)
-//			(mandatory) (4 bytes)
-//
-//		Tx Multicast Frames
-//			Tx multicast frames: Number of multicast Ethernet frames transmitted over this group. (R)
-//			(mandatory) (4 bytes)
-//
-//		Rx Multicast Bytes
-//			Rx multicast bytes: Number of bytes contained in the multicast Ethernet frames received over
-//			this group. (R) (mandatory) (8 bytes)
-//
-//		Tx Multicast Bytes
-//			Tx multicast bytes: Number of bytes contained in the multicast Ethernet frames transmitted over
-//			this group. (R) (mandatory) (8 bytes)
-//
-type EfmBondingGroupPerformanceMonitoringHistoryDataPart2 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	efmbondinggroupperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
-		Name:    "EfmBondingGroupPerformanceMonitoringHistoryDataPart2",
-		ClassID: 422,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFC,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("RxUnicastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("TxUnicastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint64Field("RxUnicastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint64Field("TxUnicastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("RxBroadcastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("TxBroadcastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint64Field("RxBroadcastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint64Field("TxBroadcastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("RxMulticastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("TxMulticastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint64Field("RxMulticastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint64Field("TxMulticastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-		},
-	}
-}
-
-// NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2 (class ID 422 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(efmbondinggroupperformancemonitoringhistorydatapart2BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/efmbondinglinkperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/efmbondinglinkperformancemonitoringhistorydata.go
deleted file mode 100644
index f5963d4..0000000
--- a/vendor/github.com/cboling/omci/generated/efmbondinglinkperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const EfmBondingLinkPerformanceMonitoringHistoryDataClassId ClassID = ClassID(423)
-
-var efmbondinglinkperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// EfmBondingLinkPerformanceMonitoringHistoryData (class ID #423)
-//	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
-//	the OLT.
-//
-//	Relationships
-//		An instance of this ME is associated with an xDSL UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the EFM bonding link. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contain PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Rx Errored Fragments
-//			Rx errored fragments: Clause 45.2.3.29 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Small Fragments
-//			Rx small fragments: Clause 45.2.3.30 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Large Fragments
-//			Rx large fragments: Clause 45.2.3.31 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Discarded Fragments
-//			Rx discarded fragments: Clause 45.2.3.32 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Fcs Errors
-//			Rx FCS errors: Clause 45.2.6.11 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Coding Errors
-//			Rx coding errors: Clause 45.2.6.12 of [IEEE 802.3]. (R) (mandatory) (4 bytes)
-//
-//		Rx Fragments
-//			Rx fragments: Number of fragments received over this link. (R) (mandatory) (4 bytes)
-//
-//		Tx Fragments
-//			Tx fragments: Number of fragments transmitted over this link. (R) (mandatory) (4 bytes)
-//
-type EfmBondingLinkPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	efmbondinglinkperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "EfmBondingLinkPerformanceMonitoringHistoryData",
-		ClassID: 423,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFC0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("RxErroredFragments", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("RxSmallFragments", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("RxLargeFragments", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("RxDiscardedFragments", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("RxFcsErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("RxCodingErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("RxFragments", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("TxFragments", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-		},
-	}
-}
-
-// NewEfmBondingLinkPerformanceMonitoringHistoryData (class ID 423 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewEfmBondingLinkPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(efmbondinglinkperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/efmbondingportperformancemonitoringhistorydatapart2.go b/vendor/github.com/cboling/omci/generated/efmbondingportperformancemonitoringhistorydatapart2.go
deleted file mode 100644
index cc3dd54..0000000
--- a/vendor/github.com/cboling/omci/generated/efmbondingportperformancemonitoringhistorydatapart2.go
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const EfmBondingPortPerformanceMonitoringHistoryDataPart2ClassId ClassID = ClassID(425)
-
-var efmbondingportperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
-
-// EfmBondingPortPerformanceMonitoringHistoryDataPart2 (class ID #425)
-//	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
-//	the OLT.
-//
-//	Relationships
-//		An instance of this ME is associated with an xDSL UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The two MSBs of
-//			the first byte are the bearer channel ID. Excluding the first 2 bits of the first byte, the
-//			remaining part of the ME ID is identical to that of this ME's parent PPTP xDSL UNI part 1. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contain PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Rx Unicast Frames
-//			Rx unicast frames: Number of unicast Ethernet frames received over this port. (R) (mandatory)
-//			(4 bytes)
-//
-//		Tx Unicast Frames
-//			Tx unicast frames: Number of unicast Ethernet frames transmitted over this port. (R) (mandatory)
-//			(4 bytes)
-//
-//		Rx Unicast Bytes
-//			Rx unicast bytes: Number of bytes contained in the unicast Ethernet frames received over this
-//			port. (R) (mandatory) (4 bytes)
-//
-//		Tx Unicast Bytes
-//			Tx unicast bytes: Number of bytes contained in the unicast Ethernet frames transmitted over this
-//			port. (R) (mandatory) (4 bytes)
-//
-//		Rx Broadcast Frames
-//			Rx broadcast frames: Number of broadcast Ethernet frames received over this port. (R)
-//			(mandatory) (4 bytes)
-//
-//		Tx Broadcast Frames
-//			Tx broadcast frames: Number of broadcast Ethernet frames transmitted over this port. (R)
-//			(mandatory) (4 bytes)
-//
-//		Rx Broadcast Bytes
-//			Rx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames received over
-//			this port. (R) (mandatory) (4 bytes)
-//
-//		Tx Broadcast Bytes
-//			Tx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames transmitted over
-//			this port. (R) (mandatory) (4 bytes)
-//
-//		Rx Multicast Frames
-//			Rx multicast frames: Number of multicast Ethernet frames received over this port. (R)
-//			(mandatory) (4 bytes)
-//
-//		Tx Multicast Frames
-//			Tx multicast frames: Number of multicast Ethernet frames transmitted over this port. (R)
-//			(mandatory) (4 bytes)
-//
-//		Rx Multicast Bytes
-//			Rx multicast bytes: Number of bytes contained in the multicast Ethernet frames received over
-//			this port. (R) (mandatory) (4 bytes)
-//
-//		Tx Multicast Bytes
-//			Tx multicast bytes: Number of bytes contained in the multicast Ethernet frames transmitted over
-//			this port. (R) (mandatory) (4 bytes)
-//
-type EfmBondingPortPerformanceMonitoringHistoryDataPart2 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	efmbondingportperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
-		Name:    "EfmBondingPortPerformanceMonitoringHistoryDataPart2",
-		ClassID: 425,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFC,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("RxUnicastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("TxUnicastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("RxUnicastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("TxUnicastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("RxBroadcastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("TxBroadcastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("RxBroadcastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("TxBroadcastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("RxMulticastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("TxMulticastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("RxMulticastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("TxMulticastBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-		},
-	}
-}
-
-// NewEfmBondingPortPerformanceMonitoringHistoryDataPart2 (class ID 425 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewEfmBondingPortPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(efmbondingportperformancemonitoringhistorydatapart2BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/ethernetframeperformancemonitoringhistorydatadownstream.go b/vendor/github.com/cboling/omci/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
deleted file mode 100644
index 6c65ece..0000000
--- a/vendor/github.com/cboling/omci/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const EthernetFramePerformanceMonitoringHistoryDataDownstreamClassId ClassID = ClassID(321)
-
-var ethernetframeperformancemonitoringhistorydatadownstreamBME *ManagedEntityDefinition
-
-// EthernetFramePerformanceMonitoringHistoryDataDownstream (class ID #321)
-//	This ME is identical to the Ethernet frame PM history data upstream ME, with the exception that
-//	it monitors downstream traffic.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of a MAC bridge port configuration
-//			data. (R, setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Drop Events
-//			Drop events:	The total number of events in which packets were dropped due to a lack of
-//			resources. This is not necessarily the number of packets dropped; it is the number of times this
-//			event was detected. (R) (mandatory) (4 bytes)
-//
-//		Octets
-//			Octets:	The total number of upstream octets received, including those in bad packets, excluding
-//			framing bits, but including FCS. (R) (mandatory) (4 bytes)
-//
-//		Packets
-//			Packets:	The total number of upstream packets received, including bad packets, broadcast packets
-//			and multicast packets. (R) (mandatory) (4 bytes)
-//
-//		Broadcast Packets
-//			Broadcast packets: The total number of upstream good packets received that were directed to the
-//			broadcast address. This does not include multicast packets. (R) (mandatory) (4 bytes)
-//
-//		Multicast Packets
-//			Multicast packets: The total number of upstream good packets received that were directed to a
-//			multicast address. This does not include broadcast packets. (R) (mandatory) (4 bytes)
-//
-//		Crc Errored Packets
-//			CRC errored packets: The total number of upstream packets received that had a length (excluding
-//			framing bits, but including FCS octets) of between 64 octets and 1518 octets, inclusive, but had
-//			either a bad FCS with an integral number of octets (FCS error) or a bad FCS with a non-integral
-//			number of octets (alignment error). (R) (mandatory) (4 bytes)
-//
-//		Undersize Packets
-//			Undersize packets: The total number of upstream packets received that were less than 64 octets
-//			long, but were otherwise well formed (excluding framing bits, but including FCS). (R)
-//			(mandatory) (4 bytes)
-//
-//		Oversize Packets
-//			NOTE 2 – If 2 000 byte Ethernet frames are supported, counts in this performance parameter are
-//			not necessarily errors.
-//
-//		Packets 64 Octets
-//			Packets 64 octets: The total number of upstream received packets (including bad packets) that
-//			were 64 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
-//
-//		Packets 65 To 127 Octets
-//			Packets 65 to 127 octets: The total number of upstream received packets (including bad packets)
-//			that were 65..127 octets long, excluding framing bits but including FCS. (R) (mandatory)
-//			(4 bytes)
-//
-//		Packets 128 To 255 Octets
-//			Packets 128 to 255 octets: The total number of upstream packets (including bad packets) received
-//			that were 128..255 octets long, excluding framing bits but including FCS. (R) (mandatory)
-//			(4 bytes)
-//
-//		Packets 256 To 511 Octets
-//			Packets 256 to 511 octets: The total number of upstream packets (including bad packets) received
-//			that were 256..511 octets long, excluding framing bits but including FCS. (R) (mandatory)
-//			(4 bytes)
-//
-//		Packets 512 To 1023 Octets
-//			Packets 512 to 1023 octets: The total number of upstream packets (including bad packets)
-//			received that were 512..1 023 octets long, excluding framing bits but including FCS. (R)
-//			(mandatory) (4 bytes)
-//
-//		Packets 1024 To 1518 Octets
-//			Packets 1024 to 1518 octets: The total number of upstream packets (including bad packets)
-//			received that were 1024..1518 octets long, excluding framing bits, but including FCS. (R)
-//			(mandatory) (4 bytes)
-//
-type EthernetFramePerformanceMonitoringHistoryDataDownstream struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	ethernetframeperformancemonitoringhistorydatadownstreamBME = &ManagedEntityDefinition{
-		Name:    "EthernetFramePerformanceMonitoringHistoryDataDownstream",
-		ClassID: 321,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("DropEvents", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("Packets", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("BroadcastPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("MulticastPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("CrcErroredPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("UndersizePackets", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("OversizePackets", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("Packets64Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("Packets65To127Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("Packets128To255Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("Packets256To511Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("Packets512To1023Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-			16: Uint32Field("Packets1024To1518Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 16),
-		},
-	}
-}
-
-// NewEthernetFramePerformanceMonitoringHistoryDataDownstream (class ID 321 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewEthernetFramePerformanceMonitoringHistoryDataDownstream(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ethernetframeperformancemonitoringhistorydatadownstreamBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/ethernetframeperformancemonitoringhistorydataupstream.go b/vendor/github.com/cboling/omci/generated/ethernetframeperformancemonitoringhistorydataupstream.go
deleted file mode 100644
index e808485..0000000
--- a/vendor/github.com/cboling/omci/generated/ethernetframeperformancemonitoringhistorydataupstream.go
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const EthernetFramePerformanceMonitoringHistoryDataUpstreamClassId ClassID = ClassID(322)
-
-var ethernetframeperformancemonitoringhistorydataupstreamBME *ManagedEntityDefinition
-
-// EthernetFramePerformanceMonitoringHistoryDataUpstream (class ID #322)
-//	This ME collects PM data associated with upstream Ethernet frame delivery. It is based on the
-//	Etherstats group of [IETF RFC 2819]. Instances of this ME are created and deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	NOTE 1 – Implementers are encouraged to consider the Ethernet frame extended PM ME defined in
-//	clause 9.3.32, which collects the same counters in a more generalized way.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of a MAC bridge port configuration data.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of a MAC bridge port configuration
-//			data. (R, setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Drop Events
-//			Drop events:	The total number of events in which packets were dropped due to a lack of
-//			resources. This is not necessarily the number of packets dropped; it is the number of times this
-//			event was detected. (R) (mandatory) (4 bytes)
-//
-//		Octets
-//			Octets:	The total number of upstream octets received, including those in bad packets, excluding
-//			framing bits, but including FCS. (R) (mandatory) (4 bytes)
-//
-//		Packets
-//			Packets:	The total number of upstream packets received, including bad packets, broadcast packets
-//			and multicast packets. (R) (mandatory) (4 bytes)
-//
-//		Broadcast Packets
-//			Broadcast packets: The total number of upstream good packets received that were directed to the
-//			broadcast address. This does not include multicast packets. (R) (mandatory) (4 bytes)
-//
-//		Multicast Packets
-//			Multicast packets: The total number of upstream good packets received that were directed to a
-//			multicast address. This does not include broadcast packets. (R) (mandatory) (4 bytes)
-//
-//		Crc Errored Packets
-//			CRC errored packets: The total number of upstream packets received that had a length (excluding
-//			framing bits, but including FCS octets) of between 64 octets and 1518 octets, inclusive, but had
-//			either a bad FCS with an integral number of octets (FCS error) or a bad FCS with a non-integral
-//			number of octets (alignment error). (R) (mandatory) (4 bytes)
-//
-//		Undersize Packets
-//			Undersize packets: The total number of upstream packets received that were less than 64 octets
-//			long, but were otherwise well formed (excluding framing bits, but including FCS). (R)
-//			(mandatory) (4 bytes)
-//
-//		Oversize Packets
-//			NOTE 2 – If 2 000 byte Ethernet frames are supported, counts in this performance parameter are
-//			not necessarily errors.
-//
-//		Packets 64 Octets
-//			Packets 64 octets: The total number of upstream received packets (including bad packets) that
-//			were 64 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
-//
-//		Packets 65 To 127 Octets
-//			Packets 65 to 127 octets: The total number of upstream received packets (including bad packets)
-//			that were 65..127 octets long, excluding framing bits but including FCS. (R) (mandatory)
-//			(4 bytes)
-//
-//		Packets 128 To 255 Octets
-//			Packets 128 to 255 octets: The total number of upstream packets (including bad packets) received
-//			that were 128..255 octets long, excluding framing bits but including FCS. (R) (mandatory)
-//			(4 bytes)
-//
-//		Packets 256 To 511 Octets
-//			Packets 256 to 511 octets: The total number of upstream packets (including bad packets) received
-//			that were 256..511 octets long, excluding framing bits but including FCS. (R) (mandatory)
-//			(4 bytes)
-//
-//		Packets 512 To 1023 Octets
-//			Packets 512 to 1023 octets: The total number of upstream packets (including bad packets)
-//			received that were 512..1 023 octets long, excluding framing bits but including FCS. (R)
-//			(mandatory) (4 bytes)
-//
-//		Packets 1024 To 1518 Octets
-//			Packets 1024 to 1518 octets: The total number of upstream packets (including bad packets)
-//			received that were 1024..1518 octets long, excluding framing bits, but including FCS. (R)
-//			(mandatory) (4 bytes)
-//
-type EthernetFramePerformanceMonitoringHistoryDataUpstream struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	ethernetframeperformancemonitoringhistorydataupstreamBME = &ManagedEntityDefinition{
-		Name:    "EthernetFramePerformanceMonitoringHistoryDataUpstream",
-		ClassID: 322,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("DropEvents", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("Packets", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("BroadcastPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("MulticastPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("CrcErroredPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("UndersizePackets", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("OversizePackets", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("Packets64Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("Packets65To127Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("Packets128To255Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("Packets256To511Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("Packets512To1023Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-			16: Uint32Field("Packets1024To1518Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 16),
-		},
-	}
-}
-
-// NewEthernetFramePerformanceMonitoringHistoryDataUpstream (class ID 322 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewEthernetFramePerformanceMonitoringHistoryDataUpstream(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ethernetframeperformancemonitoringhistorydataupstreamBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/ethernetperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/ethernetperformancemonitoringhistorydata.go
deleted file mode 100644
index 6c0f001..0000000
--- a/vendor/github.com/cboling/omci/generated/ethernetperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const EthernetPerformanceMonitoringHistoryDataClassId ClassID = ClassID(24)
-
-var ethernetperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// EthernetPerformanceMonitoringHistoryData (class ID #24)
-//	This ME collects some of the PM data for a physical Ethernet interface. Instances of this ME are
-//	created and deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of the PPTP Ethernet UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP Ethernet UNI. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Fcs Errors
-//			FCS errors:	This attribute counts frames received on a particular interface that were an
-//			integral number of octets in length but failed the FCS check. The count is incremented when the
-//			MAC service returns the frameCheckError status to the link layer control (LLC) or other MAC
-//			user. Received frames for which multiple error conditions are obtained are counted according to
-//			the error status presented to the LLC. (R) (mandatory) (4 bytes)
-//
-//		Excessive Collision Counter
-//			Excessive collision counter: This attribute counts frames whose transmission failed due to
-//			excessive collisions. (R) (mandatory) (4 bytes)
-//
-//		Late Collision Counter
-//			Late collision counter: This attribute counts the number of times that a collision was detected
-//			later than 512 bit times into the transmission of a packet. (R) (mandatory) (4 bytes)
-//
-//		Frames Too Long
-//			Frames too long: This attribute counts received frames that exceeded the maximum permitted frame
-//			size. The count is incremented when the MAC service returns the frameTooLong status to the LLC.
-//			(R) (mandatory) (4 bytes)
-//
-//		Buffer Overflows On Receive
-//			Buffer overflows on receive: This attribute counts the number of times that the receive buffer
-//			overflowed. (R) (mandatory) (4 bytes)
-//
-//		Buffer Overflows On Transmit
-//			Buffer overflows on transmit: This attribute counts the number of times that the transmit buffer
-//			overflowed. (R) (mandatory) (4 bytes)
-//
-//		Single Collision Frame Counter
-//			Single collision frame counter: This attribute counts successfully transmitted frames whose
-//			transmission was delayed by exactly one collision. (R) (mandatory) (4 bytes)
-//
-//		Multiple Collisions Frame Counter
-//			Multiple collisions frame counter: This attribute counts successfully transmitted frames whose
-//			transmission was delayed by more than one collision. (R) (mandatory) (4 bytes)
-//
-//		Sqe Counter
-//			SQE counter: This attribute counts the number of times that the SQE test error message was
-//			generated by the PLS sublayer. (R) (mandatory) (4 bytes)
-//
-//		Deferred Transmission Counter
-//			Deferred transmission counter: This attribute counts frames whose first transmission attempt was
-//			delayed because the medium was busy. The count does not include frames involved in collisions.
-//			(R) (mandatory) (4 bytes)
-//
-//		Internal Mac Transmit Error Counter
-//			Internal MAC transmit error counter: This attribute counts frames whose transmission failed due
-//			to an internal MAC sublayer transmit error. (R) (mandatory) (4 bytes)
-//
-//		Carrier Sense Error Counter
-//			Carrier sense error counter: This attribute counts the number of times that carrier sense was
-//			lost or never asserted when attempting to transmit a frame. (R) (mandatory) (4 bytes)
-//
-//		Alignment Error Counter
-//			Alignment error counter: This attribute counts received frames that were not an integral number
-//			of octets in length and did not pass the FCS check. (R) (mandatory) (4 bytes)
-//
-//		Internal Mac Receive Error Counter
-//			Internal MAC receive error counter: This attribute counts frames whose reception failed due to
-//			an internal MAC sublayer receive error. (R) (mandatory) (4 bytes)
-//
-type EthernetPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	ethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "EthernetPerformanceMonitoringHistoryData",
-		ClassID: 24,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("FcsErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("ExcessiveCollisionCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("LateCollisionCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("FramesTooLong", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("BufferOverflowsOnReceive", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("BufferOverflowsOnTransmit", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("SingleCollisionFrameCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("MultipleCollisionsFrameCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("SqeCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("DeferredTransmissionCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("InternalMacTransmitErrorCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("CarrierSenseErrorCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("AlignmentErrorCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-			16: Uint32Field("InternalMacReceiveErrorCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 16),
-		},
-	}
-}
-
-// NewEthernetPerformanceMonitoringHistoryData (class ID 24 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewEthernetPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ethernetperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/geminterworkingterminationpoint.go b/vendor/github.com/cboling/omci/generated/geminterworkingterminationpoint.go
deleted file mode 100644
index aa6693f..0000000
--- a/vendor/github.com/cboling/omci/generated/geminterworkingterminationpoint.go
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const GemInterworkingTerminationPointClassId ClassID = ClassID(266)
-
-var geminterworkingterminationpointBME *ManagedEntityDefinition
-
-// GemInterworkingTerminationPoint (class ID #266)
-//	An instance of this ME represents a point in the ONU where the IW of a bearer service (usually
-//	Ethernet) to the GEM layer takes place. At this point, GEM packets are generated from the bearer
-//	bit stream (e.g., Ethernet) or the bearer bit stream is reconstructed from GEM packets.
-//
-//	Instances of this ME are created and deleted by the OLT.
-//
-//	Relationships
-//		One instance of this ME exists for each transformation of a data stream into GEM frames and vice
-//		versa.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Gem Port Network Ctp Connectivity Pointer
-//			GEM port network CTP connectivity pointer: This attribute points to an instance of the GEM port
-//			network CTP. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Interworking Option
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Service Profile Pointer
-//			NOTE – The video return path (VRP) service profile is defined in [ITU-T G.984.4].
-//
-//		Interworking Termination Point Pointer
-//			In all other GEM services, the relationship between the related service TP and this GEM IW TP is
-//			derived from other ME relations; this attribute is set to a null pointer and not used. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Pptp Counter
-//			PPTP counter: This value reports the number of PPTP ME instances associated with this GEM IW TP.
-//			(R) (optional) (1 byte)
-//
-//		Operational State
-//			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
-//
-//		Gal Profile Pointer
-//			(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Gal Loopback Configuration
-//			The default value of this attribute is 0. When the IW option is 6 (downstream broadcast), this
-//			attribute is not used. (R, W) (mandatory) (1 byte)
-//
-type GemInterworkingTerminationPoint struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	geminterworkingterminationpointBME = &ManagedEntityDefinition{
-		Name:    "GemInterworkingTerminationPoint",
-		ClassID: 266,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFF00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("GemPortNetworkCtpConnectivityPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("InterworkingOption", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("ServiceProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint16Field("InterworkingTerminationPointPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: ByteField("PptpCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6: ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 6),
-			7: Uint16Field("GalProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8: ByteField("GalLoopbackConfiguration", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-		},
-	}
-}
-
-// NewGemInterworkingTerminationPoint (class ID 266 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewGemInterworkingTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(geminterworkingterminationpointBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/ieee802.1pmapperserviceprofile.go b/vendor/github.com/cboling/omci/generated/ieee802.1pmapperserviceprofile.go
deleted file mode 100644
index 1906172..0000000
--- a/vendor/github.com/cboling/omci/generated/ieee802.1pmapperserviceprofile.go
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const Ieee8021PMapperServiceProfileClassId ClassID = ClassID(130)
-
-var ieee8021pmapperserviceprofileBME *ManagedEntityDefinition
-
-// Ieee8021PMapperServiceProfile (class ID #130)
-//	This ME associates the priorities of IEEE 802.1p [IEEE 802.1D] priority tagged frames with
-//	specific connections. This ME directs upstream traffic to the designated GEM ports. Downstream
-//	traffic arriving on any of the IEEE 802.1p mapper's GEM ports is directed to the mapper's root
-//	TP. Other mechanisms exist to direct downstream traffic, specifically a direct pointer to a
-//	downstream queue from the GEM port network CTP. If such an alternative is used, it should be
-//	provisioned to be consistent with the flow model of the mapper.
-//
-//	Instances of this ME are created and deleted by the OLT.
-//
-//	Relationships
-//		At its root, an instance of this ME may be associated with zero or one instance of a PPTP UNI,
-//		MAC bridge port configuration data, or any type of IW TP ME that carries IEEE 802 traffic. Each
-//		of its eight branches is associated with zero or one GEM IW TP.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Tp Pointer
-//			(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Interwork Tp Pointer For P_Bit Priority 0
-//			Interwork TP pointer for P-bit priority 0:	(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Interwork Tp Pointer For P_Bit Priority 1
-//			Interwork TP pointer for P-bit priority 1:	(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Interwork Tp Pointer For P_Bit Priority 2
-//			Interwork TP pointer for P-bit priority 2:	(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Interwork Tp Pointer For P_Bit Priority 3
-//			Interwork TP pointer for P-bit priority 3:	(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Interwork Tp Pointer For P_Bit Priority 4
-//			Interwork TP pointer for P-bit priority 4:	(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Interwork Tp Pointer For P_Bit Priority 5
-//			Interwork TP pointer for P-bit priority 5:	(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Interwork Tp Pointer For P_Bit Priority 6
-//			Interwork TP pointer for P-bit priority 6:	(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Interwork Tp Pointer For P_Bit Priority 7
-//			Interwork TP pointer for P-bit priority 7:	(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Unmarked Frame Option
-//			Untagged downstream frames are passed through the mapper transparently.
-//
-//		Dscp To P Bit Mapping
-//			NOTE – If certain bits in the DSCP field are to be ignored in the mapping process, the attribute
-//			should be provisioned such that all possible values of those bits produce the same P-bit
-//			mapping. This can be applied to the case where instead of full DSCP, the operator wishes to
-//			adopt the priority mechanism based on IP precedence, which needs only the three MSBs of the DSCP
-//			field.
-//
-//		Default P Bit Assumption
-//			Default P-bit assumption: This attribute is valid when the unmarked frame option attribute is
-//			set to 1. In its LSBs, the default Pbit assumption attribute contains the default PCP field to
-//			be assumed. The unmodified frame is then directed to the GEM IW TP indicated by the interwork TP
-//			pointer mappings. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Tp Type
-//			(R, W, setbycreate) (optional) (1 byte)
-//
-type Ieee8021PMapperServiceProfile struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	ieee8021pmapperserviceprofileBME = &ManagedEntityDefinition{
-		Name:    "Ieee8021PMapperServiceProfile",
-		ClassID: 130,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFF8,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint16Field("TpPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  Uint16Field("InterworkTpPointerForPBitPriority0", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint16Field("InterworkTpPointerForPBitPriority1", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  Uint16Field("InterworkTpPointerForPBitPriority2", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint16Field("InterworkTpPointerForPBitPriority3", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6:  Uint16Field("InterworkTpPointerForPBitPriority4", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7:  Uint16Field("InterworkTpPointerForPBitPriority5", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8:  Uint16Field("InterworkTpPointerForPBitPriority6", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  Uint16Field("InterworkTpPointerForPBitPriority7", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 9),
-			10: ByteField("UnmarkedFrameOption", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
-			11: MultiByteField("DscpToPBitMapping", 24, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 11),
-			12: ByteField("DefaultPBitAssumption", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 12),
-			13: ByteField("TpType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 13),
-		},
-	}
-}
-
-// NewIeee8021PMapperServiceProfile (class ID 130 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewIeee8021PMapperServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ieee8021pmapperserviceprofileBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/interworkingvccterminationpoint.go b/vendor/github.com/cboling/omci/generated/interworkingvccterminationpoint.go
deleted file mode 100644
index c856c28..0000000
--- a/vendor/github.com/cboling/omci/generated/interworkingvccterminationpoint.go
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const InterworkingVccTerminationPointClassId ClassID = ClassID(14)
-
-var interworkingvccterminationpointBME *ManagedEntityDefinition
-
-// InterworkingVccTerminationPoint (class ID #14)
-//	An instance of this ME represents a point in the ONU where the IW of a service or underlying
-//	physical infrastructure (e.g., ADSL) to an ATM layer takes place. At this point, ATM cells are
-//	generated from a bit stream (e.g., Ethernet) or a bit stream is reconstructed from ATM cells.
-//
-//	Instances of this ME are created and deleted by the OLT.
-//
-//	Relationships
-//		One instance of this ME exists for each occurrence of transformation of a data stream into ATM
-//		cells and vice versa.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Vci Value
-//			VCI value:	This attribute identifies the VCI value associated with this IW VCC TP. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Vp Network Ctp Connectivity Pointer
-//			VP network CTP connectivity pointer: This attribute points to the VP network CTP associated with
-//			this IW VCC TP. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Deprecated 1
-//			Deprecated 1: Not used; should be set to 0. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Deprecated 2
-//			Deprecated 2: Not used; should be set to 0. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Aal5 Profile Pointer
-//			AAL5 profile pointer: This attribute points to an instance of the AAL5 profile. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Deprecated 3
-//			Deprecated 3: Not used; should be set to 0. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Aal Loopback Configuration
-//			The default value of this attribute is 0. (R, W) (mandatory) (1 byte)
-//
-//		Pptp Counter
-//			PPTP counter: This value is the number of instances of PPTP MEs associated with this instance of
-//			the IW VCC TP. (R) (optional) (1 byte)
-//
-//		Operational State
-//			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
-//
-type InterworkingVccTerminationPoint struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	interworkingvccterminationpointBME = &ManagedEntityDefinition{
-		Name:    "InterworkingVccTerminationPoint",
-		ClassID: 14,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFF80,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("VciValue", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint16Field("VpNetworkCtpConnectivityPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: ByteField("Deprecated1", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, true, 3),
-			4: Uint16Field("Deprecated2", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, true, 4),
-			5: Uint16Field("Aal5ProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6: Uint16Field("Deprecated3", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, true, 6),
-			7: ByteField("AalLoopbackConfiguration", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8: ByteField("PptpCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9: ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 9),
-		},
-	}
-}
-
-// NewInterworkingVccTerminationPoint (class ID 14 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewInterworkingVccTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(interworkingvccterminationpointBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/iphostconfigdata.go b/vendor/github.com/cboling/omci/generated/iphostconfigdata.go
deleted file mode 100644
index f41f3a9..0000000
--- a/vendor/github.com/cboling/omci/generated/iphostconfigdata.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const IpHostConfigDataClassId ClassID = ClassID(134)
-
-var iphostconfigdataBME *ManagedEntityDefinition
-
-// IpHostConfigData (class ID #134)
-//	The IP host config data configures IPv4 based services offered on the ONU. The ONU automatically
-//	creates instances of this ME if IP host services are available. A possible IPv6 stack is
-//	supported through the IPv6 host config data ME. In this clause, references to IP addresses are
-//	understood to mean IPv4.
-//
-//	Relationships
-//		An instance of this ME is associated with the ONU ME. Any number of TCP/UDP config data MEs can
-//		point to the IP host config data, to model any number of ports and protocols. Performance may be
-//		monitored through an implicitly linked IP host PM history data ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The ONU creates
-//			as many instances as there are independent IPv4 stacks on the ONU. To facilitate discovery, IP
-//			host config data MEs should be numbered from 0 upwards. The ONU should create IP(v4) and IPv6
-//			host config data MEs with separate ME IDs, such that other MEs can use a single TP type
-//			attribute to link with either. (R) (mandatory) (2 bytes)
-//
-//		Ip Options
-//			(R, W) (mandatory) (1 byte)
-//
-//		Mac Address
-//			MAC address: This attribute indicates the MAC address used by the IP node. (R) (mandatory)
-//			(6 bytes)
-//
-//		Onu Identifier
-//			Onu identifier: A unique ONU identifier string. If set to a non-null value, this string is used
-//			instead of the MAC address in retrieving dynamic host configuration protocol (DHCP) parameters.
-//			If the string is shorter than 25 characters, it must be null terminated. Its default value is 25
-//			null bytes. (R, W) (mandatory) (25 bytes)
-//
-//		Ip Address
-//			IP address:	The address used for IP host services; this attribute has the default value 0.
-//			(R, W) (mandatory) (4 bytes)
-//
-//		Mask
-//			Mask:	The subnet mask for IP host services; this attribute has the default value 0. (R, W)
-//			(mandatory) (4 bytes)
-//
-//		Gateway
-//			Gateway:	The default gateway address used for IP host services; this attribute has the default
-//			value 0. (R, W) (mandatory) (4 bytes)
-//
-//		Primary Dns
-//			Primary DNS: The address of the primary DNS server; this attribute has the default value 0.
-//			(R, W) (mandatory) (4 bytes)
-//
-//		Secondary Dns
-//			Secondary DNS: The address of the secondary DNS server; this attribute has the default value 0.
-//			(R, W) (mandatory) (4 bytes)
-//
-//		Current Address
-//			Current address: Current address of the IP host service. (R) (optional) (4 bytes)
-//
-//		Current Mask
-//			Current mask: Current subnet mask for the IP host service. (R) (optional) (4 bytes)
-//
-//		Current Gateway
-//			Current gateway: Current default gateway address for the IP host service. (R) (optional)
-//			(4 bytes)
-//
-//		Current Primary Dns
-//			Current primary DNS: Current primary DNS server address. (R) (optional) (4 bytes)
-//
-//		Current Secondary Dns
-//			Current secondary DNS: Current secondary DNS server address. (R) (optional) (4 bytes)
-//
-//		Domain Name
-//			Domain name: If DHCP indicates a domain name, it is presented here. If no domain name is
-//			indicated, this attribute is set to a null string. If the string is shorter than 25 bytes, it
-//			must be null terminated. The default value is 25 null bytes. (R) (mandatory) (25 bytes)
-//
-//		Host Name
-//			Host name:	If DHCP indicates a host name, it is presented here. If no host name is indicated,
-//			this attribute is set to a null string. If the string is shorter than 25 bytes, it must be null
-//			terminated. The default value is 25 null bytes. (R) (mandatory) (25 bytes)
-//
-//		Relay Agent Options
-//			2/3/4:atm/123.4567
-//
-type IpHostConfigData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	iphostconfigdataBME = &ManagedEntityDefinition{
-		Name:    "IpHostConfigData",
-		ClassID: 134,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("IpOptions", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  MultiByteField("MacAddress", 6, nil, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3:  MultiByteField("OnuIdentifier", 25, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  Uint32Field("IpAddress", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  Uint32Field("Mask", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  Uint32Field("Gateway", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  Uint32Field("PrimaryDns", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  Uint32Field("SecondaryDns", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  Uint32Field("CurrentAddress", 0, mapset.NewSetWith(Read), true, false, true, false, 9),
-			10: Uint32Field("CurrentMask", 0, mapset.NewSetWith(Read), true, false, true, false, 10),
-			11: Uint32Field("CurrentGateway", 0, mapset.NewSetWith(Read), true, false, true, false, 11),
-			12: Uint32Field("CurrentPrimaryDns", 0, mapset.NewSetWith(Read), true, false, true, false, 12),
-			13: Uint32Field("CurrentSecondaryDns", 0, mapset.NewSetWith(Read), true, false, true, false, 13),
-			14: MultiByteField("DomainName", 25, nil, mapset.NewSetWith(Read), true, false, false, false, 14),
-			15: MultiByteField("HostName", 25, nil, mapset.NewSetWith(Read), true, false, false, false, 15),
-			16: Uint16Field("RelayAgentOptions", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 16),
-		},
-	}
-}
-
-// NewIpHostConfigData (class ID 134 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewIpHostConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(iphostconfigdataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeportconfigurationdata.go b/vendor/github.com/cboling/omci/generated/macbridgeportconfigurationdata.go
deleted file mode 100644
index 7054adb..0000000
--- a/vendor/github.com/cboling/omci/generated/macbridgeportconfigurationdata.go
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const MacBridgePortConfigurationDataClassId ClassID = ClassID(47)
-
-var macbridgeportconfigurationdataBME *ManagedEntityDefinition
-
-// MacBridgePortConfigurationData (class ID #47)
-//	This ME models a port on a MAC bridge. Instances of this ME are created and deleted by the OLT.
-//
-//	Relationships
-//		An instance of this ME is linked to an instance of the MAC bridge service profile. Additional
-//		bridge port control capabilities are provided by implicitly linked instances of some or all of:////		•	MAC bridge port filter table data;////		•	MAC bridge port filter pre-assign table;////		•	VLAN tagging filter data;////		•	Dot1 rate limiter.////		Real-time status of the bridge port is provided by implicitly linked instances of:////		•	MAC bridge port designation data;////		•	MAC bridge port bridge table data;////		•	Multicast subscriber monitor.////		Bridge port PM collection is provided by implicitly linked instances of:////		•	MAC bridge port PM history data;////		•	Ethernet frame PM history data upstream and downstream;////		•	Ethernet frame extended PM (preferred).
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Bridge Id Pointer
-//			Bridge ID pointer: This attribute points to an instance of the MAC bridge service profile.
-//			(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Port Num
-//			Port num:	This attribute is the bridge port number. It must be unique among all ports associated
-//			with a particular MAC bridge service profile. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Tp Type
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Tp Pointer
-//			NOTE 1 – When the TP type is very high-speed digital subscriber line (VDSL) or xDSL, the two
-//			MSBs may be used to indicate a bearer channel.
-//
-//		Port Priority
-//			Port priority:	This attribute denotes the priority of the port for use in (rapid) spanning tree
-//			algorithms. The range is 0..255. (R, W, setbycreate) (optional) (2 bytes)
-//
-//		Port Path Cost
-//			Port path cost: This attribute specifies the contribution of the port to the path cost towards
-//			the spanning tree root bridge. The range is 1..65535. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Port Spanning Tree Ind
-//			Port spanning tree ind: The Boolean value true enables (R)STP LAN topology change detection at
-//			this port. The value false disables topology change detection. (R, W, setbycreate) (mandatory)
-//			(1 byte)
-//
-//		Deprecated 1
-//			Deprecated 1: This attribute is not used. If present, it should be ignored by both the ONU and
-//			the OLT, except as necessary to comply with OMCI message definitions. (R, W, setbycreate)
-//			(optional) (1 byte)
-//
-//		Deprecated 2
-//			Deprecated 2: This attribute is not used. If present, it should be ignored by both the ONU and
-//			the OLT, except as necessary to comply with OMCI message definitions. (R, W, setbycreate)
-//			(1 byte) (optional)
-//
-//		Port Mac Address
-//			Port MAC address: If the TP associated with this port has a MAC address, this attribute
-//			specifies it. (R) (optional) (6 bytes)
-//
-//		Outbound Td Pointer
-//			Outbound TD pointer: This attribute points to a traffic descriptor that limits the traffic rate
-//			leaving the MAC bridge. (R, W) (optional) (2 byte)
-//
-//		Inbound Td Pointer
-//			Inbound TD pointer: This attribute points to a traffic descriptor that limits the traffic rate
-//			entering the MAC bridge. (R, W) (optional) (2 byte)
-//
-//		Mac Learning Depth
-//			NOTE 2 – If this attribute is not zero, its value overrides the value set in the MAC learning
-//			depth attribute of the MAC bridge service profile.
-//
-type MacBridgePortConfigurationData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	macbridgeportconfigurationdataBME = &ManagedEntityDefinition{
-		Name:    "MacBridgePortConfigurationData",
-		ClassID: 47,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFF8,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint16Field("BridgeIdPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  ByteField("PortNum", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  ByteField("TpType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  Uint16Field("TpPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint16Field("PortPriority", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
-			6:  Uint16Field("PortPathCost", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7:  ByteField("PortSpanningTreeInd", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8:  ByteField("Deprecated1", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, true, 8),
-			9:  ByteField("Deprecated2", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, true, 9),
-			10: MultiByteField("PortMacAddress", 6, nil, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: Uint16Field("OutboundTdPointer", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: Uint16Field("InboundTdPointer", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: ByteField("MacLearningDepth", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 13),
-		},
-	}
-}
-
-// NewMacBridgePortConfigurationData (class ID 47 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewMacBridgePortConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeportconfigurationdataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeportfilterpre-assigntable.go b/vendor/github.com/cboling/omci/generated/macbridgeportfilterpre-assigntable.go
deleted file mode 100644
index 2409ab0..0000000
--- a/vendor/github.com/cboling/omci/generated/macbridgeportfilterpre-assigntable.go
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const MacBridgePortFilterPreAssignTableClassId ClassID = ClassID(79)
-
-var macbridgeportfilterpreassigntableBME *ManagedEntityDefinition
-
-// MacBridgePortFilterPreAssignTable (class ID #79)
-//	This ME provides an alternate approach to DA filtering from that supported through the MAC
-//	bridge port filter table data ME. This alternate approach is useful when all groups of addresses
-//	are stored beforehand in the ONU, and the MAC bridge port filter pre-assign table ME designates
-//	which groups are valid or invalid for filtering. On a circuit pack in which all groups of
-//	addresses are pre-assigned and stored locally, the ONU creates or deletes an instance of this ME
-//	automatically upon creation or deletion of a MAC bridge port configuration data ME.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of a MAC bridge port configuration data
-//		ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
-//			data ME. (R) (mandatory) (2 bytes)
-//
-//		Ipv4 Multicast Filtering
-//			IPv4 multicast filtering:	(R, W) (mandatory) (1 byte)
-//
-//		Ipv6 Multicast Filtering
-//			IPv6 multicast filtering:	(R, W) (mandatory) (1 byte)
-//
-//		Ipv4 Broadcast Filtering
-//			IPv4 broadcast filtering:	(R, W) (mandatory) (1 byte)
-//
-//		Rarp Filtering
-//			RARP filtering:	(R, W) (mandatory) (1 byte)
-//
-//		Ipx Filtering
-//			IPX filtering:		(R, W) (mandatory) (1 byte)
-//
-//		Netbeui Filtering
-//			NetBEUI filtering:	(R, W) (mandatory) (1 byte)
-//
-//		Appletalk Filtering
-//			AppleTalk filtering:	(R, W) (mandatory) (1 byte)
-//
-//		Bridge Management Information Filtering
-//			2	Addresses from 01.80.C2.00.00.20 to 01.80.C2.00.00.2F are used for generic attribute
-//			registration protocol (GARP) applications.
-//
-//		Arp Filtering
-//			ARP filtering:	(R, W) (mandatory) (1 byte)
-//
-//		Point_To_Point Protocol Over Ethernet Pppoe Broadcast Filtering
-//			Point-to-point protocol over Ethernet (PPPoE) broadcast filtering:	(R, W) (mandatory) (1 byte)
-//
-type MacBridgePortFilterPreAssignTable struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	macbridgeportfilterpreassigntableBME = &ManagedEntityDefinition{
-		Name:    "MacBridgePortFilterPreAssignTable",
-		ClassID: 79,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFC0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("Ipv4MulticastFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  ByteField("Ipv6MulticastFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3:  ByteField("Ipv4BroadcastFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  ByteField("RarpFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  ByteField("IpxFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  ByteField("NetbeuiFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  ByteField("AppletalkFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  ByteField("BridgeManagementInformationFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  ByteField("ArpFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-			10: ByteField("PointToPointProtocolOverEthernetPppoeBroadcastFiltering", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 10),
-		},
-	}
-}
-
-// NewMacBridgePortFilterPreAssignTable (class ID 79 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewMacBridgePortFilterPreAssignTable(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeportfilterpreassigntableBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeporticmpv6processpre-assigntable.go b/vendor/github.com/cboling/omci/generated/macbridgeporticmpv6processpre-assigntable.go
deleted file mode 100644
index 83114d2..0000000
--- a/vendor/github.com/cboling/omci/generated/macbridgeporticmpv6processpre-assigntable.go
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const MacBridgePortIcmpv6ProcessPreAssignTableClassId ClassID = ClassID(348)
-
-var macbridgeporticmpv6processpreassigntableBME *ManagedEntityDefinition
-
-// MacBridgePortIcmpv6ProcessPreAssignTable (class ID #348)
-//	This ME provides an approach to ICMPv6 message processing configuration to those ONUs that
-//	support IPv6 awareness. For every message, the MAC bridge port ICMPv6 process pre-assign table
-//	can designate a forward, discard or snoop operation. The ONU creates or deletes an instance of
-//	this ME automatically upon creation or deletion of a MAC bridge port configuration data ME.
-//
-//	The MAC bridge port ICMPv6 process pre-assign table ME filters layer 2 traffic between the UNI
-//	and ANI. The operation of this ME is completely independent of the operation and traffic
-//	generated or received by a possible IPv6 host config data ME.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of a MAC bridge port configuration data
-//		ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
-//			data ME. (R) (mandatory) (2 bytes)
-//
-//		Icmpv6 Error Messages Processing
-//			ICMPv6 error messages processing:	(R, W) (mandatory) (1 byte)
-//
-//		Icmpv6 Informational Messages Processing
-//			ICMPv6 informational messages processing:	(R, W) (mandatory) (1 byte)
-//
-//		Router Solicitation Processing
-//			Router solicitation processing:	(R, W) (mandatory) (1 byte)
-//
-//		Router Advertisement Processing
-//			Router advertisement processing:	(R, W) (mandatory) (1 byte)
-//
-//		Neighbour Solicitation Processing
-//			Neighbour solicitation processing:	(R, W) (mandatory) (1 byte)
-//
-//		Neighbour Advertisement Processing
-//			Neighbour advertisement processing:	(R, W) (mandatory) (1 byte)
-//
-//		Redirect Processing
-//			Redirect processing:	(R, W) (mandatory) (1 byte)
-//
-//		Multicast Listener Query Processing
-//			NOTE – If the ONU participates in multicast services, MLD queries should be controlled through
-//			the multicast operations profile ME. In such a case, it is strongly recommended not to provision
-//			the downstream direction of the multicast listener query processing attribute to any value other
-//			than forwarding.
-//
-//		Unknown Icmpv6 Processing
-//			Unknown ICMPv6 processing:	(R, W) (mandatory) (1 byte)
-//
-type MacBridgePortIcmpv6ProcessPreAssignTable struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	macbridgeporticmpv6processpreassigntableBME = &ManagedEntityDefinition{
-		Name:    "MacBridgePortIcmpv6ProcessPreAssignTable",
-		ClassID: 348,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-		),
-		AllowedAttributeMask: 0XFF80,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("Icmpv6ErrorMessagesProcessing", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2: ByteField("Icmpv6InformationalMessagesProcessing", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3: ByteField("RouterSolicitationProcessing", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4: ByteField("RouterAdvertisementProcessing", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5: ByteField("NeighbourSolicitationProcessing", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6: ByteField("NeighbourAdvertisementProcessing", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7: ByteField("RedirectProcessing", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8: ByteField("MulticastListenerQueryProcessing", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9: ByteField("UnknownIcmpv6Processing", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-		},
-	}
-}
-
-// NewMacBridgePortIcmpv6ProcessPreAssignTable (class ID 348 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewMacBridgePortIcmpv6ProcessPreAssignTable(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeporticmpv6processpreassigntableBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeserviceprofile.go b/vendor/github.com/cboling/omci/generated/macbridgeserviceprofile.go
deleted file mode 100644
index f9e8c6c..0000000
--- a/vendor/github.com/cboling/omci/generated/macbridgeserviceprofile.go
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const MacBridgeServiceProfileClassId ClassID = ClassID(45)
-
-var macbridgeserviceprofileBME *ManagedEntityDefinition
-
-// MacBridgeServiceProfile (class ID #45)
-//	This ME models a MAC bridge in its entirety; any number of ports may be associated with the
-//	bridge through pointers to the MAC bridge service profile ME. Instances of this ME are created
-//	and deleted by the OLT.
-//
-//	Relationships
-//		Bridge ports are modelled by MAC bridge port configuration data MEs, any number of which can
-//		point to a MAC bridge service profile. The real-time status of the bridge is available from an
-//		implicitly linked MAC bridge configuration data ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The first byte
-//			is the slot ID. In an integrated ONU, this value is 0. The second byte is the bridge group ID.
-//			(R, setbycreate) (mandatory) (2 bytes)
-//
-//		Spanning Tree Ind
-//			Spanning tree ind: The Boolean value true specifies that a spanning tree algorithm is enabled.
-//			The value false disables (rapid) spanning tree. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Learning Ind
-//			Learning ind: The Boolean value true specifies that bridge learning functions are enabled. The
-//			value false disables bridge learning. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Port Bridging Ind
-//			Port bridging ind: The Boolean value true specifies that bridging between UNI ports is enabled.
-//			The value false disables local bridging. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Priority
-//			Priority:	This attribute specifies the bridge priority in the range 0..65535. The value of this
-//			attribute is copied to the bridge priority attribute of the associated MAC bridge configuration
-//			data ME. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Max Age
-//			Max age:	This attribute specifies the maximum age (in 256ths of a second) of received protocol
-//			information before its entry in the spanning tree listing is discarded. The range is 0x0600 to
-//			0x2800 (6..40 s) in accordance with [IEEE 802.1D]. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Hello Time
-//			NOTE – [IEEE 802.1D] specifies the compatibility range for hello time to be 1..2 s.
-//
-//		Forward Delay
-//			Forward delay: This attribute specifies the forwarding delay (in 256ths of a second) when the
-//			bridge acts as the root. The range is 0x0400 to 0x1E00 (4..30 s) in accordance with [IEEE
-//			802.1D]. (R, W, set-by-create) (mandatory) (2 bytes)
-//
-//		Unknown Mac Address Discard
-//			Unknown MAC address discard: The Boolean value true specifies that MAC frames with unknown DAs
-//			be discarded. The value false specifies that such frames be forwarded to all allowed ports.
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Mac Learning Depth
-//			MAC learning depth: This attribute specifies the maximum number of UNI MAC addresses to be
-//			learned by the bridge. The default value 0 specifies that there is no administratively imposed
-//			limit. (R, W, setbycreate) (optional) (1 byte)
-//
-//		Dynamic Filtering Ageing Time
-//			Dynamic filtering ageing time: This attribute specifies the age of dynamic filtering entries in
-//			the bridge database, after which unrefreshed entries are discarded. In accordance with clause
-//			7.9.2 of [IEEE 802.1D] and clause 8.8.3 of [IEEE 802.1Q], the range is 10..1 000 000 s, with a
-//			resolution of 1 s and a default of 300 s. The value 0 specifies that the ONU uses its internal
-//			default. (R, W, set-by-create) (optional) (4 bytes)
-//
-type MacBridgeServiceProfile struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	macbridgeserviceprofileBME = &ManagedEntityDefinition{
-		Name:    "MacBridgeServiceProfile",
-		ClassID: 45,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFC0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("SpanningTreeInd", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  ByteField("LearningInd", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  ByteField("PortBridgingInd", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  Uint16Field("Priority", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint16Field("MaxAge", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6:  Uint16Field("HelloTime", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7:  Uint16Field("ForwardDelay", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8:  ByteField("UnknownMacAddressDiscard", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  ByteField("MacLearningDepth", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 9),
-			10: Uint32Field("DynamicFilteringAgeingTime", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 10),
-		},
-	}
-}
-
-// NewMacBridgeServiceProfile (class ID 45 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewMacBridgeServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeserviceprofileBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/managedentityme.go b/vendor/github.com/cboling/omci/generated/managedentityme.go
deleted file mode 100644
index 4f71571..0000000
--- a/vendor/github.com/cboling/omci/generated/managedentityme.go
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const ManagedEntityMeClassId ClassID = ClassID(288)
-
-var managedentitymeBME *ManagedEntityDefinition
-
-// ManagedEntityMe (class ID #288)
-//	The ME describes the details of each ME that is supported by the ONU. This ME is not included in
-//	an MIB upload.
-//
-//	Relationships
-//		One or more MEs are related to the OMCI object entity.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Its value is
-//			equal to the ME type value, and is the same as the code found in the ME type table attribute of
-//			the OMCI ME and Table 11.2.41. (R) (mandatory) (2 bytes)
-//
-//		Name
-//			Name:	This attribute contains a 25 byte ASCII coded mnemonic tag for the ME type. Strings
-//			shorter than 25 bytes are padded with null characters. (R) (mandatory) (25 bytes)
-//
-//		Attributes Table
-//			NOTE – The ME ID attribute is not included in the list, since the type of this attribute is
-//			fixed.
-//
-//		Access
-//			(R) (mandatory) (1 byte)
-//
-//		Alarms Table
-//			Alarms table: This attribute lists the alarm codes that are supported. (R) (mandatory) (Y bytes,
-//			where Y is the number of entries in the table.)
-//
-//		Avcs Table
-//			AVCs table:	This attribute lists the AVCs that are supported. (R) (mandatory) (Z bytes, where Z
-//			is the number of entries in the table.)
-//
-//		Actions
-//			Actions:	This attribute lists the action codes supported on this object, formatted as a bit map.
-//			The action codes are the MTs from Table 11.2.2-1. The LSB represents action 0, and so on. (R)
-//			(mandatory) (4 bytes)
-//
-//		Instances Table
-//			Instances table: This attribute is a list of pointers to all instances of this ME. (R)
-//			(mandatory) (2 * V bytes, where V is the number of entries in the table.)
-//
-//		Support
-//			(R) (mandatory) (1 byte)
-//
-type ManagedEntityMe struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	managedentitymeBME = &ManagedEntityDefinition{
-		Name:    "ManagedEntityMe",
-		ClassID: 288,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			GetNext,
-		),
-		AllowedAttributeMask: 0XFF00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: MultiByteField("Name", 25, nil, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: TableField("AttributesTable", TableInfo{0, 1}, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("Access", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: TableField("AlarmsTable", TableInfo{0, 1}, mapset.NewSetWith(Read), false, false, false, 4),
-			5: TableField("AvcsTable", TableInfo{0, 1}, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("Actions", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: TableField("InstancesTable", TableInfo{0, 1}, mapset.NewSetWith(Read), false, false, false, 7),
-			8: ByteField("Support", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-		},
-	}
-}
-
-// NewManagedEntityMe (class ID 288 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewManagedEntityMe(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(managedentitymeBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/me.go b/vendor/github.com/cboling/omci/generated/me.go
deleted file mode 100644
index 131522f..0000000
--- a/vendor/github.com/cboling/omci/generated/me.go
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import (
-	"encoding/binary"
-	"errors"
-	"fmt"
-	"github.com/deckarep/golang-set"
-	"github.com/google/gopacket"
-)
-
-type ManagedEntity struct {
-	definition    *ManagedEntityDefinition
-	attributeMask uint16
-	attributes    AttributeValueMap
-}
-
-// String provides a simple string that describes this struct
-func (entity *ManagedEntity) String() string {
-	return fmt.Sprintf("ManagedEntity: %v, EntityID: (%d/%#x): Attributes: %v",
-		entity.GetClassID(), entity.GetEntityID(), entity.GetEntityID(), entity.attributes)
-}
-
-func NewManagedEntity(definition *ManagedEntityDefinition, params ...ParamData) (*ManagedEntity, OmciErrors) {
-	entity := &ManagedEntity{
-		definition: definition,
-		attributes: make(map[string]interface{}),
-	}
-	if params != nil {
-		err := entity.setAttributes(params...)
-		if err != nil {
-			return nil, err
-		}
-	}
-	return entity, nil
-}
-
-func (entity *ManagedEntity) GetManagedEntityDefinition() *ManagedEntityDefinition {
-	return entity.definition
-}
-
-func (entity *ManagedEntity) SetManagedEntityDefinition(def *ManagedEntityDefinition) {
-	entity.definition = def
-}
-
-func (entity *ManagedEntity) GetName() string {
-	return entity.definition.GetName()
-}
-
-func (entity *ManagedEntity) GetClassID() ClassID {
-	return entity.definition.GetClassID()
-}
-
-func (entity *ManagedEntity) GetMessageTypes() mapset.Set {
-	return entity.definition.GetMessageTypes()
-}
-
-func (entity *ManagedEntity) GetAllowedAttributeMask() uint16 {
-	return entity.definition.GetAllowedAttributeMask()
-}
-
-func (entity *ManagedEntity) GetAttributeDefinitions() *AttributeDefinitionMap {
-	return entity.definition.GetAttributeDefinitions()
-}
-
-func (entity *ManagedEntity) DecodeAttributes(mask uint16, data []byte, p gopacket.PacketBuilder, msgType byte) (AttributeValueMap, error) {
-	return entity.definition.DecodeAttributes(mask, data, p, msgType)
-}
-
-func (entity *ManagedEntity) SerializeAttributes(attr AttributeValueMap, mask uint16,
-	b gopacket.SerializeBuffer, msgType byte, bytesAvailable int) error {
-	return entity.definition.SerializeAttributes(attr, mask, b, msgType, bytesAvailable)
-}
-
-func (entity *ManagedEntity) GetEntityID() uint16 {
-	if eid, err := entity.GetAttributeByIndex(0); err == nil {
-		return eid.(uint16)
-	}
-	return 0
-}
-
-func (entity *ManagedEntity) SetEntityID(eid uint16) error {
-	return entity.SetAttributeByIndex(0, eid)
-}
-
-func (entity *ManagedEntity) GetAttributeMask() uint16 {
-	return entity.attributeMask
-}
-
-func (entity *ManagedEntity) GetAttributeValueMap() *AttributeValueMap {
-	return &entity.attributes
-}
-
-func (entity *ManagedEntity) GetAttribute(name string) (interface{}, error) {
-	value, ok := entity.attributes[name]
-	if !ok {
-		return 0, errors.New(fmt.Sprintf("attribute '%v' not found", name))
-	}
-	return value, nil
-}
-
-func (entity *ManagedEntity) GetAttributeByIndex(index uint) (interface{}, error) {
-	if len(entity.attributes) == 0 {
-		return nil, errors.New("attributes have already been set")
-	}
-	if _, ok := entity.definition.AttributeDefinitions[index]; !ok {
-		return nil, errors.New(fmt.Sprintf("invalid attribute index: %d, should be 0..%d",
-			index, len(entity.definition.AttributeDefinitions)-1))
-	}
-	return entity.GetAttribute(entity.definition.AttributeDefinitions[index].Name)
-}
-
-func (entity *ManagedEntity) setAttributes(params ...ParamData) OmciErrors {
-	if entity.attributes == nil {
-		entity.attributes = make(map[string]interface{})
-	} else if len(entity.attributes) > 0 {
-		return NewNonStatusError("attributes have already been set")
-	}
-	eidName := entity.definition.AttributeDefinitions[0].Name
-	if len(params) == 0 {
-		entity.attributes[eidName] = uint16(0)
-		return nil
-	}
-	entity.attributes[eidName] = params[0].EntityID
-
-	for name, value := range params[0].Attributes {
-		if name == eidName {
-			continue
-		}
-		if err := entity.SetAttribute(name, value); err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
-func (entity *ManagedEntity) SetAttribute(name string, value interface{}) OmciErrors {
-	attrDef, err := GetAttributeDefinitionByName(entity.definition.GetAttributeDefinitions(), name)
-	if err != nil {
-		return err
-	} else if entity.attributes == nil {
-		entity.attributes = make(map[string]interface{})
-	}
-	mask := uint16(1 << (16 - attrDef.GetIndex()))
-	// check any constraints
-	if constraintCheck := attrDef.GetConstraints(); constraintCheck != nil {
-		err = constraintCheck(value)
-		if err != nil {
-			return NewParameterError(mask, err)
-		}
-	}
-	entity.attributes[name] = value
-	entity.attributeMask |= mask
-	return nil
-}
-
-func (entity *ManagedEntity) SetAttributeByIndex(index uint, value interface{}) error {
-	attrDef, ok := entity.definition.AttributeDefinitions[index]
-	if !ok {
-		return errors.New(fmt.Sprintf("invalid attribute index: %d, should be 0..%d",
-			index, len(entity.definition.AttributeDefinitions)-1))
-	} else if entity.attributes == nil {
-		entity.attributes = make(map[string]interface{})
-	}
-	mask := uint16(1 << (16 - attrDef.GetIndex()))
-	// check any constraints
-	if constraintCheck := attrDef.GetConstraints(); constraintCheck != nil {
-		err := constraintCheck(value)
-		if err != nil {
-			return NewParameterError(mask, err)
-		}
-	}
-	entity.attributes[attrDef.Name] = value
-	entity.attributeMask |= mask
-	return nil
-}
-
-func (entity *ManagedEntity) DeleteAttribute(name string) error {
-	attrDef, err := GetAttributeDefinitionByName(entity.definition.GetAttributeDefinitions(), name)
-	if err != nil {
-		return err
-	}
-	if entity.attributes != nil {
-		delete(entity.attributes, name)
-		entity.attributeMask &= ^uint16(1 << (16 - attrDef.GetIndex()))
-	}
-	return nil
-}
-
-func (entity *ManagedEntity) DeleteAttributeByIndex(index uint) error {
-	attrDef, ok := entity.definition.AttributeDefinitions[index]
-	if !ok {
-		return errors.New(fmt.Sprintf("invalid attribute index: %d, should be 0..%d",
-			index, len(entity.definition.AttributeDefinitions)-1))
-	}
-	if entity.attributes != nil {
-		delete(entity.attributes, attrDef.Name)
-		entity.attributeMask &= ^uint16(1 << (16 - attrDef.GetIndex()))
-	}
-	return nil
-}
-
-func (entity *ManagedEntity) DecodeFromBytes(data []byte, p gopacket.PacketBuilder, msgType byte) error {
-	if len(data) < 6 {
-		p.SetTruncated()
-		return errors.New("frame too small")
-	}
-	classID := ClassID(binary.BigEndian.Uint16(data[0:2]))
-	entityID := binary.BigEndian.Uint16(data[2:4])
-	parameters := ParamData{EntityID: entityID}
-
-	meDefinition, omciErr := LoadManagedEntityDefinition(classID, parameters)
-	if omciErr != nil {
-		return omciErr.GetError()
-	}
-	entity.definition = meDefinition.definition
-	entity.attributeMask = binary.BigEndian.Uint16(data[4:6])
-	entity.attributes = make(map[string]interface{})
-	entity.SetEntityID(entityID)
-	packetAttributes, err := entity.DecodeAttributes(entity.GetAttributeMask(), data[6:], p, msgType)
-	if err != nil {
-		return err
-	}
-	for name, value := range packetAttributes {
-		entity.attributes[name] = value
-	}
-	return nil
-}
-
-func (entity *ManagedEntity) SerializeTo(b gopacket.SerializeBuffer, msgType byte, bytesAvailable int) error {
-	// Add class ID and entity ID
-	bytes, err := b.AppendBytes(6)
-	if err != nil {
-		return err
-	}
-	binary.BigEndian.PutUint16(bytes, uint16(entity.GetClassID()))
-	binary.BigEndian.PutUint16(bytes[2:], entity.GetEntityID())
-	binary.BigEndian.PutUint16(bytes[4:], entity.GetAttributeMask())
-
-	// TODO: Need to limit number of bytes appended to not exceed packet size
-	// Is there space/metadata info in 'b' parameter to allow this?
-	err = entity.SerializeAttributes(entity.attributes, entity.GetAttributeMask(), b, msgType, bytesAvailable)
-	return err
-}
diff --git a/vendor/github.com/cboling/omci/generated/mgcconfigdata.go b/vendor/github.com/cboling/omci/generated/mgcconfigdata.go
deleted file mode 100644
index 60b47bb..0000000
--- a/vendor/github.com/cboling/omci/generated/mgcconfigdata.go
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const MgcConfigDataClassId ClassID = ClassID(155)
-
-var mgcconfigdataBME *ManagedEntityDefinition
-
-// MgcConfigData (class ID #155)
-//	The MGC config data ME defines the MGC configuration associated with an MG subscriber. It is
-//	conditionally required for ONUs that support ITU-T H.248 VoIP services. If a non-OMCI interface
-//	is used to manage VoIP signalling, this ME is unnecessary.
-//
-//	Instances of this ME are created and deleted by the OLT.
-//
-//	Relationships
-//		An instance of this ME may be associated with one or more VoIP voice CTP MEs.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Primary Mgc
-//			Primary MGC: This attribute points to a network address ME that contains the name (IP address or
-//			resolved name) of the primary MGC that controls the signalling messages. The port is optional
-//			and defaults to 2944 for text message formats and 2955 for binary message formats. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Secondary Mgc
-//			Secondary MGC: This attribute points to a network address ME that contains the name (IP address
-//			or resolved name) of the secondary or backup MGC that controls the signalling messages. The port
-//			is optional and defaults to 2944 for text message formats and 2955 for binary message formats.
-//			(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Tcp_Udp Pointer
-//			TCP/UDP pointer: This attribute points to the TCP/UDP config data ME to be used for
-//			communication with the MGC. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Version
-//			Version:	This integer attribute reports the version of the Megaco protocol in use. The ONU
-//			should deny an attempt by the OLT to set or create a value that it does not support. The value 0
-//			indicates that no particular version is specified. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Message Format
-//			The default value is recommended to be 0. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Maximum Retry Time
-//			Maximum retry time: This attribute specifies the maximum retry time for MGC transactions, in
-//			seconds. The default value 0 specifies vendor-specific implementation. (R, W) (optional)
-//			(2 bytes)
-//
-//		Maximum Retry Attempts
-//			Maximum retry attempts: This attribute specifies the maximum number of times a message is
-//			retransmitted to the MGC. The recommended default value 0 specifies vendor-specific
-//			implementation. (R, W, setbycreate) (optional) (2 bytes)
-//
-//		Service Change Delay
-//			Service change delay: This attribute specifies the service status delay time for changes in line
-//			service status. This attribute is specified in seconds. The default value 0 specifies no delay.
-//			(R, W) (optional) (2 bytes)
-//
-//		Termination Id Base
-//			Termination ID base: This attribute specifies the base string for the ITU-T H.248 physical
-//			termination ID(s) for this ONU. This string is intended to uniquely identify an ONU. Vendor-
-//			specific termination identifiers (port IDs) are optionally added to this string to uniquely
-//			identify a termination on a specific ONU. (R, W) (optional) (25 bytes)
-//
-//		Softswitch
-//			Softswitch:	This attribute identifies the gateway softswitch vendor. The format is four ASCII
-//			coded alphabetic characters [A..Z] as defined in [ATIS0300220]. A value of four null bytes
-//			indicates an unknown or unspecified vendor. (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Message Id Pointer
-//			Message ID pointer: This attribute points to a large string whose value specifies the message
-//			identifier string for ITU-T H.248 messages originated by the ONU. (R, W, setbycreate) (optional)
-//			(2 bytes)
-//
-type MgcConfigData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	mgcconfigdataBME = &ManagedEntityDefinition{
-		Name:    "MgcConfigData",
-		ClassID: 155,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFE0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint16Field("PrimaryMgc", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  Uint16Field("SecondaryMgc", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint16Field("TcpUdpPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  ByteField("Version", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  ByteField("MessageFormat", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6:  Uint16Field("MaximumRetryTime", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7:  Uint16Field("MaximumRetryAttempts", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 7),
-			8:  Uint16Field("ServiceChangeDelay", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
-			9:  MultiByteField("TerminationIdBase", 25, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-			10: Uint32Field("Softswitch", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
-			11: Uint16Field("MessageIdPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 11),
-		},
-	}
-}
-
-// NewMgcConfigData (class ID 155 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewMgcConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(mgcconfigdataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/mocaethernetperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/mocaethernetperformancemonitoringhistorydata.go
deleted file mode 100644
index 53fd742..0000000
--- a/vendor/github.com/cboling/omci/generated/mocaethernetperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const MocaEthernetPerformanceMonitoringHistoryDataClassId ClassID = ClassID(163)
-
-var mocaethernetperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// MocaEthernetPerformanceMonitoringHistoryData (class ID #163)
-//	This ME collects PM data for an MoCA Ethernet interface. Instances of this ME are created and
-//	deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of the PPTP MoCA UNI ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP MoCA UNI. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Incoming Unicast Packets
-//			Incoming unicast packets:	(R) (optional) (4 bytes)
-//
-//		Incoming Discarded Packets
-//			Incoming discarded packets:	(R) (optional) (4 bytes)
-//
-//		Incoming Errored Packets
-//			Incoming errored packets:	(R) (optional) (4 bytes)
-//
-//		Incoming Unknown Packets
-//			Incoming unknown packets:	(R) (optional) (4 bytes)
-//
-//		Incoming Multicast Packets
-//			Incoming multicast packets:	(R) (optional) (4 bytes)
-//
-//		Incoming Broadcast Packets
-//			Incoming broadcast packets:	(R) (optional) (4 bytes)
-//
-//		Incoming Octets
-//			Incoming octets:	(R) (optional) (4 bytes)
-//
-//		Outgoing Unicast Packets
-//			Outgoing unicast packets:	(R) (optional) (4 bytes)
-//
-//		Outgoing Discarded Packets
-//			Outgoing discarded packets:	(R) (optional) (4 bytes)
-//
-//		Outgoing Errored Packets
-//			Outgoing errored packets:	(R) (optional) (4 bytes)
-//
-//		Outgoing Unknown Packets
-//			Outgoing unknown packets:	(R) (optional) (4 bytes)
-//
-//		Outgoing Multicast Packets
-//			Outgoing multicast packets:	(R) (optional) (4 bytes)
-//
-//		Outgoing Broadcast Packets
-//			Outgoing broadcast packets:	(R) (optional) (4 bytes)
-//
-//		Outgoing Octets
-//			Outgoing octets:	(R) (optional) (4 bytes)
-//
-type MocaEthernetPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	mocaethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "MocaEthernetPerformanceMonitoringHistoryData",
-		ClassID: 163,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("IncomingUnicastPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4:  Uint32Field("IncomingDiscardedPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5:  Uint32Field("IncomingErroredPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6:  Uint32Field("IncomingUnknownPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
-			7:  Uint32Field("IncomingMulticastPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
-			8:  Uint32Field("IncomingBroadcastPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9:  Uint32Field("IncomingOctets", 0, mapset.NewSetWith(Read), false, false, true, false, 9),
-			10: Uint32Field("OutgoingUnicastPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: Uint32Field("OutgoingDiscardedPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
-			12: Uint32Field("OutgoingErroredPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 12),
-			13: Uint32Field("OutgoingUnknownPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 13),
-			14: Uint32Field("OutgoingMulticastPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 14),
-			15: Uint32Field("OutgoingBroadcastPackets", 0, mapset.NewSetWith(Read), false, false, true, false, 15),
-			16: Uint32Field("OutgoingOctets", 0, mapset.NewSetWith(Read), false, false, true, false, 16),
-		},
-	}
-}
-
-// NewMocaEthernetPerformanceMonitoringHistoryData (class ID 163 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewMocaEthernetPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(mocaethernetperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/mplspseudowireterminationpoint.go b/vendor/github.com/cboling/omci/generated/mplspseudowireterminationpoint.go
deleted file mode 100644
index 25f3305..0000000
--- a/vendor/github.com/cboling/omci/generated/mplspseudowireterminationpoint.go
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const MplsPseudowireTerminationPointClassId ClassID = ClassID(333)
-
-var mplspseudowireterminationpointBME *ManagedEntityDefinition
-
-// MplsPseudowireTerminationPoint (class ID #333)
-//	This ME contains the configuration data of a pseudowire whose underlying transport method is
-//	MPLS. Instances of this ME are created and deleted by the OLT.
-//
-//	Relationships
-//		Zero or one instance of this ME is associated with each instance of the pseudowire TP ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Tp Type
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Tp Pointer
-//			TP pointer:	This attribute points to the instance of the TP associated with this MPLS PW TP. The
-//			type of the associated TP is determined by the TP type attribute. (R, W, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Mpls Label Indicator
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Mpls Pw Direction
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Mpls Pw Uplink Label
-//			MPLS PW uplink label: This attribute specifies the label of the inner MPLS pseudowire upstream.
-//			The attribute is not meaningful for unidirectional downstream PWs. (R, W, setbycreate)
-//			(mandatory) (4 bytes)
-//
-//		Mpls Pw Downlink Label
-//			MPLS PW downlink label: This attribute specifies the label of the inner MPLS pseudowire
-//			downstream. The attribute is not meaningful for unidirectional upstream PWs. (R, W, setbycreate)
-//			(mandatory) (4 bytes)
-//
-//		Mpls Pw Tc
-//			NOTE 1 – The TC field was previously known as EXP. Refer to [bIETF RFC 5462].
-//
-//		Mpls Tunnel Direction
-//			(R, W, setbycreate) (mandatory for double-labelled case) (1 byte)
-//
-//		Mpls Tunnel Uplink Label
-//			MPLS tunnel uplink label: This attribute specifies the (outer) label for the upstream MPLS
-//			tunnel. If the MPLS tunnel is downstream only, this attribute should be set to 0. (R, W,
-//			setbycreate) (mandatory for double-labelled case) (4 bytes)
-//
-//		Mpls Tunnel Downlink Label
-//			MPLS tunnel downlink label: This attribute specifies the (outer) label for the downstream MPLS
-//			tunnel. If the MPLS tunnel is upstream only, this attribute should be set to 0. (R, W,
-//			setbycreate) (mandatory for double-labelled case) (4 bytes)
-//
-//		Mpls Tunnel Tc
-//			NOTE 2 – The TC field was previously known as EXP. Refer to [bIETF RFC 5462].
-//
-//		Pseudowire Type
-//			(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Pseudowire Control Word Preference
-//			Pseudowire control word preference: When set to true, this Boolean attribute specifies that a
-//			control word is to be sent with each packet. Some PW types mandate the use of a control word in
-//			any event. In such cases, the value configured for this attribute has no effect on the presence
-//			of the control word. (R, W, setbycreate) (optional) (1 byte)
-//
-//		Administrative State
-//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by the
-//			MPLS pseudowire TP. Administrative state is further described in clause A.1.6. (R, W) (optional)
-//			(1 byte)
-//
-//		Operational State
-//			Operational state: This attribute reports whether the ME is currently capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
-//
-type MplsPseudowireTerminationPoint struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	mplspseudowireterminationpointBME = &ManagedEntityDefinition{
-		Name:    "MplsPseudowireTerminationPoint",
-		ClassID: 333,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFE,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("TpType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  Uint16Field("TpPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  ByteField("MplsLabelIndicator", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  ByteField("MplsPwDirection", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint32Field("MplsPwUplinkLabel", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6:  Uint32Field("MplsPwDownlinkLabel", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7:  ByteField("MplsPwTc", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8:  ByteField("MplsTunnelDirection", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  Uint32Field("MplsTunnelUplinkLabel", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 9),
-			10: Uint32Field("MplsTunnelDownlinkLabel", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
-			11: ByteField("MplsTunnelTc", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 11),
-			12: Uint16Field("PseudowireType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 12),
-			13: ByteField("PseudowireControlWordPreference", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 13),
-			14: ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 14),
-			15: ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 15),
-		},
-	}
-}
-
-// NewMplsPseudowireTerminationPoint (class ID 333 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewMplsPseudowireTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(mplspseudowireterminationpointBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/networkdialplantable.go b/vendor/github.com/cboling/omci/generated/networkdialplantable.go
deleted file mode 100644
index 75e6bde..0000000
--- a/vendor/github.com/cboling/omci/generated/networkdialplantable.go
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const NetworkDialPlanTableClassId ClassID = ClassID(145)
-
-var networkdialplantableBME *ManagedEntityDefinition
-
-// NetworkDialPlanTable (class ID #145)
-//	The network dial plan table ME is optional for ONUs providing VoIP services. This ME is used to
-//	provision dial plans from the OLT. Instances of this ME are created and deleted by the OLT. If a
-//	non-OMCI interface is used to manage SIP for VoIP, this ME is unnecessary.
-//
-//	Relationships
-//		An instance of this ME may be associated with one or more instances of the SIP user data ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Dial Plan Number
-//			Dial plan number: This attribute indicates the current number of dial plans in the dial plan
-//			table. (R) (mandatory) (2 bytes)
-//
-//		Dial Plan Table Max Size
-//			Dial plan table max size: This attribute defines the maximum number of dial plans that can be
-//			stored in the dial plan table. (R, setbycreate) (mandatory) (2 bytes)
-//
-//		Critical Dial Timeout
-//			Critical dial timeout: This attribute defines the critical dial timeout for digit map
-//			processing, in milliseconds. The recommended default value is 4000 ms. (R, W, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Partial Dial Timeout
-//			Partial dial timeout: This attribute defines the partial dial timeout for digit map processing,
-//			in milliseconds. The recommended default value is 16000 ms. (R, W, setbycreate) (mandatory)
-//			(2 bytes)
-//
-//		Dial Plan Format
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Dial Plan Table
-//			(R, W) (mandatory) (30 * N bytes, where N is the number of dial plans)
-//
-type NetworkDialPlanTable struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	networkdialplantableBME = &ManagedEntityDefinition{
-		Name:    "NetworkDialPlanTable",
-		ClassID: 145,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			GetNext,
-			Set,
-		),
-		AllowedAttributeMask: 0XFC00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("DialPlanNumber", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("DialPlanTableMaxSize", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 2),
-			3: Uint16Field("CriticalDialTimeout", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint16Field("PartialDialTimeout", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: ByteField("DialPlanFormat", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6: TableField("DialPlanTable", TableInfo{0, 1}, mapset.NewSetWith(Read, Write), false, false, false, 6),
-		},
-	}
-}
-
-// NewNetworkDialPlanTable (class ID 145 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewNetworkDialPlanTable(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(networkdialplantableBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/omcierror.go b/vendor/github.com/cboling/omci/generated/omcierror.go
deleted file mode 100644
index 8bf369e..0000000
--- a/vendor/github.com/cboling/omci/generated/omcierror.go
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import (
-	"errors"
-	"fmt"
-)
-
-// Custom Go Error messages for common OMCI errors
-//
-// Response Status code related errors
-type OmciErrors interface {
-	Error() string
-	StatusCode() Results
-	GetError() error
-}
-
-type OmciError struct {
-	err        string
-	statusCode Results
-}
-
-func (e *OmciError) GetError() error {
-	return errors.New(e.err)
-}
-
-func (e *OmciError) Error() string {
-	return e.err
-}
-
-func (e *OmciError) StatusCode() Results {
-	return e.statusCode
-}
-
-func NewOmciError(text string, status Results) OmciErrors {
-	if status == Success {
-		panic("Do not use OmciError to convey successful results")
-	}
-	return &OmciError{
-		err:        text,
-		statusCode: status,
-	}
-}
-
-type OmciNonStatusError struct {
-	OmciError
-}
-
-// NewNonStatusError is for processing errors that do not involve
-// frame processing status & results
-func NewNonStatusError(args ...interface{}) OmciErrors {
-	defaultValue := "command processing error"
-	return &OmciProcessingError{
-		OmciError: OmciError{
-			err: genMessage(defaultValue, args...),
-		},
-	}
-}
-
-type OmciProcessingError struct {
-	OmciError
-}
-
-// NewProcessingError means the command processing failed at the ONU
-// for reasons not described by one of the more specific error codes.
-func NewProcessingError(args ...interface{}) OmciErrors {
-	defaultValue := "command processing error"
-	return &OmciProcessingError{
-		OmciError: OmciError{
-			err:        genMessage(defaultValue, args...),
-			statusCode: ProcessingError,
-		},
-	}
-}
-
-type NotSupportedError struct {
-	OmciError
-}
-
-// NewNotSupportedError means that the message type indicated in byte 3 is
-// not supported by the ONU.
-func NewNotSupportedError(args ...interface{}) OmciErrors {
-	defaultValue := "command not supported"
-	return &NotSupportedError{
-		OmciError: OmciError{
-			err:        genMessage(defaultValue, args...),
-			statusCode: NotSupported,
-		},
-	}
-}
-
-type ParamError struct {
-	OmciError
-	FailureMask uint16
-}
-
-// NewParameterError means that the command message received by the
-// ONU was errored. It would be appropriate if an attribute mask
-// were out of range, for example. In practice, this result code is
-// frequently used interchangeably with code 1001. However, the
-// optional attribute and attribute execution masks in the reply
-// messages are only defined for code 1001.
-func NewParameterError(mask uint16, args ...interface{}) OmciErrors {
-	defaultValue := "parameter error"
-	return &ParamError{
-		OmciError: OmciError{
-			err:        genMessage(defaultValue, args...),
-			statusCode: ParameterError,
-		},
-		FailureMask: mask,
-	}
-}
-
-type UnknownEntityError struct {
-	OmciError
-}
-
-// NewUnknownEntityError This result means that the managed entity class
-// (bytes 5..6) is not supported by the ONU.
-func NewUnknownEntityError(args ...interface{}) OmciErrors {
-	defaultValue := "unknown managed entity"
-	return &UnknownEntityError{
-		OmciError: OmciError{
-			err:        genMessage(defaultValue, args...),
-			statusCode: UnknownEntity,
-		},
-	}
-}
-
-type UnknownInstanceError struct {
-	OmciError
-}
-
-// NewUnknownInstanceError means that the managed entity instance (bytes 7..8)
-// does not exist in the ONU.
-func NewUnknownInstanceError(args ...interface{}) OmciErrors {
-	defaultValue := "unknown managed entity instance"
-	return &UnknownInstanceError{
-		OmciError: OmciError{
-			err:        genMessage(defaultValue, args...),
-			statusCode: UnknownInstance,
-		},
-	}
-}
-
-type DeviceBusyError struct {
-	OmciError
-}
-
-// NewDeviceBusyError means that the command could not be processed due
-// to process-related congestion at the ONU. This result code may
-// also be used as a pause indication to the OLT while the ONU
-// conducts a time-consuming operation such as storage of a
-// software image into non-volatile memory.
-func NewDeviceBusyError(args ...interface{}) OmciErrors {
-	defaultValue := "device busy"
-	return &DeviceBusyError{
-		OmciError: OmciError{
-			err:        genMessage(defaultValue, args...),
-			statusCode: DeviceBusy,
-		},
-	}
-}
-
-type InstanceExistsError struct {
-	OmciError
-}
-
-// NewInstanceExistsError
-func NewInstanceExistsError(args ...interface{}) OmciErrors {
-	defaultValue := "instance exists"
-	return &InstanceExistsError{
-		OmciError: OmciError{
-			err:        genMessage(defaultValue, args...),
-			statusCode: InstanceExists,
-		},
-	}
-}
-
-type AttributeFailureError struct {
-	OmciError
-}
-
-// NewAttributeFailureError means that the ONU already has a managed entity
-// instance that corresponds to the one the OLT is attempting to create.
-func NewAttributeFailureError(args ...interface{}) OmciErrors {
-	defaultValue := "attribute(s) failed or unknown"
-	return &AttributeFailureError{
-		OmciError: OmciError{
-			err:        genMessage(defaultValue, args...),
-			statusCode: AttributeFailure,
-		},
-	}
-}
-
-type MessageTruncatedError struct {
-	OmciError
-}
-
-// NewAttributeFailureError means that the ONU already has a managed entity
-// instance that corresponds to the one the OLT is attempting to create.
-func NewMessageTruncatedError(args ...interface{}) OmciErrors {
-	defaultValue := "out-of-space. Cannot fit attribute into message"
-	return &MessageTruncatedError{
-		OmciError: OmciError{
-			err:        genMessage(defaultValue, args...),
-			statusCode: ProcessingError,
-		},
-	}
-}
-
-func genMessage(defaultValue string, args ...interface{}) string {
-	switch len(args) {
-	case 0:
-		return defaultValue
-
-	case 1:
-		switch first := args[0].(type) {
-		case string:
-			// Assume a simple, pre-formatted string
-			return args[0].(string)
-
-		case func() string:
-			// Assume a closure with no other arguments used
-			return first()
-
-		default:
-			panic("Unsupported parameter type")
-		}
-	}
-	return fmt.Sprintf(args[0].(string), args[1:]...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/onupowershedding.go b/vendor/github.com/cboling/omci/generated/onupowershedding.go
deleted file mode 100644
index 62be255..0000000
--- a/vendor/github.com/cboling/omci/generated/onupowershedding.go
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const OnuPowerSheddingClassId ClassID = ClassID(133)
-
-var onupowersheddingBME *ManagedEntityDefinition
-
-// OnuPowerShedding (class ID #133)
-//	This ME models the ONU's ability to shed services when the ONU goes into battery operation mode
-//	after AC power failure. Shedding classes are defined in the following table, which may span
-//	multiple circuit pack types. This feature works in conjunction with the power shed override
-//	attribute of the circuit pack ME, which can selectively prevent power shedding of priority
-//	ports.
-//
-//	An ONU that supports power shedding automatically creates an instance of this ME.
-//
-//	The following table defines the binding of shedding class and PPTP type. The coding is taken
-//	from Table 9.1.5-1. In the case of hybrid circuit pack types, multiple shedding classes may
-//	affect a circuit pack if the hardware is capable of partial power shedding.
-//
-//	An ONU may choose to model its ports with the port-mapping package of clause 9.1.8, rather than
-//	with real or virtual circuit packs. In this case, power shedding pertains to individual PPTPs
-//	(listed in column 2 of the table).
-//
-//	Relationships
-//		One instance of this ME is associated with the ONU ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
-//			one instance, number 0. (R) (mandatory) (2 bytes)
-//
-//		Restore Power Timer Reset Interval
-//			Restore power timer reset interval: The time delay, in seconds, before resetting the power-
-//			shedding timers after full power restoration. Upon ME instantiation, the ONU sets this attribute
-//			to 0. (R, W) (mandatory) (2 bytes)
-//
-//		Data Class Shedding Interval
-//			Data class shedding interval:	(R, W) (mandatory) (2 bytes)
-//
-//		Voice Class Shedding Interval
-//			Voice class shedding interval: This attribute only pertains to voice services that terminate on
-//			the ONU and are under the management control of the OMCI. (R, W) (mandatory) (2 bytes)
-//
-//		Video Overlay Class Shedding Interval
-//			Video overlay class shedding interval:	(R, W) (mandatory) (2 bytes)
-//
-//		Video Return Class Shedding Interval
-//			Video return class shedding interval:	(R, W) (mandatory) (2 bytes)
-//
-//		Digital Subscriber Line Class Shedding Interval
-//			Digital subscriber line (DSL) class shedding interval:	(R, W) (mandatory) (2 bytes)
-//
-//		Atm Class Shedding Interval
-//			ATM class shedding interval:	(R, W) (mandatory) (2 bytes)
-//
-//		Ces Class Shedding Interval
-//			CES class shedding interval:	(R, W) (mandatory) (2 bytes)
-//
-//		Frame Class Shedding Interval
-//			Frame class shedding interval:	(R, W) (mandatory) (2 bytes)
-//
-//		Sdh_Sonet Class Shedding Interval
-//			Sdh-sonet class shedding interval:	(R, W) (mandatory) (2 bytes)
-//
-//		Shedding Status
-//			The ONU sets each bit to 1 when power shedding is active, and clears it to 0 when the service is
-//			restored. (R) (optional) (2 bytes)
-//
-type OnuPowerShedding struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	onupowersheddingBME = &ManagedEntityDefinition{
-		Name:    "OnuPowerShedding",
-		ClassID: 133,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFE0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  Uint16Field("RestorePowerTimerResetInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  Uint16Field("DataClassSheddingInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3:  Uint16Field("VoiceClassSheddingInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  Uint16Field("VideoOverlayClassSheddingInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  Uint16Field("VideoReturnClassSheddingInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  Uint16Field("DigitalSubscriberLineClassSheddingInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  Uint16Field("AtmClassSheddingInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  Uint16Field("CesClassSheddingInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  Uint16Field("FrameClassSheddingInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-			10: Uint16Field("SdhSonetClassSheddingInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 10),
-			11: Uint16Field("SheddingStatus", 0, mapset.NewSetWith(Read), true, false, true, false, 11),
-		},
-	}
-}
-
-// NewOnuPowerShedding (class ID 133 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewOnuPowerShedding(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(onupowersheddingBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointcesuni.go b/vendor/github.com/cboling/omci/generated/physicalpathterminationpointcesuni.go
deleted file mode 100644
index 3f2320e..0000000
--- a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointcesuni.go
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const PhysicalPathTerminationPointCesUniClassId ClassID = ClassID(12)
-
-var physicalpathterminationpointcesuniBME *ManagedEntityDefinition
-
-// PhysicalPathTerminationPointCesUni (class ID #12)
-//	This ME represents the point at a CES UNI in the ONU where the physical path terminates and
-//	physical level functions are performed.
-//
-//	The ONU automatically creates an instance of this ME per port:
-//
-//	•	when the ONU has CES ports built into its factory configuration;
-//
-//	•	when a cardholder is provisioned to expect a circuit pack of a CES type;
-//
-//	•	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of a CES type.
-//	Note that the installation of a plug-and-play card may indicate the presence of CES ports via
-//	equipment ID as well as its type and indeed may cause the ONU to instantiate a port-mapping
-//	package that specifies CES ports.
-//
-//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
-//	expect a CES circuit pack, nor is it equipped with a CES circuit pack.
-//
-//	Relationships
-//		An instance of this ME is associated with each real or pre-provisioned CES port. It can be
-//		linked from a GEM IW TP, a pseudowire TP or a logical N × 64 kbit/s CTP.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
-//			number indicates the physical position of the UNI. The first byte is the slot ID (defined in
-//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2 bytes)
-//
-//		Expected Type
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R, W) (mandatory) (1 byte)
-//
-//		Sensed Type
-//			Sensed type:	If the value of expected type is not 0, then the value of sensed type equals the
-//			value of expected type. If expected type = 0, then the value of sensed type is one of the
-//			compatible values from Table 9.1.5-1. Upon ME instantiation, the ONU sets this attribute to 0 or
-//			to the value that reflects the physically present equipment. (R) (mandatory if the ONU supports
-//			circuit packs with configurable interface types, e.g., C1.5/2/6.3) (1 byte)
-//
-//		Ces Loopback Configuration
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R, W) (mandatory) (1 byte)
-//
-//		Administrative State
-//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is further described in clause A.1.6. (R, W) (mandatory) (1 byte)
-//
-//		Operational State
-//			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
-//
-//		Framing
-//			Upon ME instantiation, the ONU sets this attribute to a value that reflects the vendor's
-//			default. (R, W) (optional) (1 byte)
-//
-//		Encoding
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R, W) (mandatory for DS1 and DS3
-//			interfaces) (1 byte)
-//
-//		Line Length
-//			Line length:	This attribute specifies the length of the twisted pair cable from a DS1 physical
-//			UNI to the DSX-1 cross-connect point or the length of coaxial cable from a DS3 physical UNI to
-//			the DSX-3 cross-connect point. Valid values are given in Table 9.8.1-1. Upon ME instantiation
-//			for a DS1 interface, the ONU assigns the value 0 for non-power feed type DS1 and the value 6 for
-//			power feed type DS1. Upon ME instantiation for a DS3 interface, the ONU sets this attribute to
-//			0x0F. (R, W) (optional) (1 byte)
-//
-//		Ds1 Mode
-//			In the event of conflicting values between this attribute and the (also optional) line length
-//			attribute, the line length attribute is taken to be valid. This permits the separation of line
-//			build-out (LBO) and power settings from smart jack and FDL behaviour. Upon ME instantiation, the
-//			ONU sets this attribute to 0. (R, W) (optional) (1 byte)
-//
-//		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Line Type
-//			(R, W) (mandatory for DS3, E3 and multi-configuration interfaces, not applicable to other
-//			interfaces) (1 byte)
-//
-type PhysicalPathTerminationPointCesUni struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	physicalpathterminationpointcesuniBME = &ManagedEntityDefinition{
-		Name:    "PhysicalPathTerminationPointCesUni",
-		ClassID: 12,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFF0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("ExpectedType", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  ByteField("SensedType", 0, mapset.NewSetWith(Read), true, false, false, false, 2),
-			3:  ByteField("CesLoopbackConfiguration", 0, mapset.NewSetWith(Read, Write), true, false, false, false, 3),
-			4:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 5),
-			6:  ByteField("Framing", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7:  ByteField("Encoding", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  ByteField("LineLength", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
-			9:  ByteField("Ds1Mode", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-			10: ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 10),
-			11: ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: ByteField("LineType", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 12),
-		},
-	}
-}
-
-// NewPhysicalPathTerminationPointCesUni (class ID 12 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewPhysicalPathTerminationPointCesUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(physicalpathterminationpointcesuniBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointethernetuni.go b/vendor/github.com/cboling/omci/generated/physicalpathterminationpointethernetuni.go
deleted file mode 100644
index 3f51e0f..0000000
--- a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointethernetuni.go
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const PhysicalPathTerminationPointEthernetUniClassId ClassID = ClassID(11)
-
-var physicalpathterminationpointethernetuniBME *ManagedEntityDefinition
-
-// PhysicalPathTerminationPointEthernetUni (class ID #11)
-//	This ME represents the point at an Ethernet UNI where the physical path terminates and Ethernet
-//	physical level functions are performed.
-//
-//	The ONU automatically creates an instance of this ME per port:
-//
-//	•	when the ONU has Ethernet ports built into its factory configuration;
-//
-//	•	when a cardholder is provisioned to expect a circuit pack of the Ethernet type;
-//
-//	•	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of the
-//	Ethernet type. Note that the installation of a plug-and-play card may indicate the presence of
-//	Ethernet ports via equipment ID as well as its type, and indeed may cause the ONU to instantiate
-//	a port-mapping package that specifies Ethernet ports.
-//
-//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
-//	expect an Ethernet circuit pack, nor is it equipped with an Ethernet circuit pack.
-//
-//	Relationships
-//		An instance of this ME is associated with each instance of a pre-provisioned or real Ethernet
-//		port.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
-//			number indicates the physical position of the UNI. The first byte is the slot ID (defined in
-//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2 bytes)
-//
-//		Expected Type
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R, W) (mandatory) (1 byte)
-//
-//		Sensed Type
-//			(R) (mandatory if the ONU supports circuit packs with configurable interface types, e.g., 10/100
-//			BASE-T card) (1 byte)
-//
-//		Auto Detection Configuration
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R, W) (mandatory for interfaces with
-//			autodetection options) (1 byte)
-//
-//		Ethernet Loopback Configuration
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R, W) (mandatory) (1 byte)
-//
-//		Administrative State
-//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is further described in clause A.1.6. (R, W) (mandatory) (1 byte)
-//
-//		Operational State
-//			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
-//
-//		Configuration Ind
-//			The value 0 indicates that the configuration status is unknown (e.g., Ethernet link is not
-//			established or the circuit pack is not yet installed). Upon ME instantiation, the ONU sets this
-//			attribute to 0. (R) (mandatory) (1 byte)
-//
-//		Max Frame Size
-//			Max frame size: This attribute denotes the maximum frame size allowed across this interface.
-//			Upon ME instantiation, the ONU sets the attribute to 1518. (R, W) (mandatory for G-PON, optional
-//			for ITU-T G.986 systems) (2 bytes)
-//
-//		Dte Or Dce Ind
-//			(R, W) (mandatory) (1 byte)
-//
-//		Pause Time
-//			Pause time:	This attribute allows the PPTP to ask the subscriber terminal to temporarily suspend
-//			sending data. Units are in pause quanta (1 pause quantum is 512 bit times of the particular
-//			implementation). Values: 0..0xFFFF. Upon ME instantiation, the ONU sets this attribute to 0.
-//			(R, W) (optional) (2 bytes)
-//
-//		Bridged Or Ip Ind
-//			Upon ME instantiation, the ONU sets this attribute to 2. (R, W) (optional) (1 byte)
-//
-//		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Pppoe Filter
-//			PPPoE filter: This attribute controls filtering of PPPoE packets on this Ethernet port. The
-//			value 0 allows packets of all types. The value 1 discards everything but PPPoE packets. The
-//			default value is 0. (R, W) (optional) (1 byte)
-//
-//		Power Control
-//			NOTE – This attribute is the equivalent of the acPSEAdminControl variable defined in clause
-//			30.9.1.2.1 of [IEEE 802.3]. Other variables related to PoE appear in the PoE control ME.
-//
-type PhysicalPathTerminationPointEthernetUni struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	physicalpathterminationpointethernetuniBME = &ManagedEntityDefinition{
-		Name:    "PhysicalPathTerminationPointEthernetUni",
-		ClassID: 11,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFE,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("ExpectedType", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  ByteField("SensedType", 0, mapset.NewSetWith(Read), true, false, false, false, 2),
-			3:  ByteField("AutoDetectionConfiguration", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  ByteField("EthernetLoopbackConfiguration", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 6),
-			7:  ByteField("ConfigurationInd", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint16Field("MaxFrameSize", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  ByteField("DteOrDceInd", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-			10: Uint16Field("PauseTime", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
-			11: ByteField("BridgedOrIpInd", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 12),
-			13: ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
-			14: ByteField("PppoeFilter", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 14),
-			15: ByteField("PowerControl", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 15),
-		},
-	}
-}
-
-// NewPhysicalPathTerminationPointEthernetUni (class ID 11 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewPhysicalPathTerminationPointEthernetUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(physicalpathterminationpointethernetuniBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointmocauni.go b/vendor/github.com/cboling/omci/generated/physicalpathterminationpointmocauni.go
deleted file mode 100644
index 29ab438..0000000
--- a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointmocauni.go
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const PhysicalPathTerminationPointMocaUniClassId ClassID = ClassID(162)
-
-var physicalpathterminationpointmocauniBME *ManagedEntityDefinition
-
-// PhysicalPathTerminationPointMocaUni (class ID #162)
-//	This ME represents an MoCA UNI, where physical paths terminate and physical path level functions
-//	are performed.
-//
-//	The ONU automatically creates an instance of this ME per port as follows.
-//
-//	•	When the ONU has MoCA ports built into its factory configuration.
-//
-//	•	When a cardholder is provisioned to expect a circuit pack of the MoCA type.
-//
-//	•	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the MoCA
-//	type. Note that the installation of a plug-and-play card may indicate the presence of MoCA ports
-//	via equipment ID as well as its type, and indeed may cause the ONU to instantiate a port-mapping
-//	package that specifies MoCA ports.
-//
-//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
-//	expect an MoCA circuit pack, nor is it equipped with an MoCA circuit pack.
-//
-//	Relationships
-//		An instance of this ME is associated with each real or pre-provisioned MoCA port.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
-//			number is directly associated with the physical position of the UNI. The first byte is the slot
-//			ID (defined in clause 9.1.5). The second byte is the port ID, with the range 1..255. (R)
-//			(mandatory) (2 bytes)
-//
-//		Loopback Configuration
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R, W) (optional) (1 byte)
-//
-//		Administrative State
-//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is further described in clause A.1.6. (R, W) (mandatory) (1 byte)
-//
-//		Operational State
-//			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
-//
-//		Max Frame Size
-//			Max frame size: This attribute denotes the maximum frame size allowed across this interface.
-//			Upon ME instantiation, the ONU sets this attribute to 1518. (R, W) (mandatory) (2 bytes)
-//
-//		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Pppoe Filter
-//			PPPoE filter: This attribute controls filtering of PPPoE packets on this MoCA port. When its
-//			value is 1, all packets other than PPPoE packets are discarded. The default 0 accepts packets of
-//			all types. (R, W) (optional) (1 byte)
-//
-//		Network Status
-//			(R) (mandatory) (1 byte)
-//
-//		Password
-//			Password:	This attribute specifies the MoCA encryption key. It is an ASCII string of 17 decimal
-//			digits. Upon ME instantiation, the ONU sets this attribute to 17 null bytes. (R, W) (mandatory)
-//			(17 bytes)
-//
-//		Privacy Enabled
-//			Privacy enabled: This attribute activates (1) link-layer security. The default value 0
-//			deactivates it. (R, W) (mandatory) (1 byte)
-//
-//		Minimum Bandwidth Alarm Threshold
-//			Minimum bandwidth alarm threshold: This attribute specifies the minimum desired PHY link
-//			bandwidth between two nodes. If the actual bandwidth is lower, an LL alarm is declared. Valid
-//			values are 0 to 0x0410 (260 Mbit/s) in 0.25 Mbit/s increments. The default value is 0x02D0
-//			(180 Mbit/s). The value 0 disables the threshold. (R, W) (optional) (2 bytes)
-//
-//		Frequency Mask
-//			Frequency mask: This attribute is a bit map of the centre frequencies that the interface is
-//			permitted to use, where each bit represents a centre frequency. The LSB (b[1]) corresponds to
-//			centre frequency 800 MHz. The next significant bit (b[2]) corresponds to centre frequency
-//			825 MHz. The 28th bit (b[28]) corresponds to centre frequency 1500 MHz. The four MSBs are not
-//			used. (R, W) (optional) (4 bytes)
-//
-//		Rf Channel
-//			RF channel:	This attribute reports the frequency to which the MoCA interface is currently tuned,
-//			in megahertz. (R) (mandatory) (2 bytes)
-//
-//		Last Operational Frequency
-//			Last operational frequency: This attribute reports the frequency to which the MoCA interface was
-//			tuned when last operational, in megahertz. (R) (mandatory) (2 bytes)
-//
-type PhysicalPathTerminationPointMocaUni struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	physicalpathterminationpointmocauniBME = &ManagedEntityDefinition{
-		Name:    "PhysicalPathTerminationPointMocaUni",
-		ClassID: 162,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFC,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("LoopbackConfiguration", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 1),
-			2:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 3),
-			4:  Uint16Field("MaxFrameSize", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 5),
-			6:  ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7:  ByteField("PppoeFilter", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 7),
-			8:  ByteField("NetworkStatus", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  MultiByteField("Password", 17, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-			10: ByteField("PrivacyEnabled", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 10),
-			11: Uint16Field("MinimumBandwidthAlarmThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: Uint32Field("FrequencyMask", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: Uint16Field("RfChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint16Field("LastOperationalFrequency", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-		},
-	}
-}
-
-// NewPhysicalPathTerminationPointMocaUni (class ID 162 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewPhysicalPathTerminationPointMocaUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(physicalpathterminationpointmocauniBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointvideoani.go b/vendor/github.com/cboling/omci/generated/physicalpathterminationpointvideoani.go
deleted file mode 100644
index 494121d..0000000
--- a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointvideoani.go
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const PhysicalPathTerminationPointVideoAniClassId ClassID = ClassID(90)
-
-var physicalpathterminationpointvideoaniBME *ManagedEntityDefinition
-
-// PhysicalPathTerminationPointVideoAni (class ID #90)
-//	This ME represents an RF video ANI in the ONU, where physical paths terminate and physical path
-//	level functions are performed.
-//
-//	The ONU automatically creates an instance of this ME per port as follows.
-//
-//	•	When the ONU has video ANI ports built into its factory configuration.
-//
-//	•	When a cardholder is provisioned to expect a circuit pack of the video ANI type.
-//
-//	•	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the video
-//	ANI type. Note that the installation of a plug-and-play card may indicate the presence of video
-//	ANI ports via equipment ID as well as its type, and indeed may cause the ONU to instantiate a
-//	port-mapping package that specifies video ANI ports.
-//
-//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
-//	expect a video ANI circuit pack, nor is it equipped with a video ANI circuit pack.
-//
-//	Relationships
-//		An instance of this ME is associated with each instance of a real or pre-provisioned video ANI
-//		port.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
-//			number indicates the physical position of the ANI. The first byte is the slot ID (defined in
-//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2 bytes)
-//
-//		Administrative State
-//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is further described in clause A.1.6. (R, W) (mandatory) (1 byte)
-//
-//		Operational State
-//			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
-//
-//		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Frequency Range Low
-//			(R) (mandatory) (1 byte)
-//
-//		Frequency Range High
-//			(R) (mandatory) (1 byte)
-//
-//		Signal Capability
-//			(R) (mandatory) (1 byte)
-//
-//		Optical Signal Level
-//			(R) (optional) (1 byte)
-//
-//		Pilot Signal Level
-//			(R) (optional) (1 byte)
-//
-//		Signal Level Min
-//			Signal level min: This attribute indicates the minimum optical RF power per channel that results
-//			in a CNR of 47 dBc for a channel of 4.5 MHz bandwidth at a receive optical power of –5 dBm. The
-//			unit of this attribute is decibel-microwatt optical. (R) (mandatory) (1 byte)
-//
-//		Signal Level Max
-//			Signal level max: This attribute indicates the maximum optical RF power per channel that results
-//			in a CTB of –57 dBc for an 80-channel ensemble of carriers at a perchannel optical modulation
-//			index (OMI) of 3.5%. The unit of this attribute is decibel-microwatt optical. (R) (mandatory)
-//			(1 byte)
-//
-//		Pilot Frequency
-//			(R, W) (optional) (4 bytes)
-//
-//		Agc Mode
-//			(R, W) (optional) (1 byte)
-//
-//		Agc Setting
-//			(R, W) (optional) (1 byte)
-//
-//		Video Lower Optical Threshold
-//			NOTE – Because the power measurement returned in the optical signal level attribute has a
-//			resolution of 1 dB, it is possible that the measured value could appear to be in-range, even
-//			though an out-of-range alarm has been declared against a threshold with 0.1 dB resolution.
-//
-//		Video Upper Optical Threshold
-//			Video upper optical threshold: This attribute specifies the optical level used to declare the
-//			video OOR high alarm. Valid values are –12 to +6 dBm in 0.1 dB increments, represented as a 2s
-//			complement integer. (Coding –120 to +60, 0x00 = 0 dBm, 0x88 = –12.0 dBm, etc.) Upon ME
-//			instantiation, the ONU sets this attribute to 0x19 (+2.5 dBm). (R, W) (optional) (1 byte)
-//
-type PhysicalPathTerminationPointVideoAni struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	physicalpathterminationpointvideoaniBME = &ManagedEntityDefinition{
-		Name:    "PhysicalPathTerminationPointVideoAni",
-		ClassID: 90,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 2),
-			3:  ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 3),
-			4:  ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5:  ByteField("FrequencyRangeLow", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  ByteField("FrequencyRangeHigh", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  ByteField("SignalCapability", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  ByteField("OpticalSignalLevel", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9:  ByteField("PilotSignalLevel", 0, mapset.NewSetWith(Read), false, false, true, false, 9),
-			10: ByteField("SignalLevelMin", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: ByteField("SignalLevelMax", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("PilotFrequency", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: ByteField("AgcMode", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
-			14: ByteField("AgcSetting", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 14),
-			15: ByteField("VideoLowerOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 15),
-			16: ByteField("VideoUpperOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 16),
-		},
-	}
-}
-
-// NewPhysicalPathTerminationPointVideoAni (class ID 90 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewPhysicalPathTerminationPointVideoAni(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(physicalpathterminationpointvideoaniBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointxdslunipart1.go b/vendor/github.com/cboling/omci/generated/physicalpathterminationpointxdslunipart1.go
deleted file mode 100644
index d6420dc..0000000
--- a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointxdslunipart1.go
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const PhysicalPathTerminationPointXdslUniPart1ClassId ClassID = ClassID(98)
-
-var physicalpathterminationpointxdslunipart1BME *ManagedEntityDefinition
-
-// PhysicalPathTerminationPointXdslUniPart1 (class ID #98)
-//	This ME represents the point where physical paths terminate on an xDSL CO modem (xTU-C). The
-//	xDSL ME family is used for ADSL VDSL2 and FAST services. A legacy family of VDSL MEs remains
-//	valid for ITUT G.993.1 VDSL, if needed. It is documented in [ITUT G.983.2].
-//
-//	The ONU automatically creates an instance of this ME per port:
-//
-//	•	when the ONU has xDSL ports built into its factory configuration;
-//
-//	•	when a cardholder is provisioned to expect a circuit pack of the xDSL type;
-//
-//	•	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of the xDSL
-//	type. Note that the installation of a plug-and-play card may indicate the presence of xDSL ports
-//	via equipment ID as well as its type, and indeed may cause the ONU to instantiate a port-mapping
-//	package that specifies xDSL ports.
-//
-//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
-//	expect an xDSL circuit pack, nor is it equipped with an xDSL circuit pack.
-//
-//	Relationships
-//		An instance of this ME is associated with each instance of a real or pre-provisioned xDSL port.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID:	This attribute uniquely identifies each instance of this ME. This 2 byte
-//			number indicates the physical position of the UNI. The six LSBs of the first byte are the slot
-//			ID, defined in clause 9.1.5. The two MSBs indicate the channel number in some of the implicitly
-//			linked MEs, and must be 0 in the PPTP itself. This reduces the possible number of physical slots
-//			to 64. The second byte is the port ID, with the range 1..255. (R) (mandatory) (2 bytes)
-//
-//		Loopback Configuration
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R, W) (mandatory) (1 byte)
-//
-//		Administrative State
-//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is further described in clause A.1.6. (R, W) (mandatory) (1 byte)
-//
-//		Operational State
-//			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
-//
-//		Xdsl Line Configuration Profile
-//			xDSL line configuration profile: This attribute points to an instance of the xDSL line
-//			configuration profiles (part 1, 2 and 3) MEs, and if necessary, also to VDSL2 line configuration
-//			extensions (1 and 2) MEs, also to vectoring line configuration extension MEs. Upon ME
-//			instantiation, the ONU sets this attribute to 0, a null pointer. (R, W) (mandatory) (2 bytes)
-//
-//		Xdsl Subcarrier Masking Downstream Profile
-//			xDSL subcarrier masking downstream profile: This attribute points to an instance of the xDSL
-//			subcarrier masking downstream profile ME. Upon ME instantiation, the ONU sets this attribute to
-//			0, a null pointer. (R, W) (mandatory) (2 bytes)
-//
-//		Xdsl Subcarrier Masking Upstream Profile
-//			xDSL subcarrier masking upstream profile: This attribute points to an instance of the xDSL
-//			subcarrier masking upstream profile ME. Upon ME instantiation, the ONU sets this attribute to 0,
-//			a null pointer. (R, W) (mandatory) (2 bytes)
-//
-//		Xdsl Downstream Power Spectral Density Psd Mask Profile
-//			xDSL downstream power spectral density (PSD) mask profile: This attribute points to an instance
-//			of the xDSL PSD mask profile ME that defines downstream parameters. Upon ME instantiation, the
-//			ONU sets this attribute to 0, a null pointer. (R, W) (mandatory) (2 bytes)
-//
-//		Xdsl Downstream Rfi Bands Profile
-//			xDSL downstream RFI bands profile: This attribute points to an instance of the xDSL downstream
-//			RFI bands profile ME. Upon ME instantiation, the ONU sets this attribute to 0, a null pointer.
-//			(R, W) (mandatory) (2 bytes)
-//
-//		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Modem Type
-//			NOTE – Many newer VDSL2 chip sets support only PTM. The ATM default is retained for backward
-//			compatibility, but implementers should be aware that the default may need to be overridden by
-//			provisioning before the xDSL UNI can be brought into service.
-//
-//		Upstream Psd Mask Profile
-//			Upstream PSD mask profile: This attribute points to an instance of the xDSL PSD mask profile
-//			that defines upstream parameters. Upon ME instantiation, the ONU sets this attribute to 0, a
-//			null pointer. (R, W) (optional) (2 bytes)
-//
-//		Network Specific Extensions Pointer
-//			Network specific extensions pointer: This attribute points to a network address ME that contains
-//			the path and name of a file containing network specific parameters for the associated UNI. Upon
-//			ME instantiation, the ONU sets this attribute to 0xFFFF, a null pointer. (R, W) (optional)
-//			(2 bytes)
-//
-type PhysicalPathTerminationPointXdslUniPart1 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	physicalpathterminationpointxdslunipart1BME = &ManagedEntityDefinition{
-		Name:    "PhysicalPathTerminationPointXdslUniPart1",
-		ClassID: 98,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFF8,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("LoopbackConfiguration", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 3),
-			4:  Uint16Field("XdslLineConfigurationProfile", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  Uint16Field("XdslSubcarrierMaskingDownstreamProfile", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  Uint16Field("XdslSubcarrierMaskingUpstreamProfile", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  Uint16Field("XdslDownstreamPowerSpectralDensityPsdMaskProfile", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  Uint16Field("XdslDownstreamRfiBandsProfile", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 9),
-			10: ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
-			11: ByteField("ModemType", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: Uint16Field("UpstreamPsdMaskProfile", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: Uint16Field("NetworkSpecificExtensionsPointer", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
-		},
-	}
-}
-
-// NewPhysicalPathTerminationPointXdslUniPart1 (class ID 98 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewPhysicalPathTerminationPointXdslUniPart1(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(physicalpathterminationpointxdslunipart1BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/pseudowiremaintenanceprofile.go b/vendor/github.com/cboling/omci/generated/pseudowiremaintenanceprofile.go
deleted file mode 100644
index 922553e..0000000
--- a/vendor/github.com/cboling/omci/generated/pseudowiremaintenanceprofile.go
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const PseudowireMaintenanceProfileClassId ClassID = ClassID(284)
-
-var pseudowiremaintenanceprofileBME *ManagedEntityDefinition
-
-// PseudowireMaintenanceProfile (class ID #284)
-//	The pseudowire maintenance profile permits the configuration of pseudowire service exception
-//	handling. It is created and deleted by the OLT.
-//
-//	The settings, and indeed existence, of a pseudowire maintenance profile affect the behaviour of
-//	the pseudowire PM history data ME only in establishing criteria for counting SESs, but in no
-//	other way. The pseudowire maintenance profile primarily affects the alarms declared by the
-//	subscribing pseudowire TP.
-//
-//	Relationships
-//		One or more instances of the pseudowire TP may point to an instance of the pseudowire
-//		maintenance profile. If the pseudowire TP does not refer to a pseudowire maintenance profile,
-//		the ONU's default exception handling is implied.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
-//			reserved. (R, setbycreate) (mandatory) (2 bytes)
-//
-//		Jitter Buffer Maximum Depth
-//			Jitter buffer maximum depth: This attribute specifies the desired maximum depth of the playout
-//			buffer in the PSN to the TDM direction. The value is expressed as a multiple of the 125 μs frame
-//			rate. The default value 0 selects the ONU's internal policy. (R, W, setbycreate) (optional)
-//			(2 bytes)
-//
-//		Jitter Buffer Desired Depth
-//			Jitter buffer desired depth: This attribute specifies the desired nominal fill depth of the
-//			playout buffer in the PSN to the TDM direction. The value is expressed as a multiple of the
-//			125 μs frame rate. The default value 0 selects the ONU's internal policy. (R, W, setbycreate)
-//			(optional) (2 bytes)
-//
-//		Fill Policy
-//			(R, W, setbycreate) (optional) (1 byte)
-//
-//		Misconnected Packets Declaration Policy
-//			Misconnected packets declaration policy: (R, W, setbycreate) (optional) (1 byte)
-//
-//		Misconnected Packets Clear Policy
-//			Misconnected packets clear policy: (R, W, setbycreate) (optional) (1 byte)
-//
-//		Loss Of Packets Declaration Policy
-//			Loss of packets declaration policy: (R, W, setbycreate) (optional) (1 byte)
-//
-//		Loss Of Packets Clear Policy
-//			Loss of packets clear policy: (R, W, setbycreate) (optional) (1 byte)
-//
-//		Buffer Overrun_Underrun Declaration Policy
-//			Buffer overrun/underrun declaration policy: (R, W, setbycreate) (optional) (1 byte)
-//
-//		Buffer Overrun_Underrun Clear Policy
-//			Buffer overrun/underrun clear policy: (R, W, setbycreate) (optional) (1 byte)
-//
-//		Malformed Packets Declaration Policy
-//			Malformed packets declaration policy: (R, W, setbycreate) (optional) (1 byte)
-//
-//		Malformed Packets Clear Policy
-//			Malformed packets clear policy: (R, W, setbycreate) (optional) (1 byte)
-//
-//		R_Bit Transmit Set Policy
-//			R-bit transmit set policy: This attribute defines the number of consecutive lost packets that
-//			causes the transmitted R bit to be set in the TDM to the PSN direction, indicating lost packets
-//			to the far end. The default value 0 selects the ONU's internal policy. (R, W, setbycreate)
-//			(optional) (1 byte)
-//
-//		R_Bit Transmit Clear Policy
-//			R-bit transmit clear policy: This attribute defines the number of consecutive valid packets that
-//			causes the transmitted R bit to be cleared in the TDM to the PSN direction, removing the remote
-//			failure indication to the far end. The default value 0 selects the ONU's internal policy. (R, W,
-//			setbycreate) (optional) (1 byte)
-//
-//		R_Bit Receive Policy
-//			(R, W, setbycreate) (optional) (1 byte)
-//
-//		L Bit Receive Policy
-//			(R, W, setbycreate) (optional) (1 byte)
-//
-//		Ses Threshold
-//			SES threshold: Number of lost, malformed or otherwise unusable packets expected in the PSN to
-//			the TDM direction within a 1 s interval that causes an SES to be counted. Stray packets do not
-//			count towards an SES, nor do packets whose L bit is set at the far end. The value 0 specifies
-//			that the ONU uses its internal default, which is not necessarily the same as the recommended
-//			default value 3. (R, W, set-by-create) (optional) (2 bytes)
-//
-type PseudowireMaintenanceProfile struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	pseudowiremaintenanceprofileBME = &ManagedEntityDefinition{
-		Name:    "PseudowireMaintenanceProfile",
-		ClassID: 284,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint16Field("JitterBufferMaximumDepth", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 1),
-			2:  Uint16Field("JitterBufferDesiredDepth", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 2),
-			3:  ByteField("FillPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 3),
-			4:  ByteField("MisconnectedPacketsDeclarationPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 4),
-			5:  ByteField("MisconnectedPacketsClearPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
-			6:  ByteField("LossOfPacketsDeclarationPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 6),
-			7:  ByteField("LossOfPacketsClearPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 7),
-			8:  ByteField("BufferOverrunUnderrunDeclarationPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 8),
-			9:  ByteField("BufferOverrunUnderrunClearPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 9),
-			10: ByteField("MalformedPacketsDeclarationPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 10),
-			11: ByteField("MalformedPacketsClearPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 11),
-			12: ByteField("RBitTransmitSetPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 12),
-			13: ByteField("RBitTransmitClearPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 13),
-			14: ByteField("RBitReceivePolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 14),
-			15: ByteField("LBitReceivePolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 15),
-			16: Uint16Field("SesThreshold", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 16),
-		},
-	}
-}
-
-// NewPseudowireMaintenanceProfile (class ID 284 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewPseudowireMaintenanceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(pseudowiremaintenanceprofileBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/pseudowireterminationpoint.go b/vendor/github.com/cboling/omci/generated/pseudowireterminationpoint.go
deleted file mode 100644
index b008785..0000000
--- a/vendor/github.com/cboling/omci/generated/pseudowireterminationpoint.go
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const PseudowireTerminationPointClassId ClassID = ClassID(282)
-
-var pseudowireterminationpointBME *ManagedEntityDefinition
-
-// PseudowireTerminationPoint (class ID #282)
-//	The pseudowire TP supports packetized (rather than TDM) transport of TDM services, transported
-//	either directly over Ethernet, over UDP/IP or over MPLS. Instances of this ME are created and
-//	deleted by the OLT.
-//
-//	Relationships
-//		One pseudowire TP ME exists for each distinct TDM service that is mapped to a pseudowire.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Underlying Transport
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Service Type
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Signalling
-//			(R, W, setbycreate) (mandatory for structured service type) (1 byte)
-//
-//		Tdm Uni Pointer
-//			TDM UNI pointer: If service type = structured, this attribute points to a logical N × 64 kbit/s
-//			subport CTP. Otherwise, this attribute points to a PPTP CES UNI. (R, W, setbycreate) (mandatory)
-//			(2 bytes)
-//
-//		North_Side Pointer
-//			North-side pointer: When the pseudowire service is transported via IP, as indicated by the
-//			underlying transport attribute, the northside pointer attribute points to an instance of the
-//			TCP/UDP config data ME. When the pseudowire service is transported directly over Ethernet, the
-//			north-side pointer attribute is not used – the linkage to the Ethernet flow TP is implicit in
-//			the ME IDs. When the pseudowire service is transported over MPLS, the northside pointer
-//			attribute points to an instance of the MPLS PW TP. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Far_End Ip Info
-//			A null pointer is appropriate if the pseudowire is not transported via IP. (R, W, setbycreate)
-//			(mandatory for IP transport) (2 bytes)
-//
-//		Payload Size
-//			(R, W, setbycreate) (mandatory for unstructured service) (2 bytes)
-//
-//		Payload Encapsulation Delay
-//			(R, W, setbycreate) (mandatory for structured service) (1 byte)
-//
-//		Timing Mode
-//			(R, W) (mandatory) (1 byte)
-//
-//		Transmit Circuit Id
-//			(R, W) (mandatory for MEF 8 transport) (8 bytes)
-//
-//		Expected Circuit Id
-//			(R, W) (optional for MEF 8 transport) (8 bytes)
-//
-//		Received Circuit Id
-//			Received circuit ID: This attribute indicates the actual ECID(s) received on the payload and
-//			signalling channels, respectively. It may be used for diagnostic purposes. (R) (optional for MEF
-//			8 transport) (8 bytes)
-//
-//		Exception Policy
-//			Exception policy: This attribute points to an instance of the pseudowire maintenance profile ME.
-//			If the pointer has its default value 0, the ONU's internal defaults apply. (R, W) (optional)
-//			(2 bytes)
-//
-//		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-type PseudowireTerminationPoint struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	pseudowireterminationpointBME = &ManagedEntityDefinition{
-		Name:    "PseudowireTerminationPoint",
-		ClassID: 282,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFE,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("UnderlyingTransport", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  ByteField("ServiceType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  ByteField("Signalling", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  Uint16Field("TdmUniPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint16Field("NorthSidePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6:  Uint16Field("FarEndIpInfo", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7:  Uint16Field("PayloadSize", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8:  ByteField("PayloadEncapsulationDelay", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  ByteField("TimingMode", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-			10: Uint64Field("TransmitCircuitId", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 10),
-			11: Uint64Field("ExpectedCircuitId", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 11),
-			12: Uint64Field("ReceivedCircuitId", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint16Field("ExceptionPolicy", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
-			14: ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 14),
-			15: ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 15),
-		},
-	}
-}
-
-// NewPseudowireTerminationPoint (class ID 282 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewPseudowireTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(pseudowireterminationpointBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/pwatmperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/pwatmperformancemonitoringhistorydata.go
deleted file mode 100644
index f82cf04..0000000
--- a/vendor/github.com/cboling/omci/generated/pwatmperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const PwAtmPerformanceMonitoringHistoryDataClassId ClassID = ClassID(338)
-
-var pwatmperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// PwAtmPerformanceMonitoringHistoryData (class ID #338)
-//	This ME collects PM data associated with an ATM pseudowire. Instances of this ME are created and
-//	deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of the PW ATM configuration data ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to the instance of the PW ATM configuration data ME.
-//			(R, setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Downstream Missing Packets Counter
-//			Downstream missing packets counter: This attribute counts missing packets, as detected via
-//			control word sequence number gaps. (R) (mandatory) (4 bytes)
-//
-//		Downstream Reordered Packets Counter
-//			Downstream reordered packets counter: This attribute counts packets detected out of sequence via
-//			the control word sequence number, but successfully reordered. Some implementations may not
-//			support this feature. (R) (optional) (4 bytes)
-//
-//		Downstream Misordered Packets Counter
-//			Downstream misordered packets counter: This attribute counts packets detected out of order via
-//			the control word sequence numbers. (R) (mandatory) (4 bytes)
-//
-//		Upstream Timeout Packets Counter
-//			Upstream timeout packets counter: This attribute counts packets transmitted due to timeout
-//			expiration while attempting to collect cells. (R) (mandatory) (4 bytes)
-//
-//		Upstream Transmitted Cells Counter
-//			Upstream transmitted cells counter: This attribute counts transmitted cells. (R) (mandatory)
-//			(4 bytes)
-//
-//		Upstream Dropped Cells Counter
-//			Upstream dropped cells counter: This attribute counts dropped cells. (R) (mandatory) (4 bytes)
-//
-//		Upstream Received Cells Counter
-//			Upstream received cells counter: This attribute counts received cells. (R) (mandatory) (4 bytes)
-//
-type PwAtmPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	pwatmperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "PwAtmPerformanceMonitoringHistoryData",
-		ClassID: 338,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFF80,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("DownstreamMissingPacketsCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("DownstreamReorderedPacketsCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5: Uint32Field("DownstreamMisorderedPacketsCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("UpstreamTimeoutPacketsCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("UpstreamTransmittedCellsCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: Uint32Field("UpstreamDroppedCellsCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9: Uint32Field("UpstreamReceivedCellsCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-		},
-	}
-}
-
-// NewPwAtmPerformanceMonitoringHistoryData (class ID 338 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewPwAtmPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(pwatmperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/radiusperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/radiusperformancemonitoringhistorydata.go
deleted file mode 100644
index 93be0f3..0000000
--- a/vendor/github.com/cboling/omci/generated/radiusperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const RadiusPerformanceMonitoringHistoryDataClassId ClassID = ClassID(293)
-
-var radiusperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// RadiusPerformanceMonitoringHistoryData (class ID #293)
-//	This ME collects performance statistics on an ONU's radius client, particularly as related to
-//	its IEEE 802.1X operation.
-//
-//	Instances of this ME are created and deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an ONU.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID (namely 0), this ME is implicitly linked to an instance of a dot1X configuration
-//			profile. (R, setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Access_Request Packets Transmitted
-//			Access-request packets transmitted: This attribute counts transmitted radius access-request
-//			messages, including retransmissions. (R) (mandatory) (4 bytes)
-//
-//		Access_Request Retransmission Count
-//			Access-request retransmission count: This attribute counts radius access-request
-//			retransmissions. (R) (mandatory) (4 bytes)
-//
-//		Access_Challenge Packets Received
-//			Access-challenge packets received: This attribute counts received radius access-challenge
-//			messages. (R) (mandatory) (4 bytes)
-//
-//		Access_Accept Packets Received
-//			Access-accept packets received: This attribute counts received radius access-accept messages.
-//			(R) (mandatory) (4 bytes)
-//
-//		Access_Reject Packets Received
-//			Access-reject packets received: This attribute counts received radius access-reject messages.
-//			(R) (mandatory) (4 bytes)
-//
-//		Invalid Radius Packets Received
-//			Invalid radius packets received: This attribute counts received invalid radius messages. (R)
-//			(mandatory) (4 bytes)
-//
-type RadiusPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	radiusperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "RadiusPerformanceMonitoringHistoryData",
-		ClassID: 293,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFF00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("AccessRequestPacketsTransmitted", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("AccessRequestRetransmissionCount", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("AccessChallengePacketsReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("AccessAcceptPacketsReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("AccessRejectPacketsReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: Uint32Field("InvalidRadiusPacketsReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-		},
-	}
-}
-
-// NewRadiusPerformanceMonitoringHistoryData (class ID 293 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewRadiusPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(radiusperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/recommonamplifierparameters.go b/vendor/github.com/cboling/omci/generated/recommonamplifierparameters.go
deleted file mode 100644
index cf74734..0000000
--- a/vendor/github.com/cboling/omci/generated/recommonamplifierparameters.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const ReCommonAmplifierParametersClassId ClassID = ClassID(328)
-
-var recommonamplifierparametersBME *ManagedEntityDefinition
-
-// ReCommonAmplifierParameters (class ID #328)
-//	This ME organizes data associated with each OA supported by the RE. The management ONU
-//	automatically creates one instance of this ME for each upstream or downstream OA.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of the RE downstream amplifier or RE
-//		upstream amplifier ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			NOTE – The type of the linked ME can be determined by uniqueness of slot and port.
-//
-//		Gain
-//			Gain:	This attribute reports the current measurement of the OA's gain, in decibels. Its value is
-//			a 2s complement integer with 0.25 dB granularity, and with a range from –32 dB to 31.5 dB. The
-//			value 0x7F indicates that the current measured gain is 0, i.e., negative infinity in decibels
-//			terms. (R) (optional) (1 byte)
-//
-//		Lower Gain Threshold
-//			Lower gain threshold: This attribute specifies the gain the RE uses to declare the low gain
-//			alarm. Valid values are 0 dB (coded as 0x00) to 63.5 dB (coded as 0xFE). The default value 0xFF
-//			selects the RE's internal policy. (R, W) (optional) (1 byte)
-//
-//		Upper Gain Threshold
-//			Upper gain threshold: This attribute specifies the gain the RE uses to declare the high gain
-//			alarm. Valid values are 0 dB (coded as 0x00) to 63.5 dB (coded as 0xFE). The default value 0xFF
-//			selects the RE's internal policy. (R, W) (optional) (1 byte)
-//
-//		Target Gain
-//			Target gain:	This attribute specifies the target gain, when the operational mode of the parent
-//			RE downstream or upstream amplifier is set to constant gain mode. Valid values are 0 dB (coded
-//			as 0x00) to 63.5 dB (coded as 0xFE). The default value 0xFF selects the RE's internal policy.
-//			(R, W) (optional) (1 byte)
-//
-//		Device Temperature
-//			Device temperature: This attribute reports the temperature in degrees Celcius of the active
-//			device (SOA or pump) in the OA. Its value is a 2s complement integer with granularity 1/256 °C.
-//			(R) (optional) (2 bytes)
-//
-//		Lower Device Temperature Threshold
-//			Lower device temperature threshold: This attribute is a 2s complement integer that specifies the
-//			temperature the RE uses to declare the low temperature alarm. Valid values are –64 to +63 °C in
-//			0.5 °C increments. The default value 0x7F selects the RE's internal policy. (R, W) (optional)
-//			(1 byte)
-//
-//		Upper Device Temperature Threshold
-//			Upper device temperature threshold: This attribute is a 2s complement integer that specifies the
-//			temperature the RE uses to declare the high temperature alarm. Valid values are –64 to +63 °C in
-//			0.5 °C increments. The default value 0x7F selects the RE's internal policy. (R, W) (optional)
-//			(1 byte)
-//
-//		Device Bias Current
-//			Device bias current: This attribute contains the measured bias current applied to the SOA or
-//			pump laser. Its value is an unsigned integer with granularity 2 mA. Valid values are 0 to
-//			512 mA. (R) (optional) (1 byte)
-//
-//		Amplifier Saturation Output Power
-//			Amplifier saturation output power: This attribute reports the saturation output power of the
-//			amplifier as specified by the manufacturer. Its value is an unsigned integer referred to 1 mW
-//			(i.e., dBm), with 0.1 dB granularity. (R) (optional) (2 bytes)
-//
-//		Amplifier Noise Figure
-//			Amplifier noise figure: This attribute reports the intrinsic noise figure of the amplifier, as
-//			specified by the manufacturer. Its value is an unsigned integer with 0.1 dB granularity (R)
-//			(optional) (1 byte)
-//
-//		Amplifier Saturation Gain
-//			Amplifier saturation gain: This attribute reports the gain of the amplifier at saturation, as
-//			specified by the manufacturer. Its value is an unsigned integer with 0.25 dB granularity, and
-//			with a range from 0 to 63.75 dB. (R) (optional) (1 byte)
-//
-type ReCommonAmplifierParameters struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	recommonamplifierparametersBME = &ManagedEntityDefinition{
-		Name:    "ReCommonAmplifierParameters",
-		ClassID: 328,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFE0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("Gain", 0, mapset.NewSetWith(Read), false, false, true, false, 1),
-			2:  ByteField("LowerGainThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 2),
-			3:  ByteField("UpperGainThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 3),
-			4:  ByteField("TargetGain", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5:  Uint16Field("DeviceTemperature", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6:  ByteField("LowerDeviceTemperatureThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7:  ByteField("UpperDeviceTemperatureThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 7),
-			8:  ByteField("DeviceBiasCurrent", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9:  Uint16Field("AmplifierSaturationOutputPower", 0, mapset.NewSetWith(Read), false, false, true, false, 9),
-			10: ByteField("AmplifierNoiseFigure", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: ByteField("AmplifierSaturationGain", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
-		},
-	}
-}
-
-// NewReCommonAmplifierParameters (class ID 328 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewReCommonAmplifierParameters(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(recommonamplifierparametersBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/redownstreamamplifier.go b/vendor/github.com/cboling/omci/generated/redownstreamamplifier.go
deleted file mode 100644
index d68ef66..0000000
--- a/vendor/github.com/cboling/omci/generated/redownstreamamplifier.go
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const ReDownstreamAmplifierClassId ClassID = ClassID(316)
-
-var redownstreamamplifierBME *ManagedEntityDefinition
-
-// ReDownstreamAmplifier (class ID #316)
-//	This ME organizes data associated with each OA for downstream data supported by the RE. The
-//	management ONU automatically creates one instance of this ME for each downstream OA as follows.
-//
-//	•	When the RE has mid-span PON RE downstream OA ports built into its factory configuration.
-//
-//	•	When a cardholder is provisioned to expect a circuit pack of the mid-span PON RE downstream OA
-//	type.
-//
-//	•	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the midspan
-//	PON RE downstream OA type. Note that the installation of a plug-and-play card may indicate the
-//	presence of a mid-span PON RE downstream OA via equipment ID as well as its type attribute, and
-//	indeed may cause the management ONU to instantiate a port-mapping package to specify the ports
-//	precisely.
-//
-//	The management ONU automatically deletes instances of this ME when a cardholder is neither
-//	provisioned to expect a mid-span PON RE downstream OA circuit pack, nor is it equipped with a
-//	mid-span PON RE downstream OA circuit pack.
-//
-//	Relationships
-//		An instance of this ME is associated with a downstream OA and with an instance of a circuit
-//		pack. If the RE includes OEO regeneration in either direction, the RE downstream amplifier is
-//		also associated with an RE ANI-G. Refer to clause 9.14.1 for further discussion.
-//
-//	Attributes
-//		Managed Entity Id
-//			NOTE 1 – This ME ID may be identical to that of an RE ANI-G if it shares the same physical slot-
-//			port.
-//
-//		Administrative State
-//			NOTE 2– When an RE supports multiple PONs, or protected access to a single PON, its primary
-//			ANI-G cannot be completely shut down, due to a loss of the management communications capability.
-//			Complete blocking of service and removal of power may nevertheless be appropriate for secondary
-//			RE ANI-Gs. Administrative lock suppresses alarms and notifications for both primary and
-//			secondary RE ANI-Gs. Administrative lock suppresses alarms and notifications for an RE
-//			downstream amplifier, be it either primary or secondary.
-//
-//		Operational State
-//			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
-//
-//		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
-//
-//		Operational Mode
-//			(R,W) (mandatory) (1 byte)
-//
-//		Input Optical Signal Level
-//			Input optical signal level: This attribute reports the current measurement of the input optical
-//			signal power of the downstream OA. Its value is a 2s complement integer referred to 1 mW (i.e.,
-//			dBm), with 0.002 dB granularity. (R) (optional) (2 bytes)
-//
-//		Lower Input Optical Threshold
-//			Lower input optical threshold: This attribute specifies the optical level the RE uses to declare
-//			the low received optical power alarm. Valid values are –127 dBm (coded as 254) to 0 dBm (coded
-//			as 0) in 0.5 dB increments. The default value 0xFF selects the RE's internal policy. (R, W)
-//			(optional) (1 byte)
-//
-//		Upper Input Optical Threshold
-//			Upper input optical threshold: This attribute specifies the optical level the RE uses to declare
-//			the high received optical power alarm. Valid values are –127 dBm (coded as 254) to 0 dBm (coded
-//			as 0) in 0.5 dB increments. The default value 0xFF selects the RE's internal policy. (R, W)
-//			(optional) (1 byte)
-//
-//		Output Optical Signal Level
-//			Output optical signal level: This attribute reports the current measurement of the mean optical
-//			launch power of the downstream OA. Its value is a 2s complement integer referred to 1 mW (i.e.,
-//			dBm), with 0.002 dB granularity. (R) (optional) (2 bytes)
-//
-//		Lower Output Optical Threshold
-//			Lower output optical threshold: This attribute specifies the minimum mean optical launch power
-//			that the RE uses to declare the low transmit optical power alarm. Its value is a 2s complement
-//			integer referred to 1 mW (i.e., dBm), with 0.5 dB granularity. The default value 0x7F selects
-//			the RE's internal policy. (R, W) (optional) (1 byte)
-//
-//		Upper Output Optical Threshold
-//			Upper output optical threshold: This attribute specifies the maximum mean optical launch power
-//			that the RE uses to declare the high transmit optical power alarm. Its value is a 2s complement
-//			integer referred to 1 mW (i.e., dBm), with 0.5 dB granularity. The default value 0x7F selects
-//			the RE's internal policy. (R, W) (optional) (1 byte)
-//
-//		R'S' Splitter Coupling Ratio
-//			R'S' splitter coupling ratio: This attribute reports the coupling ratio of the splitter at the
-//			R'/S' interface that connects the embedded management ONU and the amplifiers to the OTL. Valid
-//			values are 99:1 (coded as 99 decimal) to 1:99 (coded as 1 decimal), where the first value is the
-//			value encoded and is the percentage of the optical signal connected to the amplifier. The
-//			default value 0xFF indicates that there is no splitter connected to this upstream/downstream
-//			amplifier pair. (R) (optional) (1 byte)
-//
-type ReDownstreamAmplifier struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	redownstreamamplifierBME = &ManagedEntityDefinition{
-		Name:    "ReDownstreamAmplifier",
-		ClassID: 316,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-			Test,
-		),
-		AllowedAttributeMask: 0XFFF0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 2),
-			3:  ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 3),
-			4:  ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5:  ByteField("OperationalMode", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  Uint16Field("InputOpticalSignalLevel", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
-			7:  ByteField("LowerInputOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 7),
-			8:  ByteField("UpperInputOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
-			9:  Uint16Field("OutputOpticalSignalLevel", 0, mapset.NewSetWith(Read), false, false, true, false, 9),
-			10: ByteField("LowerOutputOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
-			11: ByteField("UpperOutputOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: ByteField("R'S'SplitterCouplingRatio", 0, mapset.NewSetWith(Read), false, false, true, false, 12),
-		},
-	}
-}
-
-// NewReDownstreamAmplifier (class ID 316 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewReDownstreamAmplifier(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(redownstreamamplifierBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/rtpprofiledata.go b/vendor/github.com/cboling/omci/generated/rtpprofiledata.go
deleted file mode 100644
index ea025bf..0000000
--- a/vendor/github.com/cboling/omci/generated/rtpprofiledata.go
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const RtpProfileDataClassId ClassID = ClassID(143)
-
-var rtpprofiledataBME *ManagedEntityDefinition
-
-// RtpProfileData (class ID #143)
-//	This ME configures RTP. It is conditionally required for ONUs that offer VoIP service. If a non-
-//	OMCI interface is used to manage VoIP, this ME is unnecessary.
-//
-//	An instance of this ME is created and deleted by the OLT. An RTP profile is needed for each
-//	unique set of attributes.
-//
-//	Relationships
-//		An instance of this ME may be associated with one or more VoIP media profile MEs.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Local Port Min
-//			Local port min: This attribute defines the base UDP port that should be used by RTP for voice
-//			traffic. The recommended default is 50000 (R, W, set-by-create) (mandatory) (2 bytes)
-//
-//		Local Port Max
-//			Local port max: This attribute defines the highest UDP port used by RTP for voice traffic. The
-//			value must be greater than the local port minimum. The value 0 specifies that the local port
-//			maximum be equal to the local port minimum. (R, W, set-by-create) (optional) (2 bytes)
-//
-//		Dscp Mark
-//			DSCP mark:	Diffserv code point to be used for outgoing RTP packets for this profile. The
-//			recommended default value is expedited forwarding (EF) = 0x2E. (R, W, setbycreate) (mandatory)
-//			(1 byte)
-//
-//		Piggyback Events
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Tone Events
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Dtmf Events
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Cas Events
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Ip Host Config Pointer
-//			IP host config pointer: This optional pointer associates the bearer (voice) flow with an IP host
-//			config data or IPv6 host config data ME. If this attribute is not present or is not populated
-//			with a valid pointer value, the bearer flow uses the same IP stack that is used for signalling,
-//			indicated by the TCP/UDP pointer in the associated SIP agent or MGC config data. The default
-//			value is 0xFFFF, a null pointer. (R, W) (optional) (2 bytes)
-//
-type RtpProfileData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	rtpprofiledataBME = &ManagedEntityDefinition{
-		Name:    "RtpProfileData",
-		ClassID: 143,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFF00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("LocalPortMin", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint16Field("LocalPortMax", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 2),
-			3: ByteField("DscpMark", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: ByteField("PiggybackEvents", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: ByteField("ToneEvents", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6: ByteField("DtmfEvents", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7: ByteField("CasEvents", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8: Uint16Field("IpHostConfigPointer", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
-		},
-	}
-}
-
-// NewRtpProfileData (class ID 143 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewRtpProfileData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(rtpprofiledataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/sipagentperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/sipagentperformancemonitoringhistorydata.go
deleted file mode 100644
index 2d59f4e..0000000
--- a/vendor/github.com/cboling/omci/generated/sipagentperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const SipAgentPerformanceMonitoringHistoryDataClassId ClassID = ClassID(151)
-
-var sipagentperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// SipAgentPerformanceMonitoringHistoryData (class ID #151)
-//	This ME collects PM data for the associated VoIP SIP agent. Instances of this ME are created and
-//	deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with a SIP agent config data or SIP config portal object.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the corresponding SIP agent config
-//			data or to the SIP config portal. If a non-OMCI configuration method is used for VoIP, there can
-//			be only one live ME instance, associated with the SIP config portal, and with ME ID 0. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Transactions
-//			Transactions: This attribute counts the number of new transactions that were initiated. (R)
-//			(optional) (4 bytes)
-//
-//		Rx Invite Reqs
-//			Rx invite reqs: This attribute counts received invite messages, including retransmissions. (R)
-//			(optional) (4 bytes)
-//
-//		Rx Invite Retrans
-//			Rx invite retrans: This attribute counts received invite retransmission messages. (R) (optional)
-//			(4 bytes)
-//
-//		Rx Noninvite Reqs
-//			Rx noninvite reqs: This attribute counts received non-invite messages, including
-//			retransmissions. (R) (optional) (4 bytes)
-//
-//		Rx Noninvite Retrans
-//			Rx noninvite retrans: This attribute counts received non-invite retransmission messages. (R)
-//			(optional) (4 bytes)
-//
-//		Rx Response
-//			Rx response:	This attribute counts total responses received. (R) (optional) (4 bytes)
-//
-//		Rx Response Retransmissions
-//			Rx response retransmissions: This attribute counts total response retransmissions received. (R)
-//			(optional) (4 bytes)
-//
-//		Tx Invite Reqs
-//			Tx invite reqs: This attribute counts transmitted invite messages, including retransmissions.
-//			(R) (optional) (4 bytes)
-//
-//		Tx Invite Retrans
-//			Tx invite retrans: This attribute counts transmitted invite retransmission messages. (R)
-//			(optional) (4 bytes)
-//
-//		Tx Noninvite Reqs
-//			Tx noninvite reqs: This attribute counts transmitted non-invite messages, including
-//			retransmissions. (R) (optional) (4 bytes)
-//
-//		Tx Noninvite Retrans
-//			Tx noninvite retrans: This attribute counts transmitted non-invite retransmission messages. (R)
-//			(optional) (4 bytes)
-//
-//		Tx Response
-//			Tx response: This attribute counts the total responses sent. (R) (optional) (4 bytes)
-//
-//		Tx Response Retransmissions
-//			Tx response retransmissions: This attribute counts total response retransmissions sent. (R)
-//			(optional) (4 bytes)
-//
-type SipAgentPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	sipagentperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "SipAgentPerformanceMonitoringHistoryData",
-		ClassID: 151,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFE,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("Transactions", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4:  Uint32Field("RxInviteReqs", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5:  Uint32Field("RxInviteRetrans", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6:  Uint32Field("RxNoninviteReqs", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
-			7:  Uint32Field("RxNoninviteRetrans", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
-			8:  Uint32Field("RxResponse", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9:  Uint32Field("RxResponseRetransmissions", 0, mapset.NewSetWith(Read), false, false, true, false, 9),
-			10: Uint32Field("TxInviteReqs", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: Uint32Field("TxInviteRetrans", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
-			12: Uint32Field("TxNoninviteReqs", 0, mapset.NewSetWith(Read), false, false, true, false, 12),
-			13: Uint32Field("TxNoninviteRetrans", 0, mapset.NewSetWith(Read), false, false, true, false, 13),
-			14: Uint32Field("TxResponse", 0, mapset.NewSetWith(Read), false, false, true, false, 14),
-			15: Uint32Field("TxResponseRetransmissions", 0, mapset.NewSetWith(Read), false, false, true, false, 15),
-		},
-	}
-}
-
-// NewSipAgentPerformanceMonitoringHistoryData (class ID 151 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewSipAgentPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(sipagentperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/sipuserdata.go b/vendor/github.com/cboling/omci/generated/sipuserdata.go
deleted file mode 100644
index f87ec4f..0000000
--- a/vendor/github.com/cboling/omci/generated/sipuserdata.go
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const SipUserDataClassId ClassID = ClassID(153)
-
-var sipuserdataBME *ManagedEntityDefinition
-
-// SipUserData (class ID #153)
-//	The SIP user data defines the user specific configuration attributes associated with a specific
-//	VoIP CTP. This entity is conditionally required for ONUs that offer VoIP SIP services. If a non-
-//	OMCI interface is used to manage SIP for VoIP, this ME is unnecessary. The non-OMCI interface
-//	supplies the necessary data, which may be read back to the OLT via the SIP config portal ME.
-//
-//	An instance of this ME is created and deleted by the OLT. A SIP user data instance is required
-//	for each POTS UNI port using SIP protocol and configured by the OMCI.
-//
-//	Relationships
-//		An instance of this ME is associated with one VoIP voice CTP ME and a PPTP POTS UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Sip Agent Pointer
-//			SIP agent pointer: This attribute points to the SIP agent config data ME to be used for
-//			signalling. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		User Part Aor
-//			User part AOR: This attribute points to a large string that contains the user identification
-//			part of the address of record. This can take the form of an alphanumeric string or the
-//			subscriber's directory number. A null pointer indicates the absence of an AOR. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Sip Display Name
-//			SIP display name: This ASCII string attribute defines the customer ID used for the display
-//			attribute in outgoing SIP messages. The default value is null (all zero bytes) (R, W)
-//			(mandatory) (25 bytes)
-//
-//		Username And Password
-//			Username and password: This attribute points to an authentication security method ME that
-//			contains the SIP user name and password used for authentication. A null pointer indicates no
-//			username and password. (R, W, setbycreate) (mandatory) (2)
-//
-//		Voicemail Server Sip Uri
-//			Voicemail server SIP URI: This attribute points to a network address ME that contains the name
-//			(IP address or URI) of the SIP voicemail server for SIP signalling messages. A null pointer
-//			indicates the absence of a SIP voicemail server. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Voicemail Subscription Expiration Time
-//			Voicemail subscription expiration time: This attribute defines the voicemail subscription
-//			expiration time in seconds. If this value is 0, the SIP agent uses an implementation-specific
-//			value. This attribute is recommended to be set to 3600 s by default. (R, W, setbycreate)
-//			(mandatory) (4 bytes)
-//
-//		Network Dial Plan Pointer
-//			Network dial plan pointer: This attribute points to a network dial plan table. A null pointer
-//			indicates the absence of a network dial plan. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Application Services Profile Pointer
-//			Application services profile pointer: This attribute points to a VoIP application services
-//			profile. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Feature Code Pointer
-//			Feature code pointer: This attribute points to the VoIP feature access codes ME for this
-//			subscriber. A null pointer indicates the absence of a VoIP feature access codes ME. (R, W, set-
-//			by-create) (mandatory) (2 bytes)
-//
-//		Pptp Pointer
-//			PPTP pointer: This attribute points to the PPTP POTS UNI ME that provides the analogue telephony
-//			adaptor (ATA) function. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Release Timer
-//			Release timer: This attribute contains a release timer defined in seconds. The value 0 specifies
-//			that the ONU is to use its internal default. The default value of this attribute is 10 s. (R, W)
-//			(optional) (1 byte)
-//
-//		Receiver Off Hook Roh Timer
-//			Receiver off hook (ROH) timer:	This attribute defines the time in seconds for the ROH condition
-//			before ROH tone is applied. The value 0 disables ROH timing. The value 0xFF specifies that the
-//			ONU is to use its internal default, which may or may not be the same as the 15 s OMCI default
-//			value. (R, W) (optional) (1 byte)
-//
-type SipUserData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	sipuserdataBME = &ManagedEntityDefinition{
-		Name:    "SipUserData",
-		ClassID: 153,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFF0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint16Field("SipAgentPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  Uint16Field("UserPartAor", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  MultiByteField("SipDisplayName", 25, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  Uint16Field("UsernameAndPassword", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint16Field("VoicemailServerSipUri", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6:  Uint32Field("VoicemailSubscriptionExpirationTime", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7:  Uint16Field("NetworkDialPlanPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8:  Uint16Field("ApplicationServicesProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  Uint16Field("FeatureCodePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 9),
-			10: Uint16Field("PptpPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
-			11: ByteField("ReleaseTimer", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: ByteField("ReceiverOffHookRohTimer", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-		},
-	}
-}
-
-// NewSipUserData (class ID 153 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewSipUserData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(sipuserdataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/tcadaptorperformancemonitoringhistorydataxdsl.go b/vendor/github.com/cboling/omci/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
deleted file mode 100644
index feb1f0c..0000000
--- a/vendor/github.com/cboling/omci/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const TcAdaptorPerformanceMonitoringHistoryDataXdslClassId ClassID = ClassID(116)
-
-var tcadaptorperformancemonitoringhistorydataxdslBME *ManagedEntityDefinition
-
-// TcAdaptorPerformanceMonitoringHistoryDataXdsl (class ID #116)
-//	This ME collects PM data of an xTUC to xTUR ATM data path. Instances of this ME are created and
-//	deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an xDSL UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID:	This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R)
-//			(mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1 _2 Id
-//			Threshold data1/2 ID: This attribute points to an instance of the threshold data1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Near_End Hec Violation Count
-//			Near-end HEC violation count: This attribute counts near-end HEC anomalies in the ATM data path.
-//			(R) (mandatory) (2 bytes)
-//
-//		Near_End Delineated Total Cell Count Cd P
-//			Near-end delineated total cell count (CDP): This attribute counts the total number of cells
-//			passed through the cell delineation and HEC function process operating on the ATM data path
-//			while in the SYNC state. (R) (mandatory) (4 bytes)
-//
-//		Near_End User Total Cell Count Cu_P
-//			Near-end user total cell count(CU-P): This attribute counts the total number of cells in the ATM
-//			data path delivered at the V-C interface. (R) (mandatory) (4 bytes)
-//
-//		Near_End Idle Cell Bit Error Count
-//			Near-end idle cell bit error count: This attribute counts cells with bit errors in the ATM data
-//			path idle payload received at the near end. (R) (mandatory) (2 bytes)
-//
-//		Far_End Hec Violation Count
-//			Far-end HEC violation count: This attribute counts far-end HEC anomalies in the ATM data path.
-//			(R) (mandatory) (2 bytes)
-//
-//		Far_End Delineated Total Cell Count Cd_Pfe
-//			Far-end delineated total cell count (CD-PFE): This attribute counts the total number of cells
-//			passed through the cell delineation process and HEC function operating on the ATM data path
-//			while in the SYNC state. (R) (mandatory) (4 bytes)
-//
-//		Far_End User Total Cell Count Cu_Pfe
-//			Far-end user total cell count (CU-PFE): This attribute counts the total number of cells in the
-//			ATM data path delivered at the T-R interface. (R) (mandatory) (4 bytes)
-//
-//		Far_End Idle Cell Bit Error Count
-//			Far-end idle cell bit error count: This attribute counts cells with bit errors in the ATM data
-//			path idle payload received at the far end. (R) (mandatory) (2 bytes)
-//
-type TcAdaptorPerformanceMonitoringHistoryDataXdsl struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	tcadaptorperformancemonitoringhistorydataxdslBME = &ManagedEntityDefinition{
-		Name:    "TcAdaptorPerformanceMonitoringHistoryDataXdsl",
-		ClassID: 116,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFC0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint16Field("NearEndHecViolationCount", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("NearEndDelineatedTotalCellCountCdP", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("NearEndUserTotalCellCountCuP", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint16Field("NearEndIdleCellBitErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint16Field("FarEndHecViolationCount", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("FarEndDelineatedTotalCellCountCdPfe", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("FarEndUserTotalCellCountCuPfe", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint16Field("FarEndIdleCellBitErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-		},
-	}
-}
-
-// NewTcAdaptorPerformanceMonitoringHistoryDataXdsl (class ID 116 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewTcAdaptorPerformanceMonitoringHistoryDataXdsl(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(tcadaptorperformancemonitoringhistorydataxdslBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/tcpudpperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/tcpudpperformancemonitoringhistorydata.go
deleted file mode 100644
index 890b090..0000000
--- a/vendor/github.com/cboling/omci/generated/tcpudpperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const TcpUdpPerformanceMonitoringHistoryDataClassId ClassID = ClassID(342)
-
-var tcpudpperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// TcpUdpPerformanceMonitoringHistoryData (class ID #342)
-//	This ME collects PM data related to a TCP or UDP port. Instances of this ME are created and
-//	deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of the TCP/UDP config data ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the TCP/UDP config data ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Socket Failed
-//			Socket failed:	This attribute is incremented when an attempt to create a socket associated with
-//			a port fails. (R) (mandatory) (2 bytes)
-//
-//		Listen Failed
-//			Listen failed:	This attribute is incremented when an attempt by a service to listen for a
-//			request on a port fails. (R) (mandatory) (2 bytes)
-//
-//		Bind Failed
-//			Bind failed:	This attribute is incremented when an attempt by a service to bind to a port fails.
-//			(R) (mandatory) (2 bytes)
-//
-//		Accept Failed
-//			Accept failed: This attribute is incremented when an attempt to accept a connection on a port
-//			fails. (R) (mandatory) (2 bytes)
-//
-//		Select Failed
-//			Select failed:	This attribute is incremented when an attempt to perform a select on a group of
-//			ports fails. (R) (mandatory) (2 bytes)
-//
-type TcpUdpPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	tcpudpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "TcpUdpPerformanceMonitoringHistoryData",
-		ClassID: 342,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFE00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("SocketFailed", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint16Field("ListenFailed", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint16Field("BindFailed", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint16Field("AcceptFailed", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint16Field("SelectFailed", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-		},
-	}
-}
-
-// NewTcpUdpPerformanceMonitoringHistoryData (class ID 342 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewTcpUdpPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(tcpudpperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/thresholddata1.go b/vendor/github.com/cboling/omci/generated/thresholddata1.go
deleted file mode 100644
index a83e671..0000000
--- a/vendor/github.com/cboling/omci/generated/thresholddata1.go
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const ThresholdData1ClassId ClassID = ClassID(273)
-
-var thresholddata1BME *ManagedEntityDefinition
-
-// ThresholdData1 (class ID #273)
-//	Threshold data are partitioned into two MEs for historical reasons. An instance of this ME,
-//	together with an optional instance of the threshold data 2 ME, contains threshold values for
-//	counters in PM history data MEs.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Instances of this ME are created and deleted by the OLT.
-//
-//	Relationships
-//		An instance of this ME may be related to multiple instances of PM history data type MEs.////		Paired instances of threshold data 1 ME and threshold data 2 ME are implicitly linked together
-//		through a common ME ID.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Threshold Value_1
-//			Threshold value 1: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_2
-//			Threshold value 2: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_3
-//			Threshold value 3: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_4
-//			Threshold value 4: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_5
-//			Threshold value 5: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_6
-//			Threshold value 6: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_7
-//			Threshold value 7: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-type ThresholdData1 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	thresholddata1BME = &ManagedEntityDefinition{
-		Name:    "ThresholdData1",
-		ClassID: 273,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFE00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint32Field("ThresholdValue1", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint32Field("ThresholdValue2", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("ThresholdValue3", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint32Field("ThresholdValue4", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: Uint32Field("ThresholdValue5", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6: Uint32Field("ThresholdValue6", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7: Uint32Field("ThresholdValue7", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-		},
-	}
-}
-
-// NewThresholdData1 (class ID 273 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewThresholdData1(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(thresholddata1BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/thresholddata2.go b/vendor/github.com/cboling/omci/generated/thresholddata2.go
deleted file mode 100644
index 2b7b0a3..0000000
--- a/vendor/github.com/cboling/omci/generated/thresholddata2.go
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const ThresholdData2ClassId ClassID = ClassID(274)
-
-var thresholddata2BME *ManagedEntityDefinition
-
-// ThresholdData2 (class ID #274)
-//	Together with an instance of the threshold data 1 ME, an instance of this ME contains threshold
-//	values for counters maintained in one or more instances of PM history data MEs.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Instances of this ME are created and deleted by the OLT.
-//
-//	Relationships
-//		Refer to the relationships of the threshold data 1 ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Its value is the
-//			same as that of the paired threshold data 1 instance. (R, setbycreate) (mandatory) (2 bytes)
-//
-//		Threshold Value_8
-//			Threshold value 8: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_9
-//			Threshold value 9: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_10
-//			Threshold value 10: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_11
-//			Threshold value 11: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_12
-//			Threshold value 12: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_13
-//			Threshold value 13: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Threshold Value_14
-//			Threshold value 14: (R, W, setbycreate) (mandatory) (4 bytes)
-//
-type ThresholdData2 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	thresholddata2BME = &ManagedEntityDefinition{
-		Name:    "ThresholdData2",
-		ClassID: 274,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFE00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint32Field("ThresholdValue8", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint32Field("ThresholdValue9", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("ThresholdValue10", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint32Field("ThresholdValue11", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: Uint32Field("ThresholdValue12", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6: Uint32Field("ThresholdValue13", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7: Uint32Field("ThresholdValue14", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-		},
-	}
-}
-
-// NewThresholdData2 (class ID 274 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewThresholdData2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(thresholddata2BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/trafficdescriptor.go b/vendor/github.com/cboling/omci/generated/trafficdescriptor.go
deleted file mode 100644
index 80598bb..0000000
--- a/vendor/github.com/cboling/omci/generated/trafficdescriptor.go
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const TrafficDescriptorClassId ClassID = ClassID(280)
-
-var trafficdescriptorBME *ManagedEntityDefinition
-
-// TrafficDescriptor (class ID #280)
-//	The traffic descriptor is a profile that allows for traffic management. A priority controlled
-//	ONU can point from a MAC bridge port configuration data ME to a traffic descriptor in order to
-//	implement traffic management (marking, policing). A rate controlled ONU can point to a traffic
-//	descriptor from either a MAC bridge port configuration data ME or a GEM port network CTP to
-//	implement traffic management (marking, shaping).
-//
-//	Packets are determined to be green, yellow or red as a function of the ingress packet rate and
-//	the settings in this ME. The colour indicates drop precedence (eligibility), subsequently used
-//	by the priority queue ME to drop packets conditionally during congestion conditions. Packet
-//	colour is also used by the optional mode 1 DBA status reporting function described in [ITUT
-//	G.984.3]. Red packets are dropped immediately. Yellow packets are marked as drop eligible, and
-//	green packets are marked as not drop eligible, according to the egress colour marking attribute.
-//
-//	The algorithm used to determine the colour marking is specified by the meter type attribute. If
-//	[bIETF RFC 4115] is used, then:
-//
-//	CIR4115 = CIR
-//
-//	EIR4115 = PIR – CIR (EIR: excess information rate)
-//
-//	CBS4115 = CBS
-//
-//	EBS4115 = PBS – CBS.
-//
-//	Relationships
-//		This ME is associated with a GEM port network CTP or a MAC bridge port configuration data ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Cir
-//			CIR:	This attribute specifies the committed information rate, in bytes per second. The default
-//			is 0. (R, W, setbycreate) (optional) (4 bytes)
-//
-//		Pir
-//			PIR:	This attribute specifies the peak information rate, in bytes per second. The default value
-//			0 accepts the ONU's factory policy. (R, W, setbycreate) (optional) (4 bytes)
-//
-//		Cbs
-//			CBS:	This attribute specifies the committed burst size, in bytes. The default is 0. (R, W,
-//			setbycreate) (optional) (4 bytes)
-//
-//		Pbs
-//			PBS:	This attribute specifies the peak burst size, in bytes. The default value 0 accepts the
-//			ONU's factory policy. (R, W, setbycreate) (optional) (4 bytes)
-//
-//		Colour Mode
-//			(R, W, setbycreate) (optional) (1 byte)
-//
-//		Ingress Colour Marking
-//			(R, W, setbycreate) (optional) (1 byte)
-//
-//		Egress Colour Marking
-//			(R, W, setbycreate) (optional) (1 byte)
-//
-//		Meter Type
-//			(R, setbycreate) (optional) (1 byte)
-//
-type TrafficDescriptor struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	trafficdescriptorBME = &ManagedEntityDefinition{
-		Name:    "TrafficDescriptor",
-		ClassID: 280,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFF00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint32Field("Cir", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 1),
-			2: Uint32Field("Pir", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 2),
-			3: Uint32Field("Cbs", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 3),
-			4: Uint32Field("Pbs", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 4),
-			5: ByteField("ColourMode", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
-			6: ByteField("IngressColourMarking", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 6),
-			7: ByteField("EgressColourMarking", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 7),
-			8: ByteField("MeterType", 0, mapset.NewSetWith(Read, SetByCreate), false, false, true, false, 8),
-		},
-	}
-}
-
-// NewTrafficDescriptor (class ID 280 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewTrafficDescriptor(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(trafficdescriptorBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go b/vendor/github.com/cboling/omci/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
deleted file mode 100644
index da563d9..0000000
--- a/vendor/github.com/cboling/omci/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2ClassId ClassID = ClassID(447)
-
-var twdmchannelploamperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
-
-// TwdmChannelPloamPerformanceMonitoringHistoryDataPart2 (class ID #447)
-//	This ME collects additional PLOAM-related PM data associated with the slot/circuit pack, hosting
-//	one or more ANI-G MEs, for a specific TWDM channel. Instances of this ME are created and deleted
-//	by the OLT.
-//
-//	The downstream PLOAM message counts of this ME include only the received PLOAM messages
-//	pertaining to the given ONU, i.e.:
-//
-//	–	unicast PLOAM messages, addressed by ONU-ID;
-//
-//	–	broadcast PLOAM messages, addressed by serial number;
-//
-//	–	broadcast PLOAM messages, addressed to all ONUs on the PON.
-//
-//	All these counters are characterized as optional in clause 14 of [ITU-T  G.989.3].
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of TWDM channel ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		System_Profile Message Count
-//			System_Profile message count: The counter of received System_Profile PLOAM messages. (R)
-//			(mandatory) (4 byte)
-//
-//		Channel_Profile Message Count
-//			Channel_Profile message count: The counter of received Channel_Profile PLOAM messages. (R)
-//			(mandatory) (4 byte)
-//
-//		Burst_Profile Message Count
-//			Burst_Profile message count: The counter of received Burst_Profile PLOAM messages. (R)
-//			(mandatory) (4 byte)
-//
-//		Assign_Onu_Id Message Count
-//			Assign_ONU-ID message count: The counter of received Assign_ONU-ID PLOAM messages. (R)
-//			(mandatory) (4 byte)
-//
-//		Unsatisfied Adjust_Tx_Wavelength Requests
-//			Unsatisfied Adjust_Tx_Wavelength requests: The counter of Adjust_Tx_Wavelength requests not
-//			applied or partially applied due to target US wavelength being out of Tx tuning range.  (R)
-//			(mandatory) (4 byte)
-//
-//		Deactivate_Onu_Id Message Count
-//			Deactivate_ONU-ID message count: The counter of received Deactivate_ONU-ID PLOAM messages. (R)
-//			(mandatory) (4 byte)
-//
-//		Disable_Serial_Number Message Count
-//			Disable_Serial_Number message count: The counter of received Disable_Serial_Number PLOAM
-//			messages. (R) (mandatory) (4 byte)
-//
-//		Request_Registration Message Count
-//			Request_Registration message count: The counter of received Request_Registration PLOAM messages.
-//			(R) (mandatory) (4 byte)
-//
-//		Assign_Alloc_Id Message Count
-//			Assign_Alloc-ID message count: The counter of received Assign_Alloc-ID PLOAM messages. (R)
-//			(mandatory) (4 byte)
-//
-//		Key_Control Message Count
-//			Key_Control message count: The counter of received Key_Control PLOAM messages. (R) (mandatory)
-//			(4 byte)
-//
-//		Sleep_Allow Message Count
-//			Sleep_Allow message count: The counter of received Sleep_Allow PLOAM messages. (R) (mandatory)
-//			(4 byte)
-//
-//		Tuning_Control_Request Message Count
-//			Tuning_Control/Request message count: The counter of received Tuning_Control PLOAM messages with
-//			Request operation code. (R) (mandatory) (4 byte)
-//
-//		Tuning_Control_Complete_D Message Count
-//			Tuning_Control/Complete_d message count: The counter of received Tuning_Control PLOAM messages
-//			with Complete_d operation code. (R) (mandatory) (4 byte)
-//
-//		Calibration_Request Message Count
-//			Calibration_Request message count: The counter of received Calibration_Request PLOAM messages.
-//			(R) (mandatory) (4 byte)
-//
-type TwdmChannelPloamPerformanceMonitoringHistoryDataPart2 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	twdmchannelploamperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
-		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2",
-		ClassID: 447,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			GetCurrentData,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("SystemProfileMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("ChannelProfileMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("BurstProfileMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("AssignOnuIdMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("UnsatisfiedAdjustTxWavelengthRequests", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("DeactivateOnuIdMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("DisableSerialNumberMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("RequestRegistrationMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("AssignAllocIdMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("KeyControlMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("SleepAllowMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("TuningControlRequestMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("TuningControlCompleteDMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-			16: Uint32Field("CalibrationRequestMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 16),
-		},
-	}
-}
-
-// NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart2 (class ID 447 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchannelploamperformancemonitoringhistorydatapart2BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go b/vendor/github.com/cboling/omci/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
deleted file mode 100644
index aa5ef38..0000000
--- a/vendor/github.com/cboling/omci/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3ClassId ClassID = ClassID(448)
-
-var twdmchannelploamperformancemonitoringhistorydatapart3BME *ManagedEntityDefinition
-
-// TwdmChannelPloamPerformanceMonitoringHistoryDataPart3 (class ID #448)
-//	This ME collects remaining PLOAM-related PM data associated with the slot/circuit pack, hosting
-//	one or more ANI-G MEs, for a specific TWDM channel. Instances of this ME are created and deleted
-//	by the OLT.
-//
-//	This ME contains the counters related to transmitted upstream PLOAM messages. All these counters
-//	are characterized as optional in clause 14 of [ITU-T  G.989.3].
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of TWDM channel ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Upstream Ploam Message Count
-//			Upstream PLOAM message count: The aggregate counter of PLOAM messages, other than AK PLOAM MT,
-//			transmitted by the given ONU. (R) (mandatory) (4 byte)
-//
-//		Serial_Number_Onu In_Band Message Count
-//			Serial_Number_ONU (in-band) message count: The counter of transmitted in-band Serial_Number_ONU
-//			PLOAM messages. (R) (mandatory) (4 byte)
-//
-//		Serial_Number_Onu Amcc Message Count
-//			Serial_Number_ONU (AMCC) message count: The counter of transmitted auxiliary management and
-//			control channel (AMCC) Serial_Number_ONU PLOAM messages. (R) (mandatory) (4 byte)
-//
-//		Registration Message Count
-//			Registration message count: The counter of transmitted Registration PLOAM messages. (R)
-//			(mandatory) (4 byte)
-//
-//		Key_Report Message Count
-//			Key_Report message count: The counter of transmitted Key_Report PLOAM messages. (R) (mandatory)
-//			(4 byte)
-//
-//		Acknowledgement Message Count
-//			Acknowledgement message count: The counter of transmitted Registration PLOAM messages. (R)
-//			(mandatory) (4 byte)
-//
-//		Sleep_Request Message Count
-//			Sleep_Request message count: The counter of transmitted Sleep_Request PLOAM messages. (R)
-//			(mandatory) (4 byte)
-//
-//		Tuning_Response Ack_Nack Message Count
-//			Tuning_Response (ACK/NACK) message count: The counter of transmitted Tuning_Response PLOAM
-//			messages with ACK/NACK operation code. (R) (mandatory) (4 byte)
-//
-//		Tuning_Response Complete_U_Rollback Message Count
-//			Tuning_Response (Complete_u/Rollback) message count: The counter of transmitted Tuning_Response
-//			PLOAM messages with Complete_u/Rollback operation code. (R) (mandatory) (4 byte)
-//
-//		Power_Consumption_Report Message Count
-//			Power_Consumption_Report message count: The counter of transmitted Power_Consumption_Report
-//			PLOAM messages. (R) (mandatory) (4 byte)
-//
-//		Change_Power_Level Parameter Error Count
-//			Change_Power_Level parameter error count: The counter of transmitted Acknowledgement PLOAM
-//			messages with Parameter Error completion code in response to Change_Power_Level PLOAM message.
-//			(R) (mandatory) (4 byte)
-//
-type TwdmChannelPloamPerformanceMonitoringHistoryDataPart3 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	twdmchannelploamperformancemonitoringhistorydatapart3BME = &ManagedEntityDefinition{
-		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3",
-		ClassID: 448,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			GetCurrentData,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFF8,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("UpstreamPloamMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("SerialNumberOnuInBandMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("SerialNumberOnuAmccMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("RegistrationMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("KeyReportMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("AcknowledgementMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("SleepRequestMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("TuningResponseAckNackMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("TuningResponseCompleteURollbackMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("PowerConsumptionReportMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("ChangePowerLevelParameterErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-		},
-	}
-}
-
-// NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart3 (class ID 448 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart3(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchannelploamperformancemonitoringhistorydatapart3BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go b/vendor/github.com/cboling/omci/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
deleted file mode 100644
index 479ba9c..0000000
--- a/vendor/github.com/cboling/omci/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2ClassId ClassID = ClassID(450)
-
-var twdmchanneltuningperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
-
-// TwdmChannelTuningPerformanceMonitoringHistoryDataPart2 (class ID #450)
-//	This ME collects additional tuning-control-related PM data associated with the slot/circuit
-//	pack, hosting one or more ANI-G MEs, for a specific TWDM channel. Instances of this ME are
-//	created and deleted by the OLT.
-//
-//	The relevant events this ME is concerned with are counted towards the PM statistics associated
-//	with the source TWDM channel. This ME contains the counters characterized as optional in clause
-//	14 of [ITU-T  G.989.3].
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of TWDM channel ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Tuning Control Requests Rejected_Ds_Albl
-//			Tuning control requests rejected/DS_ALBL: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and DS_ALBL response code, indicating downstream
-//			administrative label inconsistency. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Ds_Void
-//			Tuning control requests rejected/DS_VOID: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and DS_VOID response code, indicating that the target
-//			downstream wavelength channel descriptor is void. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Ds_Part
-//			Tuning control requests rejected/DS_PART: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and DS_PART response code, indicating that tuning request
-//			involves channel partition violation. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Ds_Tunr
-//			Tuning control requests rejected/DS_TUNR: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and DS_TUNR response code, indicating that the target DS
-//			wavelength channel is out of receiver tuning range. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Ds_Lnrt
-//			Tuning control requests rejected/DS_LNRT: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and DS_LNRT response code, indicating downstream line rate
-//			inconsistency in the target channel. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Ds_Lncd
-//			Tuning control requests rejected/DS_LNCD: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and DS_LNCD response code, indicating downstream line code
-//			inconsistency in the target channel. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Us_Albl
-//			Tuning control requests rejected/US_ALBL: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and US_ALBL response code, indicating upstream administrative
-//			label inconsistency. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Us_Void
-//			Tuning control requests rejected/US_VOID: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and US_VOID response code, indicating that the target upstream
-//			wavelength channel descriptor is void. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Us_Tunr
-//			Tuning control requests rejected/US_TUNR: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and US_TUNR response code, indicating that the target US
-//			wavelength channel is out of transmitter tuning range. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Us_Clbr
-//			Tuning control requests rejected/US_CLBR: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and US_CLBR response code, indicating that the transmitter has
-//			insufficient calibration accuracy in the target US wavelength channel. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Us_Lktp
-//			Tuning control requests rejected/US_LKTP: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and US_LKTP response code, indicating upstream optical link
-//			type inconsistency. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Us_Lnrt
-//			Tuning control requests rejected/US_LNRT: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and US_LNRT response code, indicating upstream line rate
-//			inconsistency in the target channel. (R) (mandatory) (4 byte)
-//
-//		Tuning Control Requests Rejected_Us_Lncd
-//			Tuning control requests rejected/US_LNCD: The counter of transmitted Tuning_Response PLOAM
-//			messages with NACK operation code and US_LNCD response code, indicating upstream line code
-//			inconsistency in the target channel. (R) (mandatory) (4 byte)
-//
-type TwdmChannelTuningPerformanceMonitoringHistoryDataPart2 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	twdmchanneltuningperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
-		Name:    "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2",
-		ClassID: 450,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			GetCurrentData,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFE,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("TuningControlRequestsRejectedDsAlbl", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("TuningControlRequestsRejectedDsVoid", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("TuningControlRequestsRejectedDsPart", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("TuningControlRequestsRejectedDsTunr", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("TuningControlRequestsRejectedDsLnrt", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("TuningControlRequestsRejectedDsLncd", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("TuningControlRequestsRejectedUsAlbl", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("TuningControlRequestsRejectedUsVoid", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("TuningControlRequestsRejectedUsTunr", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("TuningControlRequestsRejectedUsClbr", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("TuningControlRequestsRejectedUsLktp", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("TuningControlRequestsRejectedUsLnrt", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("TuningControlRequestsRejectedUsLncd", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-		},
-	}
-}
-
-// NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart2 (class ID 450 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchanneltuningperformancemonitoringhistorydatapart2BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/voiceserviceprofile.go b/vendor/github.com/cboling/omci/generated/voiceserviceprofile.go
deleted file mode 100644
index 8ababd1..0000000
--- a/vendor/github.com/cboling/omci/generated/voiceserviceprofile.go
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const VoiceServiceProfileClassId ClassID = ClassID(58)
-
-var voiceserviceprofileBME *ManagedEntityDefinition
-
-// VoiceServiceProfile (class ID #58)
-//	This ME organizes data that describe the voice service functions of the ONU. Instances of this
-//	ME are created and deleted by the OLT.
-//
-//	Relationships
-//		An instance of this ME may be associated with zero or more instances of a VoIP voice CTP by way
-//		of a VoIP media profile.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Announcement Type
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Jitter Target
-//			Jitter target:	This attribute specifies the target value of the jitter buffer in milliseconds.
-//			The system tries to maintain the jitter buffer at the target value. The value 0 specifies
-//			dynamic jitter buffer sizing. (R, W, setbycreate) (optional) (2 bytes)
-//
-//		Jitter Buffer Max
-//			Jitter buffer max: This attribute specifies the maximum depth of the jitter buffer associated
-//			with this service in milliseconds. The value 0 specifies that the ONU uses its internal default.
-//			(R, W, set-by-create) (optional) (2 bytes)
-//
-//		Echo Cancel Ind
-//			Echo cancel ind: The Boolean value true specifies that echo cancellation is on; false specifies
-//			off. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Pstn Protocol Variant
-//			PSTN protocol variant: This attribute controls which variant of POTS signalling is used on the
-//			associated UNIs. Its value is equal to the [ITU-T E.164] country code. The value 0 specifies
-//			that the ONU uses its internal default. (R, W, set-by-create) (optional) (2 bytes)
-//
-//		Dtmf Digit Levels
-//			DTMF digit levels: This attribute specifies the power level of DTMF digits that may be generated
-//			by the ONU towards the subscriber set. It is a 2s complement value referred to 1 mW at the 0
-//			transmission level point (TLP) (dBm0), with resolution 1 dB. The default value 0x8000 selects
-//			the ONU's internal policy. (R, W, setbycreate) (optional) (2 bytes)
-//
-//		Dtmf Digit Duration
-//			DTMF digit duration: This attribute specifies the duration of DTMF digits that may be generated
-//			by the ONU towards the subscriber set. It is specified in milliseconds. The default value 0
-//			selects the ONU's internal policy. (R, W, setbycreate) (optional) (2 bytes)
-//
-//		Hook Flash Minimum Time
-//			Hook flash minimum time: This attribute defines the minimum duration recognized by the ONU as a
-//			switchhook flash. It is expressed in milliseconds; the default value 0 selects the ONU's
-//			internal policy. (R, W, setbycreate) (optional) (2 bytes)
-//
-//		Hook Flash Maximum Time
-//			Hook flash maximum time: This attribute defines the maximum duration recognized by the ONU as a
-//			switchhook flash. It is expressed in milliseconds; the default value 0 selects the ONU's
-//			internal policy. (R, W, setbycreate) (optional) (2 bytes)
-//
-//		Tone Pattern Table
-//			(R, W) (optional) (N * 20 bytes)
-//
-//		Tone Event Table
-//			(R, W) (optional) (N * 7 bytes).
-//
-//		Ringing Pattern Table
-//			(R, W) (optional) (N * 5 bytes).
-//
-//		Ringing Event Table
-//			(R, W) (optional) (N * 7 bytes).
-//
-//		Network Specific Extensions Pointer
-//			Network specific extensions pointer: This attribute points to a network address ME that contains
-//			the path and name of a file containing network specific parameters for the associated UNIs. The
-//			default value for this attribute is 0xFFFF, a null pointer. (R, W, set-by-create) (optional)
-//			(2 bytes)
-//
-type VoiceServiceProfile struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	voiceserviceprofileBME = &ManagedEntityDefinition{
-		Name:    "VoiceServiceProfile",
-		ClassID: 58,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFC,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("AnnouncementType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  Uint16Field("JitterTarget", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 2),
-			3:  Uint16Field("JitterBufferMax", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 3),
-			4:  ByteField("EchoCancelInd", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint16Field("PstnProtocolVariant", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
-			6:  Uint16Field("DtmfDigitLevels", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 6),
-			7:  Uint16Field("DtmfDigitDuration", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 7),
-			8:  Uint16Field("HookFlashMinimumTime", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 8),
-			9:  Uint16Field("HookFlashMaximumTime", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 9),
-			10: MultiByteField("TonePatternTable", 20, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
-			11: MultiByteField("ToneEventTable", 7, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: MultiByteField("RingingPatternTable", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: MultiByteField("RingingEventTable", 7, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
-			14: Uint16Field("NetworkSpecificExtensionsPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 14),
-		},
-	}
-}
-
-// NewVoiceServiceProfile (class ID 58 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewVoiceServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(voiceserviceprofileBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/voipapplicationserviceprofile.go b/vendor/github.com/cboling/omci/generated/voipapplicationserviceprofile.go
deleted file mode 100644
index 4519b6b..0000000
--- a/vendor/github.com/cboling/omci/generated/voipapplicationserviceprofile.go
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const VoipApplicationServiceProfileClassId ClassID = ClassID(146)
-
-var voipapplicationserviceprofileBME *ManagedEntityDefinition
-
-// VoipApplicationServiceProfile (class ID #146)
-//	The VoIP application service profile defines attributes of calling features used in conjunction
-//	with a VoIP line service. It is optional for ONUs that support VoIP services. If a non-OMCI
-//	interface is used to manage SIP for VoIP, this ME is unnecessary.
-//
-//	An instance of this ME is created and deleted by the OLT. A VoIP application service profile
-//	instance is needed for each unique set of profile attributes.
-//
-//	Relationships
-//		An instance of this ME is associated with zero or more SIP user data MEs.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Cid Features
-//			The recommended default value is 0x00. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Call Waiting Features
-//			The recommended default value is 0x00. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Call Progress Or Transfer Features
-//			The recommended default value is 0x0000. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Call Presentation Features
-//			The recommended default value is 0x0000. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Direct Connect Feature
-//			The recommended default value is 0x00. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Direct Connect Uri Pointer
-//			Direct connect URI pointer: This attribute points to a network address ME that specifies the URI
-//			of the direct connect. If this attribute is set to a null pointer, no URI is defined. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Bridged Line Agent Uri Pointer
-//			Bridged line agent URI pointer: This attribute points to a network address ME that specifies the
-//			URI of the bridged line agent. If this attribute is set to a null pointer, no URI is defined.
-//			(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Conference Factory Uri Pointer
-//			Conference factory URI pointer: This attribute points to a network address ME that specifies the
-//			URI of the conference factory. If this attribute is set to a null pointer, no URI is defined.
-//			(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Dial Tone Feature Delay_ W Armline Timer New
-//			Dial tone feature delay/warmline timer (new): This attribute defines the warmline timer/dial
-//			tone feature delay timer (seconds). The default value 0 specifies vendor-specific
-//			implementation. (R, W) (optional) (2 bytes)
-//
-type VoipApplicationServiceProfile struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	voipapplicationserviceprofileBME = &ManagedEntityDefinition{
-		Name:    "VoipApplicationServiceProfile",
-		ClassID: 146,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFF80,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("CidFeatures", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("CallWaitingFeatures", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("CallProgressOrTransferFeatures", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint16Field("CallPresentationFeatures", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: ByteField("DirectConnectFeature", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6: Uint16Field("DirectConnectUriPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7: Uint16Field("BridgedLineAgentUriPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8: Uint16Field("ConferenceFactoryUriPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9: Uint16Field("DialToneFeatureDelayWArmlineTimerNew", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-		},
-	}
-}
-
-// NewVoipApplicationServiceProfile (class ID 146 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewVoipApplicationServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(voipapplicationserviceprofileBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/voipconfigdata.go b/vendor/github.com/cboling/omci/generated/voipconfigdata.go
deleted file mode 100644
index 9dd9e77..0000000
--- a/vendor/github.com/cboling/omci/generated/voipconfigdata.go
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const VoipConfigDataClassId ClassID = ClassID(138)
-
-var voipconfigdataBME *ManagedEntityDefinition
-
-// VoipConfigData (class ID #138)
-//	The VoIP configuration data ME defines the configuration for VoIP in the ONU. The OLT uses this
-//	ME to discover the VoIP signalling protocols and configuration methods supported by this ONU.
-//	The OLT then uses this ME to select the desired signalling protocol and configuration method.
-//	The entity is conditionally required for ONUs that offer VoIP services.
-//
-//	An ONU that supports VoIP services automatically creates an instance of this ME.
-//
-//	Relationships
-//		One instance of this ME is associated with the ONU.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
-//			one instance, number 0. (R) (mandatory) (2 bytes)
-//
-//		Available Signalling Protocols
-//			(R) (mandatory) (1 byte)
-//
-//		Signalling Protocol Used
-//			(R, W) (mandatory) (1 byte)
-//
-//		Available Voip Configuration Methods
-//			Bits 5..24 are reserved by ITU-T. Bits 25..32 are reserved for proprietary vendor configuration
-//			capabilities. (R) (mandatory) (4 bytes)
-//
-//		Voip Configuration Method Used
-//			(R, W) (mandatory) (1 byte)
-//
-//		Voip Configuration Address Pointer
-//			The default value is 0xFFFF (R, W) (mandatory) (2 bytes)
-//
-//		Voip Configuration State
-//			Other values are reserved. At ME instantiation, the ONU sets this attribute to 0. (R)
-//			(mandatory) (1 byte)
-//
-//		Retrieve Profile
-//			Retrieve profile: This attribute provides a means by which the ONU may be notified that a new
-//			VoIP profile should be retrieved. By setting this attribute, the OLT triggers the ONU to
-//			retrieve a new profile. The actual value in the set action is ignored because it is the action
-//			of setting that is important. (W) (mandatory) (1 byte)
-//
-//		Profile Version
-//			Profile version: This attribute is a character string that identifies the version of the last
-//			retrieved profile. (R) (mandatory) (25 bytes)
-//
-type VoipConfigData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	voipconfigdataBME = &ManagedEntityDefinition{
-		Name:    "VoipConfigData",
-		ClassID: 138,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFF00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("AvailableSignallingProtocols", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: ByteField("SignallingProtocolUsed", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3: Uint32Field("AvailableVoipConfigurationMethods", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: ByteField("VoipConfigurationMethodUsed", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5: Uint16Field("VoipConfigurationAddressPointer", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6: ByteField("VoipConfigurationState", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: ByteField("RetrieveProfile", 0, mapset.NewSetWith(Write), false, false, false, false, 7),
-			8: MultiByteField("ProfileVersion", 25, nil, mapset.NewSetWith(Read), true, false, false, false, 8),
-		},
-	}
-}
-
-// NewVoipConfigData (class ID 138 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewVoipConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(voipconfigdataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/voipfeatureaccesscodes.go b/vendor/github.com/cboling/omci/generated/voipfeatureaccesscodes.go
deleted file mode 100644
index 5b50616..0000000
--- a/vendor/github.com/cboling/omci/generated/voipfeatureaccesscodes.go
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const VoipFeatureAccessCodesClassId ClassID = ClassID(147)
-
-var voipfeatureaccesscodesBME *ManagedEntityDefinition
-
-// VoipFeatureAccessCodes (class ID #147)
-//	The VoIP feature access codes ME defines administrable feature access codes for the VoIP
-//	subscriber. It is optional for ONUs that support VoIP services. If a non-OMCI interface is used
-//	to manage VoIP signalling, this ME is unnecessary.
-//
-//	Instances of this ME are created and deleted by the OLT. A VoIP feature access codes instance is
-//	needed for each unique set of feature access code attributes.
-//
-//	Relationships
-//		An instance of this ME may be associated with one or more SIP user data MEs.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R) (mandatory)
-//			(2 bytes)
-//
-//		Cancel Call Waiting
-//			Cancel call waiting:	(R, W) (optional) (5 bytes)
-//
-//		Call Hold
-//			Call hold:		(R, W) (optional) (5 bytes)
-//
-//		Call Park
-//			Call park:		(R, W) (optional) (5 bytes)
-//
-//		Caller Id Activate
-//			Caller ID activate:	(R, W) (optional) (5 bytes)
-//
-//		Caller Id Deactivate
-//			Caller ID deactivate:	(R, W) (optional) (5 bytes)
-//
-//		Do Not Disturb Activation
-//			Do not disturb activation:	(R, W) (optional) (5 bytes)
-//
-//		Do Not Disturb Deactivation
-//			Do not disturb deactivation:	(R, W) (optional) (5 bytes)
-//
-//		Do Not Disturb Pin Change
-//			Do not disturb PIN change:	(R, W) (optional) (5 bytes)
-//
-//		Emergency Service Number
-//			Emergency service number:	(R, W) (optional) (5 bytes)
-//
-//		Intercom Service
-//			Intercom service:	(R, W) (optional) (5 bytes)
-//
-//		Unattended_Blind Call Transfer
-//			Unattended/blind call transfer:	(R, W) (optional) (5 bytes)
-//
-//		Attended Call Transfer
-//			Attended call transfer:	(R, W) (optional) (5 bytes)
-//
-type VoipFeatureAccessCodes struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	voipfeatureaccesscodesBME = &ManagedEntityDefinition{
-		Name:    "VoipFeatureAccessCodes",
-		ClassID: 147,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFF0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  MultiByteField("CancelCallWaiting", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 1),
-			2:  MultiByteField("CallHold", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 2),
-			3:  MultiByteField("CallPark", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 3),
-			4:  MultiByteField("CallerIdActivate", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5:  MultiByteField("CallerIdDeactivate", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
-			6:  MultiByteField("DoNotDisturbActivation", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7:  MultiByteField("DoNotDisturbDeactivation", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 7),
-			8:  MultiByteField("DoNotDisturbPinChange", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
-			9:  MultiByteField("EmergencyServiceNumber", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-			10: MultiByteField("IntercomService", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
-			11: MultiByteField("UnattendedBlindCallTransfer", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: MultiByteField("AttendedCallTransfer", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-		},
-	}
-}
-
-// NewVoipFeatureAccessCodes (class ID 147 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewVoipFeatureAccessCodes(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(voipfeatureaccesscodesBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/voiplinestatus.go b/vendor/github.com/cboling/omci/generated/voiplinestatus.go
deleted file mode 100644
index 9ed609e..0000000
--- a/vendor/github.com/cboling/omci/generated/voiplinestatus.go
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const VoipLineStatusClassId ClassID = ClassID(141)
-
-var voiplinestatusBME *ManagedEntityDefinition
-
-// VoipLineStatus (class ID #141)
-//	The VoIP line status ME contains line status information for POTS ports using VoIP services. An
-//	ONU that supports VoIP automatically creates or deletes an instance of this ME upon creation or
-//	deletion of a PPTP POTS UNI.
-//
-//	Relationships
-//		An instance of this ME is associated with a PPTP POTS UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP POTS UNI. (R) (mandatory)
-//			(2 bytes)
-//
-//		Voip Codec Used
-//			(R) (mandatory) (2 bytes)
-//
-//		Voip Voice Server Status
-//			(R) (mandatory) (1 byte)
-//
-//		Voip Port Session Type
-//			(R) (mandatory) (1 byte)
-//
-//		Voip Call 1 Packet Period
-//			Voip call 1 packet period: This attribute reports the packet period for the first call on the
-//			VoIP POTS port. The value is defined in milliseconds. (R) (mandatory) (2 bytes)
-//
-//		Voip Call 2 Packet Period
-//			Voip call 2 packet period: This attribute reports the packet period for the second call on the
-//			VoIP POTS port. The value is defined in milliseconds. (R) (mandatory) (2 bytes)
-//
-//		Voip Call 1 Dest Addr
-//			Voip call 1 dest addr: This attribute reports the DA for the first call on the VoIP POTS port.
-//			The value is an ASCII string. (R) (mandatory) (25 bytes)
-//
-//		Voip Call 2 Dest Addr
-//			Voip call 2 dest addr: This attribute reports the DA for the second call on the VoIP POTS port.
-//			The value is an ASCII string. (R) (mandatory) (25 bytes)
-//
-//		Voip Line State
-//			(R) (optional) (1 byte)
-//
-//		Emergency Call Status
-//			(R) (Optional) (1 byte)
-//
-type VoipLineStatus struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	voiplinestatusBME = &ManagedEntityDefinition{
-		Name:    "VoipLineStatus",
-		ClassID: 141,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-		),
-		AllowedAttributeMask: 0XFF80,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: Uint16Field("VoipCodecUsed", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: ByteField("VoipVoiceServerStatus", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3: ByteField("VoipPortSessionType", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint16Field("VoipCall1PacketPeriod", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint16Field("VoipCall2PacketPeriod", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: MultiByteField("VoipCall1DestAddr", 25, nil, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: MultiByteField("VoipCall2DestAddr", 25, nil, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: ByteField("VoipLineState", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9: ByteField("EmergencyCallStatus", 0, mapset.NewSetWith(Read), true, false, true, false, 9),
-		},
-	}
-}
-
-// NewVoipLineStatus (class ID 141 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewVoipLineStatus(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(voiplinestatusBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/voipmediaprofile.go b/vendor/github.com/cboling/omci/generated/voipmediaprofile.go
deleted file mode 100644
index c25179e..0000000
--- a/vendor/github.com/cboling/omci/generated/voipmediaprofile.go
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const VoipMediaProfileClassId ClassID = ClassID(142)
-
-var voipmediaprofileBME *ManagedEntityDefinition
-
-// VoipMediaProfile (class ID #142)
-//	The VoIP media profile ME contains settings that apply to VoIP voice encoding. This entity is
-//	conditionally required for ONUs that offer VoIP services. If a non-OMCI interface is used to
-//	manage VoIP signalling, this ME is unnecessary.
-//
-//	An instance of this ME is created and deleted by the OLT. A VoIP media profile is needed for
-//	each unique set of profile attributes.
-//
-//	Relationships
-//		An instance of this ME may be associated with one or more VoIP voice CTP MEs.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Fax Mode
-//			(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Voice Service Profile Pointer
-//			Voice service profile pointer: Pointer to a voice service profile, which defines parameters such
-//			as jitter buffering and echo cancellation. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Codec Selection 1st Order
-//			(R, W, set-by-create) (mandatory) (1 byte)
-//
-//		Packet Period Selection 1st Order
-//			Packet period selection (1st order): This attribute specifies the packet period selection
-//			interval in milliseconds. The recommended default value is 10 ms. Valid values are 10..30 ms.
-//			(R, W, set-by-create) (mandatory) (1 byte)
-//
-//		Silence Suppression 1st Order
-//			Silence suppression (1st order): This attribute specifies whether silence suppression is on or
-//			off. Valid values are 0 = off and 1 = on. (R, W, set-by-create) (mandatory) (1 byte)
-//
-//		Codec Selection 2nd Order
-//			Codec selection (2nd order):	(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Packet Period Selection 2nd Order
-//			Packet period selection (2nd order):	(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Silence Suppression 2nd Order
-//			Silence suppression (2nd order):	(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Codec Selection 3rd Order
-//			Codec selection (3rd order):	(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Packet Period Selection 3rd Order
-//			Packet period selection (3rd order):	(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Silence Suppression 3rd Order
-//			Silence suppression (3rd order):	(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Codec Selection 4th Order
-//			Codec selection (4th order):	(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Packet Period Selection 4th Order
-//			Packet period selection (4th order):	(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Silence Suppression 4th Order
-//			Silence suppression (4th order):	(R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Oob Dtmf
-//			OOB DTMF:	This attribute specifies out-of-band DMTF carriage. When enabled (1), DTMF signals are
-//			carried out of band via RTP or the associated signalling protocol. When disabled (0), DTMF tones
-//			are carried in the PCM stream. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Rtp Profile Pointer
-//			RTP profile pointer: This attribute points to the associated RTP profile data ME. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
-//
-type VoipMediaProfile struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	voipmediaprofileBME = &ManagedEntityDefinition{
-		Name:    "VoipMediaProfile",
-		ClassID: 142,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("FaxMode", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  Uint16Field("VoiceServiceProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  ByteField("CodecSelection1StOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  ByteField("PacketPeriodSelection1StOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  ByteField("SilenceSuppression1StOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6:  ByteField("CodecSelection2NdOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7:  ByteField("PacketPeriodSelection2NdOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8:  ByteField("SilenceSuppression2NdOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  ByteField("CodecSelection3RdOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 9),
-			10: ByteField("PacketPeriodSelection3RdOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
-			11: ByteField("SilenceSuppression3RdOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 11),
-			12: ByteField("CodecSelection4ThOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 12),
-			13: ByteField("PacketPeriodSelection4ThOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 13),
-			14: ByteField("SilenceSuppression4ThOrder", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 14),
-			15: ByteField("OobDtmf", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 15),
-			16: Uint16Field("RtpProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 16),
-		},
-	}
-}
-
-// NewVoipMediaProfile (class ID 142 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewVoipMediaProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(voipmediaprofileBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/vpnetworkctp.go b/vendor/github.com/cboling/omci/generated/vpnetworkctp.go
deleted file mode 100644
index 8950e2f..0000000
--- a/vendor/github.com/cboling/omci/generated/vpnetworkctp.go
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const VpNetworkCtpClassId ClassID = ClassID(269)
-
-var vpnetworkctpBME *ManagedEntityDefinition
-
-// VpNetworkCtp (class ID #269)
-//	NOTE – In [ITU-T G.984.4], this ME is called VP network CTP-G.
-//
-//	This ME represents the termination of VP links on an ONU. It aggregates connectivity
-//	functionality from the network view and alarms from the network element view as well as
-//	artefacts from trails. Instances of this ME are created and deleted by the OLT.
-//
-//	An instance of the VP network CTP ME can be deleted only when no ATM IW VCC TP is associated
-//	with it. It is the responsibility of the OLT to ensure that this condition is met.
-//
-//	Relationships
-//		Zero or more instances of the VP network CTP ME may exist for each instance of the IW VCC TP ME.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
-//
-//		Vpi Value
-//			VPI value:	This attribute identifies the VPI value associated with the VP link being terminated.
-//			(R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Uni Pointer
-//			UNI pointer: This pointer indicates the xDSL PPTP UNI associated with this VP TP. The bearer
-//			channel may be indicated by the two MSBs of the pointer. (R, W, setbycreate) (mandatory)
-//			(2 bytes)
-//
-//		Direction
-//			Direction:	This attribute specifies whether the VP link is used for UNI-to-ANI (value 1), ANI-
-//			to-UNI (value 2), or bidirectional (value 3) connection. (R, W, setbycreate) (mandatory)
-//			(1 byte)
-//
-//		Deprecated 1
-//			Deprecated 1: Not used; should be set to 0. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Deprecated 2
-//			Deprecated 2: Not used; should be set to 0. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Deprecated 3
-//			Deprecated 3: Not used; should be set to 0. (R, W, setbycreate) (optional) (2 bytes)
-//
-//		Deprecated 4
-//			Deprecated 4: Not used; if present, should be set to 0. (R) (optional) (1 byte)
-//
-type VpNetworkCtp struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	vpnetworkctpBME = &ManagedEntityDefinition{
-		Name:    "VpNetworkCtp",
-		ClassID: 269,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFE00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("VpiValue", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint16Field("UniPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: ByteField("Direction", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint16Field("Deprecated1", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, true, 4),
-			5: Uint16Field("Deprecated2", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, true, 5),
-			6: Uint16Field("Deprecated3", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, true, 6),
-			7: ByteField("Deprecated4", 0, mapset.NewSetWith(Read), false, false, true, true, 7),
-		},
-	}
-}
-
-// NewVpNetworkCtp (class ID 269 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewVpNetworkCtp(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(vpnetworkctpBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/vpperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/vpperformancemonitoringhistorydata.go
deleted file mode 100644
index 72909be..0000000
--- a/vendor/github.com/cboling/omci/generated/vpperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const VpPerformanceMonitoringHistoryDataClassId ClassID = ClassID(62)
-
-var vpperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// VpPerformanceMonitoringHistoryData (class ID #62)
-//	This ME collects PM data associated with a VP network CTP. Instances of this ME are created and
-//	deleted by the OLT.
-//
-//	Relationships
-//		An instance of this ME is associated with an instance of the VP network CTP ME. The performance
-//		of upstream ATM flows is reported.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the VP network CTP. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Lost C 0 1 Cells
-//			Lost C = 0 + 1 cells: This attribute counts all cell loss. It cannot distinguish between cells
-//			lost because of header bit errors, ATM-level header errors, cell policing, or buffer overflows.
-//			It records only loss of information, independent of the priority of the cell. (R) (mandatory)
-//			(2 bytes)
-//
-//		Lost C_= 0 Cells
-//			Lost C = 0 cells: This attribute counts loss of high priority cells. It cannot distinguish
-//			between cells lost because of header bit errors, ATM-level header errors, cell policing, or
-//			buffer overflows. It records only loss of high priority cells. (R) (mandatory) (2 bytes)
-//
-//		Misinserted Cells
-//			Misinserted cells: This attribute counts cells that are misrouted to a monitored VP. (R)
-//			(mandatory) (2 bytes)
-//
-//		Transmitted C_= 0 _ 1 Cells
-//			Transmitted C = 0 + 1 cells: This attribute counts cells originated by the transmitting end
-//			point (i.e., backward reporting is assumed). (R) (mandatory) (5 bytes)
-//
-//		Transmitted C_= 0 Cells
-//			Transmitted C = 0 cells: This attribute counts high priority cells originated by the
-//			transmitting end point (i.e., backward reporting is assumed). (R) (mandatory) (5 bytes)
-//
-//		Impaired Block
-//			Impaired blocks: This severely errored cell block counter is incremented whenever one of the
-//			following events takes place: the number of misinserted cells reaches its threshold; the number
-//			of bipolar violations reaches its threshold; or the number of lost cells reaches its threshold.
-//			Threshold values are based on vendor-operator negotiation. (R) (mandatory) (2 bytes)
-//
-type VpPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	vpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "VpPerformanceMonitoringHistoryData",
-		ClassID: 62,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFF00,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("LostC01Cells", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint16Field("LostC=0Cells", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint16Field("MisinsertedCells", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: MultiByteField("TransmittedC=01Cells", 5, nil, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: MultiByteField("TransmittedC=0Cells", 5, nil, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: Uint16Field("ImpairedBlock", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-		},
-	}
-}
-
-// NewVpPerformanceMonitoringHistoryData (class ID 62 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewVpPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(vpperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/xdslchannelconfigurationprofile.go b/vendor/github.com/cboling/omci/generated/xdslchannelconfigurationprofile.go
deleted file mode 100644
index d88b93e..0000000
--- a/vendor/github.com/cboling/omci/generated/xdslchannelconfigurationprofile.go
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const XdslChannelConfigurationProfileClassId ClassID = ClassID(107)
-
-var xdslchannelconfigurationprofileBME *ManagedEntityDefinition
-
-// XdslChannelConfigurationProfile (class ID #107)
-//	This ME contains the channel configuration profile for an xDSL UNI. An instance of this ME is
-//	created and deleted by the OLT.
-//
-//	NOTE – If [ITUT G.997.1] compatibility is required, bit rates should only be set to integer
-//	multiples of 1000 bits/s. The ONU may reject attempts to set other values for bit rate
-//	attributes.
-//
-//	Relationships
-//		An instance of this ME may be associated with zero or more instances of the PPTP xDSL UNI part
-//		1.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
-//			reserved. (R, setbycreate) (mandatory) (2 bytes)
-//
-//		Minimum Data Rate
-//			Minimum data rate: This parameter specifies the minimum desired net data rate for the bearer
-//			channel. It is coded in bits per second. (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Maximum Data Rate
-//			Maximum data rate: This parameter specifies the maximum desired net data rate for the bearer
-//			channel. It is coded in bits per second. (R, W, setbycreate) (mandatory) (4 bytes)
-//
-//		Rate Adaptation Ratio
-//			Rate adaptation ratio: This attribute specifies the weight that should be taken into account
-//			when performing rate adaptation in the direction of the bearer channel. The attribute is defined
-//			as a percentage. The value 20, for example, means that 20% of the available data rate (in excess
-//			of the minimum data rate summed over all bearer channels) is assigned to this bearer channel and
-//			80% to the other bearer channels. The OLT must ensure that the sum of rate adaptation ratios
-//			over all bearers in one direction is 100%. (R, W, setbycreate) (optional) (1 byte)
-//
-//		Maximum Interleaving Delay
-//			The delay is coded in milliseconds, varying from 2 to 63, with special meaning assigned to
-//			values 0, 1 and 255. The value 0 indicates that no delay bound is imposed. The value 1 indicates
-//			the fast latency path is to be used in the ITUT G.992.1 operating mode and S and D are to be
-//			selected such that S  1 and D = 1 in ITU-T G.992.2, ITUT G.992.3, ITUT G.992.4, ITUT G.992.5 and
-//			ITUT G.993.2 operating modes. The value 255 indicates a delay bound of 1 ms in ITUT G.993.2
-//			operation. (R, W, setbycreate) (mandatory) (1 byte)
-//
-//		Data Rate Threshold Upshift
-//			Data rate threshold upshift: This attribute is a threshold on the cumulative data rate upshift
-//			achieved over one or more bearer channel data rate adaptations. An upshift rate change (DRT up)
-//			notification is issued by the PPTP xDSL UNI part 1 when the actual data rate exceeds the data
-//			rate at the last entry into showtime by more than the threshold. The data rate threshold is
-//			coded in bits per second. (R, W, setbycreate) (mandatory for xDSL standards that use this
-//			attribute) (4 bytes)
-//
-//		Data Rate Threshold Downshift
-//			Data rate threshold downshift: This attribute is a threshold on the cumulative data rate
-//			downshift achieved over one or more bearer channel data rate adaptations. A downshift rate
-//			change (DRT down) notification is issued by the PPTP xDSL UNI part 1 when the actual data rate
-//			is below the data rate at the last entry into showtime by more than the threshold. The data rate
-//			threshold is coded in bits per second. (R, W, setbycreate) (mandatory for xDSL standards that
-//			use this attribute) (4 bytes)
-//
-//		Minimum Reserved Data Rate
-//			Minimum reserved data rate: This attribute specifies the desired minimum reserved net data rate
-//			for the bearer channel. The rate is coded in bits per second. This attribute is needed only if
-//			the rate adaptation mode is set to dynamic in the xDSL line configuration profile part 1. (R, W,
-//			setbycreate) (optional) (4 bytes)
-//
-//		Minimum Data Rate In Low _ Power State
-//			Minimum data rate in low-power state: This parameter specifies the minimum desired net data rate
-//			for the bearer channel during the low-power state (L1/L2). The power management low-power states
-//			L1 and L2 are defined in [ITUT G.992.2] and [ITUT G.992.3], respectively. The data rate is coded
-//			in bits per second. (R, W, setbycreate) (mandatory) (4 byte)
-//
-//		Minimum Impulse Noise Protection
-//			(R, W, setbycreate) (optional for [ITU-T G.992.1], mandatory for other xDSL standards that use
-//			this attribute) (1 byte)
-//
-//		Maximum Bit Error Ratio
-//			(R, W, setbycreate) (mandatory for standards that use this attribute) (1 byte)
-//
-//		Minimum Impulse Noise Protection 8_Khz
-//			Minimum impulse noise protection 8 kHz: The INPmin8 attribute specifies the minimum INP for the
-//			bearer channel if it is transported over DMT symbols with a subcarrier spacing of 8.625 kHz. It
-//			is only valid for [ITUT G.993.2]. INP is expressed in DMT symbols with a subcarrier spacing of
-//			8.625 kHz. It can take any integer value from 0 (default) to 16, inclusive. (R, W) (mandatory
-//			for [ITUT G.993.2]) (1 byte)
-//
-//		Maximum Delay Variation
-//			Maximum delay variation: The DVMAX attribute specifies the maximum value for delay variation
-//			allowed in an OLR procedure. Its value ranges from 1 (0.1 ms) to 254 (25.4 ms). The special
-//			value 255 specifies that no delay variation bound is imposed. (R, W) (optional: used by
-//			[ITUT G.993.2]) (1 byte)
-//
-//		Channel Initialization Policy Selection
-//			Channel initialization policy selection: The CIPOLICY attribute specifies the policy to
-//			determine transceiver configuration at initialization. Valid values are 0..1, as defined in the
-//			Recommendations that use this attribute. (R, W) (optional) (1 byte)
-//
-//		Minimum Sos Bit Rate Downstream
-//			Minimum SOS bit rate downstream: The MIN-SOS-BR-ds attribute specifies the minimum net data rate
-//			required for a valid SOS request in the downstream direction. The value is coded as an unsigned
-//			integer representing the data rate as a multiple of 8 kbit/s. (R, W) (optional) (4 bytes)
-//
-//		Minimum Sos Bit Rate Upstream
-//			Minimum SOS bit rate upstream: The MIN-SOS-BR-us attribute specifies the minimum net data rate
-//			required for a valid SOS request in the upstream direction. The value is coded as an unsigned
-//			integer representing the data rate as a multiple of 8 kbit/s. (R, W) (optional) (4 bytes)
-//
-type XdslChannelConfigurationProfile struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	xdslchannelconfigurationprofileBME = &ManagedEntityDefinition{
-		Name:    "XdslChannelConfigurationProfile",
-		ClassID: 107,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFE,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint32Field("MinimumDataRate", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  Uint32Field("MaximumDataRate", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  ByteField("RateAdaptationRatio", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 3),
-			4:  ByteField("MaximumInterleavingDelay", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint32Field("DataRateThresholdUpshift", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6:  Uint32Field("DataRateThresholdDownshift", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7:  Uint32Field("MinimumReservedDataRate", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 7),
-			8:  Uint32Field("MinimumDataRateInLowPowerState", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  ByteField("MinimumImpulseNoiseProtection", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 9),
-			10: ByteField("MaximumBitErrorRatio", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
-			11: ByteField("MinimumImpulseNoiseProtection8Khz", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 11),
-			12: ByteField("MaximumDelayVariation", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 12),
-			13: ByteField("ChannelInitializationPolicySelection", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
-			14: Uint32Field("MinimumSosBitRateDownstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 14),
-			15: Uint32Field("MinimumSosBitRateUpstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 15),
-		},
-	}
-}
-
-// NewXdslChannelConfigurationProfile (class ID 107 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewXdslChannelConfigurationProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslchannelconfigurationprofileBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart2.go b/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart2.go
deleted file mode 100644
index 6da6e33..0000000
--- a/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart2.go
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const XdslLineInventoryAndStatusDataPart2ClassId ClassID = ClassID(101)
-
-var xdsllineinventoryandstatusdatapart2BME *ManagedEntityDefinition
-
-// XdslLineInventoryAndStatusDataPart2 (class ID #101)
-//	This ME contains part 2 of the line inventory and status data for an xDSL UNI. The ONU
-//	automatically creates or deletes an instance of this ME upon the creation or deletion of a PPTP
-//	xDSL UNI part 1.
-//
-//	NOTE 1 – [ITU-T G.997.1] specifies that bit rate attributes have granularity of 1000 bit/s. If
-//	ITUT G.997.1 compliance is required, the ONU should only report values with this granularity.
-//
-//	Relationships
-//		An instance of this ME is associated with an xDSL UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R)
-//			(mandatory) (2 bytes)
-//
-//		Xdsl Transmission System
-//			NOTE 2 – This attribute is only 7 bytes long. An eighth byte identifying VDSL2 capabilities in
-//			use is defined in the VDSL2 line inventory and status data part 1 ME.
-//
-//		Line Power Management State
-//			(R) (mandatory) (1 byte)
-//
-//		Downstream Line Attenuation
-//			NOTE 3 – [ITU-T G.993.2] specifies a per-band array to represent this attribute. The array is
-//			defined in the VDSL2 line inventory and status data part 3 ME. In an ITU-T G.993.2 context, the
-//			downstream line attenuation attribute should be set to 0 here, and populated in the VDSL2 line
-//			inventory and status data part 3 ME instead.
-//
-//		Upstream Line Attenuation
-//			NOTE 4 – [ITU-T G.993.2] specifies a per-band array to represent this attribute. The array is
-//			defined in the VDSL2 line inventory and status data part 3 ME. In an ITU-T G.993.2 context, the
-//			upstream line attenuation attribute should be set to 0 here, and populated in the VDSL2 line
-//			inventory and status data part 3 ME instead.
-//
-//		Downstream Signal Attenuation
-//			NOTE 6 – [ITU-T G.993.2] specifies a per-band array to represent this attribute. The array is
-//			defined in the VDSL2 line inventory and status data part 3 ME. In an ITU-T G.993.2 context, the
-//			downstream signal attenuation attribute should be set to 0 here, and populated in the VDSL2 line
-//			inventory and status data part 3 ME instead.
-//
-//		Upstream Signal Attenuation
-//			NOTE 8 – [ITU-T G.993.2] specifies a per-band array to represent this attribute. The array is
-//			defined in the VDSL2 line inventory and status data part 3 ME. In an ITU-T G.993.2 context, the
-//			upstream signal attenuation attribute should be set to 0 here, and populated in the VDSL2 line
-//			inventory and status data part 3 ME instead.
-//
-//		Downstream Snr Ratio Margin
-//			Downstream SNR ratio margin: The downstream SNR margin SNRMds is the maximum increase of noise
-//			power received at the xTUR, such that the BER requirements can still be met for all downstream
-//			bearer channels. The attribute value ranges from 0 (–64.0 dB) to 1270 (+63.0 dB). The special
-//			value 0xFFFF indicates that the attribute is out of range (R) (mandatory) (2 bytes)
-//
-//		Upstream Snr Margin
-//			Upstream SNR margin: The upstream SNR margin SNRMus is the maximum increase of noise power
-//			received at the xTUC, such that the BER requirements can still be met for all upstream bearer
-//			channels. The attribute value ranges from 0 (–64.0 dB) to 1270 (+63.0 dB). The special value
-//			0xFFFF indicates that the attribute is out of range. (R) (mandatory) (2 bytes)
-//
-//		Downstream Maximum Attainable Data Rate
-//			Downstream maximum attainable data rate: The ATTNDRds attribute indicates the maximum downstream
-//			net data rate currently attainable. The rate is coded in bits per second. (R) (mandatory)
-//			(4 bytes)
-//
-//		Upstream Maximum Attainable Data Rate
-//			Upstream maximum attainable data rate: The ATTNDRus attribute indicates the maximum upstream net
-//			data rate currently attainable. The rate is coded in bits per second. (R) (mandatory) (4 bytes)
-//
-//		Downstream Actual Power Spectrum Density
-//			Downstream actual power spectrum density: The ACTPSDds attribute is the average downstream
-//			transmit power spectrum density over the subcarriers in use (subcarriers to which downstream
-//			user data are allocated) delivered by the xTUC at the UC reference point, at the instant of
-//			measurement. The attribute value ranges from 0 (–90.0 dBm/Hz) to 900 (0.0 dBm/Hz). The special
-//			value (0xFFFF) indicates that the parameter is out of range. (R) (mandatory) (2 bytes)
-//
-//		Upstream Actual Power Spectrum Density
-//			Upstream actual power spectrum density: The ACTPSDus attribute is the average upstream transmit
-//			power spectrum density over the subcarriers in use (subcarriers to which upstream user data are
-//			allocated) delivered by the xTUR at the UR reference point, at the instant of measurement. The
-//			attribute value ranges from 0 (–90.0 dBm/Hz) to 900 (0.0 dBm/Hz). The special value 0xFFFF
-//			indicates that the attribute is out of range. (R) (mandatory) (2 bytes)
-//
-//		Downstream Actual Aggregate Transmit Power
-//			NOTE 9 – The downstream nominal aggregate transmit power may be taken as a best estimate of the
-//			parameter.
-//
-//		Upstream Actual Aggregate Transmit Power
-//			NOTE 10 – The upstream nominal aggregate transmit power may be taken as a best estimate of the
-//			parameter.
-//
-//		Initialization _ Last State Transmitted Downstream
-//			(R) (mandatory) (1 byte)
-//
-//		Initialization _ Last State Transmitted Upstream
-//			(R) (mandatory) (1 byte)
-//
-type XdslLineInventoryAndStatusDataPart2 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	xdsllineinventoryandstatusdatapart2BME = &ManagedEntityDefinition{
-		Name:    "XdslLineInventoryAndStatusDataPart2",
-		ClassID: 101,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  MultiByteField("XdslTransmissionSystem", 7, nil, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  ByteField("LinePowerManagementState", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3:  Uint16Field("DownstreamLineAttenuation", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint16Field("UpstreamLineAttenuation", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint16Field("DownstreamSignalAttenuation", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint16Field("UpstreamSignalAttenuation", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint16Field("DownstreamSnrRatioMargin", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint16Field("UpstreamSnrMargin", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("DownstreamMaximumAttainableDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("UpstreamMaximumAttainableDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint16Field("DownstreamActualPowerSpectrumDensity", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint16Field("UpstreamActualPowerSpectrumDensity", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint16Field("DownstreamActualAggregateTransmitPower", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint16Field("UpstreamActualAggregateTransmitPower", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: ByteField("InitializationLastStateTransmittedDownstream", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-			16: ByteField("InitializationLastStateTransmittedUpstream", 0, mapset.NewSetWith(Read), false, false, false, false, 16),
-		},
-	}
-}
-
-// NewXdslLineInventoryAndStatusDataPart2 (class ID 101 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewXdslLineInventoryAndStatusDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdsllineinventoryandstatusdatapart2BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart5.go b/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart5.go
deleted file mode 100644
index 0d02d68..0000000
--- a/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart5.go
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const XdslLineInventoryAndStatusDataPart5ClassId ClassID = ClassID(325)
-
-var xdsllineinventoryandstatusdatapart5BME *ManagedEntityDefinition
-
-// XdslLineInventoryAndStatusDataPart5 (class ID #325)
-//	This ME extends the attributes defined in the xDSL line inventory and status data parts 1..4.
-//	This ME reports FEXT and NEXT attributes, and pertains to Annex C of [ITUT G.992.3] (ADSL2) and
-//	Annex C of [ITUT G.992.5] (ADSL2plus).
-//
-//	Relationships
-//		This is one of the status data MEs associated with an xDSL UNI. The ONU automatically creates or
-//		deletes an instance of this ME upon creation or deletion of a PPTP xDSL UNI part 1 that supports
-//		these attributes.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1 ME. (R)
-//			(mandatory) (2 bytes)
-//
-//		Fext Downstream Snr Margin
-//			FEXT downstream SNR margin: The FEXT SNRMds attribute is the downstream SNR margin measured
-//			during FEXTR duration at the ATU-R. The attribute value ranges from 0 (–64.0 dB) to 1270
-//			(+63.0 dB). The special value 0xFFFF indicates that the attribute is out of range. (R)
-//			(mandatory) (2 bytes)
-//
-//		Next Downstream Snr Margin
-//			NEXT downstream SNR margin: The NEXT SNRMds attribute is the downstream SNR margin measured
-//			during NEXTR duration at the ATU-R. The attribute value ranges from 0 (–64.0 dB) to 1270
-//			(+63.0 dB). The special value 0xFFFF indicates that the attribute is out of range. (R)
-//			(mandatory) (2 bytes)
-//
-//		Fext Upstream Snr Margin
-//			FEXT upstream SNR margin: The FEXT SNRMus attribute is the upstream SNR margin (see clause
-//			7.5.1.16 of [ITUT G.997.1]) measured during FEXTC duration at the ATU-C. The attribute value
-//			ranges from 0 (–64.0 dB) to 1270 (+63.0 dB). The special value 0xFFFF indicates that the
-//			attribute is out of range. (R) (mandatory) (2 bytes)
-//
-//		Next Upstream Snr Margin
-//			NEXT upstream SNR margin: The NEXT SNRMus attribute is the upstream SNR margin (see clause
-//			7.5.1.16 of [ITUT G.997.1]) measured during NEXTC duration at the ATU-C. The attribute value
-//			ranges from 0 (–64.0 dB) to 1270 (+63.0 dB). The special value 0xFFFF indicates that the
-//			attribute is out of range. (R) (mandatory) (2 bytes)
-//
-//		Fext Downstream Maximum Attainable Data Rate
-//			FEXT downstream maximum attainable data rate: The FEXT ATTNDRds attribute is the maximum
-//			downstream net data rate calculated from FEXT downstream SNR(f) (see clause 7.5.1.28.3.1 of
-//			[ITUT G.997.1]). The rate is coded in bits per second. (R) (mandatory) (4 bytes)
-//
-//		Next Downstream Maximum Attainable Data Rate
-//			NEXT downstream maximum attainable data rate: The NEXT ATTNDRds attribute is the maximum
-//			downstream net data rate calculated from NEXT downstream SNR(f) (see clause 7.5.1.28.3.2 of
-//			[ITUT G.997.1]). The rate is coded in bits per second. (R) (mandatory) (4 bytes)
-//
-//		Fext Upstream Maximum Attainable Data Rate
-//			FEXT upstream maximum attainable data rate: The FEXT ATTNDRus attribute is the maximum upstream
-//			net data rate calculated from FEXT upstream SNR(f) (see clause 7.5.1.28.6.1 of [ITUT G.997.1]).
-//			The rate is coded in bits per second. (R) (mandatory) (4 bytes)
-//
-//		Next Upstream Maximum Attainable Data Rate
-//			NEXT upstream maximum attainable data rate: The NEXT ATTNDRus attribute is the maximum upstream
-//			net data rate calculated from NEXT upstream SNR(f) (see clause 7.5.1.28.6.2 of [ITUT G.997.1]).
-//			The rate is coded in bits per second. (R) (mandatory) (4 bytes)
-//
-//		Fext Downstream Actual Power Spectral Density
-//			FEXT downstream actual power spectral density: The FEXT ACTPSDds attribute is the average
-//			downstream transmit PSD over the used subcarriers (see clause 7.5.1.21.1 of [ITUT G.997.1])
-//			calculated from the REFPSDds and RMSGIds for FEXTR duration. The attribute value ranges from 0
-//			(–90.0 dBm/Hz) to 900 (0.0 dBm/Hz). The special value 0xFFFF indicates that the parameter is out
-//			of range. (R) (mandatory) (2 bytes)
-//
-//		Next Downstream Actual Power Spectral Density
-//			NEXT downstream actual power spectral density: The NEXT ACTPSDds attribute is the average
-//			downstream transmit PSD over the used subcarriers (see clause 7.5.1.21.2 of [ITUT G.997.1])
-//			calculated from the REFPSDds and RMSGIds for NEXTR duration. The attribute value ranges from 0
-//			(–90.0 dBm/Hz) to 900 (0.0 dBm/Hz). The special value 0xFFFF indicates that the parameter is out
-//			of range. (R) (mandatory) (2 bytes)
-//
-//		Fext Upstream Actual Power Spectral Density
-//			FEXT upstream actual power spectral density: The FEXT ACTPSDus attribute is the average upstream
-//			transmit PSD over the used subcarriers (see clause 7.5.1.22.1 of [ITUT G.997.1]) calculated from
-//			the REFPSDus and RMSGIus for FEXTC duration. The attribute value ranges from 0 (–90.0 dBm/Hz) to
-//			900 (0.0 dBm/Hz). The special value 0xFFFF indicates that the parameter is out of range. (R)
-//			(mandatory) (2 bytes)
-//
-//		Next Upstream Actual Power Spectral Density
-//			NEXT upstream actual power spectral density: The NEXT ACTPSDus attribute is the average upstream
-//			transmit PSD over the used subcarriers (see clause 7.5.1.22.2 of [ITUT G.997.1]) calculated from
-//			the REFPSDus and RMSGIus for NEXTC duration. The attribute value ranges from 0 (–90.0 dBm/Hz) to
-//			900 (0.0 dBm/Hz). The special value 0xFFFF indicates that the parameter is out of range. (R)
-//			(mandatory) (2 bytes)
-//
-//		Fext Downstream Actual Aggregate Transmit Power
-//			FEXT downstream actual aggregate transmit power: The FEXT ACTATPds attribute is the total amount
-//			of transmit power (see clause 7.5.1.24.1 of [ITUT G.997.1]) calculated from PSDds measured
-//			during FEXTR duration at the ATU-R. The attribute value ranges from 0 (–31.0 dBm) to 620
-//			(+31.0 dBm). The special value 0xFFFF indicates that the parameter is out of range. (R)
-//			(mandatory) (2 bytes)
-//
-//		Next Downstream Actual Aggregate Transmit Power
-//			NEXT downstream actual aggregate transmit power: The NEXT ACTATPds attribute is the total amount
-//			of transmit power (see clause 7.5.1.24.2 of [ITUT G.997.1]) calculated from PSDds measured
-//			during NEXTR duration at the ATU-R. The attribute value ranges from 0 (–31.0 dBm) to 620
-//			(+31.0 dBm). The special value 0xFFFF indicates that the parameter is out of range. (R)
-//			(mandatory) (2 bytes)
-//
-//		Fext Upstream Actual Aggregate Transmit Power
-//			FEXT upstream actual aggregate transmit power: The FEXT ACTATPus attribute is the total transmit
-//			power (see clause 7.5.1.25.1 of [ITUT G.997.1]) calculated from PSDus measured during FEXTC
-//			duration at the ATU-C. The attribute value ranges from 0 (–31.0 dBm) to 620 (+31.0 dBm). The
-//			special value 0xFFFF indicates that the parameter is out of range. (R) (mandatory) (2 bytes)
-//
-//		Next Upstream Actual Aggregate Transmit Power
-//			NEXT upstream actual aggregate transmit power: The NEXT ACTATPus attribute is the total transmit
-//			power (see clause 7.5.1.25.2 of [ITUT G.997.1]) calculated from PSDus measured during NEXTC
-//			duration at the ATU-C. The attribute value ranges from 0 (–31.0 dBm) to 620 (+31.0 dBm). The
-//			special value 0xFFFF indicates that the parameter is out of range. (R) (mandatory) (2 bytes)
-//
-type XdslLineInventoryAndStatusDataPart5 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	xdsllineinventoryandstatusdatapart5BME = &ManagedEntityDefinition{
-		Name:    "XdslLineInventoryAndStatusDataPart5",
-		ClassID: 325,
-		MessageTypes: mapset.NewSetWith(
-			Get,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  Uint16Field("FextDownstreamSnrMargin", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("NextDownstreamSnrMargin", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3:  Uint16Field("FextUpstreamSnrMargin", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint16Field("NextUpstreamSnrMargin", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("FextDownstreamMaximumAttainableDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("NextDownstreamMaximumAttainableDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("FextUpstreamMaximumAttainableDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("NextUpstreamMaximumAttainableDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint16Field("FextDownstreamActualPowerSpectralDensity", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint16Field("NextDownstreamActualPowerSpectralDensity", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint16Field("FextUpstreamActualPowerSpectralDensity", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint16Field("NextUpstreamActualPowerSpectralDensity", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint16Field("FextDownstreamActualAggregateTransmitPower", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint16Field("NextDownstreamActualAggregateTransmitPower", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint16Field("FextUpstreamActualAggregateTransmitPower", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-			16: Uint16Field("NextUpstreamActualAggregateTransmitPower", 0, mapset.NewSetWith(Read), false, false, false, false, 16),
-		},
-	}
-}
-
-// NewXdslLineInventoryAndStatusDataPart5 (class ID 325 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewXdslLineInventoryAndStatusDataPart5(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdsllineinventoryandstatusdatapart5BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/xdslsubcarriermaskingdownstreamprofile.go b/vendor/github.com/cboling/omci/generated/xdslsubcarriermaskingdownstreamprofile.go
deleted file mode 100644
index decef59..0000000
--- a/vendor/github.com/cboling/omci/generated/xdslsubcarriermaskingdownstreamprofile.go
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const XdslSubcarrierMaskingDownstreamProfileClassId ClassID = ClassID(108)
-
-var xdslsubcarriermaskingdownstreamprofileBME *ManagedEntityDefinition
-
-// XdslSubcarrierMaskingDownstreamProfile (class ID #108)
-//	This ME contains the subcarrier masking downstream profile for an xDSL UNI. Instances of this ME
-//	are created and deleted by the OLT.
-//
-//	Relationships
-//		An instance of this ME may be associated with zero or more instances of the PPTP xDSL UNI part
-//		1.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
-//			reserved. (R, set-by-create) (mandatory) (2 bytes)
-//
-//		Downstream Subcarrier Mask 1
-//			Downstream subcarrier mask 1: Subcarriers 1 to 128. (R, W, set-by-create) (mandatory) (16 bytes)
-//
-//		Downstream Subcarrier Mask 2
-//			Downstream subcarrier mask 2: Subcarriers 129 to 256. (R, W) (mandatory for modems that support
-//			NSCds > 128) (16 bytes)
-//
-//		Downstream Subcarrier Mask 3
-//			Downstream subcarrier mask 3: Subcarriers 257 to 384. (R, W) (mandatory for modems that support
-//			NSCds > 256) (16 bytes)
-//
-//		Downstream Subcarrier Mask 4
-//			Downstream subcarrier mask 4: Subcarriers 385 to 512. (R, W) (mandatory for modems that support
-//			NSCds > 384) (16 bytes)
-//
-//		Mask Valid
-//			(R, W) (mandatory) (1 byte)
-//
-type XdslSubcarrierMaskingDownstreamProfile struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	xdslsubcarriermaskingdownstreamprofileBME = &ManagedEntityDefinition{
-		Name:    "XdslSubcarrierMaskingDownstreamProfile",
-		ClassID: 108,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XF800,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: MultiByteField("DownstreamSubcarrierMask1", 16, nil, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: MultiByteField("DownstreamSubcarrierMask2", 16, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3: MultiByteField("DownstreamSubcarrierMask3", 16, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4: MultiByteField("DownstreamSubcarrierMask4", 16, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5: ByteField("MaskValid", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-		},
-	}
-}
-
-// NewXdslSubcarrierMaskingDownstreamProfile (class ID 108 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewXdslSubcarrierMaskingDownstreamProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslsubcarriermaskingdownstreamprofileBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/xdslxtu-cperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/xdslxtu-cperformancemonitoringhistorydata.go
deleted file mode 100644
index 305f465..0000000
--- a/vendor/github.com/cboling/omci/generated/xdslxtu-cperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const XdslXtuCPerformanceMonitoringHistoryDataClassId ClassID = ClassID(112)
-
-var xdslxtucperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// XdslXtuCPerformanceMonitoringHistoryData (class ID #112)
-//	This ME collects PM data on the xTUC to xTUR path as seen from the xTU-C. Instances of this ME
-//	are created and deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an xDSL UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contain PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Loss Of Frame Seconds
-//			Loss of frame seconds: (R) (mandatory) (2 bytes)
-//
-//		Loss Of Signal Seconds
-//			Loss of signal seconds: (R) (mandatory) (2 bytes)
-//
-//		Loss Of Link Seconds
-//			Loss of link seconds: (R) (mandatory) (2 bytes)
-//
-//		Loss Of Power Seconds
-//			Loss of power seconds: (R) (mandatory) (2 bytes)
-//
-//		Errored Seconds Es
-//			Errored seconds (ES): This attribute counts 1 s intervals with one or more CRC8 anomalies summed
-//			over all received bearer channels, or one or more loss of signal (LOS) defects, or one or more
-//			SEF defects, or one or more LPR defects. (R) (mandatory) (2 bytes)
-//
-//		Severely Errored Seconds
-//			(R) (mandatory) (2 bytes)
-//
-//		Line Initializations
-//			Line initializations: This attribute counts the total number of full initializations attempted
-//			on the line, both successful and failed. (R) (mandatory) (2 bytes)
-//
-//		Failed Line Initializations
-//			Failed line initializations: This attribute counts the total number of failed full
-//			initializations during the accumulation period. A failed full initialization occurs when
-//			showtime is not reached at the end of the full initialization procedure. (R) (mandatory)
-//			(2 bytes)
-//
-//		Short Initializations
-//			Short initializations: This attribute counts the total number of fast retrains or short
-//			initializations attempted on the line, successful and failed. Fast retrain is defined in [ITUT
-//			G.992.2]. Short initialization is defined in [ITUT G.992.3] and [ITUT G.992.4]. (R) (optional)
-//			(2 bytes)
-//
-//		Failed Short Initializations
-//			(R) (optional) (2 bytes)
-//
-//		Fec Seconds
-//			FEC seconds: This attribute counts seconds during which there was an FEC anomaly. (R)
-//			(mandatory) (2 bytes)
-//
-//		Unavailable Seconds
-//			Unavailable seconds: This attribute counts 1 s intervals during which the xDSL UNI is
-//			unavailable. The line becomes unavailable at the onset of 10 contiguous SES-Ls. The 10 SES-Ls
-//			are included in unavailable time. Once unavailable, the line becomes available at the onset of
-//			10 contiguous seconds that are not severely errored. The 10 s with no SESLs are excluded from
-//			unavailable time. Some attribute counts are inhibited during unavailability – see clause
-//			7.2.7.13 of [ITUT G.997.1]. (R) (mandatory) (2 bytes)
-//
-//		Sos Success Count, Near End
-//			SOS success count, near end: The SOS-SUCCESS-NE attribute is a count of the total number of
-//			successful SOS procedures initiated by the near-end xTU on the line during the accumulation
-//			period. Successful SOS is defined in clause 12.1.4 of [ITUT G.993.2]. (R) (optional) (2 bytes)
-//
-//		Sos Success Count, Far End
-//			SOS success count, far end: The SOS-SUCCESS-FE attribute is a count of the total number of
-//			successful SOS procedures initiated by the far-end xTU on the line during the accumulation
-//			period. Successful SOS is defined in clause 12.1.4 of [ITUT G.993.2]. (R) (optional) (2 bytes)
-//
-type XdslXtuCPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	xdslxtucperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "XdslXtuCPerformanceMonitoringHistoryData",
-		ClassID: 112,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint16Field("LossOfFrameSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint16Field("LossOfSignalSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint16Field("LossOfLinkSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint16Field("LossOfPowerSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint16Field("ErroredSecondsEs", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint16Field("SeverelyErroredSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint16Field("LineInitializations", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint16Field("FailedLineInitializations", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint16Field("ShortInitializations", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
-			12: Uint16Field("FailedShortInitializations", 0, mapset.NewSetWith(Read), false, false, true, false, 12),
-			13: Uint16Field("FecSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint16Field("UnavailableSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint16Field("SosSuccessCount,NearEnd", 0, mapset.NewSetWith(Read), false, false, true, false, 15),
-			16: Uint16Field("SosSuccessCount,FarEnd", 0, mapset.NewSetWith(Read), false, false, true, false, 16),
-		},
-	}
-}
-
-// NewXdslXtuCPerformanceMonitoringHistoryData (class ID 112 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewXdslXtuCPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslxtucperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go b/vendor/github.com/cboling/omci/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
deleted file mode 100644
index ebc8698..0000000
--- a/vendor/github.com/cboling/omci/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const XdslXtuCPerformanceMonitoringHistoryDataPart2ClassId ClassID = ClassID(408)
-
-var xdslxtucperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
-
-// XdslXtuCPerformanceMonitoringHistoryDataPart2 (class ID #408)
-//	This ME collects PM data on the xTUC to xTUR path as seen from the xTU-C. Instances of this ME
-//	are created and deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an xDSL UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contain PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Leftr Defect Seconds
-//			"leftr" defect seconds: If retransmission is used, this attribute is a count of the seconds with
-//			a near-end ''leftr'' defect present – see clause 7.2.1.1.6 of [ITU-T G.997.1]. (R) (mandatory)
-//			(2 bytes)
-//
-//		Error_Free Bits Counter
-//			Error-free bits counter: If retransmission is used, this attribute is a count of the number of
-//			error-free bits passed over the β1 reference point, divided by 216 – see clause 7.2.1.1.7 of
-//			[ITU-T G.997.1]. (R) (mandatory) (4 bytes)
-//
-//		Minimum Error_Free Throughput Mineftr
-//			Minimum error-free throughput (MINEFTR): If retransmission is used, this attribute is the
-//			minimum error-free throughput in bits per second – see clause 7.2.1.1.8 of [ITUT G.997.1]. (R)
-//			(mandatory) (4 bytes)
-//
-type XdslXtuCPerformanceMonitoringHistoryDataPart2 struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	xdslxtucperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
-		Name:    "XdslXtuCPerformanceMonitoringHistoryDataPart2",
-		ClassID: 408,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XF800,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("LeftrDefectSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("ErrorFreeBitsCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("MinimumErrorFreeThroughputMineftr", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-		},
-	}
-}
-
-// NewXdslXtuCPerformanceMonitoringHistoryDataPart2 (class ID 408 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewXdslXtuCPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslxtucperformancemonitoringhistorydatapart2BME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/xdslxtu-rperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/xdslxtu-rperformancemonitoringhistorydata.go
deleted file mode 100644
index bbe2613..0000000
--- a/vendor/github.com/cboling/omci/generated/xdslxtu-rperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const XdslXtuRPerformanceMonitoringHistoryDataClassId ClassID = ClassID(113)
-
-var xdslxturperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// XdslXtuRPerformanceMonitoringHistoryData (class ID #113)
-//	This ME collects PM data of the xTUC to xTUR path as seen from the xTU-R. Instances of this ME
-//	are created and deleted by the OLT.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an xDSL UNI.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R,
-//			setbycreate) (mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
-//
-//		Loss Of Frame Seconds
-//			Loss of frame seconds: (R) (mandatory) (2 bytes)
-//
-//		Loss Of Signal Seconds
-//			Loss of signal seconds: (R) (mandatory) (2 bytes)
-//
-//		Loss Of Power Seconds
-//			Loss of power seconds: (R) (mandatory) (2 bytes)
-//
-//		Errored Seconds
-//			Errored seconds: This attribute counts 1 s intervals with one or more far end block error (FEBE)
-//			anomalies summed over all transmitted bearer channels, or one or more LOSFE defects, or one or
-//			more RDI defects, or one or more LPR-FE defects. (R) (mandatory) (2 bytes)
-//
-//		Severely Errored Seconds
-//			(R) (mandatory) (2 bytes)
-//
-//		Fec Seconds
-//			FEC seconds: This attribute counts seconds during which there was an FEC anomaly. (R)
-//			(mandatory) (2 bytes)
-//
-//		Unavailable Seconds
-//			(R) (mandatory) (2 bytes)
-//
-//		Leftr Defect Seconds
-//			"leftr" defect seconds: If retransmission is used, this parameter is a count of the seconds with
-//			a near-end ''leftr'' defect present – see clause 7.2.1.1.6 of [ITUT G.997.1]. (R) (optional)
-//			(2 bytes)
-//
-//		Error_Free Bits Counter
-//			Error-free bits counter: If retransmission is used, this parameter is a count of the number of
-//			error-free bits passed over the β1 reference point, divided by 216 – see clause 7.2.1.1.7 of
-//			[ITU-T G.997.1]. (R) (optional) (4 bytes)
-//
-//		Minimum Error_Free Throughput Mineftr
-//			Minimum error-free throughput (MINEFTR): If retransmission is used, this parameter is the
-//			minimum error-free throughput in bits per second – see clause 7.2.1.1.8 of [ITUT G.997.1]. (R)
-//			(optional) (4 bytes)
-//
-type XdslXtuRPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	xdslxturperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "XdslXtuRPerformanceMonitoringHistoryData",
-		ClassID: 113,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFF0,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint16Field("LossOfFrameSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint16Field("LossOfSignalSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint16Field("LossOfPowerSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint16Field("ErroredSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint16Field("SeverelyErroredSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint16Field("FecSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint16Field("UnavailableSeconds", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint16Field("LeftrDefectSeconds", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: Uint32Field("ErrorFreeBitsCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
-			12: Uint32Field("MinimumErrorFreeThroughputMineftr", 0, mapset.NewSetWith(Read), false, false, true, false, 12),
-		},
-	}
-}
-
-// NewXdslXtuRPerformanceMonitoringHistoryData (class ID 113 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewXdslXtuRPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslxturperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
deleted file mode 100644
index e8facf8..0000000
--- a/vendor/github.com/cboling/omci/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const XgPonDownstreamManagementPerformanceMonitoringHistoryDataClassId ClassID = ClassID(345)
-
-var xgpondownstreammanagementperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// XgPonDownstreamManagementPerformanceMonitoringHistoryData (class ID #345)
-//	This ME collects PM data associated with the XG-PON TC layer. It collects counters associated
-//	with downstream PLOAM and OMCI messages.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an ANI-G.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the ANI-G. (R, set-by-create)
-//			(mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, set-by-create) (mandatory) (2 bytes)
-//
-//		Ploam Message Integrity Check Mic Error Count
-//			PLOAM message integrity check (MIC) error count: This attribute counts MIC errors detected in
-//			downstream PLOAM messages, either directed to this ONU or broadcast to all ONUs. (R) (optional)
-//			(4 bytes)
-//
-//		Downstream Ploam Messages Count
-//			Downstream PLOAM messages count: This attribute counts PLOAM messages received, either directed
-//			to this ONU or broadcast to all ONUs. (R) (optional) (4 bytes)
-//
-//		Profile Messages Received
-//			Profile messages received: This attribute counts the number of profile messages received, either
-//			directed to this ONU or broadcast to all ONUs. In [ITU-T G.9807.1], this attribute is used for
-//			received burst_profile message count.  (R) (optional) (4 bytes)
-//
-//		Ranging_Time Messages Received
-//			Ranging_time messages received: This attribute counts the number of ranging_time messages
-//			received, either directed to this ONU or broadcast to all ONUs. (R) (mandatory) (4 bytes)
-//
-//		Deactivate_Onu_Id Messages Received
-//			Deactivate_ONU-ID messages received: This attribute counts the number of deactivate_ONU-ID
-//			messages received, either directed to this ONU or broadcast to all ONUs. Deactivate_ONU-ID
-//			messages do not reset this counter. (R) (optional) (4 bytes)
-//
-//		Disable_Serial_Number Messages Received
-//			Disable_serial_number messages received: This attribute counts the number of
-//			disable_serial_number messages received, whose serial number specified this ONU. (R) (optional)
-//			(4 bytes)
-//
-//		Request_Registration Messages Received
-//			Request_registration messages received: This attribute counts the number of request_registration
-//			messages received. (R) (optional) (4 bytes)
-//
-//		Assign_Alloc_Id Messages Received
-//			Assign_alloc-ID messages received: This attribute counts the number of assign_alloc-ID messages
-//			received. (R) (optional) (4 bytes)
-//
-//		Key_Control Messages Received
-//			Key_control messages received: This attribute counts the number of key_control messages
-//			received, either directed to this ONU or broadcast to all ONUs. (R) (optional) (4 bytes)
-//
-//		Sleep_Allow Messages Received
-//			Sleep_allow messages received: This attribute counts the number of sleep_allow messages
-//			received, either directed to this ONU or broadcast to all ONUs. (R) (optional) (4 bytes)
-//
-//		Baseline Omci Messages Received Count
-//			Baseline OMCI messages received count: This attribute counts the number of OMCI messages
-//			received in the baseline message format. (R) (optional) (4 bytes)
-//
-//		Extended Omci Messages Received Count
-//			Extended OMCI messages received count: This attribute counts the number of OMCI messages
-//			received in the extended message format. (R) (optional) (4 bytes)
-//
-//		Assign_Onu_Id Messages Received
-//			Assign_ONU-ID messages received: This attribute counts the number of assign_ONU-ID messages
-//			received since the last re-boot. (R) (optional) (4 bytes)
-//
-//		Omci Mic Error Count
-//			OMCI MIC error count: This attribute counts MIC errors detected in OMCI messages directed to
-//			this ONU. (R) (optional) (4 bytes)
-//
-type XgPonDownstreamManagementPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	xgpondownstreammanagementperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "XgPonDownstreamManagementPerformanceMonitoringHistoryData",
-		ClassID: 345,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFF,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("PloamMessageIntegrityCheckMicErrorCount", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4:  Uint32Field("DownstreamPloamMessagesCount", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5:  Uint32Field("ProfileMessagesReceived", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6:  Uint32Field("RangingTimeMessagesReceived", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("DeactivateOnuIdMessagesReceived", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
-			8:  Uint32Field("DisableSerialNumberMessagesReceived", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9:  Uint32Field("RequestRegistrationMessagesReceived", 0, mapset.NewSetWith(Read), false, false, true, false, 9),
-			10: Uint32Field("AssignAllocIdMessagesReceived", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: Uint32Field("KeyControlMessagesReceived", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
-			12: Uint32Field("SleepAllowMessagesReceived", 0, mapset.NewSetWith(Read), false, false, true, false, 12),
-			13: Uint32Field("BaselineOmciMessagesReceivedCount", 0, mapset.NewSetWith(Read), false, false, true, false, 13),
-			14: Uint32Field("ExtendedOmciMessagesReceivedCount", 0, mapset.NewSetWith(Read), false, false, true, false, 14),
-			15: Uint32Field("AssignOnuIdMessagesReceived", 0, mapset.NewSetWith(Read), false, false, true, false, 15),
-			16: Uint32Field("OmciMicErrorCount", 0, mapset.NewSetWith(Read), false, false, true, false, 16),
-		},
-	}
-}
-
-// NewXgPonDownstreamManagementPerformanceMonitoringHistoryData (class ID 345 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewXgPonDownstreamManagementPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xgpondownstreammanagementperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/generated/xg-pontcperformancemonitoringhistorydata.go b/vendor/github.com/cboling/omci/generated/xg-pontcperformancemonitoringhistorydata.go
deleted file mode 100644
index d22c7bb..0000000
--- a/vendor/github.com/cboling/omci/generated/xg-pontcperformancemonitoringhistorydata.go
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
-package generated
-
-import "github.com/deckarep/golang-set"
-
-const XgPonTcPerformanceMonitoringHistoryDataClassId ClassID = ClassID(344)
-
-var xgpontcperformancemonitoringhistorydataBME *ManagedEntityDefinition
-
-// XgPonTcPerformanceMonitoringHistoryData (class ID #344)
-//	This ME collects PM data associated with the XG-PON TC layer.
-//
-//	For a complete discussion of generic PM architecture, refer to clause I.4.
-//
-//	Relationships
-//		An instance of this ME is associated with an ANI-G.
-//
-//	Attributes
-//		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the ANI-G. (R, set-by-create)
-//			(mandatory) (2 bytes)
-//
-//		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
-//
-//		Threshold Data 1_2 Id
-//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
-//			contains PM threshold values. (R, W, set-by-create) (mandatory) (2 bytes)
-//
-//		Psbd Hec Error Count
-//			PSBd HEC error count: This attribute counts HEC errors in any of the fields of the downstream
-//			physical sync block. (R) (optional) (4 bytes)
-//
-//		Xgtc Hec Error Count
-//			XGTC HEC error count: This attribute counts HEC errors detected in the XGTC header. In [ITU-T
-//			G.9807.1], this attribute is used for framing sublayer (FS) HEC error count management. (R)
-//			(optional) (4 bytes)
-//
-//		Unknown Profile Count
-//			Unknown profile count: This attribute counts the number of grants received whose specified
-//			profile was not known to the ONU. (R) (optional) (4 bytes)
-//
-//		Transmitted Xg_Pon Encapsulation Method Xgem Frames
-//			Transmitted XG-PON encapsulation method (XGEM) frames: This attribute counts the number of non-
-//			idle XGEM frames transmitted. If a service data unit (SDU) is fragmented, each fragment is an
-//			XGEM frame and is counted as such. (R) (mandatory) (4 bytes)
-//
-//		Fragment Xgem Frames
-//			Fragment XGEM frames: This attribute counts the number of XGEM frames that represent fragmented
-//			SDUs, as indicated by the LF bit = 0. (R) (optional) (4 bytes)
-//
-//		Xgem Hec Lost Words Count
-//			XGEM HEC lost words count: This attribute counts the number of 4 byte words lost because of an
-//			XGEM frame HEC error. In general, all XGTC payload following the error is lost, until the next
-//			PSBd event. (R) (optional) (4 bytes)
-//
-//		Xgem Key Errors
-//			(R) (mandatory) (4 bytes)
-//
-//		Xgem Hec Error Count
-//			XGEM HEC error count: This attribute counts the number of instances of an XGEM frame HEC error.
-//			(R) (mandatory) (4 bytes)
-//
-//		Transmitted Bytes In Non_Idle Xgem Frames
-//			Transmitted bytes in non-idle XGEM frames: This attribute counts the number of transmitted bytes
-//			in non-idle XGEM frames. (R) (mandatory) (8 bytes)
-//
-//		Received Bytes In Non_Idle Xgem Frames
-//			Received bytes in non-idle XGEM frames: This attribute counts the number of received bytes in
-//			non-idle XGEM frames. (R) (optional) (8 bytes)
-//
-//		Loss Of Downstream Synchronization Lods Event Count
-//			Loss of downstream synchronization (LODS) event count: This attribute counts the number of state
-//			transitions from O5.1 to O6. (R) (optional) (4 bytes)
-//
-//		Lods Event Restored Count
-//			LODS event restored count: This attribute counts the number of LODS cleared events. (R)
-//			(optional) (4 bytes)
-//
-//		Onu Reactivation By Lods Events
-//			ONU reactivation by LODS events: This attribute counts the number of LODS events resulting in
-//			ONU reactivation without synchronization being reacquired. (R) (optional) (4 bytes)
-//
-type XgPonTcPerformanceMonitoringHistoryData struct {
-	ManagedEntityDefinition
-	Attributes AttributeValueMap
-}
-
-func init() {
-	xgpontcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
-		Name:    "XgPonTcPerformanceMonitoringHistoryData",
-		ClassID: 344,
-		MessageTypes: mapset.NewSetWith(
-			Create,
-			Delete,
-			Get,
-			Set,
-		),
-		AllowedAttributeMask: 0XFFFE,
-		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("PsbdHecErrorCount", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4:  Uint32Field("XgtcHecErrorCount", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5:  Uint32Field("UnknownProfileCount", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6:  Uint32Field("TransmittedXgPonEncapsulationMethodXgemFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("FragmentXgemFrames", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
-			8:  Uint32Field("XgemHecLostWordsCount", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9:  Uint32Field("XgemKeyErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("XgemHecErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint64Field("TransmittedBytesInNonIdleXgemFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint64Field("ReceivedBytesInNonIdleXgemFrames", 0, mapset.NewSetWith(Read), false, false, true, false, 12),
-			13: Uint32Field("LossOfDownstreamSynchronizationLodsEventCount", 0, mapset.NewSetWith(Read), false, false, true, false, 13),
-			14: Uint32Field("LodsEventRestoredCount", 0, mapset.NewSetWith(Read), false, false, true, false, 14),
-			15: Uint32Field("OnuReactivationByLodsEvents", 0, mapset.NewSetWith(Read), false, false, true, false, 15),
-		},
-	}
-}
-
-// NewXgPonTcPerformanceMonitoringHistoryData (class ID 344 creates the basic
-// Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
-func NewXgPonTcPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xgpontcperformancemonitoringhistorydataBME, params...)
-}
diff --git a/vendor/github.com/cboling/omci/.gitignore b/vendor/github.com/opencord/omci-lib-go/.gitignore
similarity index 98%
rename from vendor/github.com/cboling/omci/.gitignore
rename to vendor/github.com/opencord/omci-lib-go/.gitignore
index b5c16bf..4549812 100644
--- a/vendor/github.com/cboling/omci/.gitignore
+++ b/vendor/github.com/opencord/omci-lib-go/.gitignore
@@ -8,6 +8,9 @@
 # Test binary, build with `go test -c`
 *.test
 
+# Test output
+tests/
+
 # Output of the go coverage tool, specifically when used with LiteIDE
 *.out
 
@@ -89,4 +92,3 @@
 .idea/httpRequests
 
 /coverage.html
-/vendor/
diff --git a/vendor/github.com/opencord/omci-sim/.gitreview b/vendor/github.com/opencord/omci-lib-go/.gitreview
similarity index 72%
rename from vendor/github.com/opencord/omci-sim/.gitreview
rename to vendor/github.com/opencord/omci-lib-go/.gitreview
index 36dffab..27a7992 100644
--- a/vendor/github.com/opencord/omci-sim/.gitreview
+++ b/vendor/github.com/opencord/omci-lib-go/.gitreview
@@ -1,5 +1,6 @@
 [gerrit]
 host=gerrit.opencord.org
 port=29418
-project=omci-sim.git
+project=omci-lib-go.git
 defaultremote=origin
+
diff --git a/vendor/github.com/cboling/omci/LICENSE b/vendor/github.com/opencord/omci-lib-go/LICENSE
similarity index 100%
rename from vendor/github.com/cboling/omci/LICENSE
rename to vendor/github.com/opencord/omci-lib-go/LICENSE
diff --git a/vendor/github.com/opencord/omci-lib-go/Makefile b/vendor/github.com/opencord/omci-lib-go/Makefile
new file mode 100644
index 0000000..166a13f
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/Makefile
@@ -0,0 +1,105 @@
+#
+# Copyright 2016 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file 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.
+#
+
+# set default shell
+SHELL = bash -e -o pipefail
+
+# Variables
+VERSION                    ?= $(shell cat ./VERSION)
+
+# tool containers
+VOLTHA_TOOLS_VERSION ?= 1.0.3
+
+GO                = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") -v gocache:/.cache -v gocache-${VOLTHA_TOOLS_VERSION}:/go/pkg voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-golang go
+GO_JUNIT_REPORT   = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app -i voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-go-junit-report go-junit-report
+GOCOVER_COBERTURA = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app -i voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-gocover-cobertura gocover-cobertura
+GOFMT             = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-golang gofmt
+GOLANGCI_LINT     = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") -v gocache:/.cache -v gocache-${VOLTHA_TOOLS_VERSION}:/go/pkg voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-golangci-lint golangci-lint
+
+# This should to be the first and default target in this Makefile
+help:
+	@echo "Usage: make [<target>]"
+	@echo "where available targets are:"
+	@echo
+	@echo "build                : Build the library"
+	@echo "clean                : Remove files created by the build"
+	@echo "distclean            : Remove build and testing artifacts and reports"
+	@echo "lint-style           : Verify code is properly gofmt-ed"
+	@echo "lint-sanity          : Verify that 'go vet' doesn't report any issues"
+	@echo "lint-mod             : Verify the integrity of the 'mod' files"
+	@echo "lint                 : Shorthand for lint-style & lint-sanity"
+	@echo "mod-update           : Update go.mod and the vendor directory"
+	@echo "test                 : Generate reports for all go tests"
+	@echo
+
+## build the library
+build:
+	${GO} build -mod=vendor ./...
+
+## lint and unit tests
+
+lint-style:
+	@echo "Running style check..."
+	@gofmt_out="$$(${GOFMT} -l $$(find . -name '*.go' -not -path './vendor/*'))" ;\
+	if [ ! -z "$$gofmt_out" ]; then \
+	  echo "$$gofmt_out" ;\
+	  echo "Style check failed on one or more files ^, run 'go fmt' to fix." ;\
+	  exit 1 ;\
+	fi
+	@echo "Style check OK"
+
+lint-sanity:
+	@echo "Running sanity check..."
+	@${GO} vet -mod=vendor ./...
+	@echo "Sanity check OK"
+
+lint-mod:
+	@echo "Running dependency check..."
+	@${GO} mod verify
+	@echo "Dependency check OK. Running vendor check..."
+	@git status > /dev/null
+	@git diff-index --quiet HEAD -- go.mod go.sum vendor || (echo "ERROR: Staged or modified files must be committed before running this test" && echo "`git status`" && exit 1)
+	@[[ `git ls-files --exclude-standard --others go.mod go.sum vendor` == "" ]] || (echo "ERROR: Untracked files must be cleaned up before running this test" && echo "`git status`" && exit 1)
+	${GO} mod tidy
+	${GO} mod vendor
+	@git status > /dev/null
+	@git diff-index --quiet HEAD -- go.mod go.sum vendor || (echo "ERROR: Modified files detected after running go mod tidy / go mod vendor" && echo "`git status`" && exit 1)
+	@[[ `git ls-files --exclude-standard --others go.mod go.sum vendor` == "" ]] || (echo "ERROR: Untracked files detected after running go mod tidy / go mod vendor" && echo "`git status`" && exit 1)
+	@echo "Vendor check OK."
+
+lint: lint-style lint-sanity lint-mod
+
+sca:
+	rm -rf ./sca-report
+	@mkdir -p ./sca-report
+	${GOLANGCI_LINT} run --out-format junit-xml ./... | tee ./sca-report/sca-report.xml
+
+test:
+	@mkdir -p ./tests/results
+	@${GO} test -mod=vendor -v -coverprofile ./tests/results/go-test-coverage.out -covermode count ./... 2>&1 | tee ./tests/results/go-test-results.out ;\
+	RETURN=$$? ;\
+	${GO_JUNIT_REPORT} < ./tests/results/go-test-results.out > ./tests/results/go-test-results.xml ;\
+	${GOCOVER_COBERTURA} < ./tests/results/go-test-coverage.out > ./tests/results/go-test-coverage.xml ;\
+	exit $$RETURN
+
+clean: distclean
+
+distclean:
+	rm -rf ./sca-report ./tests
+
+mod-update:
+	${GO} mod tidy
+	${GO} mod vendor
\ No newline at end of file
diff --git a/vendor/github.com/opencord/omci-lib-go/README.md b/vendor/github.com/opencord/omci-lib-go/README.md
new file mode 100644
index 0000000..fa5499f
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/README.md
@@ -0,0 +1,133 @@
+# OMCI
+
+OMCI gopacket library supports the encoding and decoding of ITU G.988 OMCI
+messages.
+
+## Message Types supported and under unit test
+The following OMCI message types currently have been coded and are covered
+satisfactory by unit tests.
+
+ - CreateRequest
+ - CreateResponse
+ - DeleteRequest
+ - DeleteResponse
+ - SetRequest
+ - GetRequest
+ - GetAllAlarmsRequest
+ - GetAllAlarmsResponse
+ - GetAllAlarmsNextRequest
+ - MibUploadRequest
+ - MibUploadResponse
+ - MibUploadNextRequest
+ - MibResetRequest
+ - MibResetResponse
+ - SynchronizeTimeRequest
+
+## Message Types supported but lacking full unit test
+The following OMCI message types currently have been coded and are partially covered
+by unit tests, but work still remains for sufficient/better unit test coverage.
+
+ - SetResponse
+ - GetResponse
+ - GetAllAlarmsNextResponse
+ - MibUploadNextResponse
+ - SynchronizeTimeResponse
+ - AttributeValueChange
+ - RebootRequest
+ - RebootResponse
+ - StartSoftwareDownloadRequest
+ - GetNextRequest
+ - GetNextResponse
+
+## Message Types supported but lacking any unit test
+The following OMCI message types currently have been coded but do not
+have any unit test coverage.
+
+ - StartSoftwareDownloadResponse
+ - DownloadSectionRequest
+ - DownloadSectionResponse
+ - EndSoftwareDownloadRequest
+ - EndSoftwareDownloadResponse
+ - ActivateSoftwareRequest
+ - ActivateSoftwareResponse
+ - CommitSoftwareRequest
+ - CommitSoftwareResponse
+ - GetCurrentDataRequest
+ - GetCurrentDataResponse
+ - AlarmNotification
+ 
+## Message Types not yet supported
+
+The following OMCI message types currently have not been coded.
+
+ - TestResult
+ - TestRequest
+ - TestResponse
+ - SetTableRequest
+ - SetTableResponse
+
+## Current user-test coverage
+
+The _coverage.sh_ and _coverage.cmd_ scripts can be used to create code coverage support for the
+library.  The current coverage (as of 2/11/2020) is:
+
+| File            | Statement Coverage |
+| --------------: | :---: |
+| layers.go       | 100%  |
+| mebase.go       | 87.5% |
+| meframe.go      | 54.8% |
+| messagetypes.go | 48.1% |
+| omci.go         | 81.6% |
+
+## Other outstanding items
+
+Besides OMCI Message decode/serialization, and associated unit tests, the following items
+would be needed or useful in a first official release of this library. Some changes are
+to be done in the generated OMCI ME code as well.
+
+ - Specific examples of how to use this library (expand upon DecodeEncode.go examples)
+   Include unknown ME examples and how to catch various common or expected errors.  Until
+   this is available, please take a look at how this library is used in my
+   [onumock](https://github.com/cboling/onumock/README.md). There is a utilities subdirectory
+   in the _onumock_ project that has some examples. One is a **very** crude OLT simulator that
+   I wrote to help test the ONU Mock.
+ - Support optional msg-types. (This was very recently fixed in the code generator).
+ - Constraint checking (these are not yet fully parsed/provided by the OMCI code generated
+   structs). This feature will hopefully be available in the near future.
+ - Add Alarm Table Support (generated MEs also)
+ - Add AVC flag for appropriate attributes
+ - Support of the extended message format
+ - For serialization, check early for message size exceeded
+ - Add some type of logging support
+ 
+The following would be 'nice' to have but are not necessary for initial code release
+ - Extended message support
+ - MIC Encode/Decode support
+ 
+Also searching through the code for _TODO_ statements will also yeild additional areas of
+work to be performed.
+
+## What is not provided by this library
+
+This library is not a full OMCI stack for either an OLT or an ONU. It is focused primarily on
+packet decode/serialization and a variety of structs and functions that are useful for handling
+the creation of OMCI frames and handling decoded frames from the PON.
+
+For an OLT-side OMCI stack, you would still need to write:
+ - OMCI CC sender & receiver with appropriate timeout support
+ - OLT State machines to support 
+   - MIB Uploads/Audits/Resynchronization (and a MIB database implemention),
+   - More sophisticated get & get-next support to make handle of MEs with
+     lots of attributes or table attributes easy to handle and code,
+   - Alarm Table support,
+   - OMCI ME/Msg-Type capabilities inquiry,
+   - Performance Monitoring collection (and initial time synchronization), 
+   - Service implementation
+   
+For an ONU-side OMCI stack, you would still need to write:
+   - OMCC implementation,
+   - MIB Database,
+   - Get-Next cache for table attributes,
+   - MIB upload next cache for MIB uploads,
+   - Generation of any alarms/AVC notifications,
+   - Actually acting on the create/delete/get/set/... requests from an OLT
\ No newline at end of file
diff --git a/vendor/github.com/opencord/omci-lib-go/VERSION b/vendor/github.com/opencord/omci-lib-go/VERSION
new file mode 100644
index 0000000..ebf55b3
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/VERSION
@@ -0,0 +1 @@
+0.13.6
diff --git a/vendor/github.com/cboling/omci/generated/aal5performancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/aal5performancemonitoringhistorydata.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/aal5performancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/aal5performancemonitoringhistorydata.go
index d2dd2e2..fe110a2 100644
--- a/vendor/github.com/cboling/omci/generated/aal5performancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/aal5performancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Aal5PerformanceMonitoringHistoryDataClassId ClassID = ClassID(18)
+// Aal5PerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity AAL5 performance monitoring history data
+const Aal5PerformanceMonitoringHistoryDataClassID ClassID = ClassID(18)
 
 var aal5performancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -40,38 +46,38 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the IW VCC TP. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Sum Of Invalid Cs Field Errors
 //			Sum of invalid CS field errors: This attribute counts the sum of invalid CS field errors. For
 //			AAL type 5, this attribute is a single count of the number of CS PDUs discarded due to one of
 //			the following error conditions: invalid common part indicator (CPI), oversized received SDU, or
-//			length violation. (R) (mandatory) (4 bytes)
+//			length violation. (R) (mandatory) (4-bytes)
 //
 //		Crc Violations
 //			CRC violations: This attribute counts CRC violations detected on incoming SAR PDUs. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Reassembly Timer Expirations
 //			Reassembly timer expirations: This attribute counts reassembly timer expirations. (R) (mandatory
-//			if reassembly timer is implemented) (4 bytes)
+//			if reassembly timer is implemented) (4-bytes)
 //
 //		Buffer Overflows
 //			Buffer overflows: This attribute counts the number of times where there was not enough buffer
-//			space for a reassembled packet. (R) (mandatory) (4 bytes)
+//			space for a reassembled packet. (R) (mandatory) (4-bytes)
 //
 //		Encap Protocol Errors
 //			Encap protocol errors: This attribute counts the number of times that [IETF RFC 2684]
-//			encapsulation protocol detected a bad header. (R) (mandatory) (4 bytes)
+//			encapsulation protocol detected a bad header. (R) (mandatory) (4-bytes)
 //
 type Aal5PerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -88,23 +94,32 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFE00,
+		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("SumOfInvalidCsFieldErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("CrcViolations", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("ReassemblyTimerExpirations", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("BufferOverflows", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("EncapProtocolErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("SumOfInvalidCsFieldErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("CrcViolations", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("ReassemblyTimerExpirations", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("BufferOverflows", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("EncapProtocolErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Invalid fields",
+			1: "CRC violation",
+			2: "Reassembly timer expirations",
+			3: "Buffer overflows",
+			4: "Encap protocol errors",
 		},
 	}
 }
 
-// NewAal5PerformanceMonitoringHistoryData (class ID 18 creates the basic
+// NewAal5PerformanceMonitoringHistoryData (class ID 18) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewAal5PerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(aal5performancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*aal5performancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/aal5profile.go b/vendor/github.com/opencord/omci-lib-go/generated/aal5profile.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/aal5profile.go
rename to vendor/github.com/opencord/omci-lib-go/generated/aal5profile.go
index af7db41..5f23c88 100644
--- a/vendor/github.com/cboling/omci/generated/aal5profile.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/aal5profile.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Aal5ProfileClassId ClassID = ClassID(16)
+// Aal5ProfileClassID is the 16-bit ID for the OMCI
+// Managed entity AAL5 profile
+const Aal5ProfileClassID ClassID = ClassID(16)
 
 var aal5profileBME *ManagedEntityDefinition
 
@@ -37,17 +43,17 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Max Cpcs Pdu Size
 //			Max CPCS PDU size: This attribute specifies the maximum CPCS PDU size to be transmitted over the
-//			connection in both upstream and downstream directions. (R, W, setbycreate) (mandatory) (2 bytes)
+//			connection in both upstream and downstream directions. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Aal Mode
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Sscs Type
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 type Aal5Profile struct {
 	ManagedEntityDefinition
@@ -64,19 +70,21 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XE000,
+		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("MaxCpcsPduSize", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("AalMode", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: ByteField("SscsType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("MaxCpcsPduSize", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("AalMode", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField("SscsType", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewAal5Profile (class ID 16 creates the basic
+// NewAal5Profile (class ID 16) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewAal5Profile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(aal5profileBME, params...)
+	return NewManagedEntity(*aal5profileBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/ani-g.go b/vendor/github.com/opencord/omci-lib-go/generated/ani-g.go
new file mode 100644
index 0000000..022fcbf
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ani-g.go
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// AniGClassID is the 16-bit ID for the OMCI
+// Managed entity ANI-G
+const AniGClassID ClassID = ClassID(263)
+
+var anigBME *ManagedEntityDefinition
+
+// AniG (class ID #263)
+//	This ME organizes data associated with each access network interface supported by a GPON ONU.
+//	The ONU automatically creates one instance of this ME for each PON physical port.
+//
+//	Relationships
+//		An instance of this ME is associated with each instance of a physical PON interface.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Its value
+//			indicates the physical position of the PON interface. The first byte is the slot ID, defined in
+//			clause 9.1.5. The second byte is the port ID. (R) (mandatory) (2-bytes)
+//
+//		Sr Indication
+//			SR indication: This Boolean attribute indicates the ONU's capability to report queue status for
+//			DBA. The value true means that status reporting is available for all TCONTs that are associated
+//			with the ANI. (R) (mandatory) (1-byte)
+//
+//		Total TCont Number
+//			Total TCONT number: This attribute indicates the total number of T-CONTs that can be supported
+//			on this ANI. (R) (mandatory) (2-bytes)
+//
+//		Gem Block Length
+//			In all other ITU-T PON systems, the unit for queue occupancy reporting is fixed in at 4-bytes by
+//			the respective TC layer specification.
+//
+//		Piggyback Dba Reporting
+//			(R) (mandatory) (1-byte)
+//
+//		Deprecated
+//			Deprecated:	This attribute should be set to 0 by the ONU and ignored by the OLT. (R) (mandatory)
+//			(1-byte)
+//
+//		Signal Fail Threshold
+//			Signal fail (SF) threshold: This attribute specifies the downstream bit error rate (BER)
+//			threshold to detect the SF alarm. When this value is y, the BER threshold is 10-y. Valid values
+//			are 3..8. Upon ME instantiation, the ONU sets this attribute to 5. (R,-W) (mandatory) (1-byte)
+//
+//		Signal Degrade Threshold
+//			Signal degrade (SD) threshold: This attribute specifies the downstream BER threshold to detect
+//			the SD alarm. When this value is x, the BER threshold for SD is 10-x. Valid values are 4..10.
+//			The SD threshold must be lower than the SF threshold; i.e., x-> y. Upon ME instantiation, the
+//			ONU sets this attribute to 9. (R,-W) (mandatory) (1-byte)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Optical Signal Level
+//			Optical signal level: This attribute reports the current measurement of the total downstream
+//			optical signal level. Its value is a 2s complement integer referred to 1- mW (i.e., 1-dBm), with
+//			0.002 dB granularity. (R) (optional) (2-bytes)
+//
+//		Lower Optical Threshold
+//			Lower optical threshold: This attribute specifies the optical level the ONU uses to declare the
+//			downstream low received optical power alarm. Valid values are  -127 dBm (coded as 254) to 0 dBm
+//			(coded as 0) in 0.5 dB increments. The default value 0xFF selects the ONU's internal policy.
+//			(R,-W) (optional) (1-byte)
+//
+//		Upper Optical Threshold
+//			Upper optical threshold: This attribute specifies the optical level the ONU uses to declare the
+//			downstream high received optical power alarm. Valid values are  -127 dBm (coded as 254) to 0 dBm
+//			(coded as 0) in 0.5 dB increments. The default value 0xFF selects the ONU's internal policy.
+//			(R,-W) (optional) (1-byte)
+//
+//		Onu Response Time
+//			(R) (optional) (2-bytes)
+//
+//		Transmit Optical Level
+//			Transmit optical level: This attribute reports the current measurement of mean optical launch
+//			power. Its value is a 2s complement integer referred to 1-mW (i.e., 1-dBm), with 0.002 dB
+//			granularity. (R) (optional) (2-bytes)
+//
+//		Lower Transmit Power Threshold
+//			Lower transmit power threshold: This attribute specifies the minimum mean optical launch power
+//			that the ONU uses to declare the low transmit optical power alarm. Its value is a 2s complement
+//			integer referred to 1-mW (i.e., dBm), with 0.5-dB granularity. The default value -63.5 (0x81)
+//			selects the ONU's internal policy. (R,-W) (optional) (1-byte)
+//
+//		Upper Transmit Power Threshold
+//			Upper transmit power threshold: This attribute specifies the maximum mean optical launch power
+//			that the ONU uses to declare the high transmit optical power alarm. Its value is a 2s complement
+//			integer referred to 1-mW (i.e., dBm), with 0.5-dB granularity. The default value -63.5 (0x81)
+//			selects the ONU's internal policy. (R,-W) (optional) (1-byte)
+//
+type AniG struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	anigBME = &ManagedEntityDefinition{
+		Name:    "AniG",
+		ClassID: 263,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+			Test,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("SrIndication", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("TotalTcontNumber", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field("GemBlockLength", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField("PiggybackDbaReporting", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField("Deprecated", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, true, 5),
+			6:  ByteField("SignalFailThreshold", UnsignedIntegerAttributeType, 0x0400, 5, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField("SignalDegradeThreshold", UnsignedIntegerAttributeType, 0x0200, 9, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("Arc", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
+			9:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field("OpticalSignalLevel", SignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField("LowerOpticalThreshold", SignedIntegerAttributeType, 0x0020, 255, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField("UpperOpticalThreshold", SignedIntegerAttributeType, 0x0010, 255, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field("OnuResponseTime", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint16Field("TransmitOpticalLevel", SignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: ByteField("LowerTransmitPowerThreshold", SignedIntegerAttributeType, 0x0002, 129, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField("UpperTransmitPowerThreshold", SignedIntegerAttributeType, 0x0001, 129, mapset.NewSetWith(Read, Write), false, true, false, 16),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Low received optical power",
+			1: "High received optical power",
+			2: "SF",
+			3: "SD",
+			4: "Low transmit optical power",
+			5: "High transmit optical power",
+			6: "Laser bias current",
+		},
+	}
+}
+
+// NewAniG (class ID 263) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewAniG(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*anigBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/attribute.go b/vendor/github.com/opencord/omci-lib-go/generated/attribute.go
new file mode 100644
index 0000000..c73d970
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/attribute.go
@@ -0,0 +1,776 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import (
+	"encoding/base64"
+	"encoding/binary"
+	"errors"
+	"fmt"
+	"github.com/deckarep/golang-set"
+	"github.com/google/gopacket"
+	"reflect"
+	"sort"
+	"strings"
+)
+
+// Attribute types
+type AttributeType uint8
+
+const (
+	UnknownAttributeType         AttributeType = iota // Not known
+	OctetsAttributeType                               // Series of zero or more octets
+	StringAttributeType                               // Readable String
+	UnsignedIntegerAttributeType                      // Integer (0..max)
+	TableAttributeType                                // Table (of Octets)
+	SignedIntegerAttributeType                        // Signed integer, often expressed as 2's complement
+	PointerAttributeType                              // Managed Entity ID or pointer to a Managed instance
+	BitFieldAttributeType                             // Bitfield
+	EnumerationAttributeType                          // Fixed number of values (Unsigned Integers)
+	CounterAttributeType                              // Incrementing counter
+)
+
+// AttributeDefinitionMap is a map of attribute definitions with the attribute index (0..15)
+// as the key
+type AttributeDefinitionMap map[uint]AttributeDefinition
+
+// AttributeDefinition defines a single specific Managed Entity's attributes
+type AttributeDefinition struct {
+	Name          string
+	AttributeType AttributeType
+	Index         uint
+	Mask          uint16
+	DefValue      interface{}
+	Size          int        // Size of attribute in bytes. 0 indicates variable/unknown
+	Access        mapset.Set // AttributeAccess...
+	Constraint    func(interface{}) *ParamError
+	Avc           bool // If true, an AVC notification can occur for the attribute
+	Tca           bool // If true, a threshold crossing alert alarm notification can occur for the attribute
+	Optional      bool // If true, attribute is option, else mandatory
+	Deprecated    bool // If true, attribute is deprecated
+}
+
+func (attr *AttributeDefinition) String() string {
+	return fmt.Sprintf("AttributeDefinition: %v (%v/%v): Size: %v, Default: %v, Access: %v",
+		attr.GetName(), attr.AttributeType, attr.GetIndex(), attr.GetSize(), attr.GetDefault(), attr.GetAccess())
+}
+
+// GetName returns the attribute's name
+func (attr AttributeDefinition) GetName() string { return attr.Name }
+
+// GetIndex returns the attribute index )0..15)
+func (attr AttributeDefinition) GetIndex() uint { return attr.Index }
+
+// GetDefault provides the default value for an attribute if not specified
+// during its creation
+func (attr AttributeDefinition) GetDefault() interface{} { return attr.DefValue }
+
+// GetSize returns the size of the attribute. For table attributes, the size is
+// the size of a single table.
+func (attr AttributeDefinition) GetSize() int { return attr.Size }
+
+// GetAccess provides the access information (Read, Write, ...)
+func (attr AttributeDefinition) GetAccess() mapset.Set { return attr.Access }
+
+// GetConstraints returns a function that can be called for the attribute
+// that will validate the value. An appropriate error is returned if the
+// constraint fails, otherwise nil is returned to indicate that the value
+// is valid.
+func (attr AttributeDefinition) GetConstraints() func(interface{}) *ParamError {
+	return attr.Constraint
+}
+
+// IsTableAttribute returns true if the attribute is a table
+func (attr AttributeDefinition) IsTableAttribute() bool {
+	return attr.AttributeType == TableAttributeType
+}
+
+// IsCounter returns true if the attribute is a counter (usually expressed as an
+// unsigned integer)
+func (attr AttributeDefinition) IsCounter() bool {
+	return attr.AttributeType == CounterAttributeType
+}
+
+// IsBitField returns true if the attribute is a bitfield
+func (attr AttributeDefinition) IsBitField() bool {
+	return attr.AttributeType == BitFieldAttributeType
+}
+
+// IsString returns true if the attribute is a string. Strings are typically encoded
+// into fixed length files and padded with 0's
+func (attr AttributeDefinition) IsString() bool {
+	return attr.AttributeType == StringAttributeType
+}
+
+// Decode takes a slice of bytes and converts them into a value appropriate for
+// the attribute, or returns an error on failure
+func (attr *AttributeDefinition) Decode(data []byte, df gopacket.DecodeFeedback, msgType byte) (interface{}, error) {
+	if attr.IsTableAttribute() {
+		value, err := attr.tableAttributeDecode(data, df, msgType)
+		if err != nil {
+			return nil, err
+		}
+		if attr.GetConstraints() != nil {
+			if omciErr := attr.GetConstraints()(value); omciErr != nil {
+				return nil, omciErr.GetError()
+			}
+		}
+		return value, nil
+	}
+	size := attr.GetSize()
+
+	if len(data) < size {
+		df.SetTruncated()
+		return nil, NewMessageTruncatedError("packet too small for field")
+	}
+	switch attr.AttributeType {
+	case StringAttributeType, OctetsAttributeType, UnknownAttributeType:
+		value := make([]byte, size)
+		copy(value, data[:size])
+		if attr.GetConstraints() != nil {
+			if omciErr := attr.GetConstraints()(value); omciErr != nil {
+				return nil, omciErr.GetError()
+			}
+		}
+		return value, nil
+
+	default:
+		switch attr.GetSize() {
+		default:
+			value := make([]byte, size)
+			copy(value, data[:size])
+			if attr.GetConstraints() != nil {
+				if omciErr := attr.GetConstraints()(value); omciErr != nil {
+					return nil, omciErr.GetError()
+				}
+			}
+			return value, nil
+		case 1:
+			value := data[0]
+			if attr.GetConstraints() != nil {
+				if omciErr := attr.GetConstraints()(value); omciErr != nil {
+					return nil, omciErr.GetError()
+				}
+			}
+			return value, nil
+		case 2:
+			value := binary.BigEndian.Uint16(data[0:2])
+			if attr.GetConstraints() != nil {
+				if omciErr := attr.GetConstraints()(value); omciErr != nil {
+					return nil, omciErr.GetError()
+				}
+			}
+			return value, nil
+		case 4:
+			value := binary.BigEndian.Uint32(data[0:4])
+			if attr.GetConstraints() != nil {
+				if omciErr := attr.GetConstraints()(value); omciErr != nil {
+					return nil, omciErr.GetError()
+				}
+			}
+			return value, nil
+		case 8:
+			value := binary.BigEndian.Uint64(data[0:8])
+			if attr.GetConstraints() != nil {
+				omciErr := attr.GetConstraints()(value)
+				if omciErr != nil {
+					return nil, omciErr.GetError()
+				}
+			}
+			return value, nil
+		}
+	}
+}
+
+// IOctetStream interface defines a way to convert a custom type to/from an octet
+// stream.
+type IOctetStream interface {
+	ToOctetString() ([]byte, error)
+	FromOctetString([]byte) (interface{}, error)
+}
+
+// InterfaceToOctets converts an attribute value to a string of octets
+func InterfaceToOctets(input interface{}) ([]byte, error) {
+	switch values := input.(type) {
+	case []byte:
+		return values, nil
+
+	case []uint16:
+		stream := make([]byte, 2*len(values))
+		for index, value := range values {
+			binary.BigEndian.PutUint16(stream[index*2:], value)
+		}
+		return stream, nil
+
+	case []uint32:
+		stream := make([]byte, 4*len(values))
+		for index, value := range values {
+			binary.BigEndian.PutUint32(stream[index*4:], value)
+		}
+		return stream, nil
+
+	case []uint64:
+		stream := make([]byte, 8*len(values))
+		for index, value := range values {
+			binary.BigEndian.PutUint64(stream[index*8:], value)
+		}
+		return stream, nil
+
+	case IOctetStream:
+		return values.ToOctetString()
+
+	default:
+		var typeName string
+		if t := reflect.TypeOf(input); t.Kind() == reflect.Ptr {
+			typeName = "*" + t.Elem().Name()
+		} else {
+			typeName = t.Name()
+		}
+		return nil, fmt.Errorf("unable to convert input to octet string: %v", typeName)
+	}
+}
+
+// SerializeTo takes an attribute value and converts it to a slice of bytes ready
+// for transmission
+func (attr *AttributeDefinition) SerializeTo(value interface{}, b gopacket.SerializeBuffer,
+	msgType byte, bytesAvailable int) (int, error) {
+	if attr.IsTableAttribute() {
+		return attr.tableAttributeSerializeTo(value, b, msgType, bytesAvailable)
+	}
+	if value == nil {
+		return 0, fmt.Errorf("attribute: %v is nil", attr.Name)
+	}
+	size := attr.GetSize()
+	if bytesAvailable < size {
+		return 0, NewMessageTruncatedError(fmt.Sprintf("not enough space for attribute: %v", attr.Name))
+	}
+	bytes, err := b.AppendBytes(size)
+	if err != nil {
+		return 0, err
+	}
+	switch attr.AttributeType {
+	case StringAttributeType, OctetsAttributeType, UnknownAttributeType:
+		byteStream, err := InterfaceToOctets(value)
+		if err != nil {
+			return 0, err
+		}
+		copy(bytes, byteStream)
+
+	default:
+		switch size {
+		default:
+			byteStream, err := InterfaceToOctets(value)
+			if err != nil {
+				return 0, err
+			}
+			copy(bytes, byteStream)
+		case 1:
+			switch value.(type) {
+			case int:
+				bytes[0] = byte(value.(int))
+			default:
+				bytes[0] = value.(byte)
+			}
+		case 2:
+			switch value.(type) {
+			case int:
+				binary.BigEndian.PutUint16(bytes, uint16(value.(int)))
+			default:
+				binary.BigEndian.PutUint16(bytes, value.(uint16))
+			}
+		case 4:
+			switch value.(type) {
+			case int:
+				binary.BigEndian.PutUint32(bytes, uint32(value.(int)))
+			default:
+				binary.BigEndian.PutUint32(bytes, value.(uint32))
+			}
+		case 8:
+			switch value.(type) {
+			case int:
+				binary.BigEndian.PutUint64(bytes, uint64(value.(int)))
+			default:
+				binary.BigEndian.PutUint64(bytes, value.(uint64))
+			}
+		}
+	}
+	return size, nil
+}
+
+// BufferToTableAttributes takes the reconstructed octet buffer transmitted for
+// a table attribute (over many GetNextResponses) and converts it into the desired
+// format for each table row
+func (attr *AttributeDefinition) BufferToTableAttributes(data []byte) (interface{}, error) {
+	// Source is network byte order octets. Convert to proper array of slices
+	rowSize := attr.GetSize()
+	dataSize := len(data)
+	index := 0
+
+	switch rowSize {
+	default:
+		value := make([][]byte, dataSize/rowSize)
+		for offset := 0; offset < dataSize; offset += rowSize {
+			value[index] = make([]byte, rowSize)
+			copy(value[index], data[offset:])
+			index++
+		}
+		return value, nil
+	case 1:
+		value := make([]byte, dataSize)
+		copy(value, data)
+		return value, nil
+	case 2:
+		value := make([]uint16, dataSize/2)
+		for offset := 0; offset < dataSize; offset += rowSize {
+			value[offset] = binary.BigEndian.Uint16(data[offset:])
+			index++
+		}
+		return value, nil
+	case 4:
+		value := make([]uint32, dataSize/4)
+		for offset := 0; offset < dataSize; offset += rowSize {
+			value[offset] = binary.BigEndian.Uint32(data[offset:])
+			index++
+		}
+		return value, nil
+	case 8:
+		value := make([]uint64, dataSize/8)
+		for offset := 0; offset < dataSize; offset += rowSize {
+			value[offset] = binary.BigEndian.Uint64(data[offset:])
+			index++
+		}
+		return value, nil
+	}
+}
+
+func (attr *AttributeDefinition) tableAttributeDecode(data []byte, df gopacket.DecodeFeedback, msgType byte) (interface{}, error) {
+	// Serialization of a table depends on the type of message. A
+	// Review of ITU-T G.988 shows that access on tables are
+	// either Read and/or Write, never Set-by-Create
+	switch msgType {
+	default:
+		return nil, fmt.Errorf("unsupported Message Type '%v' for table serialization", msgType)
+
+	case byte(Get) | AK: // Get Response
+		// Size
+		value := binary.BigEndian.Uint32(data[0:4])
+		return value, nil
+
+	case byte(Set) | AR: // Set Request
+		fallthrough
+
+	case byte(GetNext) | AK: // Get Next Response
+		// Block of data (octets) that need to be reassembled before conversion
+		// to table/row-data.  If table attribute is not explicitly given a value
+		// we have to assume the entire data buffer is the value. The receiver of
+		// this frame will need to trim off any addtional information at the end
+		// of the last frame sequence since they (and the ONU) are the only ones
+		// who know how long the data really is.
+		size := attr.GetSize()
+		if size != 0 && len(data) < attr.GetSize() {
+			df.SetTruncated()
+			return nil, NewMessageTruncatedError("packet too small for field")
+		} else if size == 0 {
+			return nil, NewProcessingError("table attributes with no size are not supported: %v", attr.Name)
+		}
+		return data, nil
+
+	case byte(SetTable) | AR: // Set Table Request
+		// TODO: Only baseline supported at this time
+		return nil, errors.New("attribute encode for set-table-request not yet supported")
+	}
+	return nil, errors.New("TODO")
+}
+
+func (attr *AttributeDefinition) tableAttributeSerializeTo(value interface{}, b gopacket.SerializeBuffer, msgType byte,
+	bytesAvailable int) (int, error) {
+	// Serialization of a table depends on the type of message. A
+	// Review of ITU-T G.988 shows that access on tables are
+	// either Read and/or Write, never Set-by-Create
+	switch msgType {
+	default:
+		return 0, fmt.Errorf("unsupported Message Type '%v' for table serialization", msgType)
+
+	case byte(Get) | AK: // Get Response
+		// Size
+		if bytesAvailable < 4 {
+			return 0, NewMessageTruncatedError(fmt.Sprintf("not enough space for attribute: %v", attr.Name))
+		}
+		if dwordSize, ok := value.(uint32); ok {
+			bytes, err := b.AppendBytes(4)
+			if err != nil {
+				return 0, err
+			}
+			binary.BigEndian.PutUint32(bytes, dwordSize)
+			return 4, nil
+		}
+		return 0, errors.New("unexpected type for table serialization")
+
+	case byte(GetNext) | AK: // Get Next Response
+		// Values are already in network by order form
+		if data, ok := value.([]byte); ok {
+			if bytesAvailable < len(data) {
+				return 0, NewMessageTruncatedError(fmt.Sprintf("not enough space for attribute: %v", attr.Name))
+			}
+			bytes, err := b.AppendBytes(len(data))
+			if err != nil {
+				return 0, err
+			}
+			copy(bytes, data)
+			return len(data), nil
+		}
+		return 0, errors.New("unexpected type for table serialization")
+
+	case byte(Set) | AR: // Set Request
+		// TODO: For complex table types (such as extended vlan tagging config) create an
+		//       interface definition. Provide a switch type to look for that as well as for
+		//       value being a byte slice...  For now, just byte slice provided
+		break
+
+	case byte(SetTable) | AR: // Set Table Request
+		// TODO: Only baseline supported at this time
+		return 0, errors.New("attribute encode for set-table-request not yet supported")
+	}
+	size := attr.GetSize()
+	if bytesAvailable < size {
+		return 0, NewMessageTruncatedError(fmt.Sprintf("not enough space for attribute: %v", attr.Name))
+	}
+	bytes, err := b.AppendBytes(size)
+	if err != nil {
+		return 0, err
+	}
+	switch attr.GetSize() {
+	default:
+		copy(bytes, value.([]byte))
+	case 1:
+		switch value.(type) {
+		case int:
+			bytes[0] = byte(value.(int))
+		default:
+			bytes[0] = value.(byte)
+		}
+	case 2:
+		switch value.(type) {
+		case int:
+			binary.BigEndian.PutUint16(bytes, uint16(value.(int)))
+		default:
+			binary.BigEndian.PutUint16(bytes, value.(uint16))
+		}
+	case 4:
+		switch value.(type) {
+		case int:
+			binary.BigEndian.PutUint32(bytes, uint32(value.(int)))
+		default:
+			binary.BigEndian.PutUint32(bytes, value.(uint32))
+		}
+	case 8:
+		switch value.(type) {
+		case int:
+			binary.BigEndian.PutUint64(bytes, uint64(value.(int)))
+		default:
+			binary.BigEndian.PutUint64(bytes, value.(uint64))
+		}
+	}
+	return size, nil
+}
+
+// GetAttributeDefinitionByName searches the attribute definition map for the
+// attribute with the specified name (case insensitive)
+func GetAttributeDefinitionByName(attrMap AttributeDefinitionMap, name string) (*AttributeDefinition, error) {
+	nameLower := strings.ToLower(name)
+	for _, attrVal := range attrMap {
+		if nameLower == strings.ToLower(attrVal.GetName()) {
+			return &attrVal, nil
+		}
+	}
+	return nil, errors.New(fmt.Sprintf("attribute '%s' not found", name))
+}
+
+// GetAttributeDefinitionMapKeys is a convenience functions since we may need to
+// iterate a map in key index order. Maps in Go since v1.0 the iteration order
+// of maps have been randomized.
+func GetAttributeDefinitionMapKeys(attrMap AttributeDefinitionMap) []uint {
+	var keys []uint
+	for k := range attrMap {
+		keys = append(keys, k)
+	}
+	sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] })
+	return keys
+}
+
+// GetAttributeBitmap returns the attribute bitmask for a single attribute
+func GetAttributeBitmap(attrMap AttributeDefinitionMap, name string) (uint16, error) {
+	attrDef, err := GetAttributeDefinitionByName(attrMap, name)
+	if err != nil {
+		return 0, err
+	}
+	index := attrDef.GetIndex()
+	if index == 0 {
+		return 0, errors.New("managed entity ID should not be used in an attribute bitmask")
+	}
+	return uint16(1 << (16 - index)), nil
+}
+
+// GetAttributesBitmap is a convenience functions to scan a list of attributes
+// and return the bitmask that represents them
+func GetAttributesBitmap(attrMap AttributeDefinitionMap, attributes mapset.Set) (uint16, error) {
+	var mask uint16
+	for _, def := range attrMap {
+		if attributes.Contains(def.Name) {
+			mask |= def.Mask
+			attributes.Remove(def.Name)
+		}
+	}
+	if attributes.Cardinality() > 0 {
+		return 0, fmt.Errorf("unsupported attributes: %v", attributes)
+	}
+	return mask, nil
+}
+
+// GetAttributesValueMap returns the attribute value map with uninitialized values based
+// on the attribute bitmask
+func GetAttributesValueMap(attrDefs AttributeDefinitionMap, mask uint16, access mapset.Set) (AttributeValueMap, OmciErrors) {
+	attrMap := make(AttributeValueMap, 0)
+	for index, def := range attrDefs {
+		if index == 0 {
+			continue
+		}
+		checkMask := def.Mask
+		accessOk := access == nil || def.GetAccess().Intersect(access).Cardinality() > 0
+
+		if (mask&checkMask) != 0 && accessOk {
+			attrMap[def.GetName()] = nil
+			mask &= ^checkMask
+		}
+	}
+	if mask != 0 {
+		// Return map, but signaled failed attributes
+		return attrMap, NewParameterError(mask)
+	}
+	return attrMap, NewOmciSuccess()
+}
+
+///////////////////////////////////////////////////////////////////////
+// Packet definitions for attributes of various types/sizes
+func toOctets(str string) []byte {
+	data, err := base64.StdEncoding.DecodeString(str)
+	if err != nil {
+		panic(fmt.Sprintf("Invalid Base-64 string: '%v'", str))
+	}
+	return data
+}
+
+///////////////////////////////////////////////////////////////////////
+// Packet definitions for attributes of various types/sizes
+
+// ByteField returns an AttributeDefinition for an attribute that is encoded as a single
+// octet (8-bits).
+func ByteField(name string, attrType AttributeType, mask uint16, defVal uint8, access mapset.Set, avc bool,
+	optional bool, deprecated bool, index uint) AttributeDefinition {
+	return AttributeDefinition{
+		Name:          name,
+		AttributeType: attrType,
+		Mask:          mask,
+		Index:         index,
+		DefValue:      defVal,
+		Size:          1,
+		Access:        access,
+		Avc:           avc,
+		Optional:      optional,
+		Deprecated:    deprecated,
+	}
+}
+
+// Uint16Field returns an AttributeDefinition for an attribute that is encoded as two
+// octet (16-bits).
+func Uint16Field(name string, attrType AttributeType, mask uint16, defVal uint16, access mapset.Set, avc bool,
+	optional bool, deprecated bool, index uint) AttributeDefinition {
+	return AttributeDefinition{
+		Name:          name,
+		AttributeType: attrType,
+		Mask:          mask,
+		Index:         index,
+		DefValue:      defVal,
+		Size:          2,
+		Access:        access,
+		Avc:           avc,
+		Optional:      optional,
+		Deprecated:    deprecated,
+	}
+}
+
+// Uint32Field returns an AttributeDefinition for an attribute that is encoded as four
+// octet (32-bits).
+func Uint32Field(name string, attrType AttributeType, mask uint16, defVal uint32, access mapset.Set, avc bool,
+	optional bool, deprecated bool, index uint) AttributeDefinition {
+	return AttributeDefinition{
+		Name:          name,
+		AttributeType: attrType,
+		Mask:          mask,
+		Index:         index,
+		DefValue:      defVal,
+		Size:          4,
+		Access:        access,
+		Avc:           avc,
+		Optional:      optional,
+		Deprecated:    deprecated,
+	}
+}
+
+// Uint64Field returns an AttributeDefinition for an attribute that is encoded as eight
+// octet (64-bits).
+func Uint64Field(name string, attrType AttributeType, mask uint16, defVal uint64, access mapset.Set, avc bool,
+	optional bool, deprecated bool, index uint) AttributeDefinition {
+	return AttributeDefinition{
+		Name:          name,
+		AttributeType: attrType,
+		Mask:          mask,
+		Index:         index,
+		DefValue:      defVal,
+		Size:          8,
+		Access:        access,
+		Avc:           avc,
+		Optional:      optional,
+		Deprecated:    deprecated,
+	}
+}
+
+// MultiByteField returns an AttributeDefinition for an attribute that is encoded as multiple
+// octets that do not map into fields with a length that is 1, 2, 4, or 8 octets.
+func MultiByteField(name string, attrType AttributeType, mask uint16, size uint, defVal []byte, access mapset.Set, avc bool,
+	optional bool, deprecated bool, index uint) AttributeDefinition {
+	return AttributeDefinition{
+		Name:          name,
+		AttributeType: attrType,
+		Mask:          mask,
+		Index:         index,
+		DefValue:      defVal,
+		Size:          int(size),
+		Access:        access,
+		Avc:           avc,
+		Optional:      optional,
+		Deprecated:    deprecated,
+	}
+}
+
+// Notes on various OMCI ME Table attribute fields.  This comment will eventually be
+// removed once a good table solution is implemented.  These are not all the MEs with
+// table attributes, but probably ones I care about to support initially.
+//
+//   ME                     Notes
+//  --------------------------------------------------------------------------------------------
+//	Port-mapping package -> Combined Port table -> N * 25 sized rows (port (1) + ME(2) * 12)
+//  ONU Remote Debug     -> Reply table (N bytes)
+//  ONU3-G               -> Status snapshot recordtable M x N bytes
+//  MCAST Gem interworkTP-> IPv4 multicast adress table (12*n) (two 2 byte fields, two 4 byte fields)
+//                          IPv6 multicast adress table (24*n) (various sub-fields)
+//  L2 mcast gem TP      -> MCAST MAC addr filtering table (11 * n) (various sub-fields)
+//  MAC Bridge Port Filt -> MAC Filter table (8 * n) (3 fields, some are bits)      *** BITS ***
+//  MAC Bridge Port data -> Bridge Table (8*M) (vaius fields, some are bits)        *** BITS ***
+//  VLAN tagging filter  -> Rx Vlan tag op table (16 * n) Lots of bit fields        *** BITS ***
+//  MCAST operations profile
+//  MCAST Subscriber config info
+//  MCAST subscriber monitor
+//  OMCI                -> Two tables (N bytes and 2*N bytes)
+//  General pupose buffer   -> N bytes
+//  Enhanced security control (17 * N bytes), (16 * P Bytes) , (16 * Q bytes), and more...
+//
+// An early example of info to track
+
+// TableInfo is an early prototype of how to better model some tables that are
+// difficult to code.
+//
+// The Value member may be one of the following:
+//   nil    : Empty, no default, ...
+//   value  : A specific value that equates to one row, ie) 6  or toOctets("base64")
+//   array  : One or more rows of values.  [2]uint16{2, 3}
+type TableInfo struct {
+	Value interface{} // See comment above
+	Size  int         // Table Row Size
+}
+
+func (t *TableInfo) String() string {
+	return fmt.Sprintf("TableInfo: Size: %d, Value(s): %v", t.Size, t.Value)
+}
+
+// TableField is used to define an attribute that is a table
+func TableField(name string, attrType AttributeType, mask uint16, tableInfo TableInfo, access mapset.Set,
+	avc bool, optional bool, deprecated bool, index uint) AttributeDefinition {
+	return AttributeDefinition{
+		Name:          name,
+		AttributeType: attrType,
+		Mask:          mask,
+		Index:         index,
+		DefValue:      tableInfo.Value,
+		Size:          tableInfo.Size, //Number of elements
+		Access:        access,
+		Avc:           avc,
+		Optional:      optional,
+		Deprecated:    deprecated,
+	}
+}
+
+// UnknownField is currently not used and may be deprecated. Its original intent
+// was to be a placeholder during table attribute development
+func UnknownField(name string, mask uint16, size int, index uint) AttributeDefinition {
+	return AttributeDefinition{
+		Name:          name,
+		AttributeType: UnknownAttributeType, // Stored as octet string
+		Mask:          mask,
+		Index:         index,
+		DefValue:      nil,
+		Size:          size,
+		Access:        mapset.NewSet(Read, Write),
+		Avc:           false,
+		Optional:      false,
+		Deprecated:    false,
+	}
+}
+
+// AttributeValueMap maps an attribute (by name) to its value
+type AttributeValueMap map[string]interface{}
+
+// MergeInDefaultValues will examine the Manage Entity defaults (for non-SetByCreate attributes). This
+// function is called on a MIB Create request but is provide for external use in case it is needed
+// before the MIB entry is created
+func MergeInDefaultValues(classID ClassID, attributes AttributeValueMap) OmciErrors {
+	// Get default values for non-SetByCreate attributes
+	attrDefs, err := GetAttributesDefinitions(classID)
+	if err.StatusCode() != Success {
+		return err
+	} else if attributes == nil {
+		return NewProcessingError("Invalid (nil) Attribute Value Map referenced")
+	}
+	nilAllowed := mapset.NewSet(StringAttributeType, OctetsAttributeType, TableAttributeType)
+	for index, attrDef := range attrDefs {
+		if !attrDef.Access.Contains(SetByCreate) && index != 0 &&
+			(attrDef.DefValue != nil || nilAllowed.Contains(attrDef.AttributeType)) {
+			name := attrDef.GetName()
+			if existing, found := attributes[name]; !found || existing == nil {
+				attributes[name] = attrDef.DefValue
+			}
+		}
+	}
+	return err
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/attributeme.go b/vendor/github.com/opencord/omci-lib-go/generated/attributeme.go
new file mode 100644
index 0000000..7e1c395
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/attributeme.go
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// AttributeMeClassID is the 16-bit ID for the OMCI
+// Managed entity Attribute ME
+const AttributeMeClassID ClassID = ClassID(289)
+
+var attributemeBME *ManagedEntityDefinition
+
+// AttributeMe (class ID #289)
+//	This ME describes a particular attribute type that is supported by the ONU. This ME is not
+//	included in an MIB upload.
+//
+//	Relationships
+//		One or more attribute entities are related to each ME entity. More than one ME entity can refer
+//		to a given attribute entity.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This number is
+//			the same as the one that appears in the attributes table in the ME. Only one instance of each
+//			unique attribute need be created. The ONU can assign attribute numbering as it pleases, out of
+//			the pool of 64K IDs; however, it is suggested that the numbering follow a rational scheme to aid
+//			human readability. (R) (mandatory) (2-bytes)
+//
+//		Name
+//			Name:	This attribute contains a 25-byte mnemonic tag for the attribute. Strings shorter than
+//			25-bytes are padded with null characters. (R) (mandatory) (25-bytes)
+//
+//		Size
+//			Size:	This attribute contains the size of the attribute, in bytes. The value 0 indicates that
+//			the attribute can have a variable/unknown size. (R) (mandatory) (2-bytes)
+//
+//		Access
+//			(R) (mandatory) (1-byte)
+//
+//		Format
+//			(R) (mandatory) (1-byte)
+//
+//		Lower Limit
+//			Lower limit:	This attribute provides the lowest value for the attribute. Valid for numeric types
+//			(pointer, signed integer, unsigned integer) only. For attributes smaller than 4-bytes, the
+//			desired numeric value is expressed in 4-byte representation (for example, the 2s complement
+//			1-byte integer 0xFE is expressed as 0xFFFF-FFFE; the unsigned 1-byte integer 0xFE is expressed
+//			as 0x0000-00FE). (R) (mandatory) (4-bytes)
+//
+//		Upper Limit
+//			Upper limit:	This attribute provides the highest value for the attribute. It has the same
+//			validity and format as the lower limit attribute. (R) (mandatory) (4-bytes)
+//
+//		Bit Field
+//			Bit field:	This attribute is a mask of the supported bits in a bit field attribute, valid for
+//			bit field type only. A 1 in any position signifies that its code point is supported, while 0
+//			indicates that it is not supported. For bit fields smaller than 4-bytes, the attribute is
+//			aligned at the least significant end of the mask. (R) (mandatory) (4-bytes)
+//
+//		Code Points Table
+//			Code points table: This attribute lists the code points supported by an enumerated attribute.
+//			(R) (mandatory) (2 * Q bytes, where Q is the number of entries in the table.)
+//
+//		Support
+//			(R) (mandatory) (1-byte)
+//
+type AttributeMe struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	attributemeBME = &ManagedEntityDefinition{
+		Name:    "AttributeMe",
+		ClassID: 289,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			GetNext,
+		),
+		AllowedAttributeMask: 0xff80,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("Name", OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("Size", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField("Access", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: ByteField("Format", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("LowerLimit", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("UpperLimit", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("BitField", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: TableField("CodePointsTable", TableAttributeType, 0x0100, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 8),
+			9: ByteField("Support", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewAttributeMe (class ID 289) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewAttributeMe(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*attributemeBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/authenticationsecuritymethod.go b/vendor/github.com/opencord/omci-lib-go/generated/authenticationsecuritymethod.go
new file mode 100644
index 0000000..bd8d2f6
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/authenticationsecuritymethod.go
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// AuthenticationSecurityMethodClassID is the 16-bit ID for the OMCI
+// Managed entity Authentication security method
+const AuthenticationSecurityMethodClassID ClassID = ClassID(148)
+
+var authenticationsecuritymethodBME *ManagedEntityDefinition
+
+// AuthenticationSecurityMethod (class ID #148)
+//	The authentication security method defines the user ID and password configuration to establish a
+//	session between a client and a server. This object may be used in the role of the client or
+//	server. An instance of this ME is created by the OLT if authenticated communication is
+//	necessary.
+//
+//	Relationships
+//		One instance of this management entity may be associated with a network address ME. This ME may
+//		also be cited by other MEs that require authentication parameter management.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0xFFFF
+//			is reserved. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Validation Scheme
+//			(R,-W) (mandatory) (1-byte)
+//
+//		Username 1
+//			Username 1:	This string attribute is the user name. If the string is shorter than 25-bytes, it
+//			must be null terminated (Note). (R,-W) (mandatory) (25-bytes)
+//
+//		Password
+//			Password:	This string attribute is the password. If the string is shorter than 25-bytes, it must
+//			be null terminated. (R,-W) (mandatory) (25-bytes)
+//
+//		Realm
+//			Realm:	This string attribute specifies the realm used in digest authentication. If the string is
+//			shorter than 25-bytes, it must be null terminated. (R,-W) (mandatory) (25-bytes)
+//
+//		Username 2
+//			NOTE - The total username is the concatenation of the username 1 and username 2 attributes if
+//			and only if: a) username 1 comprises 25 non-null characters; b) username 2 is supported by the
+//			ONU; and c) username 2 contains a leading non-null character string. Otherwise, the total
+//			username is simply the value of the username 1 attribute.
+//
+type AuthenticationSecurityMethod struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	authenticationsecuritymethodBME = &ManagedEntityDefinition{
+		Name:    "AuthenticationSecurityMethod",
+		ClassID: 148,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xf800,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("ValidationScheme", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: MultiByteField("Username1", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField("Password", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField("Realm", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: MultiByteField("Username2", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 5),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewAuthenticationSecurityMethod (class ID 148) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewAuthenticationSecurityMethod(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*authenticationsecuritymethodBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/bbftr-069managementserver.go b/vendor/github.com/opencord/omci-lib-go/generated/bbftr-069managementserver.go
similarity index 70%
rename from vendor/github.com/cboling/omci/generated/bbftr-069managementserver.go
rename to vendor/github.com/opencord/omci-lib-go/generated/bbftr-069managementserver.go
index c3108af..b9bf56c 100644
--- a/vendor/github.com/cboling/omci/generated/bbftr-069managementserver.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/bbftr-069managementserver.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const BbfTr069ManagementServerClassId ClassID = ClassID(340)
+// BbfTr069ManagementServerClassID is the 16-bit ID for the OMCI
+// Managed entity BBF TR-069 management server
+const BbfTr069ManagementServerClassID ClassID = ClassID(340)
 
 var bbftr069managementserverBME *ManagedEntityDefinition
 
@@ -29,7 +35,7 @@
 //	If functions within the ONU are managed by [BBF TR-069], this ME allows OMCI configuration of
 //	the autoconfiguration server (ACS) URL and related authentication information for an ACS
 //	connection initiated by the ONU. [BBF TR-069] supports other means to discover its ACS, so not
-//	all BBF TR069-compatible ONUs necessarily support this ME. Furthermore, even if the ONU does
+//	all BBF-TR069-compatible ONUs necessarily support this ME. Furthermore, even if the ONU does
 //	support this ME, some operators may choose not to use it.
 //
 //	An ONU that supports OMCI configuration of ACS information automatically creates instances of
@@ -43,13 +49,13 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of a VEIP that links to the BBF TR-069
-//			management domain. (R) (mandatory) (2 bytes)
+//			management domain. (R) (mandatory) (2-bytes)
 //
 //		Administrative State
 //			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
 //			ME. When the administrative state is locked, the functions of this ME are disabled. BBF TR-069
 //			connectivity to an ACS may be possible through means that do not depend on this ME. The default
-//			value of this attribute is locked. (R,W) (mandatory) (1 byte)
+//			value of this attribute is locked. (R,W) (mandatory) (1-byte)
 //
 //		Acs Network Address
 //			ACS network address: This attribute points to an instance of a network address ME that contains
@@ -57,9 +63,9 @@
 //
 //		Associated Tag
 //			Associated tag: This attribute is a TCI value for BBF TR-069 management traffic passing through
-//			the VEIP. A TCI, comprising user priority, CFI and VID, is represented by 2 bytes. The value
+//			the VEIP. A TCI, comprising user priority, CFI and VID, is represented by 2-bytes. The value
 //			0xFFFF specifies that BBF TR-069 management traffic passes through the VEIP with neither a VLAN
-//			nor a priority tag. (R, W) (mandatory) (2 bytes)
+//			nor a priority tag. (R, W) (mandatory) (2-bytes)
 //
 type BbfTr069ManagementServer struct {
 	ManagedEntityDefinition
@@ -74,19 +80,21 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XE000,
+		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2: Uint16Field("AcsNetworkAddress", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3: Uint16Field("AssociatedTag", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: Uint16Field("AcsNetworkAddress", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint16Field("AssociatedTag", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewBbfTr069ManagementServer (class ID 340 creates the basic
+// NewBbfTr069ManagementServer (class ID 340) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewBbfTr069ManagementServer(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(bbftr069managementserverBME, params...)
+	return NewManagedEntity(*bbftr069managementserverBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/callcontrolperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/callcontrolperformancemonitoringhistorydata.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/callcontrolperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/callcontrolperformancemonitoringhistorydata.go
index 42527d2..eb015ed 100644
--- a/vendor/github.com/cboling/omci/generated/callcontrolperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/callcontrolperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const CallControlPerformanceMonitoringHistoryDataClassId ClassID = ClassID(140)
+// CallControlPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity Call control performance monitoring history data
+const CallControlPerformanceMonitoringHistoryDataClassID ClassID = ClassID(140)
 
 var callcontrolperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -38,39 +44,39 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the PPTP POTS UNI. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Call Setup Failures
-//			Call setup failures: This attribute counts call set-up failures. (R) (mandatory) (4 bytes)
+//			Call setup failures: This attribute counts call set-up failures. (R) (mandatory) (4-bytes)
 //
 //		Call Setup Timer
 //			Call setup timer: This attribute is a high water-mark that records the longest duration of a
 //			single call set-up detected during this interval. Time is measured in milliseconds from the time
 //			an initial set-up was requested by the subscriber until the time at which a response was
 //			provided to the subscriber in the form of busy tone, audible ring tone, etc. (R) (mandatory)
-//			(4 bytes)
+//			(4-bytes)
 //
 //		Call Terminate Failures
 //			Call terminate failures: This attribute counts the number of calls that were terminated with
-//			cause. (R) (mandatory) (4 bytes)
+//			cause. (R) (mandatory) (4-bytes)
 //
 //		Analog Port Releases
 //			Analog port releases: This attribute counts the number of analogue port releases without
-//			dialling detected (abandoned calls). (R) (mandatory) (4 bytes)
+//			dialling detected (abandoned calls). (R) (mandatory) (4-bytes)
 //
 //		Analog Port Off_Hook Timer
 //			Analog port off-hook timer: This attribute is a high water-mark that records the longest period
 //			of a single off-hook detected on the analogue port. Time is measured in milliseconds. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 type CallControlPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -87,23 +93,32 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFE00,
+		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("CallSetupFailures", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("CallSetupTimer", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("CallTerminateFailures", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("AnalogPortReleases", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("AnalogPortOffHookTimer", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("CallSetupFailures", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("CallSetupTimer", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("CallTerminateFailures", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("AnalogPortReleases", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("AnalogPortOffHookTimer", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "CCPM call set-up fail",
+			1: "CCPM set-up timeout",
+			2: "CCPM call terminate",
+			3: "CCPM port release with no dialling",
+			4: "CCPM port offhook timeout",
 		},
 	}
 }
 
-// NewCallControlPerformanceMonitoringHistoryData (class ID 140 creates the basic
+// NewCallControlPerformanceMonitoringHistoryData (class ID 140) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewCallControlPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(callcontrolperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*callcontrolperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/cardholder.go b/vendor/github.com/opencord/omci-lib-go/generated/cardholder.go
similarity index 71%
rename from vendor/github.com/cboling/omci/generated/cardholder.go
rename to vendor/github.com/opencord/omci-lib-go/generated/cardholder.go
index 0a3059b..0bd413f 100644
--- a/vendor/github.com/cboling/omci/generated/cardholder.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/cardholder.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const CardholderClassId ClassID = ClassID(5)
+// CardholderClassID is the 16-bit ID for the OMCI
+// Managed entity Cardholder
+const CardholderClassID ClassID = ClassID(5)
 
 var cardholderBME *ManagedEntityDefinition
 
@@ -66,55 +72,55 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			NOTE 1 – Some xDSL MEs use the two MSBs of the slot number for other purposes. An ONU that
+//			NOTE 1 - Some xDSL MEs use the two MSBs of the slot number for other purposes. An ONU that
 //			supports these services may have slot limitations or restrictions.
 //
 //		Actual Plug In Unit Type
 //			Actual plugin unit type: This attribute is equal to the type of the circuit pack in the
 //			cardholder, or 0 if the cardholder is empty. When the cardholder is populated, this attribute is
 //			the same as the type attribute of the corresponding circuit pack ME. Circuit pack types are
-//			defined in Table 9.1.5-1. (R) (mandatory) (1 byte)
+//			defined in Table 9.1.5-1. (R) (mandatory) (1-byte)
 //
 //		Expected Plug_In Unit Type
 //			Expected plug-in unit type: This attribute provisions the type of circuit pack for the slot. For
 //			type coding, see Table 9.1.5-1. The value 0 means that the cardholder is not provisioned to
 //			contain a circuit pack. The value 255 means that the cardholder is configured for plug-and-play.
 //			Upon ME instantiation, the ONU sets this attribute to 0. For integrated interfaces, this
-//			attribute may be used to represent the type of interface. (R, W) (mandatory) (1 byte)
+//			attribute may be used to represent the type of interface. (R,-W) (mandatory) (1-byte)
 //
 //		Expected Port Count
 //			Expected port count: This attribute permits the OLT to specify the number of ports it expects in
 //			a circuit pack. Prior to provisioning by the OLT, the ONU initializes this attribute to 0.
-//			(R, W) (optional) (1 byte)
+//			(R,-W) (optional) (1-byte)
 //
 //		Expected Equipment Id
 //			Expected equipment ID: This attribute provisions the specific type of expected circuit pack.
 //			This attribute applies only to ONUs that do not have integrated interfaces. In some
 //			environments, this may contain the expected CLEI code. Upon ME instantiation, the ONU sets this
-//			attribute to all spaces. (R, W) (optional) (20 bytes)
+//			attribute to all spaces. (R,-W) (optional) (20-bytes)
 //
 //		Actual Equipment Id
 //			Actual equipment ID: This attribute identifies the specific type of circuit pack, once it is
 //			installed. This attribute applies only to ONUs that do not have integrated interfaces. In some
 //			environments, this may include the CLEI code. When the slot is empty or the equipment ID is not
-//			known, this attribute should be set to all spaces. (R) (optional) (20 bytes)
+//			known, this attribute should be set to all spaces. (R) (optional) (20-bytes)
 //
 //		Protection Profile Pointer
 //			Protection profile pointer: This attribute specifies an equipment protection profile that may be
 //			associated with the cardholder. Its value is the least significant byte of the ME ID of the
 //			equipment protection profile with which it is associated, or 0 if equipment protection is not
-//			used. (R) (optional) (1 byte)
+//			used. (R) (optional) (1-byte)
 //
 //		Invoke Protection Switch
 //			When circuit packs that support a PON interface (IF) function are switched, the response should
 //			be returned on the same PON that received the command. However, the OLT should also be prepared
-//			to accept a response on the redundant PON. (R, W) (optional) (1 byte)
+//			to accept a response on the redundant PON. (R,-W) (optional) (1-byte)
 //
 //		Alarm _ Reporting Control
-//			Alarm-reporting control (ARC): See clause A.1.4.3. (R, W) (optional) (1 byte)
+//			Alarm-reporting control (ARC): See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 //		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 type Cardholder struct {
 	ManagedEntityDefinition
@@ -129,25 +135,34 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF80,
+		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("ActualPlugInUnitType", 0, mapset.NewSetWith(Read), true, false, false, false, 1),
-			2: ByteField("ExpectedPlugInUnitType", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3: ByteField("ExpectedPortCount", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 3),
-			4: MultiByteField("ExpectedEquipmentId", 20, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5: MultiByteField("ActualEquipmentId", 20, nil, mapset.NewSetWith(Read), true, false, true, false, 5),
-			6: ByteField("ProtectionProfilePointer", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
-			7: ByteField("InvokeProtectionSwitch", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 7),
-			8: ByteField("AlarmReportingControl", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 8),
-			9: ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("ActualPlugInUnitType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), true, false, false, 1),
+			2: ByteField("ExpectedPlugInUnitType", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField("ExpectedPortCount", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: MultiByteField("ExpectedEquipmentId", StringAttributeType, 0x1000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: MultiByteField("ActualEquipmentId", StringAttributeType, 0x0800, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, true, false, 5),
+			6: ByteField("ProtectionProfilePointer", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: ByteField("InvokeProtectionSwitch", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8: ByteField("AlarmReportingControl", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
+			9: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Plug-in circuit pack missing",
+			1: "Plug-in type mismatch alarm",
+			2: "Improper card removal",
+			3: "Plug-in equipment ID mismatch alarm",
+			4: "Protection switch",
 		},
 	}
 }
 
-// NewCardholder (class ID 5 creates the basic
+// NewCardholder (class ID 5) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewCardholder(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(cardholderBME, params...)
+	return NewManagedEntity(*cardholderBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/cesserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/cesserviceprofile.go
similarity index 63%
rename from vendor/github.com/cboling/omci/generated/cesserviceprofile.go
rename to vendor/github.com/opencord/omci-lib-go/generated/cesserviceprofile.go
index 50251f8..b32aa62 100644
--- a/vendor/github.com/cboling/omci/generated/cesserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/cesserviceprofile.go
@@ -1,32 +1,38 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const CesServiceProfileClassId ClassID = ClassID(21)
+// CesServiceProfileClassID is the 16-bit ID for the OMCI
+// Managed entity CES service profile
+const CesServiceProfileClassID ClassID = ClassID(21)
 
 var cesserviceprofileBME *ManagedEntityDefinition
 
 // CesServiceProfile (class ID #21)
-//	NOTE – In [ITU-T G.984.4], this ME is called a CES service profile-G.
+//	NOTE - In [ITU-T G.984.4], this ME is called a CES service profile-G.
 //
 //	An instance of this ME organizes data that describe the CES service functions of the ONU.
 //	Instances of this ME are created and deleted by the OLT.
@@ -37,16 +43,16 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Ces Buffered Cdv Tolerance
 //			CES buffered CDV tolerance: This attribute represents the duration of user data that must be
-//			buffered by the CES IW entity to offset packet delay variation. It is expressed in 10 µs
-//			increments. 75 (750 μs) is suggested as a default value. (R, W, setbycreate) (mandatory)
-//			(2 bytes)
+//			buffered by the CES IW entity to offset packet delay variation. It is expressed in 10-us
+//			increments. 75 (750-vs) is suggested as a default value. (R,-W, setbycreate) (mandatory)
+//			(2-bytes)
 //
 //		Channel Associated Signalling Cas
-//			(R, W, setbycreate) (optional) (1 byte)
+//			(R,-W, setbycreate) (optional) (1-byte)
 //
 type CesServiceProfile struct {
 	ManagedEntityDefinition
@@ -63,18 +69,20 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XC000,
+		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("CesBufferedCdvTolerance", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("ChannelAssociatedSignallingCas", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 2),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("CesBufferedCdvTolerance", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("ChannelAssociatedSignallingCas", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewCesServiceProfile (class ID 21 creates the basic
+// NewCesServiceProfile (class ID 21) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewCesServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(cesserviceprofileBME, params...)
+	return NewManagedEntity(*cesserviceprofileBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/circuitpack.go b/vendor/github.com/opencord/omci-lib-go/generated/circuitpack.go
similarity index 68%
rename from vendor/github.com/cboling/omci/generated/circuitpack.go
rename to vendor/github.com/opencord/omci-lib-go/generated/circuitpack.go
index e9b5b0b..e40e29a 100644
--- a/vendor/github.com/cboling/omci/generated/circuitpack.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/circuitpack.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const CircuitPackClassId ClassID = ClassID(6)
+// CircuitPackClassID is the 16-bit ID for the OMCI
+// Managed entity Circuit pack
+const CircuitPackClassID ClassID = ClassID(6)
 
 var circuitpackBME *ManagedEntityDefinition
 
@@ -35,18 +41,18 @@
 //	OLT provisions the cardholder to expect a circuit pack, i.e., when the OLT sets the expected
 //	plug-in unit type or equipment ID of the cardholder to a circuit pack type, as defined in Table
 //	9.1.5-1. The ONU also creates an instance of this ME when a circuit pack is installed in a
-//	cardholder whose expected plug-in unit type is 255 = plugandplay, and whose equipment ID is not
+//	cardholder whose expected plug-in unit type is 255-= plugandplay, and whose equipment ID is not
 //	provisioned. Finally, when the cardholder is provisioned for plug-and-play, an instance of this
 //	ME can be created at the request of the OLT.
 //
 //	The ONU deletes an instance of this ME when the OLT de-provisions the circuit pack (i.e., when
-//	the OLT sets the expected plug-in unit type or equipment ID of the cardholder to 0 = no LIM).
+//	the OLT sets the expected plug-in unit type or equipment ID of the cardholder to 0-= no LIM).
 //	The ONU also deletes an instance of this ME on request of the OLT if the expected plug-in unit
 //	type attribute of the corresponding cardholder is equal to 255, plug-and-play, and the expected
 //	equipment ID is blank (a string of all spaces). ONUs with integrated interfaces do not delete
 //	circuit pack instances.
 //
-//	NOTE – Creation and deletion by the OLT is retained for backward compatibility.
+//	NOTE - Creation and deletion by the OLT is retained for backward compatibility.
 //
 //	Relationships
 //		An instance of this ME is contained by an instance of the cardholder ME.
@@ -55,7 +61,7 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Its value is the
 //			same as that of the cardholder ME containing this circuit pack instance. (R, setbycreate if
-//			applicable) (mandatory) (2 bytes)
+//			applicable) (mandatory) (2-bytes)
 //
 //		Type
 //			Type:	This attribute identifies the circuit pack type. This attribute is a code as defined in
@@ -63,67 +69,67 @@
 //			recognized by the ONU or is not mapped to an entry in Table 9.1.5-1. In the latter case, the
 //			equipment ID attribute may contain inventory information. Upon autonomous ME instantiation, the
 //			ONU sets this attribute to 0 or to the type of the circuit pack that is physically present. (R,
-//			setbycreate if applicable) (mandatory) (1 byte)
+//			setbycreate if applicable) (mandatory) (1-byte)
 //
 //		Number Of Ports
 //			Number of ports: This attribute is the number of access ports on the circuit pack. If the port-
 //			mapping package is supported for this circuit pack, this attribute should be set to the total
-//			number of ports of all types. (R) (optional) (1 byte)
+//			number of ports of all types. (R) (optional) (1-byte)
 //
 //		Serial Number
 //			Serial number: The serial number is expected to be unique for each circuit pack, at least within
 //			the scope of the given vendor. Note that the serial number may contain the vendor ID or version
 //			number. For integrated ONUs, this value is identical to the value of the serial number attribute
 //			of the ONU-G ME. Upon creation in the absence of a physical circuit pack, this attribute
-//			comprises all spaces. (R) (mandatory) (8 bytes)
+//			comprises all spaces. (R) (mandatory) (8-bytes)
 //
 //		Version
 //			Version:	This attribute is a string that identifies the version of the circuit pack as defined
 //			by the vendor. The value 0 indicates that version information is not available or applicable.
 //			For integrated ONUs, this value is identical to the value of the version attribute of the ONU-G
 //			ME. Upon creation in the absence of a physical circuit pack, this attribute comprises all
-//			spaces. (R) (mandatory) (14 bytes)
+//			spaces. (R) (mandatory) (14-bytes)
 //
 //		Vendor Id
 //			Vendor ID:	This attribute identifies the vendor of the circuit pack. For ONUs with integrated
 //			interfaces, this value is identical to the value of the vendor ID attribute of the ONU-G ME.
 //			Upon creation in the absence of a physical circuit pack, this attribute comprises all spaces.
-//			(R) (optional) (4 bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Administrative State
 //			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is further described in clause A.1.6. (R, W) (mandatory) (1 byte)
+//			ME. Administrative state is further described in clause A.1.6. (R,-W) (mandatory) (1-byte)
 //
 //		Operational State
 //			Operational state: This attribute indicates whether the circuit pack is capable of performing
 //			its function. Valid values are enabled (0), disabled (1) and unknown (2). Pending completion of
 //			initialization and self-test on an installed circuit pack, the ONU sets this attribute to 2. (R)
-//			(optional) (1 byte)
+//			(optional) (1-byte)
 //
 //		Bridged Or Ip Ind
-//			(R, W) (optional, only applicable for circuit packs with Ethernet interfaces) (1 byte)
+//			(R,-W) (optional, only applicable for circuit packs with Ethernet interfaces) (1-byte)
 //
 //		Equipment Id
 //			Equipment ID: This attribute may be used to identify the vendor's specific type of circuit pack.
 //			In some environments, this attribute may include the CLEI code. Upon ME instantiation, the ONU
 //			sets this attribute to all spaces or to the equipment ID of the circuit pack that is physically
-//			present. (R) (optional) (20 bytes)
+//			present. (R) (optional) (20-bytes)
 //
 //		Card Configuration
-//			Upon autonomous instantiation, this attribute is set to 0. (R, W, setbycreate if applicable)
-//			(mandatory for configurable circuit packs) (1 byte)
+//			Upon autonomous instantiation, this attribute is set to 0. (R,-W, setbycreate if applicable)
+//			(mandatory for configurable circuit packs) (1-byte)
 //
 //		Total T_Cont Buffer Number
 //			Total T-CONT buffer number: This attribute reports the total number of T-CONT buffers associated
 //			with the circuit pack. Upon ME instantiation, the ONU sets this attribute to 0 or to the value
 //			supported by the physical circuit pack. (R) (mandatory for circuit packs that provide a traffic
-//			scheduler function) (1 byte)
+//			scheduler function) (1-byte)
 //
 //		Total Priority Queue Number
 //			Total priority queue number: This value reports the total number of priority queues associated
 //			with the circuit pack. Upon ME instantiation, the ONU sets the attribute to 0 or to the value
 //			supported by the physical circuit pack. (R) (mandatory for circuit packs that provide a traffic
-//			scheduler function) (1 byte)
+//			scheduler function) (1-byte)
 //
 //		Total Traffic Scheduler Number
 //			Total traffic scheduler number: This value reports the total number of traffic schedulers
@@ -132,14 +138,14 @@
 //			circuit pack has no traffic scheduler, this attribute should be absent or have the value 0. Upon
 //			ME instantiation, the ONU sets the attribute to 0 or to the value supported by the physical
 //			circuit pack. (R) (mandatory for circuit packs that provide a traffic scheduler function)
-//			(1 byte)
+//			(1-byte)
 //
 //		Power Shed Override
 //			Power shed override: This attribute allows ports to be excluded from the power shed control
 //			defined in clause 9.1.7. It is a bit mask that takes port 1 as the MSB; a bit value of 1 marks
 //			the corresponding port to override the power shed timer. For hardware that cannot shed power per
 //			port, this attribute is a slot override rather than a port override, with any non-zero port
-//			value causing the entire circuit pack to override power shedding. (R, W) (optional) (4 bytes)
+//			value causing the entire circuit pack to override power shedding. (R,-W) (optional) (4-bytes)
 //
 type CircuitPack struct {
 	ManagedEntityDefinition
@@ -155,30 +161,40 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFC,
+		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("Type", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 1),
-			2:  ByteField("NumberOfPorts", 0, mapset.NewSetWith(Read), false, false, true, false, 2),
-			3:  Uint64Field("SerialNumber", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  MultiByteField("Version", 14, nil, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("VendorId", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 7),
-			8:  ByteField("BridgedOrIpInd", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  MultiByteField("EquipmentId", 20, nil, mapset.NewSetWith(Read), false, false, true, false, 9),
-			10: ByteField("CardConfiguration", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
-			11: ByteField("TotalTContBufferNumber", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: ByteField("TotalPriorityQueueNumber", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: ByteField("TotalTrafficSchedulerNumber", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("PowerShedOverride", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 14),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("Type", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 1),
+			2:  ByteField("NumberOfPorts", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
+			3:  MultiByteField("SerialNumber", OctetsAttributeType, 0x2000, 8, toOctets("ICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 3),
+			4:  MultiByteField("Version", OctetsAttributeType, 0x1000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 4),
+			5:  MultiByteField("VendorId", StringAttributeType, 0x0800, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField("AdministrativeState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField("OperationalState", EnumerationAttributeType, 0x0200, 2, mapset.NewSetWith(Read), true, true, false, 7),
+			8:  ByteField("BridgedOrIpInd", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  MultiByteField("EquipmentId", StringAttributeType, 0x0080, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField("CardConfiguration", EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField("TotalTContBufferNumber", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: ByteField("TotalPriorityQueueNumber", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: ByteField("TotalTrafficSchedulerNumber", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("PowerShedOverride", BitFieldAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Equipment alarm",
+			1: "Powering alarm",
+			2: "Self-test failure",
+			3: "Laser end of life",
+			4: "Temperature yellow",
+			5: "Temperature red",
 		},
 	}
 }
 
-// NewCircuitPack (class ID 6 creates the basic
+// NewCircuitPack (class ID 6) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewCircuitPack(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(circuitpackBME, params...)
+	return NewManagedEntity(*circuitpackBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/classaccess.go b/vendor/github.com/opencord/omci-lib-go/generated/classaccess.go
new file mode 100644
index 0000000..dbfeaf7
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/classaccess.go
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+// ClassAccess specifies whether the ONU, OLT, or both are responsible for creating
+// this Managed Entity
+type ClassAccess int
+
+const (
+	UnknownAccess = iota
+	CreatedByOnu
+	CreatedByOlt
+	CreatedByBoth
+)
+
+func (ca ClassAccess) String() string {
+	return [...]string{"Unknown", "Created by ONU", "Created by OLT", "Created by both OLT & ONU"}[ca]
+}
diff --git a/vendor/github.com/cboling/omci/generated/classidmap.go b/vendor/github.com/opencord/omci-lib-go/generated/classidmap.go
similarity index 84%
rename from vendor/github.com/cboling/omci/generated/classidmap.go
rename to vendor/github.com/opencord/omci-lib-go/generated/classidmap.go
index 77e6a0c..2fe9ea1 100644
--- a/vendor/github.com/cboling/omci/generated/classidmap.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/classidmap.go
@@ -1,25 +1,27 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
-package generated
 
-import "fmt"
+package generated
 
 // ManagedEntityInfo provides ManagedEntity information
 type ManagedEntityInfo struct {
@@ -51,7 +53,7 @@
 
 func init() {
 	// Create mapping of 16-bit managed entity class IDs to ME-type
-	classToManagedEntityMap = make(map[ClassID]CreateME, 160)
+	classToManagedEntityMap = make(map[ClassID]CreateME, 177)
 
 	classToManagedEntityMap[2] = NewOnuData
 	classToManagedEntityMap[5] = NewCardholder
@@ -93,6 +95,8 @@
 	classToManagedEntityMap[107] = NewXdslChannelConfigurationProfile
 	classToManagedEntityMap[108] = NewXdslSubcarrierMaskingDownstreamProfile
 	classToManagedEntityMap[109] = NewXdslSubcarrierMaskingUpstreamProfile
+	classToManagedEntityMap[110] = NewXdslPsdMaskProfile
+	classToManagedEntityMap[111] = NewXdslDownstreamRfiBandsProfile
 	classToManagedEntityMap[112] = NewXdslXtuCPerformanceMonitoringHistoryData
 	classToManagedEntityMap[113] = NewXdslXtuRPerformanceMonitoringHistoryData
 	classToManagedEntityMap[114] = NewXdslXtuCChannelPerformanceMonitoringHistoryData
@@ -125,6 +129,9 @@
 	classToManagedEntityMap[160] = NewEquipmentExtensionPackage
 	classToManagedEntityMap[162] = NewPhysicalPathTerminationPointMocaUni
 	classToManagedEntityMap[163] = NewMocaEthernetPerformanceMonitoringHistoryData
+	classToManagedEntityMap[168] = NewVdsl2LineInventoryAndStatusDataPart1
+	classToManagedEntityMap[169] = NewVdsl2LineInventoryAndStatusDataPart2
+	classToManagedEntityMap[170] = NewVdsl2LineInventoryAndStatusDataPart3
 	classToManagedEntityMap[171] = NewExtendedVlanTaggingOperationConfigurationData
 	classToManagedEntityMap[256] = NewOnuG
 	classToManagedEntityMap[257] = NewOnu2G
@@ -161,12 +168,19 @@
 	classToManagedEntityMap[301] = NewDot1AgDefaultMdLevel
 	classToManagedEntityMap[302] = NewDot1AgMep
 	classToManagedEntityMap[305] = NewDot1AgCfmStack
+	classToManagedEntityMap[306] = NewDot1AgChassisManagementInfo
+	classToManagedEntityMap[307] = NewOctetString
+	classToManagedEntityMap[309] = NewMulticastOperationsProfile
 	classToManagedEntityMap[310] = NewMulticastSubscriberConfigInfo
 	classToManagedEntityMap[311] = NewMulticastSubscriberMonitor
 	classToManagedEntityMap[313] = NewReAniG
+	classToManagedEntityMap[314] = NewPhysicalPathTerminationPointReUni
+	classToManagedEntityMap[315] = NewReUpstreamAmplifier
 	classToManagedEntityMap[316] = NewReDownstreamAmplifier
 	classToManagedEntityMap[321] = NewEthernetFramePerformanceMonitoringHistoryDataDownstream
 	classToManagedEntityMap[322] = NewEthernetFramePerformanceMonitoringHistoryDataUpstream
+	classToManagedEntityMap[323] = NewVdsl2LineConfigurationExtensions2
+	classToManagedEntityMap[324] = NewXdslImpulseNoiseMonitorPerformanceMonitoringHistoryData
 	classToManagedEntityMap[325] = NewXdslLineInventoryAndStatusDataPart5
 	classToManagedEntityMap[328] = NewReCommonAmplifierParameters
 	classToManagedEntityMap[329] = NewVirtualEthernetInterfacePoint
@@ -175,6 +189,7 @@
 	classToManagedEntityMap[334] = NewEthernetFrameExtendedPm
 	classToManagedEntityMap[335] = NewSnmpConfigurationData
 	classToManagedEntityMap[336] = NewOnuDynamicPowerManagementControl
+	classToManagedEntityMap[337] = NewPwAtmConfigurationData
 	classToManagedEntityMap[338] = NewPwAtmPerformanceMonitoringHistoryData
 	classToManagedEntityMap[339] = NewPwEthernetConfigurationData
 	classToManagedEntityMap[340] = NewBbfTr069ManagementServer
@@ -189,7 +204,9 @@
 	classToManagedEntityMap[408] = NewXdslXtuCPerformanceMonitoringHistoryDataPart2
 	classToManagedEntityMap[410] = NewVdsl2LineConfigurationExtensions3
 	classToManagedEntityMap[412] = NewXdslChannelConfigurationProfilePart2
+	classToManagedEntityMap[413] = NewXtuDataGatheringConfiguration
 	classToManagedEntityMap[414] = NewXdslLineInventoryAndStatusDataPart8
+	classToManagedEntityMap[419] = NewEfmBondingGroup
 	classToManagedEntityMap[420] = NewEfmBondingLink
 	classToManagedEntityMap[421] = NewEfmBondingGroupPerformanceMonitoringHistoryData
 	classToManagedEntityMap[422] = NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2
@@ -213,17 +230,23 @@
 	classToManagedEntityMap[450] = NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart2
 	classToManagedEntityMap[451] = NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart3
 	classToManagedEntityMap[452] = NewTwdmChannelOmciPerformanceMonitoringHistoryData
+	classToManagedEntityMap[453] = NewEnhancedFecPerformanceMonitoringHistoryData
+	classToManagedEntityMap[454] = NewEnhancedTcPerformanceMonitoringHistoryData
 }
 
+// LoadManagedEntityDefinition returns a function to create a Managed Entity for a specific
+// Managed Entity class ID
 func LoadManagedEntityDefinition(classID ClassID, params ...ParamData) (*ManagedEntity, OmciErrors) {
-	newFunc, ok := classToManagedEntityMap[classID]
-	if ok {
+	if newFunc, ok := classToManagedEntityMap[classID]; ok {
 		return newFunc(params...)
 	}
-	return nil, NewUnknownEntityError(fmt.Sprintf("managed entity %d (%#x) definition not found",
-		uint16(classID), uint16(classID)))
+	if IsVendorSpecificClassID(classID) {
+		return NewUnknownVendorSpecificME(classID, params...)
+	}
+	return NewUnknownG988ME(classID, params...)
 }
 
+// GetSupportedClassIDs returns an array of Managed Entity Class IDs supported
 func GetSupportedClassIDs() []ClassID {
 	supported := make([]ClassID, 0, len(classToManagedEntityMap))
 	for k := range classToManagedEntityMap {
@@ -231,3 +254,21 @@
 	}
 	return supported
 }
+
+// GetAttributesDefinitions returns the attribute definition map for a specific class
+func GetAttributesDefinitions(classID ClassID) (AttributeDefinitionMap, OmciErrors) {
+	medef, err := LoadManagedEntityDefinition(classID)
+	if err.StatusCode() != Success {
+		return nil, err
+	}
+	return medef.GetAttributeDefinitions(), err
+}
+
+// IsVendorSpecificClassID returns true if the provided class ID is reserved in ITU-T G.988
+// for vendor specific functionality
+func IsVendorSpecificClassID(classID ClassID) bool {
+	// Values below are from Table 11.2.4-1 of ITU-T G.988 (11/2017)
+	return (ClassID(240) <= classID && classID <= ClassID(255)) ||
+		(ClassID(350) <= classID && classID <= ClassID(399)) ||
+		(ClassID(65280) <= classID && classID <= ClassID(65535))
+}
\ No newline at end of file
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/classsupport.go b/vendor/github.com/opencord/omci-lib-go/generated/classsupport.go
new file mode 100644
index 0000000..df47014
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/classsupport.go
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+
+package generated
+
+// ClassSupport specifies the support for this Managed Entity by the ONU
+type ClassSupport int
+
+const (
+	UnknownSupport     = iota
+	Supported          // Supported as defined by this object
+	Unsupported        // OMCI returns error code if accessed
+	PartiallySupported // some aspects of ME supported
+	Ignored            // OMCI supported, but underlying function is now
+
+	// The following two are specific unsupported Managed Entity Definitions
+	UnsupportedManagedEntity               // Unsupported ITU G.988 Class ID
+	UnsupportedVendorSpecificManagedEntity // Unsupported Vendor Specific Class ID
+)
+
+func (cs ClassSupport) String() string {
+	return [...]string{"Unknown", "Supported", "Unsupported", "Partially Supported", "Ignored",
+		"Unsupported", "Vendor Specific"}[cs]
+}
diff --git a/vendor/github.com/cboling/omci/generated/dot1agcfmstack.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1agcfmstack.go
similarity index 70%
rename from vendor/github.com/cboling/omci/generated/dot1agcfmstack.go
rename to vendor/github.com/opencord/omci-lib-go/generated/dot1agcfmstack.go
index 1744eea..9372126 100644
--- a/vendor/github.com/cboling/omci/generated/dot1agcfmstack.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1agcfmstack.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Dot1AgCfmStackClassId ClassID = ClassID(305)
+// Dot1AgCfmStackClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1ag CFM stack
+const Dot1AgCfmStackClassID ClassID = ClassID(305)
 
 var dot1agcfmstackBME *ManagedEntityDefinition
 
@@ -38,19 +44,19 @@
 //	Relationships
 //		An ONU that supports [IEEE 802.1ag] creates one instance of this ME for each MAC bridge or IEEE
 //		802.1p mapper, depending on its provisioning model. It should not create an instance for an
-//		IEEE 802.1p mapper that is associated with a MAC bridge.
+//		IEEE-802.1p mapper that is associated with a MAC bridge.
 //
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies an instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge service profile ME
 //			or an IEEE 802.1p mapper ME. It is expected that an ONU will implement CFM on bridges or on
-//			IEEE 802.1p mappers, but not both. For precision, the reference is disambiguated by the value of
-//			the layer 2 type pointer attribute. (R) (mandatory) (2 bytes)
+//			IEEE-802.1p mappers, but not both. For precision, the reference is disambiguated by the value of
+//			the layer 2 type pointer attribute. (R) (mandatory) (2-bytes)
 //
 //		Layer 2 Type
 //			Layer 2 type:	This attribute specifies whether the dot1ag CFM stack is associated with a MAC
-//			bridge service profile (value 0) or an IEEE 802.1p mapper (value 1). (R) (mandatory) (1 byte)
+//			bridge service profile (value 0) or an IEEE 802.1p mapper (value 1). (R) (mandatory) (1-byte)
 //
 //		Mp Status Table
 //			(R) (mandatory) (18N bytes)
@@ -71,19 +77,21 @@
 			Get,
 			GetNext,
 		),
-		AllowedAttributeMask: 0XE000,
+		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("Layer2Type", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: TableField("MpStatusTable", TableInfo{nil, 18}, mapset.NewSetWith(Read), false, false, false, 2),
-			3: TableField("ConfigurationErrorListTable", TableInfo{nil, 5}, mapset.NewSetWith(Read), true, false, false, 3),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("Layer2Type", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: TableField("MpStatusTable", TableAttributeType, 0x4000, TableInfo{nil, 18}, mapset.NewSetWith(Read), false, false, false, 2),
+			3: TableField("ConfigurationErrorListTable", TableAttributeType, 0x2000, TableInfo{nil, 5}, mapset.NewSetWith(Read), true, false, false, 3),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewDot1AgCfmStack (class ID 305 creates the basic
+// NewDot1AgCfmStack (class ID 305) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewDot1AgCfmStack(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(dot1agcfmstackBME, params...)
+	return NewManagedEntity(*dot1agcfmstackBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/dot1agchassis-managementinfo.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1agchassis-managementinfo.go
new file mode 100644
index 0000000..166c9d5
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1agchassis-managementinfo.go
@@ -0,0 +1,128 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// Dot1AgChassisManagementInfoClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1ag chassis-management info
+const Dot1AgChassisManagementInfoClassID ClassID = ClassID(306)
+
+var dot1agchassismanagementinfoBME *ManagedEntityDefinition
+
+// Dot1AgChassisManagementInfo (class ID #306)
+//	This ME represents the system-level chassis ID or management address for [IEEE-802.1ag] CFM
+//	messages, and potentially for other IEEE 802-based functions. Although [IEEE-802.1AB] allows for
+//	several management addresses (synonyms in different formats or with granularity to the component
+//	level), [IEEE-802.1ag] does not provide for more than one. Nor is it expected that an ONU would
+//	require more than one format. Accordingly, this ME provides for only one.
+//
+//	According to sender ID permission attributes in several dot1ag MEs, transmitted IEEE-802.1ag CFM
+//	messages may include either or both of the chassis ID or management address
+//	fields.[IEEE-802.1ag] requires that CCMs do not exceed 128-bytes, of which 74 are separately
+//	allocated to other purposes; the sender ID TLV, if present, must accommodate this requirement.
+//	The chassis info and management info must fit, with a minimum of 4 additional overhead bytes,
+//	into the remaining 54-bytes. This limit is exploited in defining the maximum size of the ME's
+//	attributes.
+//
+//	Relationships
+//		If an ONU supports [IEEE 802.1ag] functionality, it automatically creates an instance of this
+//		ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies this ME. There is at most one instance,
+//			whose value is 0. (R) (mandatory) (2-bytes)
+//
+//		Chassis Id Length
+//			Chassis ID length: The length of the chassis ID attribute (not including the chassis ID subtype
+//			attribute), default value 0. (R,-W) (mandatory) (1-byte)
+//
+//		Chassis Id Subtype
+//			(R,-W) (mandatory) (1-byte)
+//
+//		Chassis Id Part 1 Chassis Id Part 2
+//			Chassis ID part 1, Chassis ID part 2: These two attributes may be regarded as an octet string of
+//			up to 50-bytes whose length is given by the chassis ID length attribute and whose value is the
+//			left-justified chassis ID. (R,-W) (mandatory) (25-bytes-*-2 attributes)
+//
+//		Management Address Domain Length
+//			Management address domain length: The length of the management address domain attribute, default
+//			value 0. If this attribute has the value 0, all of the other management address attributes are
+//			undefined. (R,-W) (mandatory) (1-byte)
+//
+//		Management Address Domain 1, Management Address Domain 2
+//			Management address domain 1, Management address domain 2: These two attributes may be regarded
+//			as an octet string of up to 50-bytes whose length is given by the management address domain
+//			length attribute and whose value is the left-justified management address domain. The attribute
+//			is coded as an object identifier (OID) as per [ITUT X.690], referring to a TDomain as defined in
+//			[IETF RFC 2579]. Typical domain values include snmpUDPDomain (from SNMPv2-TM [IETF RFC 3417])
+//			and snmpIeee802Domain (from SNMP-IEEE 802-TM-MIB [IETF RFC 4789]). (R,-W) (mandatory) (25-bytes
+//			* 2 attributes)
+//
+//		Management Address Length
+//			Management address length: The length of the management address attribute, default value 0.
+//			(R,-W) (mandatory) (1-byte)
+//
+//		Management Address 1 Management Address 2
+//			Management address 1, Management address 2: These two attributes may be regarded as an octet
+//			string of up to 50-bytes whose length is given by the management address length attribute and
+//			whose value is the left-justified management address. (R,-W) (mandatory) (25-bytes * 2
+//			attributes)
+//
+type Dot1AgChassisManagementInfo struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	dot1agchassismanagementinfoBME = &ManagedEntityDefinition{
+		Name:    "Dot1AgChassisManagementInfo",
+		ClassID: 306,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfe00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("ChassisIdLength", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField("ChassisIdSubtype", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField("ChassisIdPart1ChassisIdPart2", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField("ManagementAddressDomainLength", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: MultiByteField("ManagementAddressDomain1,ManagementAddressDomain2", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField("ManagementAddressLength", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: MultiByteField("ManagementAddress1ManagementAddress2", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 7),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewDot1AgChassisManagementInfo (class ID 306) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewDot1AgChassisManagementInfo(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*dot1agchassismanagementinfoBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/dot1agdefaultmdlevel.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1agdefaultmdlevel.go
similarity index 69%
rename from vendor/github.com/cboling/omci/generated/dot1agdefaultmdlevel.go
rename to vendor/github.com/opencord/omci-lib-go/generated/dot1agdefaultmdlevel.go
index 8668539..9e3f800 100644
--- a/vendor/github.com/cboling/omci/generated/dot1agdefaultmdlevel.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1agdefaultmdlevel.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Dot1AgDefaultMdLevelClassId ClassID = ClassID(301)
+// Dot1AgDefaultMdLevelClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1ag default MD level
+const Dot1AgDefaultMdLevelClassID ClassID = ClassID(301)
 
 var dot1agdefaultmdlevelBME *ManagedEntityDefinition
 
@@ -48,30 +54,30 @@
 //			Managed entity ID: This attribute uniquely identifies an instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge service profile ME
 //			or an IEEE 802.1p mapper ME. It is expected that an ONU will implement CFM on bridges or on
-//			IEEE 802.1p mappers, but not both, depending on its provisioning model. For precision, the
+//			IEEE-802.1p mappers, but not both, depending on its provisioning model. For precision, the
 //			reference is disambiguated by the value of the layer 2 type pointer attribute. (R) (mandatory)
-//			(2 bytes)
+//			(2-bytes)
 //
 //		Layer 2 Type
 //			Layer 2 type: This attribute specifies whether the dot1ag default MD level ME is associated with
-//			a MAC bridge service profile (value 0) or an IEEE 802.1p mapper (value 1). (R) (mandatory)
-//			(1 byte)
+//			a MAC bridge service profile (value 0) or an IEEE 802.1p mapper (value-1). (R) (mandatory)
+//			(1-byte)
 //
 //		Catchall Level
 //			Catchall level: This attribute ranges from 0..7 and specifies the MD level of MHFs created when
-//			no specific match is found. (R, W) (mandatory) (1 byte)
+//			no specific match is found. (R,-W) (mandatory) (1-byte)
 //
 //		Catchall Mhf Creation
-//			(R, W) (mandatory) (1 byte)
+//			(R,-W) (mandatory) (1-byte)
 //
 //		Catchall Sender Id Permission
 //			Catchall sender ID permission: This attribute determines the contents of the sender ID TLV
 //			included in CFM messages transmitted by MPs when no more specific match is found. This attribute
 //			is identical to that defined in the description of the dot1ag MD ME (i.e., excluding code point
-//			5, defer). (R, W) (mandatory) (1 byte)
+//			5, defer). (R,-W) (mandatory) (1-byte)
 //
 //		Default Md Level Table
-//			(R, W) (mandatory) (29 bytes * N entries)
+//			(R,-W) (mandatory) (29-bytes * N entries)
 //
 type Dot1AgDefaultMdLevel struct {
 	ManagedEntityDefinition
@@ -87,21 +93,23 @@
 			GetNext,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("Layer2Type", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: ByteField("CatchallLevel", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3: ByteField("CatchallMhfCreation", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4: ByteField("CatchallSenderIdPermission", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5: TableField("DefaultMdLevelTable", TableInfo{0, 1}, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("Layer2Type", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField("CatchallLevel", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField("CatchallMhfCreation", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField("CatchallSenderIdPermission", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: TableField("DefaultMdLevelTable", TableAttributeType, 0x0800, TableInfo{nil, 29}, mapset.NewSetWith(Read, Write), false, false, false, 5),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewDot1AgDefaultMdLevel (class ID 301 creates the basic
+// NewDot1AgDefaultMdLevel (class ID 301) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewDot1AgDefaultMdLevel(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(dot1agdefaultmdlevelBME, params...)
+	return NewManagedEntity(*dot1agdefaultmdlevelBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/dot1agmaintenanceassociation.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenanceassociation.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/dot1agmaintenanceassociation.go
rename to vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenanceassociation.go
index 3c09b07..299ba5b 100644
--- a/vendor/github.com/cboling/omci/generated/dot1agmaintenanceassociation.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenanceassociation.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Dot1AgMaintenanceAssociationClassId ClassID = ClassID(300)
+// Dot1AgMaintenanceAssociationClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1ag maintenance association
+const Dot1AgMaintenanceAssociationClassID ClassID = ClassID(300)
 
 var dot1agmaintenanceassociationBME *ManagedEntityDefinition
 
@@ -41,17 +47,17 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies an instance of this ME. The values 0 and
-//			0xFFFF are reserved. (R, setbycreate) (mandatory) (2 bytes)
+//			0xFFFF are reserved. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Md Pointer
 //			MD pointer:	This pointer specifies the dot1ag maintenance domain with which this MA is
-//			associated. A null pointer specifies that the MA is not associated with an MD. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
+//			associated. A null pointer specifies that the MA is not associated with an MD. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Short Ma Name Format
 //			Short MA name format: This attribute specifies one of several possible formats for the short MA
-//			name attribute. Value 1, the primary VLAN ID, is recommended to be the default. (R, W,
-//			setbycreate) (mandatory) (1 byte)
+//			name attribute. Value 1, the primary VLAN ID, is recommended to be the default. (R,-W,
+//			setbycreate) (mandatory) (1-byte)
 //
 //		Short Ma Name 1, Short Ma Name 2
 //			Short MA name 1, Short MA name 2: These two attributes may be regarded as an octet string whose
@@ -60,13 +66,13 @@
 //			a character string, the string is null-terminated; otherwise, its length is determined by the
 //			short MA name format. Note that binary comparisons of the short MA name are made in other CFM
 //			state machines, so blanks, alphabetic case, etc., are significant. Also, note that the MD name
-//			and the MA short name must be packed (with additional bytes) into 48 byte CFM message headers.
-//			(R, W) (mandatory) (25 bytes * 2 attributes)
+//			and the MA short name must be packed (with additional bytes) into 48-byte CFM message headers.
+//			(R,-W) (mandatory) (25-bytes * 2 attributes)
 //
 //		Continuity Check Message Ccm Interval
 //			Short intervals should be used judiciously, as they can interfere with the network's ability to
-//			handle subscriber traffic. The recommended value is 1 s. (R, W, setbycreate) (mandatory)
-//			(1 byte)
+//			handle subscriber traffic. The recommended value is 1-s. (R,-W, setbycreate) (mandatory)
+//			(1-byte)
 //
 //		Associated Vlans
 //			Associated VLANs: This attribute is a list of up to 12 VLAN IDs with which this MA is
@@ -74,14 +80,14 @@
 //			or dot1ag default MD level entries that conflict with the set membership. The all-zeros value
 //			indicates that this MA is not associated with any VLANs. Assuming that the attribute is not 0,
 //			the first entry is understood to be the primary VLAN. Except forwarded linktrace messages
-//			(LTMs), CFM messages emitted by MPs in this MA are tagged with the primary VLAN ID. (R, W)
-//			(mandatory) (2 bytes/entry * 12 entries = 24 bytes)
+//			(LTMs), CFM messages emitted by MPs in this MA are tagged with the primary VLAN ID. (R,-W)
+//			(mandatory) (2-bytes/entry * 12-entries-=-24-bytes)
 //
 //		Mhf Creation
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Sender Id Permission
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 type Dot1AgMaintenanceAssociation struct {
 	ManagedEntityDefinition
@@ -98,23 +104,25 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFE00,
+		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("MdPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("ShortMaNameFormat", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: MultiByteField("ShortMaName1,ShortMaName2", 25, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4: ByteField("ContinuityCheckMessageCcmInterval", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: MultiByteField("AssociatedVlans", 24, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6: ByteField("MhfCreation", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7: ByteField("SenderIdPermission", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("MdPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("ShortMaNameFormat", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: MultiByteField("ShortMaName1,ShortMaName2", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField("ContinuityCheckMessageCcmInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: MultiByteField("AssociatedVlans", OctetsAttributeType, 0x0800, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField("MhfCreation", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: ByteField("SenderIdPermission", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewDot1AgMaintenanceAssociation (class ID 300 creates the basic
+// NewDot1AgMaintenanceAssociation (class ID 300) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewDot1AgMaintenanceAssociation(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(dot1agmaintenanceassociationBME, params...)
+	return NewManagedEntity(*dot1agmaintenanceassociationBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/dot1agmaintenancedomain.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenancedomain.go
similarity index 63%
rename from vendor/github.com/cboling/omci/generated/dot1agmaintenancedomain.go
rename to vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenancedomain.go
index b1ae103..9799cf8 100644
--- a/vendor/github.com/cboling/omci/generated/dot1agmaintenancedomain.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenancedomain.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Dot1AgMaintenanceDomainClassId ClassID = ClassID(299)
+// Dot1AgMaintenanceDomainClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1ag maintenance domain
+const Dot1AgMaintenanceDomainClassID ClassID = ClassID(299)
 
 var dot1agmaintenancedomainBME *ManagedEntityDefinition
 
@@ -40,32 +46,32 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies an instance of this ME. The values 0 and
-//			0xFFFF are reserved. (R, setbycreate) (mandatory) (2 bytes)
+//			0xFFFF are reserved. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Md Level
 //			MD level:	This attribute ranges from 0..7 and specifies the maintenance level of this MD. Higher
-//			numbers have wider geographic scope. (R, W, setbycreate) (mandatory) (1 byte)
+//			numbers have wider geographic scope. (R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Md Name Format
 //			MD name format: This attribute specifies one of several possible formats for the MD name
-//			attribute. (R, W, setbycreate) (mandatory) (1 byte)
+//			attribute. (R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Md Name 1 Md Name 2
-//			MD name 1, MD name 2:These two attributes may be regarded as a 50 byte octet string whose value
+//			MD name 1, MD name 2:These two attributes may be regarded as a 50-byte octet string whose value
 //			is the left-justified maintenance domain name. The MD name may or may not be a printable
 //			character string, so an octet string is the appropriate representation. If the MD name format
 //			specifies a DNS-like name or a character string, the string is null-terminated; otherwise, its
-//			length is determined by the MD name format. If the MD has no name (MD name format = 0), this
+//			length is determined by the MD name format. If the MD has no name (MD name format-=-0), this
 //			attribute is undefined. Note that binary comparisons of the MD name are made in other CFM state
 //			machines, so blanks, alphabetic case, etc., are significant. Also, note that the MD name and the
-//			MA name must be packed (with additional bytes) into 48 byte CFM message headers. (R, W)
-//			(mandatory if MD name format is not 1) (25 bytes * 2 attributes)
+//			MA name must be packed (with additional bytes) into 48-byte CFM message headers. (R,-W)
+//			(mandatory if MD name format is not 1) (25-bytes * 2 attributes)
 //
 //		Maintenance Domain Intermediate Point Half Function Mhf Creation
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Sender Id Permission
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 type Dot1AgMaintenanceDomain struct {
 	ManagedEntityDefinition
@@ -82,21 +88,23 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("MdLevel", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("MdNameFormat", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: MultiByteField("MdName1MdName2", 25, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4: ByteField("MaintenanceDomainIntermediatePointHalfFunctionMhfCreation", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: ByteField("SenderIdPermission", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("MdLevel", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("MdNameFormat", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: MultiByteField("MdName1MdName2", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField("MaintenanceDomainIntermediatePointHalfFunctionMhfCreation", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField("SenderIdPermission", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewDot1AgMaintenanceDomain (class ID 299 creates the basic
+// NewDot1AgMaintenanceDomain (class ID 299) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewDot1AgMaintenanceDomain(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(dot1agmaintenancedomainBME, params...)
+	return NewManagedEntity(*dot1agmaintenancedomainBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/dot1agmep.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmep.go
new file mode 100644
index 0000000..8d6db66
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmep.go
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// Dot1AgMepClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1ag MEP
+const Dot1AgMepClassID ClassID = ClassID(302)
+
+var dot1agmepBME *ManagedEntityDefinition
+
+// Dot1AgMep (class ID #302)
+//	This ME models an MEP as defined primarily in [IEEE 802.1ag] and secondarily in [ITUT Y.1731].
+//	It is created and deleted by the OLT. An MEP exists at one of eight possible maintenance levels,
+//	and resides at the boundary of a MD. It inherits a name, and optionally a set of associated
+//	VLANs, from its associated MA.
+//
+//	Relationships
+//		One or more MEPs may be associated with a MAC bridge port or an IEEE 802.1p mapper in the
+//		absence of a MAC bridge. An MEP is also associated with zero or more VLANs and an MA.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Layer 2 Entity Pointer
+//			Layer 2 entity pointer: Depending on the value of the layer 2 type attribute, this pointer
+//			specifies the MAC bridge port configuration data ME or the IEEE 802.1p mapper service profile ME
+//			with which this MEP is associated. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Layer 2 Type
+//			Layer 2 type:	This attribute specifies whether the MA is associated with a MAC bridge port
+//			(value 0) or an IEEE 802.1p mapper (value 1). (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Ma Pointer
+//			MA pointer:	This pointer specifies the maintenance association with which this MEP is
+//			associated. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Mep Id
+//			MEP ID:	This attribute specifies the MEP's own identity in the MA. For a given MA, the MEP ID
+//			must be unique throughout the network defined by the MD. The MEP ID is defined in the range
+//			1..8191. The value 0 indicates that no MEP ID is (yet) configured. (R,-W, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Mep Control
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Primary Vlan
+//			Primary VLAN: This attribute is a 12-bit VLAN ID. The value 0 indicates that the MEP inherits
+//			its primary VLAN from its parent MA. CFM messages, except forwarded LTMs, are tagged with the
+//			primary VLAN ID. If explicitly specified, the value of this attribute must be one of the VLANs
+//			associated with the parent MA. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Administrative State
+//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
+//			ME. Administrative state is further described in clause A.1.6. (R,-W, setbycreate) (mandatory)
+//			(1-byte)
+//
+//		Ccm And Ltm Priority
+//			CCM and LTM priority: Ranging from 0..7, this attribute permits CCM and LTM frames to be
+//			explicitly prioritized, which may be needed if flows are separated, e.g., by 802.1p priority.
+//			The priority specified in this attribute is also used in linktrace reply (LTR) frames originated
+//			by this MEP. The value 0xFF selects the IEEE 802.1ag default, whereby CCM and LTM frames are
+//			transmitted with the highest Ethernet priority available. (R,-W, setbycreate) (mandatory)
+//			(1-byte)
+//
+//		Egress Identifier
+//			Egress identifier: This attribute comprises 8-bytes to be included in LTMs. They allow received
+//			LTRs to be directed to the correct originator. The attribute includes the originator MAC address
+//			and a locally defined identifier. If this field is 0, the ONU uses the MEP's MAC address, with 0
+//			as the locally defined identifier. (R,-W, setbycreate) (mandatory) (8-bytes)
+//
+//		Peer Mep Ids
+//			Peer MEP IDs: This attribute lists the expected peer MEPs for CCMs, 2-bytes per MEP ID. [IEEE
+//			802.1ag] allows for multipoint networks, and therefore a list of peer MEPs. This attribute
+//			allows for up to 12 peers for a given MEP, though GPON applications are expected to need only a
+//			single peer. Missing or unexpected messages trigger alarm declaration after a soak interval.
+//			Unused peer MEP slots should be set to 0. (R,-W) (mandatory) (24-bytes)
+//
+//		Eth Ais Control
+//			(R,-W, setbycreate) (mandatory if ETH AIS is enabled) (1-byte)
+//
+//		Fault Alarm Threshold
+//			(R,-W, setbycreate) (optional) (1-byte)
+//
+//		Alarm Declaration Soak Time
+//			Alarm declaration soak time: This attribute defines the defect soak time that must elapse before
+//			the MEP declares an alarm. It is expressed in 10-ms units with a range of 250 to 1000, i.e.,
+//			2.5-s to 10-s. The default is recommended to be 2.5 seconds. (R,-W) (mandatory) (2-bytes)
+//
+//		Alarm Clear Soak Time
+//			Alarm clear soak time: This attribute defines the defect-free soak time that must elapse before
+//			the MEP clears an alarm. It is expressed in intervals of 10-ms with a range of 250 to 1-000,
+//			i.e., 2.5-s to 10-s. The default is recommended to be 10-s. (R,-W) (mandatory) (2-bytes)
+//
+type Dot1AgMep struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	dot1agmepBME = &ManagedEntityDefinition{
+		Name:    "Dot1AgMep",
+		ClassID: 302,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffc,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("Layer2EntityPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField("Layer2Type", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field("MaPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field("MepId", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField("MepControl", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field("PrimaryVlan", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField("CcmAndLtmPriority", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint64Field("EgressIdentifier", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: MultiByteField("PeerMepIds", OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField("EthAisControl", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: ByteField("FaultAlarmThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: Uint16Field("AlarmDeclarationSoakTime", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
+			14: Uint16Field("AlarmClearSoakTime", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, false, false, 14),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "RDI CCM",
+			1: "MAC status",
+			2: "Remote CCM",
+			3: "Error CCM",
+			4: "Xcon CCM",
+			5: "Unexpected period",
+			6: "AIS",
+		},
+	}
+}
+
+// NewDot1AgMep (class ID 302) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewDot1AgMep(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*dot1agmepBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/dot1ratelimiter.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1ratelimiter.go
similarity index 61%
rename from vendor/github.com/cboling/omci/generated/dot1ratelimiter.go
rename to vendor/github.com/opencord/omci-lib-go/generated/dot1ratelimiter.go
index 0ddf7de..d3d2ed6 100644
--- a/vendor/github.com/cboling/omci/generated/dot1ratelimiter.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1ratelimiter.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Dot1RateLimiterClassId ClassID = ClassID(298)
+// Dot1RateLimiterClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1 rate limiter
+const Dot1RateLimiterClassID ClassID = ClassID(298)
 
 var dot1ratelimiterBME *ManagedEntityDefinition
 
@@ -36,30 +42,30 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Parent Me Pointer
 //			Parent ME pointer: This attribute points to an instance of a ME. The type of ME is determined by
-//			the TP type attribute. (R, W, setbycreate) (mandatory) (2 bytes)
+//			the TP type attribute. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Tp Type
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Upstream Unicast Flood Rate Pointer
 //			Upstream unicast flood rate pointer: This attribute points to an instance of the traffic
 //			descriptor that governs the rate of upstream unicast packets whose DA is unknown to the bridge.
-//			A null pointer specifies that no administrative limit is to be imposed. (R, W, setbycreate)
-//			(optional) (2 bytes)
+//			A null pointer specifies that no administrative limit is to be imposed. (R,-W, setbycreate)
+//			(optional) (2-bytes)
 //
 //		Upstream Broadcast Rate Pointer
 //			Upstream broadcast rate pointer: This attribute points to an instance of the traffic descriptor
 //			that governs the rate of upstream broadcast packets. A null pointer specifies that no
-//			administrative limit is to be imposed. (R, W, setbycreate) (optional) (2 bytes)
+//			administrative limit is to be imposed. (R,-W, setbycreate) (optional) (2-bytes)
 //
 //		Upstream Multicast Payload Rate Pointer
 //			Upstream multicast payload rate pointer: This attribute points to an instance of the traffic
 //			descriptor that governs the rate of upstream multicast payload packets. A null pointer specifies
-//			that no administrative limit is to be imposed. (R, W, setbycreate) (optional) (2 bytes)
+//			that no administrative limit is to be imposed. (R,-W, setbycreate) (optional) (2-bytes)
 //
 type Dot1RateLimiter struct {
 	ManagedEntityDefinition
@@ -76,21 +82,23 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("ParentMePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("TpType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("UpstreamUnicastFloodRatePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 3),
-			4: Uint16Field("UpstreamBroadcastRatePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 4),
-			5: Uint16Field("UpstreamMulticastPayloadRatePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("ParentMePointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("TpType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("UpstreamUnicastFloodRatePointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4: Uint16Field("UpstreamBroadcastRatePointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: Uint16Field("UpstreamMulticastPayloadRatePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewDot1RateLimiter (class ID 298 creates the basic
+// NewDot1RateLimiter (class ID 298) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewDot1RateLimiter(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(dot1ratelimiterBME, params...)
+	return NewManagedEntity(*dot1ratelimiterBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/dot1xconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1xconfigurationprofile.go
new file mode 100644
index 0000000..1436448
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1xconfigurationprofile.go
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// Dot1XConfigurationProfileClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1X configuration profile
+const Dot1XConfigurationProfileClassID ClassID = ClassID(291)
+
+var dot1xconfigurationprofileBME *ManagedEntityDefinition
+
+// Dot1XConfigurationProfile (class ID #291)
+//	An instance of this ME represents a set of attributes that control an ONU's 802.1X operation
+//	with regard to IEEE 802 services. An instance of this ME is created by the ONU if it is capable
+//	of supporting [IEEE 802.1X] authentication of CPE.
+//
+//	Relationships
+//		One instance of this ME governs the ONU's 802.1X CPE authentication behaviour.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute provides a unique number for each instance of this ME. There
+//			is at most one instance, number 0. (R) (mandatory) (2-bytes)
+//
+//		Circuit Id Prefix
+//			Circuit ID prefix: This attribute is a pointer to a large string ME whose content appears as the
+//			prefix of the NAS port ID in radius access-request messages. The remainder of the NAS port ID
+//			field is local information (for example, slot-port, appended by the ONU itself). The default
+//			value of this attribute is the null pointer 0. (R,-W) (mandatory) (2-bytes)
+//
+//		Fallback Policy
+//			Fallback policy: When set to 1 (deny), this attribute causes IEEE-802.1X conversations to fail
+//			when no external authentication server is accessible, such that no Ethernet service is provided.
+//			The default value 0 causes IEEE-802.1X conversations to succeed when no external authentication
+//			server is accessible. (R,-W) (mandatory) (1-byte)
+//
+//		Auth Server 1
+//			Auth server 1: This attribute is a pointer to a large string ME that contains the URI of the
+//			first choice radius authentication server. The value 0 indicates that no radius authentication
+//			server is specified. (R,-W) (mandatory) (2-bytes)
+//
+//		Shared Secret Auth1
+//			Shared secret auth1: This attribute is the shared secret for the first radius authentication
+//			server. It is a null-terminated character string. (R,-W) (mandatory) (25-bytes)
+//
+//		Auth Server 2
+//			Auth server 2:	(R,-W) (optional) (2-bytes)
+//
+//		Shared Secret Auth2
+//			Shared secret auth2:	(R,-W) (optional) (25-bytes)
+//
+//		Auth Server 3
+//			Auth server 3:	(R,-W) (optional) (2-bytes)
+//
+//		Shared Secret Auth3
+//			Shared secret auth3:	(R,-W) (optional) (25-bytes)
+//
+//		Olt Proxy Address
+//			OLT proxy address: This attribute indicates the IP address of a possible proxy at the OLT for
+//			IEEE-802.1X radius messages. The default value 0.0.0.0 indicates that no proxy is required.
+//			(R,-W) (optional) (4-bytes)
+//
+//		Calling Station Id Format
+//			Other values are reserved.
+//
+type Dot1XConfigurationProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	dot1xconfigurationprofileBME = &ManagedEntityDefinition{
+		Name:    "Dot1XConfigurationProfile",
+		ClassID: 291,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffc0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint16Field("CircuitIdPrefix", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("FallbackPolicy", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint16Field("AuthServer1", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  MultiByteField("SharedSecretAuth1", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field("AuthServer2", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  MultiByteField("SharedSecretAuth2", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  Uint16Field("AuthServer3", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  MultiByteField("SharedSecretAuth3", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  Uint32Field("OltProxyAddress", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field("CallingStationIdFormat", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewDot1XConfigurationProfile (class ID 291) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewDot1XConfigurationProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*dot1xconfigurationprofileBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/dot1xperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1xperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..fa9ebfd
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1xperformancemonitoringhistorydata.go
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// Dot1XPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1X performance monitoring history data
+const Dot1XPerformanceMonitoringHistoryDataClassID ClassID = ClassID(292)
+
+var dot1xperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// Dot1XPerformanceMonitoringHistoryData (class ID #292)
+//	This ME collects performance statistics on an ONU's IEEE 802.1X CPE authentication operation.
+//	Instances of this ME are created and deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME may be associated with each UNI that can perform IEEE-802.1X
+//		authentication of CPE.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of a PPTP. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Eapol Frames Received
+//			EAPOL frames received: This attribute counts received valid EAPOL frames of any type. (R)
+//			(mandatory) (4-bytes)
+//
+//		Eapol Frames Transmitted
+//			EAPOL frames transmitted: This attribute counts transmitted EAPOL frames of any type. (R)
+//			(mandatory) (4-bytes)
+//
+//		Eapol Start Frames Received
+//			EAPOL start frames received: This attribute counts received EAPOL start frames. (R) (mandatory)
+//			(4-bytes)
+//
+//		Eapol Logoff Frames Received
+//			EAPOL logoff frames received: This attribute counts received EAPOL logoff frames. (R)
+//			(mandatory) (4-bytes)
+//
+//		Invalid Eapol Frames Received
+//			Invalid EAPOL frames received: This attribute counts received EAPOL frames in which the frame
+//			type was not recognized. (R) (mandatory) (4-bytes)
+//
+//		Eap Resp_Id Frames Received
+//			EAP resp/id frames received: This attribute counts received EAP response frames containing an
+//			identifier type field. (R) (mandatory) (4-bytes)
+//
+//		Eap Response Frames Received
+//			EAP response frames received: This attribute counts received EAP response frames, other than
+//			resp/id frames. (R) (mandatory) (4-bytes)
+//
+//		Eap Initial Request Frames Transmitted
+//			EAP initial request frames transmitted: This attribute counts transmitted request frames
+//			containing an identifier type field. In [IEEE 802.1X], this is also called ReqId. (R)
+//			(mandatory) (4-bytes)
+//
+//		Eap Request Frames Transmitted
+//			EAP request frames transmitted: This attribute counts transmitted request frames, other than
+//			request/id frames. (R) (mandatory) (4-bytes)
+//
+//		Eap Length Error Frames Received
+//			EAP length error frames received: This attribute counts received EAPOL frames whose packet body
+//			length field was invalid. (R) (mandatory) (4-bytes)
+//
+//		Eap Success Frames Generated Autonomously
+//			EAP success frames generated autonomously: This attribute counts EAPOL success frames generated
+//			according to the local fallback policy because no radius server was available. (R) (mandatory)
+//			(4-bytes)
+//
+//		Eap Failure Frames Generated Autonomously
+//			EAP failure frames generated autonomously: This attribute counts EAPOL failure frames generated
+//			according to the local fallback policy because no radius server was available. (R) (mandatory)
+//			(4-bytes)
+//
+type Dot1XPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	dot1xperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "Dot1XPerformanceMonitoringHistoryData",
+		ClassID: 292,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffc,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("EapolFramesReceived", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("EapolFramesTransmitted", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("EapolStartFramesReceived", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("EapolLogoffFramesReceived", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("InvalidEapolFramesReceived", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("EapRespIdFramesReceived", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("EapResponseFramesReceived", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("EapInitialRequestFramesTransmitted", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("EapRequestFramesTransmitted", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("EapLengthErrorFramesReceived", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("EapSuccessFramesGeneratedAutonomously", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("EapFailureFramesGeneratedAutonomously", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			4: "Invalid EAPOL frames received",
+			9: "EAP length error frames received",
+		},
+	}
+}
+
+// NewDot1XPerformanceMonitoringHistoryData (class ID 292) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewDot1XPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*dot1xperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/dot1xportextensionpackage.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1xportextensionpackage.go
similarity index 63%
rename from vendor/github.com/cboling/omci/generated/dot1xportextensionpackage.go
rename to vendor/github.com/opencord/omci-lib-go/generated/dot1xportextensionpackage.go
index 7ff0491..428d9de 100644
--- a/vendor/github.com/cboling/omci/generated/dot1xportextensionpackage.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1xportextensionpackage.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Dot1XPortExtensionPackageClassId ClassID = ClassID(290)
+// Dot1XPortExtensionPackageClassID is the 16-bit ID for the OMCI
+// Managed entity Dot1X port extension package
+const Dot1XPortExtensionPackageClassID ClassID = ClassID(290)
 
 var dot1xportextensionpackageBME *ManagedEntityDefinition
 
@@ -38,44 +44,44 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute provides a unique number for each instance of this ME. Its
 //			value is the same as that of its associated PPTP (i.e., slot and port number). (R) (mandatory)
-//			(2 bytes)
+//			(2-bytes)
 //
 //		Dot1X Enable
 //			Dot1x enable: If true, this Boolean attribute forces the associated port to authenticate via
 //			[IEEE 802.1X] as a precondition of normal service. The default value false does not impose IEEE
-//			802.1X authentication on the associated port. (R, W) (mandatory) (1 byte)
+//			802.1X authentication on the associated port. (R,-W) (mandatory) (1-byte)
 //
 //		Action Register
-//			(W) (mandatory) (1 byte)
+//			(W) (mandatory) (1-byte)
 //
 //		Authenticator Pae State
-//			(R) (optional) (1 byte)
+//			(R) (optional) (1-byte)
 //
 //		Backend Authentication State
-//			(R) (optional) (1 byte)
+//			(R) (optional) (1-byte)
 //
 //		Admin Controlled Directions
 //			Admin controlled directions: This attribute controls the directionality of the port's
 //			authentication requirement. The default value 0 indicates that control is imposed in both
 //			directions. The value 1 indicates that control is imposed only on traffic from the subscriber
-//			towards the network. (R, W) (optional) (1 byte)
+//			towards the network. (R,-W) (optional) (1-byte)
 //
 //		Operational Controlled Directions
 //			Operational controlled directions: This attribute indicates the directionality of the port's
 //			current authentication state. The value 0 indicates that control is imposed in both directions.
 //			The value 1 indicates that control is imposed only on traffic from the subscriber towards the
-//			network. (R) (optional) (1 byte)
+//			network. (R) (optional) (1-byte)
 //
 //		Authenticator Controlled Port Status
 //			Authenticator controlled port status: This attribute indicates whether the controlled port is
-//			currently authorized (1) or unauthorized (2). (R) (optional) (1 byte)
+//			currently authorized (1) or unauthorized (2). (R) (optional) (1-byte)
 //
 //		Quiet Period
 //			Quiet period: This attribute specifies the interval between EAP request/identity invitations
 //			sent to the peer. Other events such as carrier present or EAPOL start frames from the peer may
 //			trigger an EAP request/identity frame from the ONU at any time; this attribute controls the
 //			ONU's periodic behaviour in the absence of these other inputs. It is expressed in seconds.
-//			(R, W) (optional) (2 bytes)
+//			(R,-W) (optional) (2-bytes)
 //
 //		Server Timeout Period
 //			Server timeout period: This attribute specifies the time the ONU will wait for a response from
@@ -83,22 +89,22 @@
 //			retransmissions with exponentially increasing delay. Upon timeout, the ONU may try another
 //			radius server if there is one, or invoke the fallback policy, if no alternate radius servers are
 //			available. Server timeout is expressed in seconds, with a default value of 30 and a maximum
-//			value of 65535. (R, W) (optional) (2 bytes)
+//			value of 65535. (R,-W) (optional) (2-bytes)
 //
 //		Re_Authentication Period
 //			Re-authentication period: This attribute records the re-authentication interval specified by the
 //			radius authentication server. It is expressed in seconds. The attribute is only meaningful after
-//			a port has been authenticated. (R) (optional) (2 bytes)
+//			a port has been authenticated. (R) (optional) (2-bytes)
 //
 //		Re_Authentication Enabled
 //			Re-authentication enabled: This Boolean attribute records whether the radius authentication
 //			server has enabled re-authentication on this service (true) or not (false). The attribute is
-//			only meaningful after a port has been authenticated. (R) (optional) (1 byte)
+//			only meaningful after a port has been authenticated. (R) (optional) (1-byte)
 //
 //		Key Transmission Enabled
 //			Key transmission enabled: This Boolean attribute indicates whether key transmission is enabled
 //			(true) or not (false). This feature is not required; the parameter is listed here for
-//			completeness vis-à-vis [IEEE 802.1X]. (R, W) (optional) (1 byte)
+//			completeness vis-`a-vis [IEEE 802.1X]. (R,-W) (optional) (1-byte)
 //
 type Dot1XPortExtensionPackage struct {
 	ManagedEntityDefinition
@@ -113,28 +119,34 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFF0,
+		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("Dot1XEnable", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  ByteField("ActionRegister", 0, mapset.NewSetWith(Write), false, false, false, false, 2),
-			3:  ByteField("AuthenticatorPaeState", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4:  ByteField("BackendAuthenticationState", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5:  ByteField("AdminControlledDirections", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
-			6:  ByteField("OperationalControlledDirections", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
-			7:  ByteField("AuthenticatorControlledPortStatus", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
-			8:  Uint16Field("QuietPeriod", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
-			9:  Uint16Field("ServerTimeoutPeriod", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-			10: Uint16Field("ReAuthenticationPeriod", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: ByteField("ReAuthenticationEnabled", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
-			12: ByteField("KeyTransmissionEnabled", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("Dot1XEnable", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("ActionRegister", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Write), false, false, false, 2),
+			3:  ByteField("AuthenticatorPaeState", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  ByteField("BackendAuthenticationState", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  ByteField("AdminControlledDirections", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  ByteField("OperationalControlledDirections", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  ByteField("AuthenticatorControlledPortStatus", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint16Field("QuietPeriod", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  Uint16Field("ServerTimeoutPeriod", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field("ReAuthenticationPeriod", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField("ReAuthenticationEnabled", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField("KeyTransmissionEnabled", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "dot1x local authentication - allowed",
+			1: "dot1x local authentication - denied",
 		},
 	}
 }
 
-// NewDot1XPortExtensionPackage (class ID 290 creates the basic
+// NewDot1XPortExtensionPackage (class ID 290) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewDot1XPortExtensionPackage(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(dot1xportextensionpackageBME, params...)
+	return NewManagedEntity(*dot1xportextensionpackageBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroup.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroup.go
new file mode 100644
index 0000000..93df527
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroup.go
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EfmBondingGroupClassID is the 16-bit ID for the OMCI
+// Managed entity EFM bonding group
+const EfmBondingGroupClassID ClassID = ClassID(419)
+
+var efmbondinggroupBME *ManagedEntityDefinition
+
+// EfmBondingGroup (class ID #419)
+//	The EFM bonding group represents a group of links that are bonded. In [IEEE 802.3], a bonding
+//	group is known as a PAF [physical medium entity (PME) aggregation function] and a link is known
+//	as a PME instance of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME may be associated with zero or more instances of an EFM bonding link.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
+//			reserved. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Group Id
+//			Group ID: This attribute is the unique number representing this bonding group. See clause
+//			C.3.1.1 of [ITU-T G.998.2]. (R,-W, setbycreate) (mandatory) (6-bytes)
+//
+//		Minimum Upstream Group Rate
+//			Minimum upstream group rate: This attribute sets the minimum upstream group rate, in bits per
+//			second, for this EFM Group. This attribute is used to determine the group US rate low alarm
+//			status. The group US rate low alarm means that the aggregate upstream rate of all active links
+//			associated with this group is less than the minimum upstream group rate. The default value for
+//			this rate is zero. (R,-W) (mandatory, setbycreate) (4-bytes)
+//
+//		Minimum Downstream Group Rate
+//			Minimum downstream group rate: This attribute sets the minimum downstream group rate, in bits
+//			per second, for this EFM Group. This attribute is used to determine the group DS rate low alarm
+//			status. The group DS rate low alarm means that the aggregate downstream rate of all active links
+//			associated with this group is less than the minimum downstream group rate. The default value for
+//			this rate is zero. (R,-W) (mandatory) (4-bytes, setbycreate)
+//
+//		Group Alarm Enable
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+type EfmBondingGroup struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	efmbondinggroupBME = &ManagedEntityDefinition{
+		Name:    "EfmBondingGroup",
+		ClassID: 419,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xf000,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField("GroupId", OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field("MinimumUpstreamGroupRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint32Field("MinimumDownstreamGroupRate", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField("GroupAlarmEnable", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Group down",
+			1: "Group partial",
+			2: "Group US rate low",
+			3: "Group DS rate low",
+			4: "4x rate ratio",
+		},
+	}
+}
+
+// NewEfmBondingGroup (class ID 419) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEfmBondingGroup(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*efmbondinggroupBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..902298a
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydata.go
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EfmBondingGroupPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity EFM bonding group performance monitoring history data
+const EfmBondingGroupPerformanceMonitoringHistoryDataClassID ClassID = ClassID(421)
+
+var efmbondinggroupperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// EfmBondingGroupPerformanceMonitoringHistoryData (class ID #421)
+//	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
+//	the OLT.
+//
+//	Relationships
+//		An instance of this ME is associated with an xDSL UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the EFM bonding group. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contain PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Rx Bad Fragments
+//			Rx bad fragments: Clause 45.2.3.33 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Lost Fragments
+//			Rx lost fragments: Clause 45.2.3.34 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Lost Starts
+//			Rx lost starts: Clause 45.2.3.35 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Lost Ends
+//			Rx lost ends: Clause 45.2.3.36 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Frames
+//			Rx frames: Number of Ethernet frames received over this group. (R) (mandatory) (4-bytes)
+//
+//		Tx Frames
+//			Tx frames: Number of Ethernet frames transmitted over this group. (R) (mandatory) (4-bytes)
+//
+//		Rx Bytes
+//			Rx bytes: Number of bytes contained in the Ethernet frames received over this group. (R)
+//			(mandatory) (8-bytes)
+//
+//		Tx Bytes
+//			Tx bytes: Number of bytes contained in the Ethernet frames transmitted over this group. (R)
+//			(mandatory) (8-bytes)
+//
+//		Tx Discarded Frames
+//			Tx discarded frames: Number of Ethernet frames discarded by the group transmit function. (R)
+//			(mandatory) (4-bytes)
+//
+//		Tx Discarded Bytes
+//			Tx discarded bytes: Number of bytes contained in the Ethernet frames discarded by the group
+//			transmit function. (R) (mandatory) (4-bytes)
+//
+type EfmBondingGroupPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	efmbondinggroupperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "EfmBondingGroupPerformanceMonitoringHistoryData",
+		ClassID: 421,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("RxBadFragments", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("RxLostFragments", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("RxLostStarts", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("RxLostEnds", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("RxFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("TxFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field("RxBytes", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field("TxBytes", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("TxDiscardedFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("TxDiscardedBytes", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Rx bad fragments",
+			1: "Rx lost fragments",
+			2: "Rx lost starts",
+			3: "Rx lost ends",
+		},
+	}
+}
+
+// NewEfmBondingGroupPerformanceMonitoringHistoryData (class ID 421) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEfmBondingGroupPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*efmbondinggroupperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
new file mode 100644
index 0000000..bc141a7
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EfmBondingGroupPerformanceMonitoringHistoryDataPart2ClassID is the 16-bit ID for the OMCI
+// Managed entity EFM bonding group performance monitoring history data part 2
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2ClassID ClassID = ClassID(422)
+
+var efmbondinggroupperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
+
+// EfmBondingGroupPerformanceMonitoringHistoryDataPart2 (class ID #422)
+//	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
+//	the OLT.
+//
+//	Relationships
+//		An instance of this ME is associated with an xDSL UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the EFM bonding group. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contain PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Rx Unicast Frames
+//			Rx unicast frames: Number of unicast Ethernet frames received over this group. (R) (mandatory)
+//			(4-bytes)
+//
+//		Tx Unicast Frames
+//			Tx unicast frames: Number of unicast Ethernet frames transmitted over this group. (R)
+//			(mandatory) (4-bytes)
+//
+//		Rx Unicast Bytes
+//			Rx unicast bytes: Number of bytes contained in the unicast Ethernet frames received over this
+//			group. (R) (mandatory) (8-bytes)
+//
+//		Tx Unicast Bytes
+//			Tx unicast bytes: Number of bytes contained in the unicast Ethernet frames transmitted over this
+//			group. (R) (mandatory) (8-bytes)
+//
+//		Rx Broadcast Frames
+//			Rx broadcast frames: Number of broadcast Ethernet frames received over this group. (R)
+//			(mandatory) (4-bytes)
+//
+//		Tx Broadcast Frames
+//			Tx broadcast frames: Number of broadcast Ethernet frames transmitted over this group. (R)
+//			(mandatory) (4-bytes)
+//
+//		Rx Broadcast Bytes
+//			Rx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames received over
+//			this group. (R) (mandatory) (8-bytes)
+//
+//		Tx Broadcast Bytes
+//			Tx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames transmitted over
+//			this group. (R) (mandatory) (8-bytes)
+//
+//		Rx Multicast Frames
+//			Rx multicast frames: Number of multicast Ethernet frames received over this group. (R)
+//			(mandatory) (4-bytes)
+//
+//		Tx Multicast Frames
+//			Tx multicast frames: Number of multicast Ethernet frames transmitted over this group. (R)
+//			(mandatory) (4-bytes)
+//
+//		Rx Multicast Bytes
+//			Rx multicast bytes: Number of bytes contained in the multicast Ethernet frames received over
+//			this group. (R) (mandatory) (8-bytes)
+//
+//		Tx Multicast Bytes
+//			Tx multicast bytes: Number of bytes contained in the multicast Ethernet frames transmitted over
+//			this group. (R) (mandatory) (8-bytes)
+//
+type EfmBondingGroupPerformanceMonitoringHistoryDataPart2 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	efmbondinggroupperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
+		Name:    "EfmBondingGroupPerformanceMonitoringHistoryDataPart2",
+		ClassID: 422,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffc,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("RxUnicastFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("TxUnicastFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint64Field("RxUnicastBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint64Field("TxUnicastBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("RxBroadcastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("TxBroadcastFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field("RxBroadcastBytes", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field("TxBroadcastBytes", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("RxMulticastFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("TxMulticastFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint64Field("RxMulticastBytes", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint64Field("TxMulticastBytes", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2 (class ID 422) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*efmbondinggroupperformancemonitoringhistorydatapart2BME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/efmbondinglink.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglink.go
similarity index 67%
rename from vendor/github.com/cboling/omci/generated/efmbondinglink.go
rename to vendor/github.com/opencord/omci-lib-go/generated/efmbondinglink.go
index 5ec16b5..34db557 100644
--- a/vendor/github.com/cboling/omci/generated/efmbondinglink.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglink.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EfmBondingLinkClassId ClassID = ClassID(420)
+// EfmBondingLinkClassID is the 16-bit ID for the OMCI
+// Managed entity EFM bonding link
+const EfmBondingLinkClassID ClassID = ClassID(420)
 
 var efmbondinglinkBME *ManagedEntityDefinition
 
@@ -35,18 +41,18 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			NOTE – This attribute has the same meaning as the Stream ID in clause C.3.1.2 of [ITU-T
-//			G.998.2], except that it cannot be changed. (R, setbycreate) (mandatory) (2 bytes)
+//			NOTE - This attribute has the same meaning as the Stream ID in clause C.3.1.2 of [ITU-T
+//			G.998.2], except that it cannot be changed. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Associated Group Me Id
 //			Associated group ME ID: This attribute is the ME ID of the bonding group to which this link is
 //			associated. Changing this attribute moves the link from one group to another. Setting this
 //			attribute to an ME ID that has not yet been provisioned will result in this link being placed in
 //			a single-link group that contains only this link. The default value for this attribute is the
-//			null pointer, 0xFFFF. (R, W, setbycreate) (mandatory) (2 bytes)
+//			null pointer, 0xFFFF. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Link Alarm Enable
-//			(R, W, setbycreate) (mandatory) (1 bytes)
+//			(R,-W, setbycreate) (mandatory) (1-bytes)
 //
 type EfmBondingLink struct {
 	ManagedEntityDefinition
@@ -63,18 +69,23 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XC000,
+		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("AssociatedGroupMeId", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("LinkAlarmEnable", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("AssociatedGroupMeId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("LinkAlarmEnable", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Link down",
 		},
 	}
 }
 
-// NewEfmBondingLink (class ID 420 creates the basic
+// NewEfmBondingLink (class ID 420) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEfmBondingLink(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(efmbondinglinkBME, params...)
+	return NewManagedEntity(*efmbondinglinkBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglinkperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglinkperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..615d0b2
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglinkperformancemonitoringhistorydata.go
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EfmBondingLinkPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity EFM bonding link performance monitoring history data
+const EfmBondingLinkPerformanceMonitoringHistoryDataClassID ClassID = ClassID(423)
+
+var efmbondinglinkperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// EfmBondingLinkPerformanceMonitoringHistoryData (class ID #423)
+//	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
+//	the OLT.
+//
+//	Relationships
+//		An instance of this ME is associated with an xDSL UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the EFM bonding link. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contain PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Rx Errored Fragments
+//			Rx errored fragments: Clause 45.2.3.29 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Small Fragments
+//			Rx small fragments: Clause 45.2.3.30 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Large Fragments
+//			Rx large fragments: Clause 45.2.3.31 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Discarded Fragments
+//			Rx discarded fragments: Clause 45.2.3.32 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Fcs Errors
+//			Rx FCS errors: Clause 45.2.6.11 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Coding Errors
+//			Rx coding errors: Clause 45.2.6.12 of [IEEE 802.3]. (R) (mandatory) (4-bytes)
+//
+//		Rx Fragments
+//			Rx fragments: Number of fragments received over this link. (R) (mandatory) (4-bytes)
+//
+//		Tx Fragments
+//			Tx fragments: Number of fragments transmitted over this link. (R) (mandatory) (4-bytes)
+//
+type EfmBondingLinkPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	efmbondinglinkperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "EfmBondingLinkPerformanceMonitoringHistoryData",
+		ClassID: 423,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffc0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("RxErroredFragments", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("RxSmallFragments", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("RxLargeFragments", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("RxDiscardedFragments", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("RxFcsErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("RxCodingErrors", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("RxFragments", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("TxFragments", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewEfmBondingLinkPerformanceMonitoringHistoryData (class ID 423) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEfmBondingLinkPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*efmbondinglinkperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/efmbondingportperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydata.go
similarity index 60%
rename from vendor/github.com/cboling/omci/generated/efmbondingportperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydata.go
index a857217..7f6ba5c 100644
--- a/vendor/github.com/cboling/omci/generated/efmbondingportperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EfmBondingPortPerformanceMonitoringHistoryDataClassId ClassID = ClassID(424)
+// EfmBondingPortPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity EFM bonding port performance monitoring history data
+const EfmBondingPortPerformanceMonitoringHistoryDataClassID ClassID = ClassID(424)
 
 var efmbondingportperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -35,39 +41,39 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The two MSBs of
-//			the first byte are the bearer channel ID. Excluding the first 2 bits of the first byte, the
+//			the first byte are the bearer channel ID. Excluding the first 2-bits of the first byte, the
 //			remaining part of the ME ID is identical to that of this ME's parent PPTP xDSL UNI part 1. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contain PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
+//			that contain PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Rx Frames
-//			Rx frames: Number of Ethernet frames received over this port. (R) (mandatory) (4 bytes)
+//			Rx frames: Number of Ethernet frames received over this port. (R) (mandatory) (4-bytes)
 //
 //		Tx Frames
-//			Tx frames: Number of Ethernet frames transmitted over this port. (R) (mandatory) (4 bytes)
+//			Tx frames: Number of Ethernet frames transmitted over this port. (R) (mandatory) (4-bytes)
 //
 //		Rx Bytes
 //			Rx bytes: Number of bytes contained in the Ethernet frames received over this port. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Tx Bytes
 //			Tx bytes: Number of bytes contained in the Ethernet frames transmitted over this port. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Tx Discarded Frames
 //			Tx discarded frames: Number of Ethernet frames discarded by the port transmit function. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Tx Discarded Bytes
 //			Tx discarded bytes: Number of bytes contained in the Ethernet frames discarded by the port
-//			transmit function. (R) (mandatory) (4 bytes)
+//			transmit function. (R) (mandatory) (4-bytes)
 //
 type EfmBondingPortPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -84,24 +90,26 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("RxFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("TxFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("RxBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("TxBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("TxDiscardedFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: Uint32Field("TxDiscardedBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("RxFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("TxFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("RxBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("TxBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("TxDiscardedFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field("TxDiscardedBytes", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewEfmBondingPortPerformanceMonitoringHistoryData (class ID 424 creates the basic
+// NewEfmBondingPortPerformanceMonitoringHistoryData (class ID 424) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEfmBondingPortPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(efmbondingportperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*efmbondingportperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydatapart2.go
new file mode 100644
index 0000000..5c46025
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydatapart2.go
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EfmBondingPortPerformanceMonitoringHistoryDataPart2ClassID is the 16-bit ID for the OMCI
+// Managed entity EFM bonding port performance monitoring history data part 2
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2ClassID ClassID = ClassID(425)
+
+var efmbondingportperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
+
+// EfmBondingPortPerformanceMonitoringHistoryDataPart2 (class ID #425)
+//	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
+//	the OLT.
+//
+//	Relationships
+//		An instance of this ME is associated with an xDSL UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The two MSBs of
+//			the first byte are the bearer channel ID. Excluding the first 2-bits of the first byte, the
+//			remaining part of the ME ID is identical to that of this ME's parent PPTP xDSL UNI part 1. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contain PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Rx Unicast Frames
+//			Rx unicast frames: Number of unicast Ethernet frames received over this port. (R) (mandatory)
+//			(4-bytes)
+//
+//		Tx Unicast Frames
+//			Tx unicast frames: Number of unicast Ethernet frames transmitted over this port. (R) (mandatory)
+//			(4-bytes)
+//
+//		Rx Unicast Bytes
+//			Rx unicast bytes: Number of bytes contained in the unicast Ethernet frames received over this
+//			port. (R) (mandatory) (4-bytes)
+//
+//		Tx Unicast Bytes
+//			Tx unicast bytes: Number of bytes contained in the unicast Ethernet frames transmitted over this
+//			port. (R) (mandatory) (4-bytes)
+//
+//		Rx Broadcast Frames
+//			Rx broadcast frames: Number of broadcast Ethernet frames received over this port. (R)
+//			(mandatory) (4-bytes)
+//
+//		Tx Broadcast Frames
+//			Tx broadcast frames: Number of broadcast Ethernet frames transmitted over this port. (R)
+//			(mandatory) (4-bytes)
+//
+//		Rx Broadcast Bytes
+//			Rx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames received over
+//			this port. (R) (mandatory) (4-bytes)
+//
+//		Tx Broadcast Bytes
+//			Tx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames transmitted over
+//			this port. (R) (mandatory) (4-bytes)
+//
+//		Rx Multicast Frames
+//			Rx multicast frames: Number of multicast Ethernet frames received over this port. (R)
+//			(mandatory) (4-bytes)
+//
+//		Tx Multicast Frames
+//			Tx multicast frames: Number of multicast Ethernet frames transmitted over this port. (R)
+//			(mandatory) (4-bytes)
+//
+//		Rx Multicast Bytes
+//			Rx multicast bytes: Number of bytes contained in the multicast Ethernet frames received over
+//			this port. (R) (mandatory) (4-bytes)
+//
+//		Tx Multicast Bytes
+//			Tx multicast bytes: Number of bytes contained in the multicast Ethernet frames transmitted over
+//			this port. (R) (mandatory) (4-bytes)
+//
+type EfmBondingPortPerformanceMonitoringHistoryDataPart2 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	efmbondingportperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
+		Name:    "EfmBondingPortPerformanceMonitoringHistoryDataPart2",
+		ClassID: 425,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffc,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("RxUnicastFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("TxUnicastFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("RxUnicastBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("TxUnicastBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("RxBroadcastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("TxBroadcastFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("RxBroadcastBytes", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("TxBroadcastBytes", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("RxMulticastFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("TxMulticastFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("RxMulticastBytes", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("TxMulticastBytes", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewEfmBondingPortPerformanceMonitoringHistoryDataPart2 (class ID 425) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEfmBondingPortPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*efmbondingportperformancemonitoringhistorydatapart2BME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/energyconsumptionperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/energyconsumptionperformancemonitoringhistorydata.go
similarity index 67%
rename from vendor/github.com/cboling/omci/generated/energyconsumptionperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/energyconsumptionperformancemonitoringhistorydata.go
index 26b0828..89bf9d3 100644
--- a/vendor/github.com/cboling/omci/generated/energyconsumptionperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/energyconsumptionperformancemonitoringhistorydata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EnergyConsumptionPerformanceMonitoringHistoryDataClassId ClassID = ClassID(343)
+// EnergyConsumptionPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity Energy consumption performance monitoring history data
+const EnergyConsumptionPerformanceMonitoringHistoryDataClassID ClassID = ClassID(343)
 
 var energyconsumptionperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -39,34 +45,34 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The ME ID must
-//			be 0. (R, set-by-create) (mandatory) (2 bytes)
+//			be 0. (R, set-by-create) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: No thresholds are defined for this ME. For uniformity with other PMs, the
-//			attribute is retained and shown as mandatory, but it should be set to a null pointer. (R, W,
-//			set-by-create) (mandatory) (2 bytes)
+//			attribute is retained and shown as mandatory, but it should be set to a null pointer. (R,-W,
+//			set-by-create) (mandatory) (2-bytes)
 //
 //		Doze Time
 //			Doze time: This attribute records the time during which the ONU was in doze energy conservation
 //			mode, measured in microseconds. If watchful sleep is enabled in the ONU dynamic power management
-//			control ME, the ONU ignores this attribute. (R) (mandatory) (4 bytes)
+//			control ME, the ONU ignores this attribute. (R) (mandatory) (4-bytes)
 //
 //		Cyclic Sleep Time
 //			Cyclic sleep time: This attribute records the time during which the ONU was in cyclic sleep
 //			energy conservation mode, measured in microseconds. If watchful sleep is enabled in the ONU
-//			dynamic power management control ME, the ONU ignores this attribute. (R) (mandatory) (4 bytes)
+//			dynamic power management control ME, the ONU ignores this attribute. (R) (mandatory) (4-bytes)
 //
 //		Watchful Sleep Time
 //			Watchful sleep time: This attribute records the time during which the ONU was in watchful sleep
-//			energy conservation mode, measured in microseconds. (R) (mandatory) (4 bytes)
+//			energy conservation mode, measured in microseconds. (R) (mandatory) (4-bytes)
 //
 //		Energy Consumed
 //			Energy consumed: This attribute records the energy consumed by the ONU, measured in millijoules.
-//			(R) (optional) (4 bytes)
+//			(R) (optional) (4-bytes)
 //
 type EnergyConsumptionPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -83,22 +89,24 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFC00,
+		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("DozeTime", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("CyclicSleepTime", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("WatchfulSleepTime", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("EnergyConsumed", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("DozeTime", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("CyclicSleepTime", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("WatchfulSleepTime", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("EnergyConsumed", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewEnergyConsumptionPerformanceMonitoringHistoryData (class ID 343 creates the basic
+// NewEnergyConsumptionPerformanceMonitoringHistoryData (class ID 343) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEnergyConsumptionPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(energyconsumptionperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*energyconsumptionperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/enhancedfecperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/enhancedfecperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..40221e7
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/enhancedfecperformancemonitoringhistorydata.go
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EnhancedFecPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity Enhanced FEC performance monitoring history data
+const EnhancedFecPerformanceMonitoringHistoryDataClassID ClassID = ClassID(453)
+
+var enhancedfecperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// EnhancedFecPerformanceMonitoringHistoryData (class ID #453)
+//	This ME collects PM data associated with PON downstream FEC counters for XGS-PON and subsequent
+//	ITU-T PON systems. Instances of this ME are created and deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of the ANI-G ME or an instance of the TWDM
+//		channel ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the ANI-G or a TWDM channel. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 64 Bit Id
+//			Threshold data 64-bit ID: This attribute points to an instance of the threshold data 64-bit ME
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Corrected Bytes
+//			Corrected bytes: This attribute counts the number of bytes that were corrected by the FEC
+//			function. (R) (mandatory) (8-bytes)
+//
+//		Corrected Code Words
+//			Corrected code words: This attribute counts the code words that were corrected by the FEC
+//			function. (R) (mandatory) (8-bytes)
+//
+//		Uncorrectable Code Words
+//			Uncorrectable code words: This attribute counts errored code words that could not be corrected
+//			by the FEC function. (R) (mandatory) (8-bytes)
+//
+//		Total Code Words
+//			Total code words: This attribute counts the total received code words. (R) (mandatory) (8-bytes)
+//
+//		Fec Seconds
+//			FEC seconds:	This attribute counts seconds during which there was an FEC anomaly. (R)
+//			(mandatory) (2-bytes)
+//
+type EnhancedFecPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	enhancedfecperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "EnhancedFecPerformanceMonitoringHistoryData",
+		ClassID: 453,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfe00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint64Field("CorrectedBytes", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint64Field("CorrectedCodeWords", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint64Field("UncorrectableCodeWords", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint64Field("TotalCodeWords", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field("FecSeconds", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Corrected bytes",
+			1: "Corrected code words",
+			2: "Uncorrectable code words",
+			4: "FEC seconds",
+		},
+	}
+}
+
+// NewEnhancedFecPerformanceMonitoringHistoryData (class ID 453) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEnhancedFecPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*enhancedfecperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/enhancedsecuritycontrol.go b/vendor/github.com/opencord/omci-lib-go/generated/enhancedsecuritycontrol.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/enhancedsecuritycontrol.go
rename to vendor/github.com/opencord/omci-lib-go/generated/enhancedsecuritycontrol.go
index bc8246c..f2c8c81 100644
--- a/vendor/github.com/cboling/omci/generated/enhancedsecuritycontrol.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/enhancedsecuritycontrol.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EnhancedSecurityControlClassId ClassID = ClassID(332)
+// EnhancedSecurityControlClassID is the 16-bit ID for the OMCI
+// Managed entity Enhanced security control
+const EnhancedSecurityControlClassID ClassID = ClassID(332)
 
 var enhancedsecuritycontrolBME *ManagedEntityDefinition
 
@@ -31,7 +37,7 @@
 //	to implement a symmetric-key-based three step authentication process as described in the
 //	supplemental information section in the following.
 //
-//	NOTE – If an ITU-T G.987 system uses 802.1X authentication as defined in [ITU-T G.987.3], the
+//	NOTE - If an ITU-T G.987 system uses 802.1X authentication as defined in [ITU-T G.987.3], the
 //	only applicable attribute of this ME is the broadcast key table.
 //
 //	Relationships
@@ -46,10 +52,10 @@
 //			(W) (mandatory) (16 bytes)
 //
 //		Olt Random Challenge Table
-//			NOTE – It is assumed that the length of OLT_challenge is always an integer multiple of 16 bytes.
+//			NOTE - It is assumed that the length of OLT_challenge is always an integer multiple of 16-bytes.
 //
 //		Olt Challenge Status
-//			The ONU initializes this attribute to the value false. (R, W) (mandatory) (1 byte)
+//			The ONU initializes this attribute to the value false. (R, W) (mandatory) (1-byte)
 //
 //		Onu Selected Crypto Capabilities
 //			ONU selected crypto capabilities: This attribute specifies the cryptographic capability selected
@@ -59,25 +65,25 @@
 //		Onu Random Challenge Table
 //			ONU random challenge table: This attribute specifies the random challenge ONU_challenge issued
 //			by the ONU during authentication step 2. It is structured as a table, with each entry being
-//			16 bytes of content. ONU_challenge is the concatenation of all 16 byte content fields in the
+//			16-bytes of content. ONU_challenge is the concatenation of all 16-byte content fields in the
 //			table. Once the OLT triggers a response to be generated using the OLT challenge status
 //			attribute, the ONU generates the response and writes the table (in a single operation). The AVC
 //			generated by this attribute signals to the OLT that the challenge is ready, so that the OLT can
-//			commence a get/get-next sequence to obtain the table's contents. (R) (mandatory) (16 * P bytes)
+//			commence a get/get-next sequence to obtain the table's contents. (R) (mandatory) (16 * P-bytes)
 //
 //		Onu Authentication Result Table
 //			Once the OLT triggers a response to be generated using the OLT challenge status attribute, the
 //			ONU generates ONU_result and writes the table (in a single operation). The AVC generated by this
 //			attribute signals to the OLT that the response is ready, so that the OLT can commence a get/get-
-//			next sequence to obtain the table's contents. (R) (mandatory) (16 * Q bytes)
+//			next sequence to obtain the table's contents. (R) (mandatory) (16 * Q-bytes)
 //
 //		Olt Authentication Result Table
 //			This attribute is structured as a table, with each entry being 17 bytes. The first byte is the
 //			table row number, starting at 1; the remaining 16 bytes are content. OLT_result is the
-//			concatenation of all 16 byte content fields. The OLT writes all entries into the table, and then
+//			concatenation of all 16-byte content fields. The OLT writes all entries into the table, and then
 //			triggers the ONU's processing of the table using the OLT result status attribute. The number of
 //			rows R is implicit in the choice of hash algorithm. The OLT can clear the table with a set
-//			operation to row 0. (W) (mandatory) (17 * R bytes)
+//			operation to row 0. (W) (mandatory) (17 * R-bytes)
 //
 //		Olt Result Status
 //			(R, W) (mandatory) (1 byte)
@@ -111,28 +117,30 @@
 			GetNext,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFF0,
+		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  MultiByteField("OltCryptoCapabilities", 16, nil, mapset.NewSetWith(Write), false, false, false, false, 1),
-			2:  TableField("OltRandomChallengeTable", TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  ByteField("OltChallengeStatus", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  ByteField("OnuSelectedCryptoCapabilities", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  TableField("OnuRandomChallengeTable", TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 5),
-			6:  TableField("OnuAuthenticationResultTable", TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 6),
-			7:  TableField("OltAuthenticationResultTable", TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("OltResultStatus", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  ByteField("OnuAuthenticationStatus", 0, mapset.NewSetWith(Read), true, false, false, false, 9),
-			10: MultiByteField("MasterSessionKeyName", 16, nil, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: TableField("BroadcastKeyTable", TableInfo{nil, 18}, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint16Field("EffectiveKeyLength", 0, mapset.NewSetWith(Read), false, false, true, false, 12),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField("OltCryptoCapabilities", OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Write), false, false, false, 1),
+			2:  TableField("OltRandomChallengeTable", TableAttributeType, 0x4000, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField("OltChallengeStatus", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField("OnuSelectedCryptoCapabilities", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  TableField("OnuRandomChallengeTable", TableAttributeType, 0x0800, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 5),
+			6:  TableField("OnuAuthenticationResultTable", TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 6),
+			7:  TableField("OltAuthenticationResultTable", TableAttributeType, 0x0200, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("OltResultStatus", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField("OnuAuthenticationStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
+			10: MultiByteField("MasterSessionKeyName", OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
+			11: TableField("BroadcastKeyTable", TableAttributeType, 0x0020, TableInfo{nil, 18}, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint16Field("EffectiveKeyLength", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewEnhancedSecurityControl (class ID 332 creates the basic
+// NewEnhancedSecurityControl (class ID 332) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEnhancedSecurityControl(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(enhancedsecuritycontrolBME, params...)
+	return NewManagedEntity(*enhancedsecuritycontrolBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/enhancedtcperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/enhancedtcperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..0ea33d0
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/enhancedtcperformancemonitoringhistorydata.go
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EnhancedTcPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity Enhanced TC performance monitoring history data
+const EnhancedTcPerformanceMonitoringHistoryDataClassID ClassID = ClassID(454)
+
+var enhancedtcperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// EnhancedTcPerformanceMonitoringHistoryData (class ID #454)
+//	This ME collects PM data associated with the XGS-PON and subsequent ITU-T PON systems' TC layer.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an ANI-G.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the ANI-G. (R, set-by-create)
+//			(mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 64 Bit Id
+//			Threshold data 64-bit ID: This attribute points to an instance of the threshold data 64-bit ME
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Psbd Hec Error Count
+//			PSBd HEC error count: This attribute counts HEC errors in any of the fields of the downstream
+//			physical sync block. (R) (optional) (4-bytes)
+//
+//		Xgtc Hec Error Count
+//			XGTC HEC error count: This attribute counts HEC errors detected in the XGTC header. In [ITU-T
+//			G.9807.1], this attribute is used for FS HEC error count management. (R) (optional) (4-bytes)
+//
+//		Unknown Profile Count
+//			Unknown profile count: This attribute counts the number of grants received whose specified
+//			profile was not known to the ONU. (R) (optional) (4-bytes)
+//
+//		Transmitted Xgem Frames
+//			Transmitted XGEM frames: This attribute counts the number of non-idle XGEM frames transmitted.
+//			If an SDU is fragmented, each fragment is an XGEM frame and is counted as such. (R) (mandatory)
+//			(8 bytes)
+//
+//		Fragment Xgem Frames
+//			Fragment XGEM frames: This attribute counts the number of XGEM frames that represent fragmented
+//			SDUs, as indicated by the LF bit = 0. (R) (optional) (8-bytes)
+//
+//		Xgem Hec Lost Words Count
+//			XGEM HEC lost words count: This attribute counts the number of 4-byte words lost because of an
+//			XGEM frame HEC error. In general, all XGTC payload following the error is lost, until the next
+//			PSBd event. (R) (optional) (8 bytes)
+//
+//		Xgem Key Errors
+//			(R) (mandatory) (8 bytes)
+//
+//		Xgem Hec Error Count
+//			XGEM HEC error count: This attribute counts the number of instances of an XGEM frame HEC error.
+//			(R) (mandatory) (8 bytes)
+//
+//		Transmitted Bytes In Non_Idle Xgem Frames
+//			Transmitted bytes in non-idle XGEM frames: This attribute counts the number of transmitted bytes
+//			in non-idle XGEM frames. (R) (mandatory) (8 bytes)
+//
+//		Received Bytes In Non_Idle Xgem Frames
+//			Received bytes in non-idle XGEM frames: This attribute counts the number of received bytes in
+//			non-idle XGEM frames. (R) (optional) (8 bytes)
+//
+//		Lods Event Count
+//			LODS event count: This attribute counts the number of state transitions from O5.1 to O6. (R)
+//			(optional) (4-bytes)
+//
+//		Lods Event Restored Count
+//			LODS event restored count: This attribute counts the number of LODS cleared events. (R)
+//			(optional) (4-bytes)
+//
+//		Onu Reactivation By Lods Events
+//			ONU reactivation by LODS events: This attribute counts the number of LODS events resulting in
+//			ONU reactivation without synchronization being reacquired. (R) (optional) (4-bytes)
+//
+type EnhancedTcPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	enhancedtcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "EnhancedTcPerformanceMonitoringHistoryData",
+		ClassID: 454,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("PsbdHecErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field("XgtcHecErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field("UnknownProfileCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint64Field("TransmittedXgemFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint64Field("FragmentXgemFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint64Field("XgemHecLostWordsCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint64Field("XgemKeyErrors", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field("XgemHecErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint64Field("TransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint64Field("ReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field("LodsEventCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field("LodsEventRestoredCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field("OnuReactivationByLodsEvents", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "PSBd HEC error count",
+			2: "XGTC HEC error count",
+			3: "Unknown profile count",
+			4: "XGEM HEC loss count",
+			5: "XGEM key errors",
+			6: "XGEM HEC error count",
+		},
+	}
+}
+
+// NewEnhancedTcPerformanceMonitoringHistoryData (class ID 454) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEnhancedTcPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*enhancedtcperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/equipmentextensionpackage.go b/vendor/github.com/opencord/omci-lib-go/generated/equipmentextensionpackage.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/equipmentextensionpackage.go
rename to vendor/github.com/opencord/omci-lib-go/generated/equipmentextensionpackage.go
index 2b46de7..1deabe7 100644
--- a/vendor/github.com/cboling/omci/generated/equipmentextensionpackage.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/equipmentextensionpackage.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EquipmentExtensionPackageClassId ClassID = ClassID(160)
+// EquipmentExtensionPackageClassID is the 16-bit ID for the OMCI
+// Managed entity Equipment extension package
+const EquipmentExtensionPackageClassID ClassID = ClassID(160)
 
 var equipmentextensionpackageBME *ManagedEntityDefinition
 
@@ -37,17 +43,17 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the ONU-G or cardholder. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Environmental Sense
-//			NOTE – Some specific sense point applications are already defined on the ONU-G ME. It is the
+//			NOTE - Some specific sense point applications are already defined on the ONU-G ME. It is the
 //			vendor's choice how to configure and report sense points that appear both generically and
 //			specifically.
 //
 //		Contact Closure Output
 //			On read, the left bit in each pair should be set to 0 at the ONU and ignored at the OLT. The
-//			right bit indicates a released output point with 0 and an operated contact point with 1. (R, W)
-//			(optional) (2 bytes)
+//			right bit indicates a released output point with 0 and an operated contact point with 1. (R,-W)
+//			(optional) (2-bytes)
 //
 type EquipmentExtensionPackage struct {
 	ManagedEntityDefinition
@@ -62,18 +68,31 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XC000,
+		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: Uint16Field("EnvironmentalSense", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 1),
-			2: Uint16Field("ContactClosureOutput", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 2),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field("EnvironmentalSense", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: Uint16Field("ContactClosureOutput", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Reserved",
+			1: "Sense point 1",
+			2: "Sense point 2",
+			3: "Sense point 3",
+			4: "Sense point 4",
+			5: "Sense point 5",
+			6: "Sense point 6",
+			7: "Sense point 7",
+			8: "Sense point 8",
 		},
 	}
 }
 
-// NewEquipmentExtensionPackage (class ID 160 creates the basic
+// NewEquipmentExtensionPackage (class ID 160) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEquipmentExtensionPackage(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(equipmentextensionpackageBME, params...)
+	return NewManagedEntity(*equipmentextensionpackageBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/ethernetflowterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetflowterminationpoint.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/ethernetflowterminationpoint.go
rename to vendor/github.com/opencord/omci-lib-go/generated/ethernetflowterminationpoint.go
index 0e4454a..17a4b9e 100644
--- a/vendor/github.com/cboling/omci/generated/ethernetflowterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetflowterminationpoint.go
@@ -1,33 +1,39 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EthernetFlowTerminationPointClassId ClassID = ClassID(286)
+// EthernetFlowTerminationPointClassID is the 16-bit ID for the OMCI
+// Managed entity Ethernet flow termination point
+const EthernetFlowTerminationPointClassID ClassID = ClassID(286)
 
 var ethernetflowterminationpointBME *ManagedEntityDefinition
 
 // EthernetFlowTerminationPoint (class ID #286)
 //	The Ethernet flow TP contains the attributes necessary to originate and terminate Ethernet
-//	frames in the ONU. It is appropriate when transporting pseudowire services via layer 2.
+//	frames in the ONU. It is appropriate when transporting pseudowire services via layer-2.
 //	Instances of this ME are created and deleted by the OLT.
 //
 //	Relationships
@@ -38,27 +44,27 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to a pseudowire TP ME. (R, setbycreate) (mandatory)
-//			(2 bytes)
+//			(2-bytes)
 //
 //		Destination Mac
 //			Destination MAC: This attribute specifies the destination MAC address of upstream Ethernet
-//			frames. (R, W, setbycreate) (mandatory) (6 bytes)
+//			frames. (R,-W, setbycreate) (mandatory) (6-bytes)
 //
 //		Source Mac
 //			Source MAC: This attribute specifies the near-end MAC address. It is established by nonOMCI
 //			means (e.g., factory programmed into ONU flash memory) and is included here for information
-//			only. (R) (mandatory) (6 bytes)
+//			only. (R) (mandatory) (6-bytes)
 //
 //		Tag Policy
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Tci
 //			TCI:	If the tag policy calls for tagging of upstream Ethernet frames, this attribute specifies
-//			the tag control information, which includes the VLAN tag, P bits and CFI bit. (R, W) (optional)
-//			(2 bytes)
+//			the tag control information, which includes the VLAN tag, P bits and CFI bit. (R,-W) (optional)
+//			(2-bytes)
 //
 //		Loopback
-//			(R, W) (mandatory) (1 byte)
+//			(R,-W) (mandatory) (1-byte)
 //
 type EthernetFlowTerminationPoint struct {
 	ManagedEntityDefinition
@@ -75,21 +81,23 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: MultiByteField("DestinationMac", 6, nil, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: MultiByteField("SourceMac", 6, nil, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3: ByteField("TagPolicy", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint16Field("Tci", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5: ByteField("Loopback", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField("DestinationMac", OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: MultiByteField("SourceMac", OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField("TagPolicy", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field("Tci", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: ByteField("Loopback", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewEthernetFlowTerminationPoint (class ID 286 creates the basic
+// NewEthernetFlowTerminationPoint (class ID 286) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEthernetFlowTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ethernetflowterminationpointBME, params...)
+	return NewManagedEntity(*ethernetflowterminationpointBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/ethernetframeextendedpm.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/ethernetframeextendedpm.go
rename to vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm.go
index 887f8f2..a4cfd62 100644
--- a/vendor/github.com/cboling/omci/generated/ethernetframeextendedpm.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EthernetFrameExtendedPmClassId ClassID = ClassID(334)
+// EthernetFrameExtendedPmClassID is the 16-bit ID for the OMCI
+// Managed entity Ethernet frame extended PM
+const EthernetFrameExtendedPmClassID ClassID = ClassID(334)
 
 var ethernetframeextendedpmBME *ManagedEntityDefinition
 
@@ -44,7 +50,7 @@
 //			setbycreate) (mandatory) (2 bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. If
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. If
 //			continuous accumulation is enabled in the control block, this attribute is not used and has the
 //			fixed value 0. (R) (mandatory) (1 byte)
 //
@@ -89,8 +95,8 @@
 //			(mandatory) (4 bytes)
 //
 //		Frames 64 Octets
-//			Frames 64 octets: The total number of received frames (including bad frames) that were 64 octets
-//			long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			Frames 64 octets: The total number of received frames (including bad frames) that were 64-octets
+//			long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
 //
 //		Frames 65 To 127 Octets
 //			Frames 65 to 127 octets: The total number of received frames (including bad frames) that were
@@ -105,8 +111,8 @@
 //			256..511 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
 //
 //		Frames 512 To 1 023 Octets
-//			Frames 512 to 1 023 octets: The total number of frames (including bad frames) received that were
-//			512..1 023 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			Frames 512 to 1-023 octets: The total number of frames (including bad frames) received that were
+//			512..1-023 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
 //
 //		Frames 1024 To 1518 Octets
 //			Frames 1024 to 1518 octets: The total number of frames (including bad frames) received that were
@@ -127,32 +133,40 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFF,
+		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  MultiByteField("ControlBlock", 16, nil, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("DropEvents", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("Frames", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("BroadcastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("MulticastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("CrcErroredFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("UndersizeFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("OversizeFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("Frames64Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("Frames65To127Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("Frames128To255Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("Frames256To511Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("Frames512To1023Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-			16: Uint32Field("Frames1024To1518Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 16),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  MultiByteField("ControlBlock", OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("Frames", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("BroadcastFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("MulticastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("CrcErroredFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("UndersizeFrames", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("OversizeFrames", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("Frames64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("Frames65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("Frames128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("Frames256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("Frames512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field("Frames1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "Drop events",
+			2: "CRC errored frames",
+			3: "Undersize frames",
+			4: "Oversize frames",
 		},
 	}
 }
 
-// NewEthernetFrameExtendedPm (class ID 334 creates the basic
+// NewEthernetFrameExtendedPm (class ID 334) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEthernetFrameExtendedPm(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ethernetframeextendedpmBME, params...)
+	return NewManagedEntity(*ethernetframeextendedpmBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/ethernetframeextendedpm64-bit.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm64-bit.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/ethernetframeextendedpm64-bit.go
rename to vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm64-bit.go
index 38b2a0e..625818a 100644
--- a/vendor/github.com/cboling/omci/generated/ethernetframeextendedpm64-bit.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm64-bit.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EthernetFrameExtendedPm64BitClassId ClassID = ClassID(426)
+// EthernetFrameExtendedPm64BitClassID is the 16-bit ID for the OMCI
+// Managed entity Ethernet frame extended PM 64-bit
+const EthernetFrameExtendedPm64BitClassID ClassID = ClassID(426)
 
 var ethernetframeextendedpm64bitBME *ManagedEntityDefinition
 
@@ -40,7 +46,7 @@
 //			setbycreate) (mandatory) (2 bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. If
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. If
 //			continuous accumulation is enabled in the control block, this attribute is not used and has the
 //			fixed value 0. (R) (mandatory) (1 byte)
 //
@@ -85,8 +91,8 @@
 //			(mandatory) (4 bytes)
 //
 //		Frames 64 Octets
-//			Frames 64 octets: The total number of received frames (including bad frames) that were 64 octets
-//			long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			Frames 64 octets: The total number of received frames (including bad frames) that were 64-octets
+//			long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
 //
 //		Frames 65 To 127 Octets
 //			Frames 65 to 127 octets: The total number of received frames (including bad frames) that were
@@ -101,8 +107,8 @@
 //			256..511 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
 //
 //		Frames 512 To 1 023 Octets
-//			Frames 512 to 1 023 octets: The total number of frames (including bad frames) received that were
-//			512..1 023 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			Frames 512 to 1-023 octets: The total number of frames (including bad frames) received that were
+//			512..1-023 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
 //
 //		Frames 1024 To 1518 Octets
 //			Frames 1024 to 1518 octets: The total number of frames (including bad frames) received that were
@@ -123,32 +129,40 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFF,
+		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  MultiByteField("ControlBlock", 16, nil, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint64Field("DropEvents", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint64Field("Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint64Field("Frames", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint64Field("BroadcastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint64Field("MulticastFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint64Field("CrcErroredFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint64Field("UndersizeFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint64Field("OversizeFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint64Field("Frames64Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint64Field("Frames65To127Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint64Field("Frames128To255Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint64Field("Frames256To511Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint64Field("Frames512To1023Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-			16: Uint64Field("Frames1024To1518Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 16),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  MultiByteField("ControlBlock", OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint64Field("Frames", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint64Field("BroadcastFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint64Field("MulticastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint64Field("CrcErroredFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field("UndersizeFrames", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field("OversizeFrames", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint64Field("Frames64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint64Field("Frames65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint64Field("Frames128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint64Field("Frames256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint64Field("Frames512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint64Field("Frames1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "Drop events",
+			2: "CRC errored frames",
+			3: "Undersize frames",
+			4: "Oversize frames",
 		},
 	}
 }
 
-// NewEthernetFrameExtendedPm64Bit (class ID 426 creates the basic
+// NewEthernetFrameExtendedPm64Bit (class ID 426) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEthernetFrameExtendedPm64Bit(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ethernetframeextendedpm64bitBME, params...)
+	return NewManagedEntity(*ethernetframeextendedpm64bitBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeperformancemonitoringhistorydatadownstream.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
new file mode 100644
index 0000000..a535988
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EthernetFramePerformanceMonitoringHistoryDataDownstreamClassID is the 16-bit ID for the OMCI
+// Managed entity Ethernet frame performance monitoring history data downstream
+const EthernetFramePerformanceMonitoringHistoryDataDownstreamClassID ClassID = ClassID(321)
+
+var ethernetframeperformancemonitoringhistorydatadownstreamBME *ManagedEntityDefinition
+
+// EthernetFramePerformanceMonitoringHistoryDataDownstream (class ID #321)
+//	This ME is identical to the Ethernet frame PM history data upstream ME, with the exception that
+//	it monitors downstream traffic.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of a MAC bridge port configuration
+//			data. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Drop Events
+//			Drop events:	The total number of events in which packets were dropped due to a lack of
+//			resources. This is not necessarily the number of packets dropped; it is the number of times this
+//			event was detected. (R) (mandatory) (4-bytes)
+//
+//		Octets
+//			Octets:	The total number of upstream octets received, including those in bad packets, excluding
+//			framing bits, but including FCS. (R) (mandatory) (4-bytes)
+//
+//		Packets
+//			Packets:	The total number of upstream packets received, including bad packets, broadcast packets
+//			and multicast packets. (R) (mandatory) (4-bytes)
+//
+//		Broadcast Packets
+//			Broadcast packets: The total number of upstream good packets received that were directed to the
+//			broadcast address. This does not include multicast packets. (R) (mandatory) (4-bytes)
+//
+//		Multicast Packets
+//			Multicast packets: The total number of upstream good packets received that were directed to a
+//			multicast address. This does not include broadcast packets. (R) (mandatory) (4-bytes)
+//
+//		Crc Errored Packets
+//			CRC errored packets: The total number of upstream packets received that had a length (excluding
+//			framing bits, but including FCS octets) of between 64-octets and 1518-octets, inclusive, but had
+//			either a bad FCS with an integral number of octets (FCS error) or a bad FCS with a non-integral
+//			number of octets (alignment error). (R) (mandatory) (4-bytes)
+//
+//		Undersize Packets
+//			Undersize packets: The total number of upstream packets received that were less than 64-octets
+//			long, but were otherwise well formed (excluding framing bits, but including FCS). (R)
+//			(mandatory) (4-bytes)
+//
+//		Oversize Packets
+//			NOTE 2 - If 2-000-byte Ethernet frames are supported, counts in this performance parameter are
+//			not necessarily errors.
+//
+//		Packets 64 Octets
+//			Packets 64 octets: The total number of upstream received packets (including bad packets) that
+//			were 64-octets long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
+//
+//		Packets 65 To 127 Octets
+//			Packets 65 to 127 octets: The total number of upstream received packets (including bad packets)
+//			that were 65..127 octets long, excluding framing bits but including FCS. (R) (mandatory)
+//			(4-bytes)
+//
+//		Packets 128 To 255 Octets
+//			Packets 128 to 255 octets: The total number of upstream packets (including bad packets) received
+//			that were 128..255 octets long, excluding framing bits but including FCS. (R) (mandatory)
+//			(4-bytes)
+//
+//		Packets 256 To 511 Octets
+//			Packets 256 to 511 octets: The total number of upstream packets (including bad packets) received
+//			that were 256..511 octets long, excluding framing bits but including FCS. (R) (mandatory)
+//			(4-bytes)
+//
+//		Packets 512 To 1023 Octets
+//			Packets 512 to 1023 octets: The total number of upstream packets (including bad packets)
+//			received that were 512..1-023 octets long, excluding framing bits but including FCS. (R)
+//			(mandatory) (4-bytes)
+//
+//		Packets 1024 To 1518 Octets
+//			Packets 1024 to 1518 octets: The total number of upstream packets (including bad packets)
+//			received that were 1024..1518 octets long, excluding framing bits, but including FCS. (R)
+//			(mandatory) (4-bytes)
+//
+type EthernetFramePerformanceMonitoringHistoryDataDownstream struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	ethernetframeperformancemonitoringhistorydatadownstreamBME = &ManagedEntityDefinition{
+		Name:    "EthernetFramePerformanceMonitoringHistoryDataDownstream",
+		ClassID: 321,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("Packets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("BroadcastPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("MulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("CrcErroredPackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("UndersizePackets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("OversizePackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("Packets64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("Packets65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("Packets128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("Packets256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("Packets512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field("Packets1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Drop events",
+			1: "CRC errored packets",
+			2: "Undersize packets",
+			3: "Oversize packets",
+		},
+	}
+}
+
+// NewEthernetFramePerformanceMonitoringHistoryDataDownstream (class ID 321) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEthernetFramePerformanceMonitoringHistoryDataDownstream(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*ethernetframeperformancemonitoringhistorydatadownstreamBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeperformancemonitoringhistorydataupstream.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeperformancemonitoringhistorydataupstream.go
new file mode 100644
index 0000000..28df9cb
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeperformancemonitoringhistorydataupstream.go
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EthernetFramePerformanceMonitoringHistoryDataUpstreamClassID is the 16-bit ID for the OMCI
+// Managed entity Ethernet frame performance monitoring history data upstream
+const EthernetFramePerformanceMonitoringHistoryDataUpstreamClassID ClassID = ClassID(322)
+
+var ethernetframeperformancemonitoringhistorydataupstreamBME *ManagedEntityDefinition
+
+// EthernetFramePerformanceMonitoringHistoryDataUpstream (class ID #322)
+//	This ME collects PM data associated with upstream Ethernet frame delivery. It is based on the
+//	Etherstats group of [IETF RFC 2819]. Instances of this ME are created and deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	NOTE 1 - Implementers are encouraged to consider the Ethernet frame extended PM ME defined in
+//	clause-9.3.32, which collects the same counters in a more generalized way.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of a MAC bridge port configuration data.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of a MAC bridge port configuration
+//			data. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Drop Events
+//			Drop events:	The total number of events in which packets were dropped due to a lack of
+//			resources. This is not necessarily the number of packets dropped; it is the number of times this
+//			event was detected. (R) (mandatory) (4-bytes)
+//
+//		Octets
+//			Octets:	The total number of upstream octets received, including those in bad packets, excluding
+//			framing bits, but including FCS. (R) (mandatory) (4-bytes)
+//
+//		Packets
+//			Packets:	The total number of upstream packets received, including bad packets, broadcast packets
+//			and multicast packets. (R) (mandatory) (4-bytes)
+//
+//		Broadcast Packets
+//			Broadcast packets: The total number of upstream good packets received that were directed to the
+//			broadcast address. This does not include multicast packets. (R) (mandatory) (4-bytes)
+//
+//		Multicast Packets
+//			Multicast packets: The total number of upstream good packets received that were directed to a
+//			multicast address. This does not include broadcast packets. (R) (mandatory) (4-bytes)
+//
+//		Crc Errored Packets
+//			CRC errored packets: The total number of upstream packets received that had a length (excluding
+//			framing bits, but including FCS octets) of between 64-octets and 1518-octets, inclusive, but had
+//			either a bad FCS with an integral number of octets (FCS error) or a bad FCS with a non-integral
+//			number of octets (alignment error). (R) (mandatory) (4-bytes)
+//
+//		Undersize Packets
+//			Undersize packets: The total number of upstream packets received that were less than 64-octets
+//			long, but were otherwise well formed (excluding framing bits, but including FCS). (R)
+//			(mandatory) (4-bytes)
+//
+//		Oversize Packets
+//			NOTE 2 - If 2-000-byte Ethernet frames are supported, counts in this performance parameter are
+//			not necessarily errors.
+//
+//		Packets 64 Octets
+//			Packets 64 octets: The total number of upstream received packets (including bad packets) that
+//			were 64-octets long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
+//
+//		Packets 65 To 127 Octets
+//			Packets 65 to 127 octets: The total number of upstream received packets (including bad packets)
+//			that were 65..127 octets long, excluding framing bits but including FCS. (R) (mandatory)
+//			(4-bytes)
+//
+//		Packets 128 To 255 Octets
+//			Packets 128 to 255 octets: The total number of upstream packets (including bad packets) received
+//			that were 128..255 octets long, excluding framing bits but including FCS. (R) (mandatory)
+//			(4-bytes)
+//
+//		Packets 256 To 511 Octets
+//			Packets 256 to 511 octets: The total number of upstream packets (including bad packets) received
+//			that were 256..511 octets long, excluding framing bits but including FCS. (R) (mandatory)
+//			(4-bytes)
+//
+//		Packets 512 To 1023 Octets
+//			Packets 512 to 1023 octets: The total number of upstream packets (including bad packets)
+//			received that were 512..1-023 octets long, excluding framing bits but including FCS. (R)
+//			(mandatory) (4-bytes)
+//
+//		Packets 1024 To 1518 Octets
+//			Packets 1024 to 1518 octets: The total number of upstream packets (including bad packets)
+//			received that were 1024..1518 octets long, excluding framing bits, but including FCS. (R)
+//			(mandatory) (4-bytes)
+//
+type EthernetFramePerformanceMonitoringHistoryDataUpstream struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	ethernetframeperformancemonitoringhistorydataupstreamBME = &ManagedEntityDefinition{
+		Name:    "EthernetFramePerformanceMonitoringHistoryDataUpstream",
+		ClassID: 322,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("Packets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("BroadcastPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("MulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("CrcErroredPackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("UndersizePackets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("OversizePackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("Packets64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("Packets65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("Packets128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("Packets256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("Packets512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field("Packets1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Drop events",
+			1: "CRC errored packets",
+			2: "Undersize packets",
+			3: "Oversize packets",
+		},
+	}
+}
+
+// NewEthernetFramePerformanceMonitoringHistoryDataUpstream (class ID 322) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEthernetFramePerformanceMonitoringHistoryDataUpstream(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*ethernetframeperformancemonitoringhistorydataupstreamBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/ethernetperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..e0725b0
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetperformancemonitoringhistorydata.go
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// EthernetPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity Ethernet performance monitoring history data
+const EthernetPerformanceMonitoringHistoryDataClassID ClassID = ClassID(24)
+
+var ethernetperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// EthernetPerformanceMonitoringHistoryData (class ID #24)
+//	This ME collects some of the PM data for a physical Ethernet interface. Instances of this ME are
+//	created and deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of the PPTP Ethernet UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP Ethernet UNI. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Fcs Errors
+//			FCS errors:	This attribute counts frames received on a particular interface that were an
+//			integral number of octets in length but failed the FCS check. The count is incremented when the
+//			MAC service returns the frameCheckError status to the link layer control (LLC) or other MAC
+//			user. Received frames for which multiple error conditions are obtained are counted according to
+//			the error status presented to the LLC. (R) (mandatory) (4-bytes)
+//
+//		Excessive Collision Counter
+//			Excessive collision counter: This attribute counts frames whose transmission failed due to
+//			excessive collisions.-(R) (mandatory) (4-bytes)
+//
+//		Late Collision Counter
+//			Late collision counter: This attribute counts the number of times that a collision was detected
+//			later than 512 bit times into the transmission of a packet. (R) (mandatory) (4-bytes)
+//
+//		Frames Too Long
+//			Frames too long: This attribute counts received frames that exceeded the maximum permitted frame
+//			size. The count is incremented when the MAC service returns the frameTooLong status to the LLC.
+//			(R) (mandatory) (4-bytes)
+//
+//		Buffer Overflows On Receive
+//			Buffer overflows on receive: This attribute counts the number of times that the receive buffer
+//			overflowed. (R) (mandatory) (4-bytes)
+//
+//		Buffer Overflows On Transmit
+//			Buffer overflows on transmit: This attribute counts the number of times that the transmit buffer
+//			overflowed. (R) (mandatory) (4-bytes)
+//
+//		Single Collision Frame Counter
+//			Single collision frame counter: This attribute counts successfully transmitted frames whose
+//			transmission was delayed by exactly one collision. (R) (mandatory) (4-bytes)
+//
+//		Multiple Collisions Frame Counter
+//			Multiple collisions frame counter: This attribute counts successfully transmitted frames whose
+//			transmission was delayed by more than one collision. (R) (mandatory) (4-bytes)
+//
+//		Sqe Counter
+//			SQE counter: This attribute counts the number of times that the SQE test error message was
+//			generated by the PLS sublayer. (R) (mandatory) (4-bytes)
+//
+//		Deferred Transmission Counter
+//			Deferred transmission counter: This attribute counts frames whose first transmission attempt was
+//			delayed because the medium was busy. The count does not include frames involved in collisions.
+//			(R) (mandatory) (4-bytes)
+//
+//		Internal Mac Transmit Error Counter
+//			Internal MAC transmit error counter: This attribute counts frames whose transmission failed due
+//			to an internal MAC sublayer transmit error. (R) (mandatory) (4-bytes)
+//
+//		Carrier Sense Error Counter
+//			Carrier sense error counter: This attribute counts the number of times that carrier sense was
+//			lost or never asserted when attempting to transmit a frame. (R) (mandatory) (4-bytes)
+//
+//		Alignment Error Counter
+//			Alignment error counter: This attribute counts received frames that were not an integral number
+//			of octets in length and did not pass the FCS check. (R) (mandatory) (4-bytes)
+//
+//		Internal Mac Receive Error Counter
+//			Internal MAC receive error counter: This attribute counts frames whose reception failed due to
+//			an internal MAC sublayer receive error. (R) (mandatory) (4-bytes)
+//
+type EthernetPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	ethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "EthernetPerformanceMonitoringHistoryData",
+		ClassID: 24,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("FcsErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("ExcessiveCollisionCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("LateCollisionCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("FramesTooLong", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("BufferOverflowsOnReceive", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("BufferOverflowsOnTransmit", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("SingleCollisionFrameCounter", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("MultipleCollisionsFrameCounter", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("SqeCounter", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("DeferredTransmissionCounter", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("InternalMacTransmitErrorCounter", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("CarrierSenseErrorCounter", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("AlignmentErrorCounter", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field("InternalMacReceiveErrorCounter", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0:  "FCS errors",
+			1:  "Excessive collision counter",
+			2:  "Late collision counter",
+			3:  "Frames too long",
+			4:  "Buffer overflows on receive",
+			5:  "Buffer overflows on transmit",
+			6:  "Single collision frame counter",
+			7:  "Multiple collisions frame counter",
+			8:  "SQE counter",
+			9:  "Deferred transmission counter",
+			10: "Internal MAC transmit error counter",
+			11: "Carrier sense error counter",
+			12: "Alignment error counter",
+			13: "Internal MAC receive error counter",
+		},
+	}
+}
+
+// NewEthernetPerformanceMonitoringHistoryData (class ID 24) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewEthernetPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*ethernetperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/ethernetperformancemonitoringhistorydata2.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetperformancemonitoringhistorydata2.go
similarity index 65%
rename from vendor/github.com/cboling/omci/generated/ethernetperformancemonitoringhistorydata2.go
rename to vendor/github.com/opencord/omci-lib-go/generated/ethernetperformancemonitoringhistorydata2.go
index 060634f..fd07bb6 100644
--- a/vendor/github.com/cboling/omci/generated/ethernetperformancemonitoringhistorydata2.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetperformancemonitoringhistorydata2.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EthernetPerformanceMonitoringHistoryData2ClassId ClassID = ClassID(89)
+// EthernetPerformanceMonitoringHistoryData2ClassID is the 16-bit ID for the OMCI
+// Managed entity Ethernet performance monitoring history data 2
+const EthernetPerformanceMonitoringHistoryData2ClassID ClassID = ClassID(89)
 
 var ethernetperformancemonitoringhistorydata2BME *ManagedEntityDefinition
 
@@ -39,20 +45,20 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the PPTP Ethernet UNI. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Pppoe Filtered Frame Counter
 //			PPPoE filtered frame counter: This attribute counts the number of frames discarded due to PPPoE
-//			filtering. (R) (mandatory) (4 bytes)
+//			filtering. (R) (mandatory) (4-bytes)
 //
 type EthernetPerformanceMonitoringHistoryData2 struct {
 	ManagedEntityDefinition
@@ -69,19 +75,24 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XE000,
+		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("PppoeFilteredFrameCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("PppoeFilteredFrameCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "PPPoE filtered frame counter",
 		},
 	}
 }
 
-// NewEthernetPerformanceMonitoringHistoryData2 (class ID 89 creates the basic
+// NewEthernetPerformanceMonitoringHistoryData2 (class ID 89) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEthernetPerformanceMonitoringHistoryData2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ethernetperformancemonitoringhistorydata2BME, params...)
+	return NewManagedEntity(*ethernetperformancemonitoringhistorydata2BME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/ethernetperformancemonitoringhistorydata3.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetperformancemonitoringhistorydata3.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/ethernetperformancemonitoringhistorydata3.go
rename to vendor/github.com/opencord/omci-lib-go/generated/ethernetperformancemonitoringhistorydata3.go
index 557dc2c..1207ebc 100644
--- a/vendor/github.com/cboling/omci/generated/ethernetperformancemonitoringhistorydata3.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetperformancemonitoringhistorydata3.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EthernetPerformanceMonitoringHistoryData3ClassId ClassID = ClassID(296)
+// EthernetPerformanceMonitoringHistoryData3ClassID is the 16-bit ID for the OMCI
+// Managed entity Ethernet performance monitoring history data 3
+const EthernetPerformanceMonitoringHistoryData3ClassID ClassID = ClassID(296)
 
 var ethernetperformancemonitoringhistorydata3BME *ManagedEntityDefinition
 
@@ -31,7 +37,7 @@
 //	defined Ethernet monitoring MEs. The received direction is from the CPE towards the network
 //	(upstream).
 //
-//	NOTE 1 – Several of the same counters are available from the Ethernet frame PM history data MEs,
+//	NOTE 1 - Several of the same counters are available from the Ethernet frame PM history data MEs,
 //	which are associated with MAC bridge ports. MAC bridge port association allows those MEs to be
 //	used for any Ethernet flow, in both upstream and downstream directions, while the Ethernet PM
 //	history data 3 ME can only be used on a physical IEEE 802.3 port.
@@ -40,8 +46,8 @@
 //
 //	For a complete discussion of generic PM architecture, refer to clause I.4.
 //
-//	NOTE 2 – Implementers are encouraged to consider the Ethernet frame extended PM ME defined in
-//	clause 9.3.32, which collects the same counters in a more generalized way.
+//	NOTE 2 - Implementers are encouraged to consider the Ethernet frame extended PM ME defined in
+//	clause-9.3.32, which collects the same counters in a more generalized way.
 //
 //	Relationships
 //		An instance of this ME is associated with an instance of the PPTP Ethernet UNI.
@@ -50,79 +56,79 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the PPTP Ethernet UNI. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Drop Events
 //			Drop events:	The total number of events in which packets were dropped due to a lack of
 //			resources. This is not necessarily the number of packets dropped; it is the number of times this
-//			event was detected. (R) (mandatory) (4 bytes)
+//			event was detected. (R) (mandatory) (4-bytes)
 //
 //		Octets
 //			Octets:	The total number of octets received from the CPE, including those in bad packets,
-//			excluding framing bytes, but including FCS. (R) (mandatory) (4 bytes)
+//			excluding framing bytes, but including FCS. (R) (mandatory) (4-bytes)
 //
 //		Packets
 //			Packets:	The total number of packets received, including bad packets, broadcast packets and
-//			multicast packets. (R) (mandatory) (4 bytes)
+//			multicast packets. (R) (mandatory) (4-bytes)
 //
 //		Broadcast Packets
 //			Broadcast packets: The total number of received good packets directed to the broadcast address.
-//			This does not include multicast packets. (R) (mandatory) (4 bytes)
+//			This does not include multicast packets. (R) (mandatory) (4-bytes)
 //
 //		Multicast Packets
 //			Multicast packets: The total number of received good packets directed to a multicast address.
-//			This does not include broadcast packets. (R) (mandatory) (4 bytes)
+//			This does not include broadcast packets. (R) (mandatory) (4-bytes)
 //
 //		Undersize Packets
 //			Undersize packets: The total number of packets received that were less than 64 octets long, but
 //			were otherwise well formed (excluding framing bits, but including FCS). (R) (mandatory)
-//			(4 bytes)
+//			(4-bytes)
 //
 //		Fragments
 //			Fragments:	The total number of packets received that were less than 64 octets long, excluding
 //			framing bits but including FCS octets, and had either a bad FCS with an integral number of
 //			octets (FCS error) or a bad FCS with a non-integral number of octets (alignment error). It is
 //			entirely normal for this attribute to increment. This is because it counts both runts (which are
-//			normal occurrences due to collisions) and noise hits. (R) (mandatory) (4 bytes)
+//			normal occurrences due to collisions) and noise hits. (R) (mandatory) (4-bytes)
 //
 //		Jabbers
 //			Jabbers:	The total number of packets received that were longer than 1518 octets, excluding
 //			framing bits but including FCS octets, and had either a bad FCS with an integral number of
 //			octets (FCS error) or a bad FCS with a non-integral number of octets (alignment error). The
-//			range to detect jabber is between 20 ms and 150 ms. (R) (mandatory) (4 bytes)
+//			range to detect jabber is between 20 ms and 150 ms. (R) (mandatory) (4-bytes)
 //
 //		Packets 64 Octets
 //			Packets 64 octets: The total number of received packets (including bad packets) that were
-//			64 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			64-octets long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
 //
 //		Packets 65 To 127 Octets
 //			Packets 65 to 127 octets: The total number of received packets (including bad packets) that were
-//			65..127 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			65..127 octets long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
 //
 //		Packets 128 To 255 Octets
 //			Packets 128 to 255 octets: The total number of packets (including bad packets) received that
-//			were 128..255 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			were 128..255 octets long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
 //
 //		Packets 256 To 511 Octets
 //			Packets 256 to 511 octets: The total number of packets (including bad packets) received that
-//			were 256..511 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			were 256..511 octets long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
 //
 //		Packets 512 To 1023 Octets
 //			Packets 512 to 1023 octets: The total number of packets (including bad packets) received that
-//			were 512..1023 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			were 512..1023 octets long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
 //
 //		Packets 1024 To 1518 Octets
 //			Packets 1024 to 1518 octets: The total number of packets (including bad packets) received that
-//			were 1024..1518 octets long, excluding framing bits but including FCS. (R) (mandatory) (4 bytes)
+//			were 1024..1518 octets long, excluding framing bits but including FCS. (R) (mandatory) (4-bytes)
 //
 type EthernetPerformanceMonitoringHistoryData3 struct {
 	ManagedEntityDefinition
@@ -139,32 +145,40 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFF,
+		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("DropEvents", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("Packets", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("BroadcastPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("MulticastPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("UndersizePackets", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("Fragments", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("Jabbers", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("Packets64Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("Packets65To127Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("Packets128To255Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("Packets256To511Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("Packets512To1023Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
-			16: Uint32Field("Packets1024To1518Octets", 0, mapset.NewSetWith(Read), false, false, false, false, 16),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("Packets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("BroadcastPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("MulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("UndersizePackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("Fragments", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("Jabbers", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("Packets64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("Packets65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("Packets128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("Packets256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("Packets512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field("Packets1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Drop events",
+			1: "Undersize packets",
+			2: "Fragments",
+			3: "Jabbers",
 		},
 	}
 }
 
-// NewEthernetPerformanceMonitoringHistoryData3 (class ID 296 creates the basic
+// NewEthernetPerformanceMonitoringHistoryData3 (class ID 296) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEthernetPerformanceMonitoringHistoryData3(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ethernetperformancemonitoringhistorydata3BME, params...)
+	return NewManagedEntity(*ethernetperformancemonitoringhistorydata3BME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/ethernetpseudowireparameters.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetpseudowireparameters.go
similarity index 74%
rename from vendor/github.com/cboling/omci/generated/ethernetpseudowireparameters.go
rename to vendor/github.com/opencord/omci-lib-go/generated/ethernetpseudowireparameters.go
index 161c235..f21a994 100644
--- a/vendor/github.com/cboling/omci/generated/ethernetpseudowireparameters.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetpseudowireparameters.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const EthernetPseudowireParametersClassId ClassID = ClassID(400)
+// EthernetPseudowireParametersClassID is the 16-bit ID for the OMCI
+// Managed entity Ethernet pseudowire parameters
+const EthernetPseudowireParametersClassID ClassID = ClassID(400)
 
 var ethernetpseudowireparametersBME *ManagedEntityDefinition
 
@@ -58,17 +64,19 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0X8000,
+		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("Mtu", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("Mtu", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewEthernetPseudowireParameters (class ID 400 creates the basic
+// NewEthernetPseudowireParameters (class ID 400) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewEthernetPseudowireParameters(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(ethernetpseudowireparametersBME, params...)
+	return NewManagedEntity(*ethernetpseudowireparametersBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/extendedvlantaggingoperationconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/generated/extendedvlantaggingoperationconfigurationdata.go
similarity index 69%
rename from vendor/github.com/cboling/omci/generated/extendedvlantaggingoperationconfigurationdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/extendedvlantaggingoperationconfigurationdata.go
index 27846e6..c487804 100644
--- a/vendor/github.com/cboling/omci/generated/extendedvlantaggingoperationconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/extendedvlantaggingoperationconfigurationdata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const ExtendedVlanTaggingOperationConfigurationDataClassId ClassID = ClassID(171)
+// ExtendedVlanTaggingOperationConfigurationDataClassID is the 16-bit ID for the OMCI
+// Managed entity Extended VLAN tagging operation configuration data
+const ExtendedVlanTaggingOperationConfigurationDataClassID ClassID = ClassID(171)
 
 var extendedvlantaggingoperationconfigurationdataBME *ManagedEntityDefinition
 
@@ -44,7 +50,7 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute provides a unique number for each instance of this ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Association Type
 //			When the extended VLAN tagging ME is associated with the ANI side, it behaves as an upstream
@@ -56,28 +62,28 @@
 //		Received Frame Vlan Tagging Operation Table Max Size
 //			Received frame VLAN tagging operation table max size: This attribute indicates the maximum
 //			number of entries that can be set in the received frame VLAN tagging operation table. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Input Tpid
 //			Input TPID:	This attribute gives the special TPID value for operations on the input (filtering)
-//			side of the table. Typical values include 0x88A8 and 0x9100. (R, W) (mandatory) (2 bytes)
+//			side of the table. Typical values include 0x88A8 and 0x9100. (R,-W) (mandatory) (2-bytes)
 //
 //		Output Tpid
 //			Output TPID: This attribute gives the special TPID value for operations on the output (tagging)
-//			side of the table. Typical values include 0x88A8 and 0x9100. (R, W) (mandatory) (2 bytes)
+//			side of the table. Typical values include 0x88A8 and 0x9100. (R,-W) (mandatory) (2-bytes)
 //
 //		Downstream Mode
 //			All other values are reserved. (R, W) (mandatory) (1 byte)
 //
 //		Received Frame Vlan Tagging Operation Table
-//			111	Set TPID = output TPID, DEI = 1
+//			111	Set TPID-=-output TPID, DEI = 1
 //
 //		Associated Me Pointer
-//			NOTE 5 – When the association type is xDSL, the two MSBs may be used to indicate a bearer
+//			NOTE 5 - When the association type is xDSL, the two MSBs may be used to indicate a bearer
 //			channel.
 //
 //		Dscp To P Bit Mapping
-//			NOTE 6 – If certain bits in the DSCP field are to be ignored in the mapping process, the
+//			NOTE 6 - If certain bits in the DSCP field are to be ignored in the mapping process, the
 //			attribute should be provisioned such that all possible values of those bits produce the same
 //			P-bit mapping. This can be applied to the case where instead of full DSCP, the operator wishes
 //			to adopt the priority mechanism based on IP precedence, which needs only the three MSBs of the
@@ -99,24 +105,26 @@
 			GetNext,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("AssociationType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint16Field("ReceivedFrameVlanTaggingOperationTableMaxSize", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3: Uint16Field("InputTpid", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4: Uint16Field("OutputTpid", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5: ByteField("DownstreamMode", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6: TableField("ReceivedFrameVlanTaggingOperationTable", TableInfo{nil, 16}, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7: Uint16Field("AssociatedMePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8: MultiByteField("DscpToPBitMapping", 24, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("AssociationType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("ReceivedFrameVlanTaggingOperationTableMaxSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: Uint16Field("InputTpid", UnsignedIntegerAttributeType, 0x2000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: Uint16Field("OutputTpid", UnsignedIntegerAttributeType, 0x1000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField("DownstreamMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: TableField("ReceivedFrameVlanTaggingOperationTable", TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: Uint16Field("AssociatedMePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: MultiByteField("DscpToPBitMapping", OctetsAttributeType, 0x0100, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 8),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewExtendedVlanTaggingOperationConfigurationData (class ID 171 creates the basic
+// NewExtendedVlanTaggingOperationConfigurationData (class ID 171) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewExtendedVlanTaggingOperationConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(extendedvlantaggingoperationconfigurationdataBME, params...)
+	return NewManagedEntity(*extendedvlantaggingoperationconfigurationdataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/fastchannelconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/fastchannelconfigurationprofile.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/fastchannelconfigurationprofile.go
rename to vendor/github.com/opencord/omci-lib-go/generated/fastchannelconfigurationprofile.go
index 2f982c9..00420ab 100644
--- a/vendor/github.com/cboling/omci/generated/fastchannelconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/fastchannelconfigurationprofile.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const FastChannelConfigurationProfileClassId ClassID = ClassID(432)
+// FastChannelConfigurationProfileClassID is the 16-bit ID for the OMCI
+// Managed entity FAST channel configuration profile
+const FastChannelConfigurationProfileClassID ClassID = ClassID(432)
 
 var fastchannelconfigurationprofileBME *ManagedEntityDefinition
 
@@ -36,32 +42,32 @@
 //	Attributes
 //		Maximum Net Data Rate Maxndr
 //			Maximum net data rate (MAXNDR): This attribute specifies the value of the maximum net data rate.
-//			See clause 11.4.2.2 of [ITU-T G.9701]. Valid values range from 0 (0 kbit/s) to 4294967295
-//			(2^32–1 kbit/s). See clause 7.2.1.1 of [ITUT G.997.2]. (R, W) (mandatory) (4 bytes)
+//			See clause 11.4.2.2 of [ITU-T G.9701]. Valid values range from 0 (0-kbit/s) to 4294967295
+//			(2^32-1-kbit/s). See clause 7.2.1.1 of [ITUT-G.997.2]. (R, W) (mandatory) (4 bytes)
 //
 //		Minimum Expected Throughput Minetr
 //			Minimum expected throughput (MINETR): This attribute specifies the value of the minimum expected
-//			throughput. See clause 11.4.2.1 of [ITU-T G.9701]. Valid values range from 0 (0 kbit/s) to
-//			4294967295 (2^32–1 kbit/s). See clause 7.2.1.2 of [ITU-T G.997.2]. (R, W) (mandatory) (4 bytes)
+//			throughput. See clause 11.4.2.1 of [ITU-T G.9701]. Valid values range from 0 (0-kbit/s) to
+//			4294967295 (2^32-1-kbit/s). See clause-7.2.1.2 of [ITU-T G.997.2]. (R, W) (mandatory) (4 bytes)
 //
 //		Maximum Gamma Data Rate Maxgdr
 //			Maximum gamma data rate (MAXGDR): This attribute specifies the maximum value of the GDR (see
 //			clause 7.11.1.3). The GDR shall not exceed MAXGDR at the start of showtime and during showtime.
-//			Valid values range from 0 (0 kbit/s) to 4294967295 (2^32–1 kbit/s). See clause 7.2.1.3 of [ITU-T
+//			Valid values range from 0 (0-kbit/s) to 4294967295 (2^32-1-kbit/s). See clause 7.2.1.3 of [ITU-T
 //			G.997.2]. (R, W) (mandatory) (4 bytes)
 //
 //		Minimum Gamma Data Rate Mingdr
 //			Minimum gamma data rate (MINGDR): This attribute specifies the minimum value of the GDR (see
 //			clause 7.11.1.3). The GDR may be lower than MINGDR. If the GDR is lower than MINGDR at
 //			initialization or when GDR becomes lower than MINGDR during showtime, a TCA occurs. Valid values
-//			range from 0 (0 kbit/s) to 4294967295 (2^32–1 kbit/s). See clause 7.2.1.4 of [ITU-T G.997.2].
+//			range from 0 (0-kbit/s) to 4294967295 (2^32-1-kbit/s). See clause 7.2.1.4 of [ITU-T G.997.2].
 //			(R, W) (mandatory) (4 bytes)
 //
 //		Maximum Delay Delaymax
 //			Maximum delay (DELAYMAX): This attribute specifies the maximum allowed delay for retransmission.
-//			See clause 9.8 of [ITU-T G.9701]. The ITUT G.9701 control parameter delay_max is set to the same
+//			See clause 9.8 of [ITU-T G.9701]. The ITUT-G.9701 control parameter delay_max is set to the same
 //			value as the maximum delay. See clause 11.4.2.3 of [ITU-T G.9701]. Valid values range from 4
-//			(1 ms) to 252 (63 ms) in steps of 0.25 ms. See clause 7.2.2.1 of [ITUT G.997.2]. (R, W)
+//			(1-ms) to 252 (63-ms) in steps of 0.25-ms. See clause 7.2.2.1 of [ITUT-G.997.2]. (R, W)
 //			(mandatory) (4 bytes)
 //
 //		Minimum Impulse Noise Protection Against Shine Inpmin_Shine
@@ -69,21 +75,21 @@
 //			minimum INP against SHINE. See clause 9.8 of [ITU-T G.9701]. The ITU-T G.9701 control parameter
 //			INP_min_shine is set to the same value as the minimum INP against SHINE. See clause 11.4.2.4 of
 //			[ITU-T G.9701]. Valid values range from 0 to 520 (520 symbol periods). See clause 7.2.2.2 of
-//			[ITUT G.997.2]. (R, W) (mandatory) (2 bytes)
+//			[ITUT G.997.2]. (R, W) (mandatory) (2-bytes)
 //
 //		Shine Ratio Shineratio
 //			SHINE ratio (SHINERATIO): This attribute specifies the SHINE ratio that is used in the
-//			definition of the expected throughput rate (ETR). See clause 9.8 of [ITUT G.9701]. The ITU-T
+//			definition of the expected throughput rate (ETR). See clause 9.8 of [ITUT-G.9701]. The ITU-T
 //			G.9701 control parameter SHINEratio is set to the same value as the SHINE ratio. See clause
 //			11.4.2.5 of [ITU-T G.9701]. The value is expressed in units of 0.001, Valid values range from 0
 //			to 100 (0.01) in steps of 0.001. See clause 7.2.2.3 of [ITU-T G.997.2]. (R, W) (mandatory)
-//			(1 byte)
+//			(1-byte)
 //
 //		Minimum Impulse Noise Protection Against Rein Inpmin_Rein
 //			Minimum impulse noise protection against REIN (INPMIN_REIN): This attribute specifies the
 //			minimum INP against REIN. See clause 9.8 of [ITU-T G.9701]. The ITU-T G.9701 control parameter
 //			INP_min_rein is set to the same value as the minimum INP against REIN. See clause 11.4.2.6 of
-//			[ITU-T G.9701]. Valid values range from 0 to 63 (63 symbol periods). See clause 7.2.2.4 of
+//			[ITU-T G.9701]. Valid values range from 0 to 63 (63-symbol periods). See clause 7.2.2.4 of
 //			[ITU-T G.997.2]. (R, W) (mandatory) (1 byte)
 //
 //		Rein Inter_Arrival Time Iat_Rein
@@ -93,13 +99,13 @@
 //			Minimum Reed-Solomon RFEC/NFEC ratio (RNRATIO): This attribute specifies the minimal required
 //			ratio, RFEC/NFEC, of Reed-Solomon code parameters. The ITU-T G.9701 control parameter rnratio is
 //			set to the same value as the minimum Reed-Solomon RFEC/NFEC ratio. See clause 11.4.2.8 of
-//			[ITUT G.9701]. The value is expressed in units of 1/32, Valid values range from 0 to 8 (1/4).
+//			[ITUT-G.9701]. The value is expressed in units of 1/32, Valid values range from 0 to 8 (1/4).
 //			See clause 7.2.2.6 of [ITU-T G.997.2]. (R, W) (mandatory) (1 byte)
 //
 //		Rtx_Tc Testmode Rtx_Testmode
 //			RTX-TC testmode (RTX_TESTMODE): This Boolean attribute specifies whether the retransmission test
-//			mode defined in clause 9.8.3.1.2 [ITU-T G.9701] is enabled (true) or disabled (disabled). See
-//			clause 7.2.2.7 of [ITU-T G.997.2]. (R, W) (optional) (1 byte)
+//			mode defined in clause 9.8.3.1.2 [ITU-T G.9701] is enabled-(true) or disabled (disabled). See
+//			clause 7.2.2.7 of [ITU-T G.997.2]. (R,-W) (optional) (1 byte)
 //
 type FastChannelConfigurationProfile struct {
 	ManagedEntityDefinition
@@ -116,26 +122,28 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFC0,
+		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint32Field("MaximumNetDataRateMaxndr", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 0),
-			1:  Uint32Field("MinimumExpectedThroughputMinetr", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  Uint32Field("MaximumGammaDataRateMaxgdr", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3:  Uint32Field("MinimumGammaDataRateMingdr", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  Uint32Field("MaximumDelayDelaymax", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  Uint16Field("MinimumImpulseNoiseProtectionAgainstShineInpminShine", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  ByteField("ShineRatioShineratio", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  ByteField("MinimumImpulseNoiseProtectionAgainstReinInpminRein", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  ByteField("ReinInterArrivalTimeIatRein", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  ByteField("MinimumReedSolomonRfecNfecRatioRnratio", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-			10: ByteField("RtxTcTestmodeRtxTestmode", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
+			0:  Uint32Field("MaximumNetDataRateMaxndr", UnknownAttributeType, 0x0000, 0, mapset.NewSetWith(Read, Write), false, false, false, 0),
+			1:  Uint32Field("MinimumExpectedThroughputMinetr", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  Uint32Field("MaximumGammaDataRateMaxgdr", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint32Field("MinimumGammaDataRateMingdr", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint32Field("MaximumDelayDelaymax", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field("MinimumImpulseNoiseProtectionAgainstShineInpminShine", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField("ShineRatioShineratio", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField("MinimumImpulseNoiseProtectionAgainstReinInpminRein", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("ReinInterArrivalTimeIatRein", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField("MinimumReedSolomonRfecNfecRatioRnratio", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField("RtxTcTestmodeRtxTestmode", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewFastChannelConfigurationProfile (class ID 432 creates the basic
+// NewFastChannelConfigurationProfile (class ID 432) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewFastChannelConfigurationProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(fastchannelconfigurationprofileBME, params...)
+	return NewManagedEntity(*fastchannelconfigurationprofileBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/fastdatapathconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/fastdatapathconfigurationprofile.go
similarity index 72%
rename from vendor/github.com/cboling/omci/generated/fastdatapathconfigurationprofile.go
rename to vendor/github.com/opencord/omci-lib-go/generated/fastdatapathconfigurationprofile.go
index 5e27a21..b4dea51 100644
--- a/vendor/github.com/cboling/omci/generated/fastdatapathconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/fastdatapathconfigurationprofile.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const FastDataPathConfigurationProfileClassId ClassID = ClassID(433)
+// FastDataPathConfigurationProfileClassID is the 16-bit ID for the OMCI
+// Managed entity FAST data path configuration profile
+const FastDataPathConfigurationProfileClassID ClassID = ClassID(433)
 
 var fastdatapathconfigurationprofileBME *ManagedEntityDefinition
 
@@ -41,7 +47,7 @@
 //		Tps_Tc Testmode Tps_Testmode
 //			TPS-TC testmode (TPS_TESTMODE): This Boolean attribute specifies whether the TPSTC test mode
 //			defined in clause 8.3.1 [ITU-T G.9701] is enabled (true) or disabled (disabled). See clause
-//			7.3.1 of [ITUT G.997.2]. (R, W) (mandatory) (1 byte)
+//			7.3.1 of [ITUT-G.997.2]. (R,-W) (mandatory) (1 byte)
 //
 type FastDataPathConfigurationProfile struct {
 	ManagedEntityDefinition
@@ -58,17 +64,19 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0X8000,
+		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("TpsTcTestmodeTpsTestmode", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("TpsTcTestmodeTpsTestmode", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewFastDataPathConfigurationProfile (class ID 433 creates the basic
+// NewFastDataPathConfigurationProfile (class ID 433) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewFastDataPathConfigurationProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(fastdatapathconfigurationprofileBME, params...)
+	return NewManagedEntity(*fastdatapathconfigurationprofileBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/fastlineinventoryandstatusdatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/fastlineinventoryandstatusdatapart2.go
similarity index 71%
rename from vendor/github.com/cboling/omci/generated/fastlineinventoryandstatusdatapart2.go
rename to vendor/github.com/opencord/omci-lib-go/generated/fastlineinventoryandstatusdatapart2.go
index 18efd7b..3a59574 100644
--- a/vendor/github.com/cboling/omci/generated/fastlineinventoryandstatusdatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/fastlineinventoryandstatusdatapart2.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const FastLineInventoryAndStatusDataPart2ClassId ClassID = ClassID(436)
+// FastLineInventoryAndStatusDataPart2ClassID is the 16-bit ID for the OMCI
+// Managed entity FAST line inventory and status data part 2
+const FastLineInventoryAndStatusDataPart2ClassID ClassID = ClassID(436)
 
 var fastlineinventoryandstatusdatapart2BME *ManagedEntityDefinition
 
@@ -39,7 +45,7 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Date_Time_Stamping Of Last Successful Downstream Fra Operation Stamp_Frads
 //			(R) (optional) (7 bytes)
@@ -47,19 +53,19 @@
 //		Date_Time_Stamping Of Last Successful Upstream Fra Operation Stamp_Fraus
 //			Date/time-stamping of last successful upstream FRA operation (STAMP-FRAus): This parameter
 //			reports the date/time of the last successful FTU-O initiated FRA execution that has modified the
-//			bits allocation. See clause 7.10.14.6 of [ITUT G.997.2]. The format of this parameter is the
+//			bits allocation. See clause 7.10.14.6 of [ITUT-G.997.2]. The format of this parameter is the
 //			same as STAMPTESTNE. (R) (optional) (7 bytes)
 //
 //		Date_Time_Stamping Of Last Successful Downstream Rpa Operation Stamp_Rpads
 //			Date/time-stamping of last successful downstream RPA operation (STAMP-RPAds): This parameter
 //			reports the date/time of the last successful FTU-R initiated RPA execution that has modified the
-//			bits allocation for the RMC. See clause 7.10.14.7 of [ITU-T G.997.2]. The format of this
+//			bits allocation for the RMC. See clause-7.10.14.7 of [ITU-T G.997.2]. The format of this
 //			parameter is the same as STAMP-TEST-NE. (R) (optional) (7 bytes)
 //
 //		Date_Time_Stamping Of Last Successful Upstream Rpa Operation Stamp_Rpaus
 //			Date/time-stamping of last successful upstream RPA operation (STAMP-RPAus): This parameter
 //			reports the date/time of the last successful FTU-O initiated RPA execution that has modified the
-//			bits allocation for the RMC. See clause 7.10.14.8 of [ITU-T G.997.2]. The format of this
+//			bits allocation for the RMC. See clause-7.10.14.8 of [ITU-T G.997.2]. The format of this
 //			parameter is the same as STAMP-TEST-NE. (R) (optional) (7 bytes)
 //
 //		Date_Time_Stamping Of Last Successful Downstream Tiga Operation Stamp_Tiga
@@ -80,21 +86,23 @@
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads", 7, nil, mapset.NewSetWith(Read), false, false, true, false, 1),
-			2: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus", 7, nil, mapset.NewSetWith(Read), false, false, true, false, 2),
-			3: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads", 7, nil, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus", 7, nil, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga", 7, nil, mapset.NewSetWith(Read), false, false, true, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads", OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 1),
+			2: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus", OctetsAttributeType, 0x4000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 2),
+			3: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads", OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
+			4: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus", OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
+			5: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga", OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewFastLineInventoryAndStatusDataPart2 (class ID 436 creates the basic
+// NewFastLineInventoryAndStatusDataPart2 (class ID 436) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewFastLineInventoryAndStatusDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(fastlineinventoryandstatusdatapart2BME, params...)
+	return NewManagedEntity(*fastlineinventoryandstatusdatapart2BME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/fastvectoringlineconfigurationextensions.go b/vendor/github.com/opencord/omci-lib-go/generated/fastvectoringlineconfigurationextensions.go
similarity index 75%
rename from vendor/github.com/cboling/omci/generated/fastvectoringlineconfigurationextensions.go
rename to vendor/github.com/opencord/omci-lib-go/generated/fastvectoringlineconfigurationextensions.go
index d1eda20..7d44003 100644
--- a/vendor/github.com/cboling/omci/generated/fastvectoringlineconfigurationextensions.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/fastvectoringlineconfigurationextensions.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const FastVectoringLineConfigurationExtensionsClassId ClassID = ClassID(434)
+// FastVectoringLineConfigurationExtensionsClassID is the 16-bit ID for the OMCI
+// Managed entity FAST vectoring line configuration extensions
+const FastVectoringLineConfigurationExtensionsClassID ClassID = ClassID(434)
 
 var fastvectoringlineconfigurationextensionsBME *ManagedEntityDefinition
 
@@ -43,13 +49,13 @@
 //			FEXT cancellation enabling/disabling upstream (FEXT_TO_CANCEL_ENABLEus): A value of 1 enables
 //			and a value of 0 disables FEXT cancellation in the upstream direction from all the other
 //			vectored lines into the line in the vectored group. See clause 7.1.7.2 of [ITU-T G.997.2].
-//			(R, W) (mandatory) (1 byte)
+//			(R,-W) (mandatory) (1-byte)
 //
 //		Fext Cancellation Enabling_Disabling Downstream Fext_To_Cancel_Enableds
 //			FEXT cancellation enabling/disabling downstream (FEXT_TO_CANCEL_ENABLEds): A value of 1 enables
 //			and a value of 0 disables FEXT cancellation in the downstream direction from all the other
-//			vectored lines into the line in the vectored group. See clause 7.1.7.1 of [ITUT G.997.2]. (R, W)
-//			(mandatory) (1 byte)
+//			vectored lines into the line in the vectored group. See clause 7.1.7.1 of [ITUT-G.997.2]. (R,-W)
+//			(mandatory) (1-byte)
 //
 type FastVectoringLineConfigurationExtensions struct {
 	ManagedEntityDefinition
@@ -66,18 +72,20 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XC000,
+		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("FextCancellationEnablingDisablingUpstreamFextToCancelEnableus", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2: ByteField("FextCancellationEnablingDisablingDownstreamFextToCancelEnableds", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("FextCancellationEnablingDisablingUpstreamFextToCancelEnableus", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField("FextCancellationEnablingDisablingDownstreamFextToCancelEnableds", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewFastVectoringLineConfigurationExtensions (class ID 434 creates the basic
+// NewFastVectoringLineConfigurationExtensions (class ID 434) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewFastVectoringLineConfigurationExtensions(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(fastvectoringlineconfigurationextensionsBME, params...)
+	return NewManagedEntity(*fastvectoringlineconfigurationextensionsBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/fastxtu-cperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/fastxtu-cperformancemonitoringhistorydata.go
similarity index 68%
rename from vendor/github.com/cboling/omci/generated/fastxtu-cperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/fastxtu-cperformancemonitoringhistorydata.go
index 9b20a8c..a051055 100644
--- a/vendor/github.com/cboling/omci/generated/fastxtu-cperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/fastxtu-cperformancemonitoringhistorydata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const FastXtuCPerformanceMonitoringHistoryDataClassId ClassID = ClassID(437)
+// FastXtuCPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity FAST xTU-C performance monitoring history data
+const FastXtuCPerformanceMonitoringHistoryDataClassID ClassID = ClassID(437)
 
 var fastxtucperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -39,7 +45,7 @@
 //			by-create) (mandatory) (2 bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
 //			(mandatory) (1 byte)
 //
 //		Threshold Data 1_2 Id
@@ -49,7 +55,7 @@
 //		Successful Fra Counter
 //			Successful FRA counter: This attribute counts the successful FRA primitives (success_FRA). The
 //			successful FRA primitive (success_FRA) is defined in clause 11.3.1.6 of [ITU-T G.9701]. See
-//			clause 7.7.22 of [ITU-T G.997.2]. (R) (mandatory) (4 bytes)
+//			clause 7.7.22 of [ITU-T G.997.2]. (R) (mandatory) (4-bytes)
 //
 //		Successful Rpa Counter
 //			Successful RPA counter: This attribute counts the successful RPA primitives (success_RPA). The
@@ -60,7 +66,7 @@
 //			Successful TIGA counter: This attribute counts the successful TIGA primitives (success_TIGA).
 //			The successful TIGA primitive (success_TIGA) is defined in clause 11.3.1.6 of [ITU-T G.9701].
 //			Reported only with the near-end measured time, invalid data flag and timestamp. See clause
-//			7.7.24 of [ITUT G.997.2] (R) (optional) (4 bytes)
+//			7.7.24 of [ITUT-G.997.2] (R) (optional) (4 bytes)
 //
 type FastXtuCPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -77,21 +83,23 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("SuccessfulFraCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("SuccessfulRpaCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5: Uint32Field("SuccessfulTigaCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("SuccessfulFraCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("SuccessfulRpaCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint32Field("SuccessfulTigaCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewFastXtuCPerformanceMonitoringHistoryData (class ID 437 creates the basic
+// NewFastXtuCPerformanceMonitoringHistoryData (class ID 437) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewFastXtuCPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(fastxtucperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*fastxtucperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/fastxtu-rperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/fastxtu-rperformancemonitoringhistorydata.go
similarity index 69%
rename from vendor/github.com/cboling/omci/generated/fastxtu-rperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/fastxtu-rperformancemonitoringhistorydata.go
index dea13c9..5114d6b 100644
--- a/vendor/github.com/cboling/omci/generated/fastxtu-rperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/fastxtu-rperformancemonitoringhistorydata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const FastXtuRPerformanceMonitoringHistoryDataClassId ClassID = ClassID(438)
+// FastXtuRPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity FAST xTU-R performance monitoring history data
+const FastXtuRPerformanceMonitoringHistoryDataClassID ClassID = ClassID(438)
 
 var fastxturperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -40,7 +46,7 @@
 //			by-create) (mandatory) (2 bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
 //			(mandatory) (1 byte)
 //
 //		Threshold Data 1_2 Id
@@ -50,7 +56,7 @@
 //		Successful Fra Counter
 //			Successful FRA counter: This attribute counts the successful FRA primitives (success_FRA). The
 //			successful FRA primitive (success_FRA) is defined in clause 11.3.1.6 of [ITU-T G.9701]. See
-//			clause 7.7.22 of [ITU-T G.997.2] (R) (mandatory) (4 bytes)
+//			clause 7.7.22 of [ITU-T G.997.2] (R) (mandatory) (4-bytes)
 //
 //		Successful Rpa Counter
 //			Successful RPA counter: This attribute counts the successful RPA primitives (success_RPA). The
@@ -72,20 +78,22 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF000,
+		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("SuccessfulFraCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("SuccessfulRpaCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("SuccessfulFraCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("SuccessfulRpaCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewFastXtuRPerformanceMonitoringHistoryData (class ID 438 creates the basic
+// NewFastXtuRPerformanceMonitoringHistoryData (class ID 438) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewFastXtuRPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(fastxturperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*fastxturperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/galethernetperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/galethernetperformancemonitoringhistorydata.go
similarity index 67%
rename from vendor/github.com/cboling/omci/generated/galethernetperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/galethernetperformancemonitoringhistorydata.go
index 3ae384d..722d200 100644
--- a/vendor/github.com/cboling/omci/generated/galethernetperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/galethernetperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const GalEthernetPerformanceMonitoringHistoryDataClassId ClassID = ClassID(276)
+// GalEthernetPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity GAL Ethernet performance monitoring history data
+const GalEthernetPerformanceMonitoringHistoryDataClassID ClassID = ClassID(276)
 
 var galethernetperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -38,21 +44,21 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the GEM IW TP. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Discarded Frames
 //			Discarded frames: This attribute counts the number of downstream GEM frames discarded for any
 //			reason [erroneous frame check sequence (FCS), too long length, buffer overflow, etc.]. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 type GalEthernetPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -69,19 +75,24 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XE000,
+		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("DiscardedFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("DiscardedFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Discarded frames",
 		},
 	}
 }
 
-// NewGalEthernetPerformanceMonitoringHistoryData (class ID 276 creates the basic
+// NewGalEthernetPerformanceMonitoringHistoryData (class ID 276) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewGalEthernetPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(galethernetperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*galethernetperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/galethernetprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/galethernetprofile.go
similarity index 71%
rename from vendor/github.com/cboling/omci/generated/galethernetprofile.go
rename to vendor/github.com/opencord/omci-lib-go/generated/galethernetprofile.go
index a83aea8..569e146 100644
--- a/vendor/github.com/cboling/omci/generated/galethernetprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/galethernetprofile.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const GalEthernetProfileClassId ClassID = ClassID(272)
+// GalEthernetProfileClassID is the 16-bit ID for the OMCI
+// Managed entity GAL Ethernet profile
+const GalEthernetProfileClassID ClassID = ClassID(272)
 
 var galethernetprofileBME *ManagedEntityDefinition
 
@@ -38,11 +44,11 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Maximum Gem Payload Size
 //			Maximum GEM payload size: This attribute defines the maximum payload size generated in the
-//			associated GEM IW TP ME. (R, W, setbycreate) (mandatory) (2 bytes)
+//			associated GEM IW TP ME. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 type GalEthernetProfile struct {
 	ManagedEntityDefinition
@@ -59,17 +65,19 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0X8000,
+		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("MaximumGemPayloadSize", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("MaximumGemPayloadSize", UnsignedIntegerAttributeType, 0x8000, 48, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewGalEthernetProfile (class ID 272 creates the basic
+// NewGalEthernetProfile (class ID 272) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewGalEthernetProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(galethernetprofileBME, params...)
+	return NewManagedEntity(*galethernetprofileBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/geminterworkingterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/generated/geminterworkingterminationpoint.go
new file mode 100644
index 0000000..6b84a21
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/geminterworkingterminationpoint.go
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// GemInterworkingTerminationPointClassID is the 16-bit ID for the OMCI
+// Managed entity GEM interworking termination point
+const GemInterworkingTerminationPointClassID ClassID = ClassID(266)
+
+var geminterworkingterminationpointBME *ManagedEntityDefinition
+
+// GemInterworkingTerminationPoint (class ID #266)
+//	An instance of this ME represents a point in the ONU where the IW of a bearer service (usually
+//	Ethernet) to the GEM layer takes place. At this point, GEM packets are generated from the bearer
+//	bit stream (e.g., Ethernet) or the bearer bit stream is reconstructed from GEM packets.
+//
+//	Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		One instance of this ME exists for each transformation of a data stream into GEM frames and vice
+//		versa.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Gem Port Network Ctp Connectivity Pointer
+//			GEM port network CTP connectivity pointer: This attribute points to an instance of the GEM port
+//			network CTP. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Interworking Option
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Service Profile Pointer
+//			NOTE - The video return path (VRP) service profile is defined in [ITU-T G.984.4].
+//
+//		Interworking Termination Point Pointer
+//			In all other GEM services, the relationship between the related service TP and this GEM IW TP is
+//			derived from other ME relations; this attribute is set to a null pointer and not used. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Pptp Counter
+//			PPTP counter: This value reports the number of PPTP ME instances associated with this GEM IW TP.
+//			(R) (optional) (1-byte)
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+//		Gal Profile Pointer
+//			(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Gal Loopback Configuration
+//			The default value of this attribute is 0. When the IW option is 6 (downstream broadcast), this
+//			attribute is not used. (R,-W) (mandatory) (1-byte)
+//
+type GemInterworkingTerminationPoint struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	geminterworkingterminationpointBME = &ManagedEntityDefinition{
+		Name:    "GemInterworkingTerminationPoint",
+		ClassID: 266,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xff00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("GemPortNetworkCtpConnectivityPointer", PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("InterworkingOption", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("ServiceProfilePointer", PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field("InterworkingTerminationPointPointer", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField("PptpCounter", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: ByteField("OperationalState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
+			7: Uint16Field("GalProfilePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: ByteField("GalLoopbackConfiguration", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Deprecated",
+		},
+	}
+}
+
+// NewGemInterworkingTerminationPoint (class ID 266) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewGemInterworkingTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*geminterworkingterminationpointBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/gemportnetworkctp.go b/vendor/github.com/opencord/omci-lib-go/generated/gemportnetworkctp.go
similarity index 65%
rename from vendor/github.com/cboling/omci/generated/gemportnetworkctp.go
rename to vendor/github.com/opencord/omci-lib-go/generated/gemportnetworkctp.go
index 84586f9..be1c163 100644
--- a/vendor/github.com/cboling/omci/generated/gemportnetworkctp.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/gemportnetworkctp.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const GemPortNetworkCtpClassId ClassID = ClassID(268)
+// GemPortNetworkCtpClassID is the 16-bit ID for the OMCI
+// Managed entity GEM port network CTP
+const GemPortNetworkCtpClassID ClassID = ClassID(268)
 
 var gemportnetworkctpBME *ManagedEntityDefinition
 
@@ -51,38 +57,38 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Port_Id
-//			NOTE 1 – While nothing forbids the existence of several GEM port network CTPs with the same
+//			NOTE 1 - While nothing forbids the existence of several GEM port network CTPs with the same
 //			port-ID value, downstream traffic is modelled as being delivered to all such GEM port network
 //			CTPs. Be aware of potential difficulties associated with defining downstream flows and
 //			aggregating PM statistics.
 //
 //		T_Cont Pointer
-//			T-CONT pointer: This attribute points to a T-CONT instance. (R, W, setbycreate) (mandatory)
-//			(2 bytes)
+//			T-CONT pointer: This attribute points to a T-CONT instance. (R,-W, setbycreate) (mandatory)
+//			(2-bytes)
 //
 //		Direction
 //			Direction:	This attribute specifies whether the GEM port is used for UNI-to-ANI (1), ANI-to-UNI
-//			(2), or bidirectional (3) connection. (R, W, setbycreate) (mandatory) (1 byte)
+//			(2), or bidirectional (3) connection. (R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Traffic Management Pointer For Upstream
 //			Traffic management pointer for upstream: If the traffic management option attribute in the ONU-G
 //			ME is 0 (priority controlled) or 2 (priority and rate controlled), this pointer specifies the
 //			priority queue ME serving this GEM port network CTP. If the traffic management option attribute
 //			is 1 (rate controlled), this attribute redundantly points to the TCONT serving this GEM port
-//			network CTP. (R, W, setbycreate) (mandatory) (2 bytes)
+//			network CTP. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Traffic Descriptor Profile Pointer For Upstream
 //			See also Appendix II.
 //
 //		Uni Counter
 //			UNI counter: This attribute reports the number of instances of UNI-G ME associated with this GEM
-//			port network CTP. (R) (optional) (1 byte)
+//			port network CTP. (R) (optional) (1-byte)
 //
 //		Priority Queue Pointer For Down Stream
-//			NOTE 2 – If the GEM port network CTP is associated with more than one UNI (downstream
+//			NOTE 2 - If the GEM port network CTP is associated with more than one UNI (downstream
 //			multicast), the downstream priority queue pointer defines a pattern (e.g., queue number 3 for a
 //			given UNI) to be replicated (i.e., to queue number 3) at the other affected UNIs.
 //
@@ -90,7 +96,7 @@
 //			Encryption state: This attribute indicates the current state of the GEM port network CTP's
 //			encryption. Legal values are defined to be the same as those of the security mode attribute of
 //			the ONU2-G, with the exception that attribute value 0 indicates an unencrypted GEM port. (R)
-//			(optional) (1 byte)
+//			(optional) (1-byte)
 //
 //		Traffic Descriptor Profile Pointer For Downstream
 //			See also Appendix II.
@@ -113,26 +119,31 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFC0,
+		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint16Field("PortId", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  Uint16Field("TContPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  ByteField("Direction", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  Uint16Field("TrafficManagementPointerForUpstream", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint16Field("TrafficDescriptorProfilePointerForUpstream", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
-			6:  ByteField("UniCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
-			7:  Uint16Field("PriorityQueuePointerForDownStream", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8:  ByteField("EncryptionState", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9:  Uint16Field("TrafficDescriptorProfilePointerForDownstream", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 9),
-			10: ByteField("EncryptionKeyRing", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 10),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("PortId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field("TContPointer", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField("Direction", EnumerationAttributeType, 0x2000, 3, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field("TrafficManagementPointerForUpstream", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field("TrafficDescriptorProfilePointerForUpstream", PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  ByteField("UniCounter", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  Uint16Field("PriorityQueuePointerForDownStream", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField("EncryptionState", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint16Field("TrafficDescriptorProfilePointerForDownstream", PointerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: ByteField("EncryptionKeyRing", EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			5: "End-to-end loss of continuity",
 		},
 	}
 }
 
-// NewGemPortNetworkCtp (class ID 268 creates the basic
+// NewGemPortNetworkCtp (class ID 268) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewGemPortNetworkCtp(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(gemportnetworkctpBME, params...)
+	return NewManagedEntity(*gemportnetworkctpBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/gemportnetworkctpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/gemportnetworkctpperformancemonitoringhistorydata.go
similarity index 61%
rename from vendor/github.com/cboling/omci/generated/gemportnetworkctpperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/gemportnetworkctpperformancemonitoringhistorydata.go
index 233afec..45b7c57 100644
--- a/vendor/github.com/cboling/omci/generated/gemportnetworkctpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/gemportnetworkctpperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const GemPortNetworkCtpPerformanceMonitoringHistoryDataClassId ClassID = ClassID(341)
+// GemPortNetworkCtpPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity GEM port network CTP performance monitoring history data
+const GemPortNetworkCtpPerformanceMonitoringHistoryDataClassID ClassID = ClassID(341)
 
 var gemportnetworkctpperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -29,13 +35,13 @@
 //	This ME collects GEM frame PM data associated with a GEM port network CTP. Instances of this ME
 //	are created and deleted by the OLT.
 //
-//	NOTE 1 – One might expect to find some form of impaired or discarded frame count associated with
+//	NOTE 1 - One might expect to find some form of impaired or discarded frame count associated with
 //	a GEM port. However, the only impairment that might be detected at the GEM frame level would be
 //	a corrupted GEM frame header. In this case, no part of the header could be considered reliable
 //	including the port ID. For this reason, there is no impaired or discarded frame count in this
 //	ME.
 //
-//	NOTE 2 – This ME replaces the GEM port performance history data ME and is preferred for new
+//	NOTE 2 - This ME replaces the GEM port performance history data ME and is preferred for new
 //	implementations.
 //
 //	For a complete discussion of generic PM architecture, refer to clause I.4.
@@ -47,36 +53,36 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the GEM port network CTP. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Transmitted Gem Frames
 //			Transmitted GEM frames: This attribute counts GEM frames transmitted on the monitored GEM port.
-//			(R) (mandatory) (4 bytes)
+//			(R) (mandatory) (4-bytes)
 //
 //		Received Gem Frames
 //			Received GEM frames: This attribute counts GEM frames received correctly on the monitored GEM
 //			port. A correctly received GEM frame is one that does not contain uncorrectable errors and has a
-//			valid header error check (HEC). (R) (mandatory) (4 bytes)
+//			valid header error check (HEC). (R) (mandatory) (4-bytes)
 //
 //		Received Payload Bytes
 //			Received payload bytes: This attribute counts user payload bytes received on the monitored GEM
-//			port. (R) (mandatory) (8 bytes)
+//			port. (R) (mandatory) (8-bytes)
 //
 //		Transmitted Payload Bytes
 //			Transmitted payload bytes: This attribute counts user payload bytes transmitted on the monitored
-//			GEM port. (R) (mandatory) (8 bytes)
+//			GEM port. (R) (mandatory) (8-bytes)
 //
 //		Encryption Key Errors
-//			NOTE 4 – GEM PM counts each non-idle GEM frame, whether it contains an entire user frame or only
+//			NOTE 4 - GEM PM counts each non-idle GEM frame, whether it contains an entire user frame or only
 //			a fragment of a user frame.
 //
 type GemPortNetworkCtpPerformanceMonitoringHistoryData struct {
@@ -94,23 +100,28 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFE00,
+		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("TransmittedGemFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("ReceivedGemFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint64Field("ReceivedPayloadBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint64Field("TransmittedPayloadBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("EncryptionKeyErrors", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("TransmittedGemFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("ReceivedGemFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint64Field("ReceivedPayloadBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint64Field("TransmittedPayloadBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("EncryptionKeyErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "Encryption key errors",
 		},
 	}
 }
 
-// NewGemPortNetworkCtpPerformanceMonitoringHistoryData (class ID 341 creates the basic
+// NewGemPortNetworkCtpPerformanceMonitoringHistoryData (class ID 341) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewGemPortNetworkCtpPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(gemportnetworkctpperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*gemportnetworkctpperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/ieee802.1pmapperserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/ieee802.1pmapperserviceprofile.go
new file mode 100644
index 0000000..79a8b89
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ieee802.1pmapperserviceprofile.go
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// Ieee8021PMapperServiceProfileClassID is the 16-bit ID for the OMCI
+// Managed entity IEEE 802.1p mapper service profile
+const Ieee8021PMapperServiceProfileClassID ClassID = ClassID(130)
+
+var ieee8021pmapperserviceprofileBME *ManagedEntityDefinition
+
+// Ieee8021PMapperServiceProfile (class ID #130)
+//	This ME associates the priorities of IEEE 802.1p [IEEE 802.1D] priority tagged frames with
+//	specific connections. This ME directs upstream traffic to the designated GEM ports. Downstream
+//	traffic arriving on any of the IEEE 802.1p mapper's GEM ports is directed to the mapper's root
+//	TP. Other mechanisms exist to direct downstream traffic, specifically a direct pointer to a
+//	downstream queue from the GEM port network CTP. If such an alternative is used, it should be
+//	provisioned to be consistent with the flow model of the mapper.
+//
+//	Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		At its root, an instance of this ME may be associated with zero or one instance of a PPTP UNI,
+//		MAC bridge port configuration data, or any type of IW TP ME that carries IEEE 802 traffic. Each
+//		of its eight branches is associated with zero or one GEM IW TP.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Tp Pointer
+//			(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Interwork Tp Pointer For P_Bit Priority 0
+//			Interwork TP pointer for P-bit priority 0:	(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Interwork Tp Pointer For P_Bit Priority 1
+//			Interwork TP pointer for P-bit priority 1:	(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Interwork Tp Pointer For P_Bit Priority 2
+//			Interwork TP pointer for P-bit priority 2:	(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Interwork Tp Pointer For P_Bit Priority 3
+//			Interwork TP pointer for P-bit priority 3:	(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Interwork Tp Pointer For P_Bit Priority 4
+//			Interwork TP pointer for P-bit priority 4:	(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Interwork Tp Pointer For P_Bit Priority 5
+//			Interwork TP pointer for P-bit priority 5:	(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Interwork Tp Pointer For P_Bit Priority 6
+//			Interwork TP pointer for P-bit priority 6:	(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Interwork Tp Pointer For P_Bit Priority 7
+//			Interwork TP pointer for P-bit priority 7:	(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Unmarked Frame Option
+//			Untagged downstream frames are passed through the mapper transparently.
+//
+//		Dscp To P Bit Mapping
+//			NOTE - If certain bits in the DSCP field are to be ignored in the mapping process, the attribute
+//			should be provisioned such that all possible values of those bits produce the same P-bit
+//			mapping. This can be applied to the case where instead of full DSCP, the operator wishes to
+//			adopt the priority mechanism based on IP precedence, which needs only the three MSBs of the DSCP
+//			field.
+//
+//		Default P Bit Assumption
+//			Default P-bit assumption: This attribute is valid when the unmarked frame option attribute is
+//			set to 1. In its LSBs, the default Pbit assumption attribute contains the default PCP field to
+//			be assumed. The unmodified frame is then directed to the GEM IW TP indicated by the interwork TP
+//			pointer mappings. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Tp Type
+//			(R,-W, setbycreate) (optional) (1-byte)
+//
+type Ieee8021PMapperServiceProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	ieee8021pmapperserviceprofileBME = &ManagedEntityDefinition{
+		Name:    "Ieee8021PMapperServiceProfile",
+		ClassID: 130,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff8,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("TpPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field("InterworkTpPointerForPBitPriority0", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field("InterworkTpPointerForPBitPriority1", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field("InterworkTpPointerForPBitPriority2", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field("InterworkTpPointerForPBitPriority3", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field("InterworkTpPointerForPBitPriority4", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field("InterworkTpPointerForPBitPriority5", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  Uint16Field("InterworkTpPointerForPBitPriority6", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint16Field("InterworkTpPointerForPBitPriority7", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: ByteField("UnmarkedFrameOption", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: MultiByteField("DscpToPBitMapping", OctetsAttributeType, 0x0020, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: ByteField("DefaultPBitAssumption", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField("TpType", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewIeee8021PMapperServiceProfile (class ID 130) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewIeee8021PMapperServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*ieee8021pmapperserviceprofileBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/interworkingvccterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/generated/interworkingvccterminationpoint.go
new file mode 100644
index 0000000..9bffbde
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/interworkingvccterminationpoint.go
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// InterworkingVccTerminationPointClassID is the 16-bit ID for the OMCI
+// Managed entity Interworking VCC termination point
+const InterworkingVccTerminationPointClassID ClassID = ClassID(14)
+
+var interworkingvccterminationpointBME *ManagedEntityDefinition
+
+// InterworkingVccTerminationPoint (class ID #14)
+//	An instance of this ME represents a point in the ONU where the IW of a service or underlying
+//	physical infrastructure (e.g., ADSL) to an ATM layer takes place. At this point, ATM cells are
+//	generated from a bit stream (e.g., Ethernet) or a bit stream is reconstructed from ATM cells.
+//
+//	Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		One instance of this ME exists for each occurrence of transformation of a data stream into ATM
+//		cells and vice versa.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R,-setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Vci Value
+//			VCI value:	This attribute identifies the VCI value associated with this IW VCC TP. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Vp Network Ctp Connectivity Pointer
+//			VP network CTP connectivity pointer: This attribute points to the VP network CTP associated with
+//			this IW VCC TP. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Deprecated 1
+//			Deprecated 1: Not used; should be set to 0. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Deprecated 2
+//			Deprecated 2: Not used; should be set to 0. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Aal5 Profile Pointer
+//			AAL5 profile pointer: This attribute points to an instance of the AAL5 profile. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Deprecated 3
+//			Deprecated 3: Not used; should be set to 0. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Aal Loopback Configuration
+//			The default value of this attribute is 0. (R,-W) (mandatory) (1-byte)
+//
+//		Pptp Counter
+//			PPTP counter: This value is the number of instances of PPTP MEs associated with this instance of
+//			the IW VCC TP. (R) (optional) (1-byte)
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+type InterworkingVccTerminationPoint struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	interworkingvccterminationpointBME = &ManagedEntityDefinition{
+		Name:    "InterworkingVccTerminationPoint",
+		ClassID: 14,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xff80,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("VciValue", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("VpNetworkCtpConnectivityPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField("Deprecated1", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 3),
+			4: Uint16Field("Deprecated2", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
+			5: Uint16Field("Aal5ProfilePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field("Deprecated3", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 6),
+			7: ByteField("AalLoopbackConfiguration", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8: ByteField("PptpCounter", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9: ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "End-to-end VC AIS layer management indication receiving (LMIR)",
+			1: "End-to-end VC RDI LMIR",
+			2: "End-to-end VC AIS layer management indication generation (LMIG)",
+			3: "End-to-end VC RDI LMIG",
+			4: "Segment loss of continuity",
+			5: "End-to-end loss of continuity",
+			6: "CSA",
+		},
+	}
+}
+
+// NewInterworkingVccTerminationPoint (class ID 14) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewInterworkingVccTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*interworkingvccterminationpointBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/iphostconfigdata.go b/vendor/github.com/opencord/omci-lib-go/generated/iphostconfigdata.go
new file mode 100644
index 0000000..c7a14a4
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/iphostconfigdata.go
@@ -0,0 +1,158 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// IpHostConfigDataClassID is the 16-bit ID for the OMCI
+// Managed entity IP host config data
+const IpHostConfigDataClassID ClassID = ClassID(134)
+
+var iphostconfigdataBME *ManagedEntityDefinition
+
+// IpHostConfigData (class ID #134)
+//	The IP host config data configures IPv4 based services offered on the ONU. The ONU automatically
+//	creates instances of this ME if IP host services are available. A possible IPv6 stack is
+//	supported through the IPv6 host config data ME. In this clause, references to IP addresses are
+//	understood to mean IPv4.
+//
+//	Relationships
+//		An instance of this ME is associated with the ONU ME. Any number of TCP/UDP config data MEs can
+//		point to the IP host config data, to model any number of ports and protocols. Performance may be
+//		monitored through an implicitly linked IP host PM history data ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The ONU creates
+//			as many instances as there are independent IPv4 stacks on the ONU. To facilitate discovery, IP
+//			host config data MEs should be numbered from 0 upwards. The ONU should create IP(v4) and IPv6
+//			host config data MEs with separate ME IDs, such that other MEs can use a single TP type
+//			attribute to link with either. (R) (mandatory) (2 bytes)
+//
+//		Ip Options
+//			(R,-W) (mandatory) (1-byte)
+//
+//		Mac Address
+//			MAC address: This attribute indicates the MAC address used by the IP node. (R) (mandatory)
+//			(6-bytes)
+//
+//		Onu Identifier
+//			Onu identifier: A unique ONU identifier string. If set to a non-null value, this string is used
+//			instead of the MAC address in retrieving dynamic host configuration protocol (DHCP) parameters.
+//			If the string is shorter than 25 characters, it must be null terminated. Its default value is 25
+//			null bytes. (R,-W) (mandatory) (25-bytes)
+//
+//		Ip Address
+//			IP address:	The address used for IP host services; this attribute has the default value 0.
+//			(R,-W) (mandatory) (4-bytes)
+//
+//		Mask
+//			Mask:	The subnet mask for IP host services; this attribute has the default value 0. (R,-W)
+//			(mandatory) (4-bytes)
+//
+//		Gateway
+//			Gateway:	The default gateway address used for IP host services; this attribute has the default
+//			value 0. (R,-W) (mandatory) (4-bytes)
+//
+//		Primary Dns
+//			Primary DNS: The address of the primary DNS server; this attribute has the default value 0.
+//			(R,-W) (mandatory) (4-bytes)
+//
+//		Secondary Dns
+//			Secondary DNS: The address of the secondary DNS server; this attribute has the default value 0.
+//			(R,-W) (mandatory) (4-bytes)
+//
+//		Current Address
+//			Current address: Current address of the IP host service. (R) (optional) (4-bytes)
+//
+//		Current Mask
+//			Current mask: Current subnet mask for the IP host service. (R) (optional) (4-bytes)
+//
+//		Current Gateway
+//			Current gateway: Current default gateway address for the IP host service. (R) (optional)
+//			(4-bytes)
+//
+//		Current Primary Dns
+//			Current primary DNS: Current primary DNS server address. (R) (optional) (4-bytes)
+//
+//		Current Secondary Dns
+//			Current secondary DNS: Current secondary DNS server address. (R) (optional) (4-bytes)
+//
+//		Domain Name
+//			Domain name: If DHCP indicates a domain name, it is presented here. If no domain name is
+//			indicated, this attribute is set to a null string. If the string is shorter than 25-bytes, it
+//			must be null terminated. The default value is 25 null bytes. (R) (mandatory) (25-bytes)
+//
+//		Host Name
+//			Host name:	If DHCP indicates a host name, it is presented here. If no host name is indicated,
+//			this attribute is set to a null string. If the string is shorter than 25-bytes, it must be null
+//			terminated. The default value is 25 null bytes. (R) (mandatory) (25-bytes)
+//
+//		Relay Agent Options
+//			2/3/4:atm/123.4567
+//
+type IpHostConfigData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	iphostconfigdataBME = &ManagedEntityDefinition{
+		Name:    "IpHostConfigData",
+		ClassID: 134,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("IpOptions", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  MultiByteField("MacAddress", OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
+			3:  MultiByteField("OnuIdentifier", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint32Field("IpAddress", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint32Field("Mask", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field("Gateway", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field("PrimaryDns", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint32Field("SecondaryDns", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint32Field("CurrentAddress", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			10: Uint32Field("CurrentMask", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), true, true, false, 10),
+			11: Uint32Field("CurrentGateway", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
+			12: Uint32Field("CurrentPrimaryDns", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), true, true, false, 12),
+			13: Uint32Field("CurrentSecondaryDns", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), true, true, false, 13),
+			14: MultiByteField("DomainName", OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 14),
+			15: MultiByteField("HostName", OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 15),
+			16: Uint16Field("RelayAgentOptions", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), true, true, false, 16),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewIpHostConfigData (class ID 134) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewIpHostConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*iphostconfigdataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/iphostperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/iphostperformancemonitoringhistorydata.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/iphostperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/iphostperformancemonitoringhistorydata.go
index e3e05f6..23fe8a3 100644
--- a/vendor/github.com/cboling/omci/generated/iphostperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/iphostperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const IpHostPerformanceMonitoringHistoryDataClassId ClassID = ClassID(135)
+// IpHostPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity IP host performance monitoring history data
+const IpHostPerformanceMonitoringHistoryDataClassID ClassID = ClassID(135)
 
 var iphostperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -42,19 +48,19 @@
 //			IPv6 host configuration data ME. (R, set-by-create) (mandatory) (2 bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, set-by-create) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, set-by-create) (mandatory) (2-bytes)
 //
 //		Icmp Errors
-//			ICMP errors: This attribute counts ICMP errors received. (R) (mandatory) (4 bytes)
+//			ICMP errors: This attribute counts ICMP errors received. (R) (mandatory) (4-bytes)
 //
 //		Dns Errors
-//			DNS errors:	This attribute counts DNS errors received. (R) (mandatory) (4 bytes)
+//			DNS errors:	This attribute counts DNS errors received. (R) (mandatory) (4-bytes)
 //
 //		Dhcp Timeouts
 //			DHCP timeouts:	This attribute counts DHCP timeouts. (R) (optional) (2 bytes)
@@ -70,7 +76,7 @@
 //
 //		Internal Error
 //			Internal error: This attribute is incremented whenever the ONU encounters an internal error
-//			condition such as a driver interface failure in the IP stack. (R) (optional) (2 bytes)
+//			condition such as a driver interface failure in the IP stack. (R) (optional) (2-bytes)
 //
 type IpHostPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -87,24 +93,34 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("IcmpErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("DnsErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint16Field("DhcpTimeouts", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6: Uint16Field("IpAddressConflict", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
-			7: Uint16Field("OutOfMemory", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
-			8: Uint16Field("InternalError", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("IcmpErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("DnsErrors", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field("DhcpTimeouts", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: Uint16Field("IpAddressConflict", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint16Field("OutOfMemory", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint16Field("InternalError", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "IPNPM ICMP error",
+			2: "IPNPM DNS error",
+			3: "DHCP timeout",
+			4: "IP address conflict",
+			5: "Out of memory",
+			6: "Internal error",
 		},
 	}
 }
 
-// NewIpHostPerformanceMonitoringHistoryData (class ID 135 creates the basic
+// NewIpHostPerformanceMonitoringHistoryData (class ID 135) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewIpHostPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(iphostperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*iphostperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeconfigurationdata.go
similarity index 61%
rename from vendor/github.com/cboling/omci/generated/macbridgeconfigurationdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/macbridgeconfigurationdata.go
index 7e39613..8718214 100644
--- a/vendor/github.com/cboling/omci/generated/macbridgeconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeconfigurationdata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MacBridgeConfigurationDataClassId ClassID = ClassID(46)
+// MacBridgeConfigurationDataClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge configuration data
+const MacBridgeConfigurationDataClassID ClassID = ClassID(46)
 
 var macbridgeconfigurationdataBME *ManagedEntityDefinition
 
@@ -36,43 +42,43 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge service profile. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Bridge Mac Address
 //			Bridge MAC address: This attribute indicates the MAC address used by the bridge. The ONU sets
 //			this attribute to a value based on criteria beyond the scope of this Recommendation, e.g.,
-//			factory settings. (R) (mandatory) (6 bytes)
+//			factory settings. (R) (mandatory) (6-bytes)
 //
 //		Bridge Priority
 //			Bridge priority: This attribute reports the priority of the bridge. The ONU copies this
 //			attribute from the priority attribute of the associated MAC bridge service profile. The value of
 //			this attribute changes with updates to the MAC bridge service profile priority attribute. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Designated Root
 //			Designated root: This attribute identifies the bridge at the root of the spanning tree. It
-//			comprises bridge priority (2 bytes) and MAC address (6 bytes). (R) (mandatory) (8 bytes)
+//			comprises bridge priority (2-bytes) and MAC address (6-bytes). (R) (mandatory) (8-bytes)
 //
 //		Root Path Cost
 //			Root path cost: This attribute reports the cost of the best path to the root as seen from this
-//			bridge. Upon ME instantiation, the ONU sets this attribute to 0. (R) (mandatory) (4 bytes)
+//			bridge. Upon ME instantiation, the ONU sets this attribute to 0. (R) (mandatory) (4-bytes)
 //
 //		Bridge Port Count
 //			Bridge port count: This attribute records the number of ports linked to this bridge. (R)
-//			(mandatory) (1 byte)
+//			(mandatory) (1-byte)
 //
 //		Root Port Num
 //			Root port num: This attribute contains the port number that has the lowest cost from the bridge
 //			to the root bridge. The value 0 means that this bridge is itself the root. Upon ME
-//			instantiation, the ONU sets this attribute to 0. (R) (mandatory) (2 bytes)
+//			instantiation, the ONU sets this attribute to 0. (R) (mandatory) (2-bytes)
 //
 //		Hello Time
-//			NOTE – [IEEE 802.1D] specifies the compatibility range for hello time to be 1..2 s.
+//			NOTE - [IEEE 802.1D] specifies the compatibility range for hello time to be 1..2-s.
 //
 //		Forward Delay
 //			Forward delay: This attribute is the forwarding delay time received from the designated root (in
-//			256ths of a second). Its range is 0x0400 to 0x1E00 (4..30 s) in accordance with [IEEE 802.1D].
-//			(R) (optional) (2 bytes)
+//			256ths of a second). Its range is 0x0400 to 0x1E00 (4..30-s) in accordance with [IEEE 802.1D].
+//			(R) (optional) (2-bytes)
 //
 type MacBridgeConfigurationData struct {
 	ManagedEntityDefinition
@@ -86,24 +92,26 @@
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: MultiByteField("BridgeMacAddress", 6, nil, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("BridgePriority", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3: Uint64Field("DesignatedRoot", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("RootPathCost", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: ByteField("BridgePortCount", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint16Field("RootPortNum", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint16Field("HelloTime", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
-			8: Uint16Field("ForwardDelay", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("BridgeMacAddress", OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("BridgePriority", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: MultiByteField("DesignatedRoot", OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("RootPathCost", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: ByteField("BridgePortCount", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint16Field("RootPortNum", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field("HelloTime", UnsignedIntegerAttributeType, 0x0200, 256, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint16Field("ForwardDelay", UnsignedIntegerAttributeType, 0x0100, 1024, mapset.NewSetWith(Read), false, true, false, 8),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewMacBridgeConfigurationData (class ID 46 creates the basic
+// NewMacBridgeConfigurationData (class ID 46) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMacBridgeConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeconfigurationdataBME, params...)
+	return NewManagedEntity(*macbridgeconfigurationdataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeperformancemonitoringhistorydata.go
similarity index 68%
rename from vendor/github.com/cboling/omci/generated/macbridgeperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/macbridgeperformancemonitoringhistorydata.go
index 96265e2..668fcca 100644
--- a/vendor/github.com/cboling/omci/generated/macbridgeperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MacBridgePerformanceMonitoringHistoryDataClassId ClassID = ClassID(51)
+// MacBridgePerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge performance monitoring history data
+const MacBridgePerformanceMonitoringHistoryDataClassID ClassID = ClassID(51)
 
 var macbridgeperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -38,24 +44,24 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge service profile. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
 //			data 2 ME is optional. Since no threshold value attribute number exceeds 7, a threshold data 2
-//			ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Bridge Learning Entry Discard Count
 //			Bridge learning entry discard count: This attribute counts forwarding database entries that have
 //			been or would have been learned, but were discarded or replaced due to a lack of space in the
 //			database table. When used with the MAC learning depth attribute of the MAC bridge service
 //			profile, the bridge learning entry discard count may be particularly useful in detecting MAC
-//			spoofing attempts. (R) (mandatory) (4 bytes)
+//			spoofing attempts. (R) (mandatory) (4-bytes)
 //
 type MacBridgePerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -72,19 +78,24 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XE000,
+		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("BridgeLearningEntryDiscardCount", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("BridgeLearningEntryDiscardCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Bridge learning entry discard",
 		},
 	}
 }
 
-// NewMacBridgePerformanceMonitoringHistoryData (class ID 51 creates the basic
+// NewMacBridgePerformanceMonitoringHistoryData (class ID 51) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMacBridgePerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*macbridgeperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeportbridgetabledata.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportbridgetabledata.go
similarity index 72%
rename from vendor/github.com/cboling/omci/generated/macbridgeportbridgetabledata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/macbridgeportbridgetabledata.go
index a632d59..207e429 100644
--- a/vendor/github.com/cboling/omci/generated/macbridgeportbridgetabledata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportbridgetabledata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MacBridgePortBridgeTableDataClassId ClassID = ClassID(50)
+// MacBridgePortBridgeTableDataClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge port bridge table data
+const MacBridgePortBridgeTableDataClassID ClassID = ClassID(50)
 
 var macbridgeportbridgetabledataBME *ManagedEntityDefinition
 
@@ -38,10 +44,10 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
-//			data ME. (R) (mandatory) (2 bytes)
+//			data ME. (R) (mandatory) (2-bytes)
 //
 //		Bridge Table
-//			Upon ME instantiation, this attribute is an empty list. (R) (mandatory) (8 * M bytes, where M is
+//			Upon ME instantiation, this attribute is an empty list. (R) (mandatory) (8-*-M-bytes, where M is
 //			the number of entries in the list.)
 //
 type MacBridgePortBridgeTableData struct {
@@ -57,17 +63,19 @@
 			Get,
 			GetNext,
 		),
-		AllowedAttributeMask: 0X8000,
+		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: TableField("BridgeTable", TableInfo{0, 8}, mapset.NewSetWith(Read), false, false, false, 1),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField("BridgeTable", TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read), false, false, false, 1),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewMacBridgePortBridgeTableData (class ID 50 creates the basic
+// NewMacBridgePortBridgeTableData (class ID 50) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMacBridgePortBridgeTableData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeportbridgetabledataBME, params...)
+	return NewManagedEntity(*macbridgeportbridgetabledataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportconfigurationdata.go
new file mode 100644
index 0000000..092986f
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportconfigurationdata.go
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// MacBridgePortConfigurationDataClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge port configuration data
+const MacBridgePortConfigurationDataClassID ClassID = ClassID(47)
+
+var macbridgeportconfigurationdataBME *ManagedEntityDefinition
+
+// MacBridgePortConfigurationData (class ID #47)
+//	This ME models a port on a MAC bridge. Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME is linked to an instance of the MAC bridge service profile. Additional
+//		bridge port control capabilities are provided by implicitly linked instances of some or all of:////		o	MAC bridge port filter table data;////		o	MAC bridge port filter pre-assign table;////		o	VLAN tagging filter data;////		o	Dot1 rate limiter.////		Real-time status of the bridge port is provided by implicitly linked instances of:////		o	MAC bridge port designation data;////		o	MAC bridge port bridge table data;////		o	Multicast subscriber monitor.////		Bridge port PM collection is provided by implicitly linked instances of:////		o	MAC bridge port PM history data;////		o	Ethernet frame PM history data upstream and downstream;////		o	Ethernet frame extended PM (preferred).
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Bridge Id Pointer
+//			Bridge ID pointer: This attribute points to an instance of the MAC bridge service profile.
+//			(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Port Num
+//			Port num:	This attribute is the bridge port number. It must be unique among all ports associated
+//			with a particular MAC bridge service profile. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Tp Type
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Tp Pointer
+//			NOTE 1 - When the TP type is very high-speed digital subscriber line (VDSL) or xDSL, the two
+//			MSBs may be used to indicate a bearer channel.
+//
+//		Port Priority
+//			Port priority:	This attribute denotes the priority of the port for use in (rapid) spanning tree
+//			algorithms. The range is 0..255. (R,-W, setbycreate) (optional) (2-bytes)
+//
+//		Port Path Cost
+//			Port path cost: This attribute specifies the contribution of the port to the path cost towards
+//			the spanning tree root bridge. The range is 1..65535. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Port Spanning Tree Ind
+//			Port spanning tree ind: The Boolean value true enables (R)STP LAN topology change detection at
+//			this port. The value false disables topology change detection. (R,-W, setbycreate) (mandatory)
+//			(1-byte)
+//
+//		Deprecated 1
+//			Deprecated 1: This attribute is not used. If present, it should be ignored by both the ONU and
+//			the OLT, except as necessary to comply with OMCI message definitions. (R,-W, setbycreate)
+//			(optional) (1-byte)
+//
+//		Deprecated 2
+//			Deprecated 2: This attribute is not used. If present, it should be ignored by both the ONU and
+//			the OLT, except as necessary to comply with OMCI message definitions. (R,-W, setbycreate)
+//			(1-byte) (optional)
+//
+//		Port Mac Address
+//			Port MAC address: If the TP associated with this port has a MAC address, this attribute
+//			specifies it. (R) (optional) (6-bytes)
+//
+//		Outbound Td Pointer
+//			Outbound TD pointer: This attribute points to a traffic descriptor that limits the traffic rate
+//			leaving the MAC bridge. (R,-W) (optional) (2-byte)
+//
+//		Inbound Td Pointer
+//			Inbound TD pointer: This attribute points to a traffic descriptor that limits the traffic rate
+//			entering the MAC bridge. (R,-W) (optional) (2-byte)
+//
+//		Mac Learning Depth
+//			NOTE 2 - If this attribute is not zero, its value overrides the value set in the MAC learning
+//			depth attribute of the MAC bridge service profile.
+//
+type MacBridgePortConfigurationData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	macbridgeportconfigurationdataBME = &ManagedEntityDefinition{
+		Name:    "MacBridgePortConfigurationData",
+		ClassID: 47,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff8,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("BridgeIdPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField("PortNum", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField("TpType", EnumerationAttributeType, 0x2000, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field("TpPointer", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field("PortPriority", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field("PortPathCost", UnsignedIntegerAttributeType, 0x0400, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField("PortSpanningTreeInd", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField("Deprecated1", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 8),
+			9:  ByteField("Deprecated2", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 9),
+			10: MultiByteField("PortMacAddress", OctetsAttributeType, 0x0040, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field("OutboundTdPointer", PointerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint16Field("InboundTdPointer", PointerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField("MacLearningDepth", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Port blocking",
+		},
+	}
+}
+
+// NewMacBridgePortConfigurationData (class ID 47) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewMacBridgePortConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*macbridgeportconfigurationdataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeportdesignationdata.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportdesignationdata.go
similarity index 71%
rename from vendor/github.com/cboling/omci/generated/macbridgeportdesignationdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/macbridgeportdesignationdata.go
index bfcf8b2..6b86fd2 100644
--- a/vendor/github.com/cboling/omci/generated/macbridgeportdesignationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportdesignationdata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MacBridgePortDesignationDataClassId ClassID = ClassID(48)
+// MacBridgePortDesignationDataClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge port designation data
+const MacBridgePortDesignationDataClassID ClassID = ClassID(48)
 
 var macbridgeportdesignationdataBME *ManagedEntityDefinition
 
@@ -37,10 +43,10 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
-//			data. (R) (mandatory) (2 bytes)
+//			data. (R) (mandatory) (2-bytes)
 //
 //		Designated Bridge Root Cost Port
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R) (mandatory) (24 bytes)
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R) (mandatory) (24-bytes)
 //
 //		Port State
 //			The value (R)stp_off is introduced to denote the port status where the (rapid) spanning tree
@@ -60,18 +66,20 @@
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0XC000,
+		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: MultiByteField("DesignatedBridgeRootCostPort", 24, nil, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: ByteField("PortState", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("DesignatedBridgeRootCostPort", OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField("PortState", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewMacBridgePortDesignationData (class ID 48 creates the basic
+// NewMacBridgePortDesignationData (class ID 48) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMacBridgePortDesignationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeportdesignationdataBME, params...)
+	return NewManagedEntity(*macbridgeportdesignationdataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportfilterpre-assigntable.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportfilterpre-assigntable.go
new file mode 100644
index 0000000..1215cb3
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportfilterpre-assigntable.go
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// MacBridgePortFilterPreAssignTableClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge port filter pre-assign table
+const MacBridgePortFilterPreAssignTableClassID ClassID = ClassID(79)
+
+var macbridgeportfilterpreassigntableBME *ManagedEntityDefinition
+
+// MacBridgePortFilterPreAssignTable (class ID #79)
+//	This ME provides an alternate approach to DA filtering from that supported through the MAC
+//	bridge port filter table data ME. This alternate approach is useful when all groups of addresses
+//	are stored beforehand in the ONU, and the MAC bridge port filter pre-assign table ME designates
+//	which groups are valid or invalid for filtering. On a circuit pack in which all groups of
+//	addresses are pre-assigned and stored locally, the ONU creates or deletes an instance of this ME
+//	automatically upon creation or deletion of a MAC bridge port configuration data ME.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of a MAC bridge port configuration data
+//		ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
+//			data ME. (R) (mandatory) (2-bytes)
+//
+//		Ipv4 Multicast Filtering
+//			IPv4 multicast filtering:	(R,-W) (mandatory) (1-byte)
+//
+//		Ipv6 Multicast Filtering
+//			IPv6 multicast filtering:	(R,-W) (mandatory) (1-byte)
+//
+//		Ipv4 Broadcast Filtering
+//			IPv4 broadcast filtering:	(R,-W) (mandatory) (1-byte)
+//
+//		Rarp Filtering
+//			RARP filtering:	(R,-W) (mandatory) (1-byte)
+//
+//		Ipx Filtering
+//			IPX filtering:		(R,-W) (mandatory) (1-byte)
+//
+//		Netbeui Filtering
+//			NetBEUI filtering:	(R,-W) (mandatory) (1-byte)
+//
+//		Appletalk Filtering
+//			AppleTalk filtering:	(R,-W) (mandatory) (1-byte)
+//
+//		Bridge Management Information Filtering
+//			2	Addresses from 01.80.C2.00.00.20 to 01.80.C2.00.00.2F are used for generic attribute
+//			registration protocol (GARP) applications.
+//
+//		Arp Filtering
+//			ARP filtering:	(R,-W) (mandatory) (1-byte)
+//
+//		Point_To_Point Protocol Over Ethernet Pppoe Broadcast Filtering
+//			Point-to-point protocol over Ethernet (PPPoE) broadcast filtering:	(R,-W) (mandatory) (1-byte)
+//
+type MacBridgePortFilterPreAssignTable struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	macbridgeportfilterpreassigntableBME = &ManagedEntityDefinition{
+		Name:    "MacBridgePortFilterPreAssignTable",
+		ClassID: 79,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffc0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("Ipv4MulticastFiltering", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("Ipv6MulticastFiltering", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField("Ipv4BroadcastFiltering", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField("RarpFiltering", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField("IpxFiltering", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField("NetbeuiFiltering", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField("AppletalkFiltering", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("BridgeManagementInformationFiltering", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField("ArpFiltering", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField("PointToPointProtocolOverEthernetPppoeBroadcastFiltering", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewMacBridgePortFilterPreAssignTable (class ID 79) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewMacBridgePortFilterPreAssignTable(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*macbridgeportfilterpreassigntableBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeportfiltertabledata.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportfiltertabledata.go
similarity index 68%
rename from vendor/github.com/cboling/omci/generated/macbridgeportfiltertabledata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/macbridgeportfiltertabledata.go
index b542f48..972bb6f 100644
--- a/vendor/github.com/cboling/omci/generated/macbridgeportfiltertabledata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportfiltertabledata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MacBridgePortFilterTableDataClassId ClassID = ClassID(49)
+// MacBridgePortFilterTableDataClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge port filter table data
+const MacBridgePortFilterTableDataClassID ClassID = ClassID(49)
 
 var macbridgeportfiltertabledataBME *ManagedEntityDefinition
 
@@ -29,7 +35,7 @@
 //	This ME organizes data associated with a bridge port. The ONU automatically creates or deletes
 //	an instance of this ME upon the creation or deletion of a MAC bridge port configuration data ME.
 //
-//	NOTE – The OLT should disable the learning mode in the MAC bridge service profile before writing
+//	NOTE - The OLT should disable the learning mode in the MAC bridge service profile before writing
 //	to the MAC filter table.
 //
 //	Relationships
@@ -40,10 +46,10 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
-//			data ME. (R) (mandatory) (2 bytes)
+//			data ME. (R) (mandatory) (2-bytes)
 //
 //		Mac Filter Table
-//			(R, W) (Mandatory) (8N bytes, where N is the number of entries in the list)
+//			(R,-W) (Mandatory) (8N bytes, where N is the number of entries in the list)
 //
 type MacBridgePortFilterTableData struct {
 	ManagedEntityDefinition
@@ -59,17 +65,19 @@
 			GetNext,
 			Set,
 		),
-		AllowedAttributeMask: 0X8000,
+		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: TableField("MacFilterTable", TableInfo{0, 8}, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField("MacFilterTable", TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewMacBridgePortFilterTableData (class ID 49 creates the basic
+// NewMacBridgePortFilterTableData (class ID 49) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMacBridgePortFilterTableData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeportfiltertabledataBME, params...)
+	return NewManagedEntity(*macbridgeportfiltertabledataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/macbridgeporticmpv6processpre-assigntable.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeporticmpv6processpre-assigntable.go
new file mode 100644
index 0000000..c86dc96
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeporticmpv6processpre-assigntable.go
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// MacBridgePortIcmpv6ProcessPreAssignTableClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge port ICMPv6 process pre-assign table
+const MacBridgePortIcmpv6ProcessPreAssignTableClassID ClassID = ClassID(348)
+
+var macbridgeporticmpv6processpreassigntableBME *ManagedEntityDefinition
+
+// MacBridgePortIcmpv6ProcessPreAssignTable (class ID #348)
+//	This ME provides an approach to ICMPv6 message processing configuration to those ONUs that
+//	support IPv6 awareness. For every message, the MAC bridge port ICMPv6 process pre-assign table
+//	can designate a forward, discard or snoop operation. The ONU creates or deletes an instance of
+//	this ME automatically upon creation or deletion of a MAC bridge port configuration data ME.
+//
+//	The MAC bridge port ICMPv6 process pre-assign table ME filters layer 2 traffic between the UNI
+//	and ANI. The operation of this ME is completely independent of the operation and traffic
+//	generated or received by a possible IPv6 host config data ME.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of a MAC bridge port configuration data
+//		ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
+//			data ME. (R) (mandatory) (2-bytes)
+//
+//		Icmpv6 Error Messages Processing
+//			ICMPv6 error messages processing:	(R,-W) (mandatory) (1-byte)
+//
+//		Icmpv6 Informational Messages Processing
+//			ICMPv6 informational messages processing:	(R,-W) (mandatory) (1-byte)
+//
+//		Router Solicitation Processing
+//			Router solicitation processing:	(R,-W) (mandatory) (1-byte)
+//
+//		Router Advertisement Processing
+//			Router advertisement processing:	(R,-W) (mandatory) (1-byte)
+//
+//		Neighbour Solicitation Processing
+//			Neighbour solicitation processing:	(R,-W) (mandatory) (1-byte)
+//
+//		Neighbour Advertisement Processing
+//			Neighbour advertisement processing:	(R,-W) (mandatory) (1-byte)
+//
+//		Redirect Processing
+//			Redirect processing:	(R,-W) (mandatory) (1-byte)
+//
+//		Multicast Listener Query Processing
+//			NOTE - If the ONU participates in multicast services, MLD queries should be controlled through
+//			the multicast operations profile ME. In such a case, it is strongly recommended not to provision
+//			the downstream direction of the multicast listener query processing attribute to any value other
+//			than forwarding.
+//
+//		Unknown Icmpv6 Processing
+//			Unknown ICMPv6 processing:	(R,-W) (mandatory) (1-byte)
+//
+type MacBridgePortIcmpv6ProcessPreAssignTable struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	macbridgeporticmpv6processpreassigntableBME = &ManagedEntityDefinition{
+		Name:    "MacBridgePortIcmpv6ProcessPreAssignTable",
+		ClassID: 348,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+		),
+		AllowedAttributeMask: 0xff80,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("Icmpv6ErrorMessagesProcessing", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField("Icmpv6InformationalMessagesProcessing", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField("RouterSolicitationProcessing", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField("RouterAdvertisementProcessing", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField("NeighbourSolicitationProcessing", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField("NeighbourAdvertisementProcessing", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: ByteField("RedirectProcessing", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8: ByteField("MulticastListenerQueryProcessing", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9: ByteField("UnknownIcmpv6Processing", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewMacBridgePortIcmpv6ProcessPreAssignTable (class ID 348) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewMacBridgePortIcmpv6ProcessPreAssignTable(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*macbridgeporticmpv6processpreassigntableBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/macbridgeportperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportperformancemonitoringhistorydata.go
similarity index 60%
rename from vendor/github.com/cboling/omci/generated/macbridgeportperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/macbridgeportperformancemonitoringhistorydata.go
index d1f43e8..a6bcf4b 100644
--- a/vendor/github.com/cboling/omci/generated/macbridgeportperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeportperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MacBridgePortPerformanceMonitoringHistoryDataClassId ClassID = ClassID(52)
+// MacBridgePortPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge port performance monitoring history data
+const MacBridgePortPerformanceMonitoringHistoryDataClassID ClassID = ClassID(52)
 
 var macbridgeportperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -39,36 +45,36 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
-//			data ME. (R, setbycreate) (mandatory) (2 bytes)
+//			data ME. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Forwarded Frame Counter
 //			Forwarded frame counter: This attribute counts frames transmitted successfully on this port. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Delay Exceeded Discard Counter
 //			Delay exceeded discard counter: This attribute counts frames discarded on this port because
-//			transmission was delayed. (R) (mandatory) (4 bytes)
+//			transmission was delayed. (R) (mandatory) (4-bytes)
 //
-//		Maximum Transmission U Nit Mtu Exceeded Discard Counter
+//		Maximum Transmission Unit Mtu Exceeded Discard Counter
 //			Maximum transmission unit (MTU) exceeded discard counter: This attribute counts frames discarded
-//			on this port because the MTU was exceeded. (R) (mandatory) (4 bytes)
+//			on this port because the MTU was exceeded. (R) (mandatory) (4-bytes)
 //
 //		Received Frame Counter
 //			Received frame counter: This attribute counts frames received on this port. (R) (mandatory)
-//			(4 bytes)
+//			(4-bytes)
 //
 //		Received And Discarded Counter
 //			Received and discarded counter: This attribute counts frames received on this port that were
-//			discarded due to errors. (R) (mandatory) (4 bytes)
+//			discarded due to errors. (R) (mandatory) (4-bytes)
 //
 type MacBridgePortPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -85,23 +91,30 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFE00,
+		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("ForwardedFrameCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("DelayExceededDiscardCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("MaximumTransmissionUNitMtuExceededDiscardCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("ReceivedFrameCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("ReceivedAndDiscardedCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("ForwardedFrameCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("DelayExceededDiscardCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("MaximumTransmissionUnitMtuExceededDiscardCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("ReceivedFrameCounter", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("ReceivedAndDiscardedCounter", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "Delay exceeded discard",
+			2: "MTU exceeded discard",
+			4: "Received and discarded",
 		},
 	}
 }
 
-// NewMacBridgePortPerformanceMonitoringHistoryData (class ID 52 creates the basic
+// NewMacBridgePortPerformanceMonitoringHistoryData (class ID 52) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMacBridgePortPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(macbridgeportperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*macbridgeportperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/macbridgeserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeserviceprofile.go
new file mode 100644
index 0000000..c0cc23c
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/macbridgeserviceprofile.go
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// MacBridgeServiceProfileClassID is the 16-bit ID for the OMCI
+// Managed entity MAC bridge service profile
+const MacBridgeServiceProfileClassID ClassID = ClassID(45)
+
+var macbridgeserviceprofileBME *ManagedEntityDefinition
+
+// MacBridgeServiceProfile (class ID #45)
+//	This ME models a MAC bridge in its entirety; any number of ports may be associated with the
+//	bridge through pointers to the MAC bridge service profile ME. Instances of this ME are created
+//	and deleted by the OLT.
+//
+//	Relationships
+//		Bridge ports are modelled by MAC bridge port configuration data MEs, any number of which can
+//		point to a MAC bridge service profile. The real-time status of the bridge is available from an
+//		implicitly linked MAC bridge configuration data ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The first byte
+//			is the slot ID. In an integrated ONU, this value is 0. The second byte is the bridge group ID.
+//			(R, setbycreate) (mandatory) (2-bytes)
+//
+//		Spanning Tree Ind
+//			Spanning tree ind: The Boolean value true specifies that a spanning tree algorithm is enabled.
+//			The value false disables (rapid) spanning tree. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Learning Ind
+//			Learning ind: The Boolean value true specifies that bridge learning functions are enabled. The
+//			value false disables bridge learning. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Port Bridging Ind
+//			Port bridging ind: The Boolean value true specifies that bridging between UNI ports is enabled.
+//			The value false disables local bridging. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Priority
+//			Priority:	This attribute specifies the bridge priority in the range 0..65535. The value of this
+//			attribute is copied to the bridge priority attribute of the associated MAC bridge configuration
+//			data ME. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Max Age
+//			Max age:	This attribute specifies the maximum age (in 256ths of a second) of received protocol
+//			information before its entry in the spanning tree listing is discarded. The range is 0x0600 to
+//			0x2800 (6..40-s) in accordance with [IEEE-802.1D]. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Hello Time
+//			NOTE - [IEEE 802.1D] specifies the compatibility range for hello time to be 1..2-s.
+//
+//		Forward Delay
+//			Forward delay: This attribute specifies the forwarding delay (in 256ths of a second) when the
+//			bridge acts as the root. The range is 0x0400 to 0x1E00 (4..30-s) in accordance with [IEEE
+//			802.1D]. (R,-W, set-by-create) (mandatory) (2-bytes)
+//
+//		Unknown Mac Address Discard
+//			Unknown MAC address discard: The Boolean value true specifies that MAC frames with unknown DAs
+//			be discarded. The value false specifies that such frames be forwarded to all allowed ports.
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Mac Learning Depth
+//			MAC learning depth: This attribute specifies the maximum number of UNI MAC addresses to be
+//			learned by the bridge. The default value 0 specifies that there is no administratively imposed
+//			limit. (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Dynamic Filtering Ageing Time
+//			Dynamic filtering ageing time: This attribute specifies the age of dynamic filtering entries in
+//			the bridge database, after which unrefreshed entries are discarded. In accordance with clause
+//			7.9.2 of [IEEE 802.1D] and clause 8.8.3 of [IEEE 802.1Q], the range is 10..1 000 000-s, with a
+//			resolution of 1-s and a default of 300-s. The value 0 specifies that the ONU uses its internal
+//			default. (R, W, set-by-create) (optional) (4 bytes)
+//
+type MacBridgeServiceProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	macbridgeserviceprofileBME = &ManagedEntityDefinition{
+		Name:    "MacBridgeServiceProfile",
+		ClassID: 45,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffc0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("SpanningTreeInd", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField("LearningInd", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField("PortBridgingInd", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field("Priority", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field("MaxAge", UnsignedIntegerAttributeType, 0x0800, 1536, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field("HelloTime", UnsignedIntegerAttributeType, 0x0400, 256, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field("ForwardDelay", UnsignedIntegerAttributeType, 0x0200, 1024, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField("UnknownMacAddressDiscard", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField("MacLearningDepth", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: Uint32Field("DynamicFilteringAgeingTime", UnsignedIntegerAttributeType, 0x0040, 300, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewMacBridgeServiceProfile (class ID 45) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewMacBridgeServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*macbridgeserviceprofileBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/managedentityme.go b/vendor/github.com/opencord/omci-lib-go/generated/managedentityme.go
new file mode 100644
index 0000000..539078d
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/managedentityme.go
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// ManagedEntityMeClassID is the 16-bit ID for the OMCI
+// Managed entity Managed entity ME
+const ManagedEntityMeClassID ClassID = ClassID(288)
+
+var managedentitymeBME *ManagedEntityDefinition
+
+// ManagedEntityMe (class ID #288)
+//	The ME describes the details of each ME that is supported by the ONU. This ME is not included in
+//	an MIB upload.
+//
+//	Relationships
+//		One or more MEs are related to the OMCI object entity.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Its value is
+//			equal to the ME type value, and is the same as the code found in the ME type table attribute of
+//			the OMCI ME and Table-11.2.41. (R) (mandatory) (2-bytes)
+//
+//		Name
+//			Name:	This attribute contains a 25-byte ASCII coded mnemonic tag for the ME type. Strings
+//			shorter than 25-bytes are padded with null characters. (R) (mandatory) (25-bytes)
+//
+//		Attributes Table
+//			NOTE - The ME ID attribute is not included in the list, since the type of this attribute is
+//			fixed.
+//
+//		Access
+//			(R) (mandatory) (1-byte)
+//
+//		Alarms Table
+//			Alarms table: This attribute lists the alarm codes that are supported. (R) (mandatory) (Y bytes,
+//			where Y is the number of entries in the table.)
+//
+//		Avcs Table
+//			AVCs table:	This attribute lists the AVCs that are supported. (R) (mandatory) (Z bytes, where Z
+//			is the number of entries in the table.)
+//
+//		Actions
+//			Actions:	This attribute lists the action codes supported on this object, formatted as a bit map.
+//			The action codes are the MTs from Table-11.2.2-1. The LSB represents action 0, and so on. (R)
+//			(mandatory) (4-bytes)
+//
+//		Instances Table
+//			Instances table: This attribute is a list of pointers to all instances of this ME. (R)
+//			(mandatory) (2 * V bytes, where V is the number of entries in the table.)
+//
+//		Support
+//			(R) (mandatory) (1-byte)
+//
+type ManagedEntityMe struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	managedentitymeBME = &ManagedEntityDefinition{
+		Name:    "ManagedEntityMe",
+		ClassID: 288,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			GetNext,
+		),
+		AllowedAttributeMask: 0xff00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("Name", OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2: TableField("AttributesTable", TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField("Access", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: TableField("AlarmsTable", TableAttributeType, 0x1000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 4),
+			5: TableField("AvcsTable", TableAttributeType, 0x0800, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("Actions", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: TableField("InstancesTable", TableAttributeType, 0x0200, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 7),
+			8: ByteField("Support", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewManagedEntityMe (class ID 288) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewManagedEntityMe(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*managedentitymeBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/me.go b/vendor/github.com/opencord/omci-lib-go/generated/me.go
new file mode 100644
index 0000000..8bec058
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/me.go
@@ -0,0 +1,316 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import (
+	"encoding/binary"
+	"errors"
+	"fmt"
+	"github.com/deckarep/golang-set"
+	"github.com/google/gopacket"
+)
+
+// ManagedEntity provides a complete instance of a Managed Entity
+type ManagedEntity struct {
+	definition             ManagedEntityDefinition
+	attributeMask          uint16
+	requestedAttributeMask uint16
+	attributes             AttributeValueMap
+}
+
+// String provides a simple string that describes this struct
+func (entity *ManagedEntity) String() string {
+	return fmt.Sprintf("ManagedEntity: %v, EntityID: (%d/%#x): Attributes: %v",
+		entity.GetClassID(), entity.GetEntityID(), entity.GetEntityID(), entity.attributes)
+}
+
+// NewManagedEntity creates a ManagedEntity given an ME Definition and parameter/attribute data
+func NewManagedEntity(definition ManagedEntityDefinition, params ...ParamData) (*ManagedEntity, OmciErrors) {
+	entity := &ManagedEntity{
+		definition: definition,
+		attributes: make(map[string]interface{}),
+	}
+	if params != nil {
+		if err := entity.setAttributes(params...); err.StatusCode() != Success {
+			return nil, err
+		}
+	}
+	return entity, NewOmciSuccess()
+}
+
+// GetManagedEntityDefinition provides the ME definition of a Managed Entity
+func (entity *ManagedEntity) GetManagedEntityDefinition() ManagedEntityDefinition {
+	return entity.definition
+}
+
+// GetName provides the ME Name of a Managed Entity
+func (entity ManagedEntity) GetName() string {
+	return entity.definition.GetName()
+}
+
+// GetClassID returns the 16-bit class ID of a Managed Entity
+func (entity ManagedEntity) GetClassID() ClassID {
+	return entity.definition.GetClassID()
+}
+
+// SetClassID assigns the 16-bit class ID of a Managed Entity
+func (entity *ManagedEntity) SetClassID(classID ClassID) {
+	entity.definition.SetClassID(classID)
+}
+
+// GetMessageTypes returns the OMCI message types that a Managed Entity supports
+func (entity ManagedEntity) GetMessageTypes() mapset.Set {
+	return entity.definition.GetMessageTypes()
+}
+
+// GetAllowedAttributeMask returns the 16-bit bitmask of attributes a Managed Entity supports
+func (entity ManagedEntity) GetAllowedAttributeMask() uint16 {
+	return entity.definition.GetAllowedAttributeMask()
+}
+
+// GetAttributeDefinitions returns the attribute definition map for a Managed Entity
+func (entity ManagedEntity) GetAttributeDefinitions() AttributeDefinitionMap {
+	return entity.definition.GetAttributeDefinitions()
+}
+
+// DecodeAttributes will decode the attributes portion of a Managed Entity frame/packet
+func (entity *ManagedEntity) DecodeAttributes(mask uint16, data []byte, p gopacket.PacketBuilder, msgType byte) (AttributeValueMap, error) {
+	return entity.definition.DecodeAttributes(mask, data, p, msgType)
+}
+
+// SerializeAttributes will serialize the attributes of a Managed Entity type
+func (entity *ManagedEntity) SerializeAttributes(attr AttributeValueMap, mask uint16,
+	b gopacket.SerializeBuffer, msgType byte, bytesAvailable int, packData bool) (error, uint16) {
+	return entity.definition.SerializeAttributes(attr, mask, b, msgType, bytesAvailable, packData)
+}
+
+// GetEntityID will return the Entity/Instance ID for a Managed Entity
+func (entity *ManagedEntity) GetEntityID() uint16 {
+	if eid, err := entity.GetAttributeByIndex(0); err == nil {
+		return eid.(uint16)
+	}
+	return 0
+}
+
+// SetEntityID will set the Entity/Instance ID for a Managed Entity
+func (entity *ManagedEntity) SetEntityID(eid uint16) error {
+	return entity.SetAttributeByIndex(0, eid)
+}
+
+// GetAttributeMask will return the 16-bit attribute mask of a Managed Entity
+func (entity *ManagedEntity) GetAttributeMask() uint16 {
+	return entity.attributeMask
+}
+
+// SetRequestedAttributeMask is used to initialize the requested attribute mask to a specific
+// value. This should only be done on "Get" type operations that need to fetch and attribute
+// and store it in the entity. For other operations (create, set, ...) you should specify
+// the attributes and values in the Params initialization or use the SetAttribute
+func (entity *ManagedEntity) SetRequestedAttributeMask(mask uint16) {
+	entity.requestedAttributeMask = mask
+}
+
+// GetRequestedAttributeMask will return the 16-bit requested attribute mask of a Managed Entity.
+// This is only specified for requests that perform a Get operation
+func (entity *ManagedEntity) GetRequestedAttributeMask() uint16 {
+	return entity.requestedAttributeMask
+}
+
+// GetAttributeValueMap will return the map of attributes of a Managed Entity
+func (entity *ManagedEntity) GetAttributeValueMap() AttributeValueMap {
+	return entity.attributes
+}
+
+// GetAttribute will return the value of a specific attribute for the specified attribute by name
+func (entity *ManagedEntity) GetAttribute(name string) (interface{}, error) {
+	value, ok := entity.attributes[name]
+	if !ok {
+		return 0, fmt.Errorf("attribute '%v' not found", name)
+	}
+	return value, nil
+}
+
+// GetAttributeByIndex will return the value of a specific attribute for the specified attribute by index
+func (entity *ManagedEntity) GetAttributeByIndex(index uint) (interface{}, error) {
+	if len(entity.attributes) == 0 {
+		return nil, errors.New("attributes have already been set")
+	}
+	if _, ok := entity.definition.AttributeDefinitions[index]; !ok {
+		return nil, fmt.Errorf("invalid attribute index: %d, should be 0..%d",
+			index, len(entity.definition.AttributeDefinitions)-1)
+	}
+	return entity.GetAttribute(entity.definition.AttributeDefinitions[index].Name)
+}
+
+func (entity *ManagedEntity) setAttributes(params ...ParamData) OmciErrors {
+	if entity.attributes == nil {
+		entity.attributes = make(map[string]interface{})
+	} else if len(entity.attributes) > 0 {
+		return NewNonStatusError("attributes have already been set")
+	}
+	eidName := entity.definition.AttributeDefinitions[0].Name
+	if len(params) == 0 {
+		entity.attributes[eidName] = uint16(0)
+		return NewOmciSuccess()
+	}
+	entity.attributes[eidName] = params[0].EntityID
+
+	for name, value := range params[0].Attributes {
+		if name == eidName {
+			continue
+		}
+		if err := entity.SetAttribute(name, value); err.StatusCode() != Success {
+			return err
+		}
+	}
+	return NewOmciSuccess()
+}
+
+// SetAttribute can be uses to set the value of a specific attribute by name
+func (entity *ManagedEntity) SetAttribute(name string, value interface{}) OmciErrors {
+	attrDef, err := GetAttributeDefinitionByName(entity.definition.GetAttributeDefinitions(), name)
+	if err != nil {
+		// Not found, which means not in the attribute definition map
+		return NewProcessingError(err.Error())
+	} else if entity.attributes == nil {
+		entity.attributes = make(map[string]interface{})
+	}
+	mask := attrDef.Mask
+	// check any constraints
+	if constraintCheck := attrDef.GetConstraints(); constraintCheck != nil {
+		err = constraintCheck(value)
+		if err != nil {
+			return NewParameterError(mask, entity.GetAttributeDefinitions(), err)
+		}
+	}
+	entity.attributes[name] = value
+	entity.attributeMask |= mask
+	return NewOmciSuccess()
+}
+
+// SetAttributeByIndex can be uses to set the value of a specific attribute by attribute index (0..15)
+func (entity *ManagedEntity) SetAttributeByIndex(index uint, value interface{}) error {
+	attrDef, ok := entity.definition.AttributeDefinitions[index]
+	if !ok {
+		return fmt.Errorf("invalid attribute index: %d, should be 0..%d",
+			index, len(entity.definition.AttributeDefinitions)-1)
+	} else if entity.attributes == nil {
+		entity.attributes = make(map[string]interface{})
+	}
+	mask := attrDef.Mask
+	// check any constraints
+	if constraintCheck := attrDef.GetConstraints(); constraintCheck != nil {
+		err := constraintCheck(value)
+		if err != nil {
+			return NewParameterError(mask, entity.GetAttributeDefinitions(), err)
+		}
+	}
+	entity.attributes[attrDef.Name] = value
+	entity.attributeMask |= mask
+	return nil
+}
+
+// DeleteAttribute is used to remove a specific attribute from a Managed Index by name
+func (entity *ManagedEntity) DeleteAttribute(name string) error {
+	attrDef, err := GetAttributeDefinitionByName(entity.definition.GetAttributeDefinitions(), name)
+	if err != nil {
+		return err
+	}
+	if entity.attributes != nil {
+		delete(entity.attributes, name)
+		entity.attributeMask &= ^attrDef.Mask
+	}
+	return nil
+}
+
+// DeleteAttributeByIndex is used to remove a specific attribute from a Managed Index by attribute index (0..15)
+func (entity *ManagedEntity) DeleteAttributeByIndex(index uint) error {
+	attrDef, ok := entity.definition.AttributeDefinitions[index]
+	if !ok {
+		return fmt.Errorf("invalid attribute index: %d, should be 0..%d",
+			index, len(entity.definition.AttributeDefinitions)-1)
+	}
+	if entity.attributes != nil {
+		delete(entity.attributes, attrDef.Name)
+		entity.attributeMask &= ^attrDef.Mask
+	}
+	return nil
+}
+
+// GetClassSupport returns the ONU support for this managed entity
+func (entity *ManagedEntity) GetClassSupport() ClassSupport {
+	return entity.definition.GetClassSupport()
+}
+
+// GetAlarmMap returns the Alarm Bit Number to Alarm Name (string) mapping.  Nil is returned if
+// the managed entity does not support alarms
+func (entity *ManagedEntity) GetAlarmMap() AlarmMap {
+	return entity.definition.GetAlarmMap()
+}
+
+// DecodeFromBytes decodes a Managed Entity give an octet stream pointing to the ME within a frame
+func (entity *ManagedEntity) DecodeFromBytes(data []byte, p gopacket.PacketBuilder, msgType byte) error {
+	if len(data) < 6 {
+		p.SetTruncated()
+		return errors.New("frame too small")
+	}
+	classID := ClassID(binary.BigEndian.Uint16(data[0:2]))
+	entityID := binary.BigEndian.Uint16(data[2:4])
+	parameters := ParamData{EntityID: entityID}
+
+	meDefinition, omciErr := LoadManagedEntityDefinition(classID, parameters)
+	if omciErr.StatusCode() != Success {
+		return omciErr.GetError()
+	}
+	entity.definition = meDefinition.definition
+	entity.attributeMask = binary.BigEndian.Uint16(data[4:6])
+	entity.attributes = make(map[string]interface{})
+	entity.SetEntityID(entityID)
+	packetAttributes, err := entity.DecodeAttributes(entity.GetAttributeMask(), data[6:], p, msgType)
+	if err != nil {
+		return err
+	}
+	for name, value := range packetAttributes {
+		entity.attributes[name] = value
+	}
+	return nil
+}
+
+// SerializeTo serializes a Managed Entity into an octet stream
+func (entity *ManagedEntity) SerializeTo(b gopacket.SerializeBuffer, msgType byte, bytesAvailable int, opts gopacket.SerializeOptions) error {
+	// Add class ID and entity ID
+	bytes, err := b.AppendBytes(6)
+	if err != nil {
+		return err
+	}
+	binary.BigEndian.PutUint16(bytes, uint16(entity.GetClassID()))
+	binary.BigEndian.PutUint16(bytes[2:], entity.GetEntityID())
+	binary.BigEndian.PutUint16(bytes[4:], entity.GetAttributeMask())
+
+	// TODO: Need to limit number of bytes appended to not exceed packet size
+	// Is there space/metadata info in 'b' parameter to allow this?
+	err, _ = entity.SerializeAttributes(entity.attributes, entity.GetAttributeMask(), b,
+		msgType, bytesAvailable, opts.FixLengths)
+	return err
+}
diff --git a/vendor/github.com/cboling/omci/generated/medef.go b/vendor/github.com/opencord/omci-lib-go/generated/medef.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/medef.go
rename to vendor/github.com/opencord/omci-lib-go/generated/medef.go
index 2c76614..767e27b 100644
--- a/vendor/github.com/cboling/omci/generated/medef.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/medef.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,6 +20,7 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import (
@@ -27,13 +31,16 @@
 	"math/bits"
 )
 
+// ManagedEntityDefinition defines a Manage Entity
 type ManagedEntityDefinition struct {
-	Name         string
-	ClassID      ClassID
-	MessageTypes mapset.Set // Mandatory
-	// TODO: Support Optional Message types
+	Name                 string
+	ClassID              ClassID
+	MessageTypes         mapset.Set // Mandatory
 	AllowedAttributeMask uint16
 	AttributeDefinitions AttributeDefinitionMap
+	Access               ClassAccess
+	Support              ClassSupport
+	Alarms               AlarmMap // AlarmBit -> AlarmName
 }
 
 func (bme *ManagedEntityDefinition) String() string {
@@ -41,23 +48,48 @@
 		bme.Name, bme.ClassID, bme.AttributeDefinitions)
 }
 
-func (bme *ManagedEntityDefinition) GetName() string {
+// GetName retrieves the name of a managed entity from a ME Definition
+func (bme ManagedEntityDefinition) GetName() string {
 	return bme.Name
 }
-func (bme *ManagedEntityDefinition) GetClassID() ClassID {
+
+// GetClassID retrieves the 16-bit class ID of a managed entity from a ME Definition
+func (bme ManagedEntityDefinition) GetClassID() ClassID {
 	return bme.ClassID
 }
-func (bme *ManagedEntityDefinition) GetMessageTypes() mapset.Set {
-	return bme.MessageTypes
-}
-func (bme *ManagedEntityDefinition) GetAllowedAttributeMask() uint16 {
-	return bme.AllowedAttributeMask
-}
-func (bme *ManagedEntityDefinition) GetAttributeDefinitions() *AttributeDefinitionMap {
-	return &bme.AttributeDefinitions
+
+// SetClassID assigns the 16-bit class ID of a managed entity from a ME Definition
+func (bme *ManagedEntityDefinition) SetClassID(classID ClassID) {
+	bme.ClassID = classID
 }
 
-func (bme *ManagedEntityDefinition) DecodeAttributes(mask uint16, data []byte, p gopacket.PacketBuilder, msgType byte) (AttributeValueMap, error) {
+// GetMessageTypes retrieves the OMCI Message Types supporte3d by a managed entity from a ME Definition
+func (bme ManagedEntityDefinition) GetMessageTypes() mapset.Set {
+	return bme.MessageTypes
+}
+
+// GetAllowedAttributeMask retrieves the allowed/valid 16-bit attribute mask of a managed entity
+// from a ME Definition
+func (bme ManagedEntityDefinition) GetAllowedAttributeMask() uint16 {
+	return bme.AllowedAttributeMask
+}
+
+// GetAttributeDefinitions retrieves the attribute definitions of a managed entity from a ME Definition
+func (bme ManagedEntityDefinition) GetAttributeDefinitions() AttributeDefinitionMap {
+	return bme.AttributeDefinitions
+}
+
+// GetClassSupport returns ONUs support of this class
+func (bme ManagedEntityDefinition) GetClassSupport() ClassSupport {
+	return bme.Support
+}
+
+// GetAlarmMap returns the Alarm bit number to name map
+func (bme ManagedEntityDefinition) GetAlarmMap() AlarmMap {
+	return bme.Alarms
+}
+
+func (bme ManagedEntityDefinition) DecodeAttributes(mask uint16, data []byte, p gopacket.PacketBuilder, msgType byte) (AttributeValueMap, error) {
 	if (mask | bme.GetAllowedAttributeMask()) != bme.GetAllowedAttributeMask() {
 		// TODO: Provide custom error code so a response 'result' can properly be coded
 		return nil, errors.New("unsupported attribute mask")
@@ -72,7 +104,7 @@
 		attrDef := bme.AttributeDefinitions[index]
 		name := attrDef.GetName()
 
-		if mask&(1<<(16-uint(index))) != 0 {
+		if mask&attrDef.Mask != 0 {
 			value, err := attrDef.Decode(data, p, msgType)
 			if err != nil {
 				return nil, err
@@ -80,7 +112,7 @@
 			if attrDef.IsTableAttribute() {
 				switch msgType {
 				default:
-					return nil, errors.New(fmt.Sprintf("unsupported Message Type '%v' for table serialization", msgType))
+					return nil, fmt.Errorf("unsupported Message Type '%v' for table serialization", msgType)
 
 				case byte(Get) | AK: // Get Response
 					attrMap[name] = value
@@ -124,15 +156,17 @@
 	return attrMap, nil
 }
 
-func (bme *ManagedEntityDefinition) SerializeAttributes(attr AttributeValueMap, mask uint16,
-	b gopacket.SerializeBuffer, msgType byte, bytesAvailable int) error {
+func (bme ManagedEntityDefinition) SerializeAttributes(attr AttributeValueMap, mask uint16,
+	b gopacket.SerializeBuffer, msgType byte, bytesAvailable int, packData bool) (error, uint16) {
+
 	if (mask | bme.GetAllowedAttributeMask()) != bme.GetAllowedAttributeMask() {
 		// TODO: Provide custom error code so a response 'result' can properly be coded
-		return errors.New("unsupported attribute mask")
+		return errors.New("unsupported attribute mask"), 0
 	}
 	// TODO: Need to limit number of bytes appended to not exceed packet size
 	// Is there space/metadata info in 'b' parameter to allow this?
 	keyList := GetAttributeDefinitionMapKeys(bme.AttributeDefinitions)
+	var failedMask uint16
 
 	for _, index := range keyList {
 		if index == 0 {
@@ -140,18 +174,22 @@
 		}
 		attrDef := bme.AttributeDefinitions[index]
 
-		if mask&(1<<(16-uint(index))) != 0 {
+		if mask&attrDef.Mask != 0 {
 			value, ok := attr[attrDef.GetName()]
 			if !ok {
 				msg := fmt.Sprintf("attribute not found: '%v'", attrDef.GetName())
-				return errors.New(msg)
+				return errors.New(msg), failedMask
 			}
 			size, err := attrDef.SerializeTo(value, b, msgType, bytesAvailable)
 			if err != nil {
-				return err
+				failedMask |= attrDef.Mask
+				if packData {
+					continue
+				}
+				return err, failedMask
 			}
 			bytesAvailable -= size
 		}
 	}
-	return nil
+	return nil, failedMask
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/mgcconfigdata.go b/vendor/github.com/opencord/omci-lib-go/generated/mgcconfigdata.go
new file mode 100644
index 0000000..ddd39fb
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/mgcconfigdata.go
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// MgcConfigDataClassID is the 16-bit ID for the OMCI
+// Managed entity MGC config data
+const MgcConfigDataClassID ClassID = ClassID(155)
+
+var mgcconfigdataBME *ManagedEntityDefinition
+
+// MgcConfigData (class ID #155)
+//	The MGC config data ME defines the MGC configuration associated with an MG subscriber. It is
+//	conditionally required for ONUs that support ITU-T H.248 VoIP services. If a non-OMCI interface
+//	is used to manage VoIP signalling, this ME is unnecessary.
+//
+//	Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME may be associated with one or more VoIP voice CTP MEs.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Primary Mgc
+//			Primary MGC: This attribute points to a network address ME that contains the name (IP-address or
+//			resolved name) of the primary MGC that controls the signalling messages. The port is optional
+//			and defaults to 2944 for text message formats and 2955 for binary message formats. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Secondary Mgc
+//			Secondary MGC: This attribute points to a network address ME that contains the name (IP-address
+//			or resolved name) of the secondary or backup MGC that controls the signalling messages. The port
+//			is optional and defaults to 2944 for text message formats and 2955 for binary message formats.
+//			(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Tcp_Udp Pointer
+//			TCP/UDP pointer: This attribute points to the TCP/UDP config data ME to be used for
+//			communication with the MGC. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Version
+//			Version:	This integer attribute reports the version of the Megaco protocol in use. The ONU
+//			should deny an attempt by the OLT to set or create a value that it does not support. The value 0
+//			indicates that no particular version is specified. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Message Format
+//			The default value is recommended to be 0. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Maximum Retry Time
+//			Maximum retry time: This attribute specifies the maximum retry time for MGC transactions, in
+//			seconds. The default value 0 specifies vendor-specific implementation. (R,-W) (optional)
+//			(2-bytes)
+//
+//		Maximum Retry Attempts
+//			Maximum retry attempts: This attribute specifies the maximum number of times a message is
+//			retransmitted to the MGC. The recommended default value 0 specifies vendor-specific
+//			implementation. (R,-W, setbycreate) (optional) (2-bytes)
+//
+//		Service Change Delay
+//			Service change delay: This attribute specifies the service status delay time for changes in line
+//			service status. This attribute is specified in seconds. The default value 0 specifies no delay.
+//			(R,-W) (optional) (2-bytes)
+//
+//		Termination Id Base
+//			Termination ID base: This attribute specifies the base string for the ITU-T H.248 physical
+//			termination ID(s) for this ONU. This string is intended to uniquely identify an ONU. Vendor-
+//			specific termination identifiers (port IDs) are optionally added to this string to uniquely
+//			identify a termination on a specific ONU. (R,-W) (optional) (25-bytes)
+//
+//		Softswitch
+//			Softswitch:	This attribute identifies the gateway softswitch vendor. The format is four ASCII
+//			coded alphabetic characters [A..Z] as defined in [ATIS0300220]. A value of four null bytes
+//			indicates an unknown or unspecified vendor. (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Message Id Pointer
+//			Message ID pointer: This attribute points to a large string whose value specifies the message
+//			identifier string for ITU-T H.248 messages originated by the ONU. (R, W, setbycreate) (optional)
+//			(2 bytes)
+//
+type MgcConfigData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	mgcconfigdataBME = &ManagedEntityDefinition{
+		Name:    "MgcConfigData",
+		ClassID: 155,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffe0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("PrimaryMgc", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field("SecondaryMgc", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field("TcpUdpPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField("Version", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField("MessageFormat", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field("MaximumRetryTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  Uint16Field("MaximumRetryAttempts", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  Uint16Field("ServiceChangeDelay", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  MultiByteField("TerminationIdBase", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint32Field("Softswitch", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint16Field("MessageIdPointer", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Timeout",
+		},
+	}
+}
+
+// NewMgcConfigData (class ID 155) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewMgcConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*mgcconfigdataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/mgcperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/mgcperformancemonitoringhistorydata.go
similarity index 60%
rename from vendor/github.com/cboling/omci/generated/mgcperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/mgcperformancemonitoringhistorydata.go
index dd55c82..c9b6dc6 100644
--- a/vendor/github.com/cboling/omci/generated/mgcperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/mgcperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MgcPerformanceMonitoringHistoryDataClassId ClassID = ClassID(156)
+// MgcPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity MGC performance monitoring history data
+const MgcPerformanceMonitoringHistoryDataClassID ClassID = ClassID(156)
 
 var mgcperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -41,53 +47,53 @@
 //			identical ID, this ME is implicitly linked to an instance of the associated MGC config data or
 //			to the MGC config portal ME. If a non-OMCI configuration method is used for VoIP, there can be
 //			only one live ME instance, associated with the MGC config portal, and with ME ID 0. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Received Messages
 //			Received messages: This attribute counts the number of received Megaco messages on this
-//			association, as defined by [ITUT H.341]. (R) (mandatory) (4 bytes)
+//			association, as defined by [ITUT H.341]. (R) (mandatory) (4-bytes)
 //
 //		Received Octets
 //			Received octets: This attribute counts the total number of octets received on this association,
-//			as defined by [ITU-T H.341]. (R) (mandatory) (4 bytes)
+//			as defined by [ITU-T H.341]. (R) (mandatory) (4-bytes)
 //
 //		Sent Messages
 //			Sent messages: This attribute counts the total number of Megaco messages sent over this
-//			association, as defined by [ITU-T H.341]. (R) (mandatory) (4 bytes)
+//			association, as defined by [ITU-T H.341]. (R) (mandatory) (4-bytes)
 //
 //		Sent Octets
 //			Sent octets:	This attribute counts the total number of octets sent over this association, as
-//			defined by [ITU-T H.341]. (R) (mandatory) (4 bytes)
+//			defined by [ITU-T H.341]. (R) (mandatory) (4-bytes)
 //
 //		Protocol Errors
-//			(R) (mandatory) (4 bytes)
+//			(R) (mandatory) (4-bytes)
 //
 //		Transport Losses
 //			Transport losses: This attribute counts the total number of transport losses (e.g., socket
 //			problems) detected on this association. A link loss is defined as loss of communication with the
 //			remote entity due to hardware/transient problems, or problems in related software. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Last Detected Event
-//			(R) (mandatory) (1 byte)
+//			(R) (mandatory) (1-byte)
 //
 //		Last Detected Event Time
 //			Last detected event time: This attribute reports the time in seconds since the last event on
-//			this association was detected, as defined by [ITU-T H.341]. (R) (mandatory) (4 bytes)
+//			this association was detected, as defined by [ITU-T H.341]. (R) (mandatory) (4-bytes)
 //
 //		Last Detected Reset Time
 //			Last detected reset time: This attribute reports the time in seconds since these statistics were
 //			last reset, as defined by [ITU-T H.341]. Under normal circumstances, a get action on this
-//			attribute would return 900 s to indicate a completed 15 min interval. (R) (mandatory) (4 bytes)
+//			attribute would return 900-s to indicate a completed 15-min interval. (R) (mandatory) (4-bytes)
 //
 type MgcPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -104,27 +110,33 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFE0,
+		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("ReceivedMessages", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("ReceivedOctets", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("SentMessages", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("SentOctets", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("ProtocolErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("TransportLosses", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  ByteField("LastDetectedEvent", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("LastDetectedEventTime", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("LastDetectedResetTime", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("ReceivedMessages", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("ReceivedOctets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("SentMessages", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("SentOctets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("ProtocolErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("TransportLosses", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField("LastDetectedEvent", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("LastDetectedEventTime", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("LastDetectedResetTime", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "MGCP protocol errors",
+			1: "MGCP transport losses",
 		},
 	}
 }
 
-// NewMgcPerformanceMonitoringHistoryData (class ID 156 creates the basic
+// NewMgcPerformanceMonitoringHistoryData (class ID 156) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMgcPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(mgcperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*mgcperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/mocaethernetperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/mocaethernetperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..b66845c
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/mocaethernetperformancemonitoringhistorydata.go
@@ -0,0 +1,160 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// MocaEthernetPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity MoCA Ethernet performance monitoring history data
+const MocaEthernetPerformanceMonitoringHistoryDataClassID ClassID = ClassID(163)
+
+var mocaethernetperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// MocaEthernetPerformanceMonitoringHistoryData (class ID #163)
+//	This ME collects PM data for an MoCA Ethernet interface. Instances of this ME are created and
+//	deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of the PPTP MoCA UNI ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP MoCA UNI. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Incoming Unicast Packets
+//			Incoming unicast packets:	(R) (optional) (4-bytes)
+//
+//		Incoming Discarded Packets
+//			Incoming discarded packets:	(R) (optional) (4-bytes)
+//
+//		Incoming Errored Packets
+//			Incoming errored packets:	(R) (optional) (4-bytes)
+//
+//		Incoming Unknown Packets
+//			Incoming unknown packets:	(R) (optional) (4-bytes)
+//
+//		Incoming Multicast Packets
+//			Incoming multicast packets:	(R) (optional) (4-bytes)
+//
+//		Incoming Broadcast Packets
+//			Incoming broadcast packets:	(R) (optional) (4-bytes)
+//
+//		Incoming Octets
+//			Incoming octets:	(R) (optional) (4-bytes)
+//
+//		Outgoing Unicast Packets
+//			Outgoing unicast packets:	(R) (optional) (4-bytes)
+//
+//		Outgoing Discarded Packets
+//			Outgoing discarded packets:	(R) (optional) (4-bytes)
+//
+//		Outgoing Errored Packets
+//			Outgoing errored packets:	(R) (optional) (4-bytes)
+//
+//		Outgoing Unknown Packets
+//			Outgoing unknown packets:	(R) (optional) (4-bytes)
+//
+//		Outgoing Multicast Packets
+//			Outgoing multicast packets:	(R) (optional) (4-bytes)
+//
+//		Outgoing Broadcast Packets
+//			Outgoing broadcast packets:	(R) (optional) (4-bytes)
+//
+//		Outgoing Octets
+//			Outgoing octets:	(R) (optional) (4-bytes)
+//
+type MocaEthernetPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	mocaethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "MocaEthernetPerformanceMonitoringHistoryData",
+		ClassID: 163,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("IncomingUnicastPackets", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field("IncomingDiscardedPackets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field("IncomingErroredPackets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field("IncomingUnknownPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  Uint32Field("IncomingMulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field("IncomingBroadcastPackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field("IncomingOctets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field("OutgoingUnicastPackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field("OutgoingDiscardedPackets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field("OutgoingErroredPackets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field("OutgoingUnknownPackets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field("OutgoingMulticastPackets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field("OutgoingBroadcastPackets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint32Field("OutgoingOctets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0:  "Incoming unicast packets",
+			1:  "Incoming discarded packets",
+			2:  "Incoming errored packets",
+			3:  "Incoming unknown packets",
+			4:  "Incoming multicast packets",
+			5:  "Incoming broadcast packets",
+			6:  "Incoming octets",
+			7:  "Outgoing unicast packets",
+			8:  "Outgoing discarded packets",
+			9:  "Outgoing errored packets",
+			10: "Outgoing unknown packets",
+			11: "Outgoing multicast packets",
+			12: "Outgoing broadcast packets",
+			13: "Outgoing octets",
+		},
+	}
+}
+
+// NewMocaEthernetPerformanceMonitoringHistoryData (class ID 163) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewMocaEthernetPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*mocaethernetperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/mplspseudowireterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/generated/mplspseudowireterminationpoint.go
new file mode 100644
index 0000000..213236b
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/mplspseudowireterminationpoint.go
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// MplsPseudowireTerminationPointClassID is the 16-bit ID for the OMCI
+// Managed entity MPLS pseudowire termination point
+const MplsPseudowireTerminationPointClassID ClassID = ClassID(333)
+
+var mplspseudowireterminationpointBME *ManagedEntityDefinition
+
+// MplsPseudowireTerminationPoint (class ID #333)
+//	This ME contains the configuration data of a pseudowire whose underlying transport method is
+//	MPLS. Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		Zero or one instance of this ME is associated with each instance of the pseudowire TP ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R,
+//			setbycreate)-(mandatory) (2 bytes)
+//
+//		Tp Type
+//			(R, W, setbycreate) (mandatory) (1 byte)
+//
+//		Tp Pointer
+//			TP pointer:	This attribute points to the instance of the TP associated with this MPLS PW TP. The
+//			type of the associated TP is determined by the TP type attribute. (R, W, setbycreate)
+//			(mandatory) (2 bytes)
+//
+//		Mpls Label Indicator
+//			(R, W, setbycreate) (mandatory) (1 byte)
+//
+//		Mpls Pw Direction
+//			(R, W, setbycreate) (mandatory) (1 byte)
+//
+//		Mpls Pw Uplink Label
+//			MPLS PW uplink label: This attribute specifies the label of the inner MPLS pseudowire upstream.
+//			The attribute is not meaningful for unidirectional downstream PWs. (R, W, setbycreate)
+//			(mandatory) (4 bytes)
+//
+//		Mpls Pw Downlink Label
+//			MPLS PW downlink label: This attribute specifies the label of the inner MPLS pseudowire
+//			downstream. The attribute is not meaningful for unidirectional upstream PWs. (R, W, setbycreate)
+//			(mandatory) (4 bytes)
+//
+//		Mpls Pw Tc
+//			NOTE 1 - The TC field was previously known as EXP. Refer to [bIETF-RFC-5462].
+//
+//		Mpls Tunnel Direction
+//			(R, W, setbycreate) (mandatory for double-labelled case) (1 byte)
+//
+//		Mpls Tunnel Uplink Label
+//			MPLS tunnel uplink label: This attribute specifies the (outer) label for the upstream MPLS
+//			tunnel. If the MPLS tunnel is downstream only, this attribute should be set to 0. (R, W,
+//			setbycreate) (mandatory for double-labelled case) (4 bytes)
+//
+//		Mpls Tunnel Downlink Label
+//			MPLS tunnel downlink label: This attribute specifies the (outer) label for the downstream MPLS
+//			tunnel. If the MPLS tunnel is upstream only, this attribute should be set to 0. (R, W,
+//			setbycreate) (mandatory for double-labelled case) (4 bytes)
+//
+//		Mpls Tunnel Tc
+//			NOTE 2 - The TC field was previously known as EXP. Refer to [bIETF-RFC-5462].
+//
+//		Pseudowire Type
+//			(R, W, setbycreate) (mandatory) (2 bytes)
+//
+//		Pseudowire Control Word Preference
+//			Pseudowire control word preference: When set to true, this Boolean attribute specifies that a
+//			control word is to be sent with each packet. Some PW types mandate the use of a control word in
+//			any event. In such cases, the value configured for this attribute has no effect on the presence
+//			of the control word. (R, W, setbycreate) (optional) (1 byte)
+//
+//		Administrative State
+//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by the
+//			MPLS pseudowire TP. Administrative state is further described in clause-A.1.6. (R,-W) (optional)
+//			(1-byte)
+//
+//		Operational State
+//			Operational state: This attribute reports whether the ME is currently capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+type MplsPseudowireTerminationPoint struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	mplspseudowireterminationpointBME = &ManagedEntityDefinition{
+		Name:    "MplsPseudowireTerminationPoint",
+		ClassID: 333,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("TpType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field("TpPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField("MplsLabelIndicator", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField("MplsPwDirection", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint32Field("MplsPwUplinkLabel", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint32Field("MplsPwDownlinkLabel", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField("MplsPwTc", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField("MplsTunnelDirection", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint32Field("MplsTunnelUplinkLabel", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: Uint32Field("MplsTunnelDownlinkLabel", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField("MplsTunnelTc", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: Uint16Field("PseudowireType", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField("PseudowireControlWordPreference", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), true, true, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewMplsPseudowireTerminationPoint (class ID 333) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewMplsPseudowireTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*mplspseudowireterminationpointBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/multicastgeminterworkingterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/generated/multicastgeminterworkingterminationpoint.go
similarity index 67%
rename from vendor/github.com/cboling/omci/generated/multicastgeminterworkingterminationpoint.go
rename to vendor/github.com/opencord/omci-lib-go/generated/multicastgeminterworkingterminationpoint.go
index a855376..bde9b12 100644
--- a/vendor/github.com/cboling/omci/generated/multicastgeminterworkingterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/multicastgeminterworkingterminationpoint.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MulticastGemInterworkingTerminationPointClassId ClassID = ClassID(281)
+// MulticastGemInterworkingTerminationPointClassID is the 16-bit ID for the OMCI
+// Managed entity Multicast GEM interworking termination point
+const MulticastGemInterworkingTerminationPointClassID ClassID = ClassID(281)
 
 var multicastgeminterworkingterminationpointBME *ManagedEntityDefinition
 
@@ -83,36 +89,46 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0xFFFF
-//			is reserved. (R, setbycreate) (mandatory) (2 bytes)
+//			is reserved. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Gem Port Network Ctp Connectivity Pointer
 //			GEM port network CTP connectivity pointer: This attribute points to an instance of the GEM port
-//			network CTP that is associated with this multicast GEM IW TP. (R, W, setbycreate) (mandatory)
-//			(2 bytes)
+//			network CTP that is associated with this multicast GEM IW TP. (R,-W, setbycreate) (mandatory)
+//			(2-bytes)
 //
 //		Interworking Option
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Service Profile Pointer
 //			Service profile pointer: This attribute is set to 0 and not used. For backward compatibility, it
 //			may also be set to point to a MAC bridge service profile or IEEE 802.1p mapper service profile.
-//			(R, W, setbycreate) (mandatory) (2 bytes)
+//			(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Not Used 1
+//			Not used 1:	This attribute is set to 0 and not used. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Pptp Counter
 //			PPTP counter: This attribute represents the number of instances of PPTP MEs associated with this
 //			instance of the multicast GEM IW TP. This attribute conveys no information that is not available
-//			elsewhere; it may be set to 0xFF and not used. (R) (optional) (1 byte)
+//			elsewhere; it may be set to 0xFF and not used. (R) (optional) (1-byte)
 //
 //		Operational State
 //			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
 //
 //		Gal Profile Pointer
 //			GAL profile pointer: This attribute is set to 0 and not used. For backward compatibility, it may
-//			also be set to point to a GAL Ethernet profile. (R, W, setbycreate) (mandatory) (2 bytes)
+//			also be set to point to a GAL Ethernet profile. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Not Used 2
+//			Not used 2:	This attribute is set to 0 and not used. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Ipv4 Multicast Address Table
+//			IPv4 multicast address table: This attribute maps IP multicast addresses to PON layer addresses.
+//			Each entry contains the following.
 //
 //		Ipv6 Multicast Address Table
-//			(R, W) (optional) (24N bytes, where N is the number of entries in the list.)
+//			(R,-W) (optional) (24N bytes, where N is the number of entries in the list.)
 //
 type MulticastGemInterworkingTerminationPoint struct {
 	ManagedEntityDefinition
@@ -130,23 +146,31 @@
 			GetNext,
 			Set,
 		),
-		AllowedAttributeMask: 0XFE00,
+		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("GemPortNetworkCtpConnectivityPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("InterworkingOption", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("ServiceProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: ByteField("PptpCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5: ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 5),
-			6: Uint16Field("GalProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7: TableField("Ipv6MulticastAddressTable", TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("GemPortNetworkCtpConnectivityPointer", PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField("InterworkingOption", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field("ServiceProfilePointer", PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field("NotUsed1", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField("PptpCounter", UnsignedIntegerAttributeType, 0x0800, 255, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField("OperationalState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
+			7:  Uint16Field("GalProfilePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField("NotUsed2", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  TableField("Ipv4MulticastAddressTable", TableAttributeType, 0x0080, TableInfo{nil, 12}, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: TableField("Ipv6MulticastAddressTable", TableAttributeType, 0x0040, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, true, false, 10),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Deprecated",
 		},
 	}
 }
 
-// NewMulticastGemInterworkingTerminationPoint (class ID 281 creates the basic
+// NewMulticastGemInterworkingTerminationPoint (class ID 281) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMulticastGemInterworkingTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(multicastgeminterworkingterminationpointBME, params...)
+	return NewManagedEntity(*multicastgeminterworkingterminationpointBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/multicastoperationsprofileframe.go b/vendor/github.com/opencord/omci-lib-go/generated/multicastoperationsprofileframe.go
new file mode 100644
index 0000000..6204894
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/multicastoperationsprofileframe.go
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+* NOTE: This file was hand coded (not generated by omci-parser) due to complexity
+*       of the ME's entry in the G.988 (11/2017) specification.
+ */
+package generated
+
+import "github.com/deckarep/golang-set"
+
+const MulticastOperationsProfileClassID ClassID = ClassID(309)
+
+var multicastoperationsprofileME *ManagedEntityDefinition
+
+type MulticastOperationsProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	multicastoperationsprofileME = &ManagedEntityDefinition{
+		Name:    "MulticastOperationsProfile",
+		ClassID: 309,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+			GetNext,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IgmpVersion", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField("IgmpFunction", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField("ImmediateLeave", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field("USIgmpTci", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  ByteField("USIgmpTagCtrl", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint32Field("USIgmpRate", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  TableField("DynamicAccessControlListTable", TableAttributeType, 0x0200, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  TableField("StaticAccessControlListTable", TableAttributeType, 0x0100, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  TableField("LostGroupsListTable", TableAttributeType, 0x0080, TableInfo{nil, 10}, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField("Robustness", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			11: Uint32Field("QuerierIp", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			12: Uint32Field("QueryInterval", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: Uint32Field("QuerierMaxResponseTime", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: Uint32Field("LastMemberResponseTime", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField("UnauthorizedJoinBehaviour", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: MultiByteField("DSIgmpMcastTci", OctetsAttributeType, 0x0001, 3, toOctets("AAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewMulticastOperationsProfilePoint (class ID 309) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewMulticastOperationsProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*multicastoperationsprofileME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/multicastsubscriberconfiginfo.go b/vendor/github.com/opencord/omci-lib-go/generated/multicastsubscriberconfiginfo.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/multicastsubscriberconfiginfo.go
rename to vendor/github.com/opencord/omci-lib-go/generated/multicastsubscriberconfiginfo.go
index af2ea0d..59444a9 100644
--- a/vendor/github.com/cboling/omci/generated/multicastsubscriberconfiginfo.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/multicastsubscriberconfiginfo.go
@@ -1,33 +1,39 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MulticastSubscriberConfigInfoClassId ClassID = ClassID(310)
+// MulticastSubscriberConfigInfoClassID is the 16-bit ID for the OMCI
+// Managed entity Multicast subscriber config info
+const MulticastSubscriberConfigInfoClassID ClassID = ClassID(310)
 
 var multicastsubscriberconfiginfoBME *ManagedEntityDefinition
 
 // MulticastSubscriberConfigInfo (class ID #310)
-//	This ME organizes data associated with multicast management at subscriber ports of IEEE 802.1
-//	bridges, including IEEE 802.1p mappers when the provisioning model is mapper-based rather than
+//	This ME organizes data associated with multicast management at subscriber ports of IEEE-802.1
+//	bridges, including IEEE-802.1p mappers when the provisioning model is mapper-based rather than
 //	bridge-based. Instances of this ME are created and deleted by the OLT. Because of backward
 //	compatibility considerations, a subscriber port without an associated multicast subscriber
 //	config info ME would be expected to support unrestricted multicast access; this ME may therefore
@@ -41,16 +47,16 @@
 //
 //	Relationships
 //		An instance of this ME is associated with one instance of the MAC bridge port configuration data
-//		or the IEEE 802.1p mapper service profile.
+//		or the IEEE-802.1p mapper service profile.
 //
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
-//			data or IEEE 802.1p mapper ME. (R, setbycreate) (mandatory) (2 bytes)
+//			data or IEEE-802.1p mapper ME. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Me Type
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Multicast Operations Profile Pointer
 //			Multicast operations profile pointer: This attribute points to an instance of the multicast
@@ -60,24 +66,27 @@
 //		Max Simultaneous Groups
 //			Max simultaneous groups: This attribute specifies the maximum number of dynamic multicast groups
 //			that may be replicated to the client port at any one time. The recommended default value 0
-//			specifies that no administrative limit is to be imposed. (R, W, setbycreate) (optional)
-//			(2 bytes)
+//			specifies that no administrative limit is to be imposed. (R,-W, setbycreate) (optional)
+//			(2-bytes)
 //
 //		Max Multicast Bandwidth
 //			Max multicast bandwidth: This attribute specifies the maximum imputed dynamic bandwidth, in
 //			bytes per second, that may be delivered to the client port at any one time. The recommended
-//			default value 0 specifies that no administrative limit is to be imposed. (R, W, setbycreate)
-//			(optional) (4 bytes)
+//			default value 0 specifies that no administrative limit is to be imposed. (R,-W, setbycreate)
+//			(optional) (4-bytes)
 //
 //		Bandwidth Enforcement
 //			Bandwidth enforcement: The recommended default value of this Boolean attribute is false, and
 //			specifies that attempts to exceed the max multicast bandwidth be counted but honoured. The value
 //			true specifies that such attempts be counted and denied. The imputed bandwidth value is taken
 //			from the dynamic access control list table, both for a new join request and for pre-existing
-//			groups. (R, W, setbycreate) (optional) (1 byte)
+//			groups. (R,-W, setbycreate) (optional) (1-byte)
 //
 //		Multicast Service Package Table
-//			(R, W) (optional) (20N bytes, where N is the number of entries in the table)
+//			(R,-W) (optional) (20N bytes, where N is the number of entries in the table)
+//
+//		Allowed Preview Groups Table
+//			Each list entry begins with a table control field:
 //
 type MulticastSubscriberConfigInfo struct {
 	ManagedEntityDefinition
@@ -95,22 +104,25 @@
 			GetNext,
 			Set,
 		),
-		AllowedAttributeMask: 0XFC00,
+		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("MeType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint16Field("MulticastOperationsProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("MaxSimultaneousGroups", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 3),
-			4: Uint32Field("MaxMulticastBandwidth", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 4),
-			5: ByteField("BandwidthEnforcement", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
-			6: TableField("MulticastServicePackageTable", TableInfo{nil, 22}, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("MeType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("MulticastOperationsProfilePointer", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("MaxSimultaneousGroups", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4: Uint32Field("MaxMulticastBandwidth", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: ByteField("BandwidthEnforcement", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: TableField("MulticastServicePackageTable", TableAttributeType, 0x0400, TableInfo{nil, 20}, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7: TableField("AllowedPreviewGroupsTable", TableAttributeType, 0x0200, TableInfo{nil, 22}, mapset.NewSetWith(Read, Write), false, false, false, 7),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewMulticastSubscriberConfigInfo (class ID 310 creates the basic
+// NewMulticastSubscriberConfigInfo (class ID 310) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMulticastSubscriberConfigInfo(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(multicastsubscriberconfiginfoBME, params...)
+	return NewManagedEntity(*multicastsubscriberconfiginfoBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/multicastsubscribermonitor.go b/vendor/github.com/opencord/omci-lib-go/generated/multicastsubscribermonitor.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/multicastsubscribermonitor.go
rename to vendor/github.com/opencord/omci-lib-go/generated/multicastsubscribermonitor.go
index 245cb24..b973144 100644
--- a/vendor/github.com/cboling/omci/generated/multicastsubscribermonitor.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/multicastsubscribermonitor.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const MulticastSubscriberMonitorClassId ClassID = ClassID(311)
+// MulticastSubscriberMonitorClassID is the 16-bit ID for the OMCI
+// Managed entity Multicast subscriber monitor
+const MulticastSubscriberMonitorClassID ClassID = ClassID(311)
 
 var multicastsubscribermonitorBME *ManagedEntityDefinition
 
@@ -32,31 +38,31 @@
 //
 //	Relationships
 //		Instances of this ME are created and deleted at the request of the OLT. One instance may exist
-//		for each IEEE 802.1 UNI configured to support multicast subscription.
+//		for each IEEE-802.1 UNI configured to support multicast subscription.
 //
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
-//			data or IEEE 802.1p mapper ME. (R, setbycreate) (mandatory) (2 bytes)
+//			data or IEEE-802.1p mapper ME. (R,-setbycreate) (mandatory) (2-bytes)
 //
 //		Me Type
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Current Multicast Bandwidth
 //			Current multicast bandwidth: This attribute is the ONU's (BE) estimate of the actual bandwidth
 //			currently being delivered to this particular MAC bridge port over all dynamic multicast groups.
-//			(R) (optional) (4 bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Join Messages Counter
 //			Join messages counter: This attribute counts the number of times the corresponding subscriber
 //			sent a join message that was accepted. When full, the counter rolls over to 0. (R) (optional)
-//			(4 bytes)
+//			(4-bytes)
 //
 //		Bandwidth Exceeded Counter
 //			Bandwidth exceeded counter: This attribute counts the number of join messages that did exceed,
 //			or would have exceeded, the max multicast bandwidth, whether accepted or denied. When full, the
-//			counter rolls over to 0. (R) (optional) (4 bytes)
+//			counter rolls over to 0. (R) (optional) (4-bytes)
 //
 //		Ipv4 Active Group List Table
 //			(R) (mandatory) (24N bytes)
@@ -80,22 +86,24 @@
 			GetNext,
 			Set,
 		),
-		AllowedAttributeMask: 0XFC00,
+		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("MeType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint32Field("CurrentMulticastBandwidth", 0, mapset.NewSetWith(Read), false, false, true, false, 2),
-			3: Uint32Field("JoinMessagesCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4: Uint32Field("BandwidthExceededCounter", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5: TableField("Ipv4ActiveGroupListTable", TableInfo{nil, 24}, mapset.NewSetWith(Read), false, false, false, 5),
-			6: TableField("Ipv6ActiveGroupListTable", TableInfo{nil, 58}, mapset.NewSetWith(Read), false, true, false, 6),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("MeType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field("CurrentMulticastBandwidth", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
+			3: Uint32Field("JoinMessagesCounter", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint32Field("BandwidthExceededCounter", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: TableField("Ipv4ActiveGroupListTable", TableAttributeType, 0x0800, TableInfo{nil, 24}, mapset.NewSetWith(Read), false, false, false, 5),
+			6: TableField("Ipv6ActiveGroupListTable", TableAttributeType, 0x0400, TableInfo{nil, 58}, mapset.NewSetWith(Read), false, true, false, 6),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewMulticastSubscriberMonitor (class ID 311 creates the basic
+// NewMulticastSubscriberMonitor (class ID 311) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewMulticastSubscriberMonitor(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(multicastsubscribermonitorBME, params...)
+	return NewManagedEntity(*multicastsubscribermonitorBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/networkaddress.go b/vendor/github.com/opencord/omci-lib-go/generated/networkaddress.go
similarity index 74%
rename from vendor/github.com/cboling/omci/generated/networkaddress.go
rename to vendor/github.com/opencord/omci-lib-go/generated/networkaddress.go
index 38eff06..48ae98d 100644
--- a/vendor/github.com/cboling/omci/generated/networkaddress.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/networkaddress.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const NetworkAddressClassId ClassID = ClassID(137)
+// NetworkAddressClassID is the 16-bit ID for the OMCI
+// Managed entity Network address
+const NetworkAddressClassID ClassID = ClassID(137)
 
 var networkaddressBME *ManagedEntityDefinition
 
@@ -43,19 +49,19 @@
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Instances of
 //			this ME created autonomously by the ONU have IDs in the range 0..0x7FFF. Instances created by
 //			the OLT have IDs in the range 0x8000..0xFFFE. The value 0xFFFF is reserved. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Security Pointer
 //			Security pointer: This attribute points to an authentication security method ME. The
 //			authentication security method indicates the username and password to be used when retrieving
 //			the network address indicated by this ME. A null pointer indicates that security attributes are
-//			not defined for this network address. (R, W, setbycreate) (mandatory) (2 bytes)
+//			not defined for this network address. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Address Pointer
 //			Address pointer: This attribute points to the large string ME that contains the network address.
 //			It may contain a fully qualified domain name, URI or IP address. The URI may also contain a port
 //			identifier (e.g., "x.y.z.com:5060"). A null pointer indicates that no network address is
-//			defined. (R, W, setbycreate) (mandatory) (2 bytes)
+//			defined. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 type NetworkAddress struct {
 	ManagedEntityDefinition
@@ -72,18 +78,20 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XC000,
+		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("SecurityPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint16Field("AddressPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("SecurityPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("AddressPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewNetworkAddress (class ID 137 creates the basic
+// NewNetworkAddress (class ID 137) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewNetworkAddress(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(networkaddressBME, params...)
+	return NewManagedEntity(*networkaddressBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/networkdialplantable.go b/vendor/github.com/opencord/omci-lib-go/generated/networkdialplantable.go
new file mode 100644
index 0000000..9ca0049
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/networkdialplantable.go
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// NetworkDialPlanTableClassID is the 16-bit ID for the OMCI
+// Managed entity Network dial plan table
+const NetworkDialPlanTableClassID ClassID = ClassID(145)
+
+var networkdialplantableBME *ManagedEntityDefinition
+
+// NetworkDialPlanTable (class ID #145)
+//	The network dial plan table ME is optional for ONUs providing VoIP services. This ME is used to
+//	provision dial plans from the OLT. Instances of this ME are created and deleted by the OLT. If a
+//	non-OMCI interface is used to manage SIP for VoIP, this ME is unnecessary.
+//
+//	Relationships
+//		An instance of this ME may be associated with one or more instances of the SIP user data ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Dial Plan Number
+//			Dial plan number: This attribute indicates the current number of dial plans in the dial plan
+//			table. (R) (mandatory) (2-bytes)
+//
+//		Dial Plan Table Max Size
+//			Dial plan table max size: This attribute defines the maximum number of dial plans that can be
+//			stored in the dial plan table. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Critical Dial Timeout
+//			Critical dial timeout: This attribute defines the critical dial timeout for digit map
+//			processing, in milliseconds. The recommended default value is 4000-ms. (R,-W, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Partial Dial Timeout
+//			Partial dial timeout: This attribute defines the partial dial timeout for digit map processing,
+//			in milliseconds. The recommended default value is 16000-ms. (R,-W, setbycreate) (mandatory)
+//			(2-bytes)
+//
+//		Dial Plan Format
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Dial Plan Table
+//			(R,-W) (mandatory) (30 * N bytes, where N is the number of dial plans)
+//
+type NetworkDialPlanTable struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	networkdialplantableBME = &ManagedEntityDefinition{
+		Name:    "NetworkDialPlanTable",
+		ClassID: 145,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetNext,
+			Set,
+		),
+		AllowedAttributeMask: 0xfc00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("DialPlanNumber", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("DialPlanTableMaxSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 2),
+			3: Uint16Field("CriticalDialTimeout", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field("PartialDialTimeout", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField("DialPlanFormat", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: TableField("DialPlanTable", TableAttributeType, 0x0400, TableInfo{nil, 30}, mapset.NewSetWith(Read, Write), false, false, false, 6),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewNetworkDialPlanTable (class ID 145) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewNetworkDialPlanTable(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*networkdialplantableBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/octetstring.go b/vendor/github.com/opencord/omci-lib-go/generated/octetstring.go
new file mode 100644
index 0000000..c6f3f0f
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/octetstring.go
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// OctetStringClassID is the 16-bit ID for the OMCI
+// Managed entity Octet string
+const OctetStringClassID ClassID = ClassID(307)
+
+var octetstringBME *ManagedEntityDefinition
+
+// OctetString (class ID #307)
+//	The octet string is modelled on the large string ME. The large string is constrained to
+//	printable characters because it uses null as a trailing delimiter. The octet string has a length
+//	attribute and is therefore suitable for arbitrary sequences of bytes.
+//
+//	Instances of this ME are created and deleted by the OLT. To use this ME, the OLT instantiates
+//	the octet string ME and then points to the created ME from other ME instances. Systems that
+//	maintain the octet string should ensure that the octet string ME is not deleted while it is
+//	still linked.
+//
+//	Relationships
+//		An instance of this ME may be cited by any ME that requires an octet string that can exceed
+//		25-bytes in length.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The values 0 and
+//			0xFFFF are reserved. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Length
+//			Length:	This attribute specifies the number of octets that comprise the sequence of octets. This
+//			attribute defaults to 0 to indicate no octet string is defined. The maximum value of this
+//			attribute is 375 (15 parts, 25-bytes each). (R,-W) (mandatory) (2-bytes)
+//
+//		Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, Part 7, Part 8, Part 9, Part 10, Part 11, Part 12, Part 13, Part 14, Part 15
+//			Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, Part 7, Part 8, Part 9,  Part 10, Part 11, Part
+//			12, Part 13, Part 14, Part 15:  (R,-W) (part 1 mandatory, others optional) (25-bytes * 15
+//			attributes)
+//
+type OctetString struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	octetstringBME = &ManagedEntityDefinition{
+		Name:    "OctetString",
+		ClassID: 307,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xc000,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("Length", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: MultiByteField("Part1,Part2,Part3,Part4,Part5,Part6,Part7,Part8,Part9,Part10,Part11,Part12,Part13,Part14,Part15", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewOctetString (class ID 307) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewOctetString(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*octetstringBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/olt-g.go b/vendor/github.com/opencord/omci-lib-go/generated/olt-g.go
similarity index 68%
rename from vendor/github.com/cboling/omci/generated/olt-g.go
rename to vendor/github.com/opencord/omci-lib-go/generated/olt-g.go
index d02bf93..9f91f49 100644
--- a/vendor/github.com/cboling/omci/generated/olt-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/olt-g.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const OltGClassId ClassID = ClassID(131)
+// OltGClassID is the 16-bit ID for the OMCI
+// Managed entity OLT-G
+const OltGClassID ClassID = ClassID(131)
 
 var oltgBME *ManagedEntityDefinition
 
@@ -41,25 +47,25 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
-//			one instance, number 0. (R) (mandatory) (2 bytes)
+//			one instance, number 0. (R) (mandatory) (2-bytes)
 //
 //		Olt Vendor Id
 //			OLT vendor ID: This attribute identifies the OLT vendor. It is the same as the four most
 //			significant bytes of an ONU serial number specified in the respective TC layer specification.
-//			Upon instantiation, this attribute comprises all spaces. (R, W) (mandatory) (4 bytes)
+//			Upon instantiation, this attribute comprises all spaces. (R,-W) (mandatory) (4-bytes)
 //
 //		Equipment Id
 //			Equipment ID: This attribute may be used to identify the specific type of OLT. The default value
 //			of all spaces indicates that equipment ID information is not available or applicable to the OLT
-//			being represented. (R, W) (mandatory) (20 bytes)
+//			being represented. (R,-W) (mandatory) (20-bytes)
 //
 //		Version
 //			Version:	This attribute identifies the version of the OLT as defined by the vendor. The default
 //			left-justified ASCII string "0" (padded with trailing nulls) indicates that version information
-//			is not available or applicable to the OLT being represented. (R, W) (mandatory) (14 bytes)
+//			is not available or applicable to the OLT being represented. (R,-W) (mandatory) (14-bytes)
 //
 //		Time Of Day Information
-//			NOTE – In ITU-T G.987/ITU-T G.989 systems, the superframe count field of the time of day
+//			NOTE - In ITU-T G.987/ITU-T G.989 systems, the superframe count field of the time of day
 //			information attribute contains the 32 LSBs of the actual counter.
 //
 type OltG struct {
@@ -75,20 +81,22 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF000,
+		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: Uint32Field("OltVendorId", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2: MultiByteField("EquipmentId", 20, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3: MultiByteField("Version", 14, nil, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4: MultiByteField("TimeOfDayInformation", 14, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("OltVendorId", StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: MultiByteField("EquipmentId", StringAttributeType, 0x4000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField("Version", StringAttributeType, 0x2000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField("TimeOfDayInformation", OctetsAttributeType, 0x1000, 14, toOctets("AAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewOltG (class ID 131 creates the basic
+// NewOltG (class ID 131) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewOltG(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(oltgBME, params...)
+	return NewManagedEntity(*oltgBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/omci.go b/vendor/github.com/opencord/omci-lib-go/generated/omci.go
similarity index 69%
rename from vendor/github.com/cboling/omci/generated/omci.go
rename to vendor/github.com/opencord/omci-lib-go/generated/omci.go
index f6df0c8..331674b 100644
--- a/vendor/github.com/cboling/omci/generated/omci.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/omci.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const OmciClassId ClassID = ClassID(287)
+// OmciClassID is the 16-bit ID for the OMCI
+// Managed entity OMCI
+const OmciClassID ClassID = ClassID(287)
 
 var omciBME *ManagedEntityDefinition
 
@@ -35,7 +41,7 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
-//			one instance, number 0. (R) (mandatory) (2 bytes)
+//			one instance, number 0. (R) (mandatory) (2-bytes)
 //
 //		Me Type Table
 //			ME type table: This attribute lists the ME classes supported by the ONU. Each entry contains the
@@ -44,7 +50,7 @@
 //
 //		Message Type Table
 //			Message type table: This attribute is a list of message types (MTs) supported by the ONU. Each
-//			entry contains the MT of an OMCI message (see Table 11.2.2-1). (R) (mandatory) (M bytes, where M
+//			entry contains the MT of an OMCI message (see Table-11.2.2-1). (R) (mandatory) (M bytes, where M
 //			is the number of entries in the list.)
 //
 type Omci struct {
@@ -60,18 +66,20 @@
 			Get,
 			GetNext,
 		),
-		AllowedAttributeMask: 0XC000,
+		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: TableField("MeTypeTable", TableInfo{0, 2}, mapset.NewSetWith(Read), false, false, false, 1),
-			2: TableField("MessageTypeTable", TableInfo{0, 1}, mapset.NewSetWith(Read), false, false, false, 2),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField("MeTypeTable", TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 1),
+			2: TableField("MessageTypeTable", TableAttributeType, 0x4000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 2),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewOmci (class ID 287 creates the basic
+// NewOmci (class ID 287) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewOmci(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(omciBME, params...)
+	return NewManagedEntity(*omciBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/omcidefs.go b/vendor/github.com/opencord/omci-lib-go/generated/omcidefs.go
similarity index 92%
rename from vendor/github.com/cboling/omci/generated/omcidefs.go
rename to vendor/github.com/opencord/omci-lib-go/generated/omcidefs.go
index 9dbc5ee..8924e7d 100644
--- a/vendor/github.com/cboling/omci/generated/omcidefs.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/omcidefs.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,6 +20,7 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import (
@@ -47,12 +51,16 @@
 // from the ITU-T G.988 specification.
 type ClassID uint16
 
+// AlarmMap is a mapping of alarm bit numbers to alarm names and can be
+// used during decode of Alarm Notification messages
+type AlarmMap map[uint8]string
+
 func (cid ClassID) String() string {
-	if entity, err := LoadManagedEntityDefinition(cid); err == nil {
+	if entity, err := LoadManagedEntityDefinition(cid); err.StatusCode() == Success {
 		return fmt.Sprintf("[%s] (%d/%#x)",
 			entity.GetManagedEntityDefinition().GetName(), uint16(cid), uint16(cid))
 	}
-	return fmt.Sprintf("unknown ClassID")
+	return fmt.Sprintf("unknown ClassID: %d (%#x)", uint16(cid), uint16(cid))
 }
 
 const (
@@ -241,7 +249,7 @@
 
 // SupportsAttributeAccess returns true if the managed entity attribute
 // supports the desired access
-func SupportsAttributeAccess(attr *AttributeDefinition, acc AttributeAccess) bool {
+func SupportsAttributeAccess(attr AttributeDefinition, acc AttributeAccess) bool {
 	return attr.GetAccess().Contains(acc)
 }
 
@@ -250,10 +258,11 @@
 	GetClassID() ClassID
 	GetMessageTypes() mapset.Set
 	GetAllowedAttributeMask() uint16
-	GetAttributeDefinitions() *AttributeDefinitionMap
+	GetAttributeDefinitions() AttributeDefinitionMap
+	GetAlarmMap() AlarmMap
 
 	DecodeAttributes(uint16, []byte, gopacket.PacketBuilder, byte) (AttributeValueMap, error)
-	SerializeAttributes(AttributeValueMap, uint16, gopacket.SerializeBuffer, byte, int) error
+	SerializeAttributes(AttributeValueMap, uint16, gopacket.SerializeBuffer, byte, int, bool) (error, uint16)
 }
 
 type IManagedEntity interface {
@@ -265,7 +274,7 @@
 
 	GetAttributeMask() uint16
 
-	GetAttributeValueMap() *AttributeValueMap
+	GetAttributeValueMap() AttributeValueMap
 	GetAttribute(string) (interface{}, error)
 	GetAttributeByIndex(uint) (interface{}, error)
 
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/omcierror.go b/vendor/github.com/opencord/omci-lib-go/generated/omcierror.go
new file mode 100644
index 0000000..2129bd2
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/omcierror.go
@@ -0,0 +1,302 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import (
+	"errors"
+	"fmt"
+)
+
+// Custom Go Error messages for common OMCI errors
+//
+// Response Status code related errors
+type OmciErrors interface {
+	Error() string
+	StatusCode() Results
+	GetError() error
+	GetFailureMask() uint16
+	GetUnsupporteMask() uint16
+}
+
+type OmciError struct {
+	err             string
+	statusCode      Results
+	failureMask     uint16
+	unsupportedMask uint16
+}
+
+func (e *OmciError) GetError() error {
+	if e.statusCode == Success {
+		return nil
+	}
+	return errors.New(e.err)
+}
+
+func (e *OmciError) Error() string {
+	return e.err
+}
+
+func (e *OmciError) StatusCode() Results {
+	return e.statusCode
+}
+
+func (e *OmciError) GetFailureMask() uint16 {
+	return e.failureMask
+}
+
+func (e *OmciError) GetUnsupporteMask() uint16 {
+	return e.unsupportedMask
+}
+
+// NewOmciSuccess is used to convey a successful request. For Set/Get responses,
+// this indicates that all attributes were successfully set/retrieved.
+//
+// For Set/Get requests that have unsupported/failed attributes (code 1001), use the
+// NewAttributeFailureError() function to convey the proper status (AttributeFailure).
+//
+// For Create requests that have parameter errors (code 0011), use the NewParameterError()
+// function to signal which attributes were in error
+func NewOmciSuccess() OmciErrors {
+	return &OmciError{
+		statusCode: Success,
+	}
+}
+
+// NewNonStatusError is for processing errors that do not involve
+// frame processing status & results
+func NewNonStatusError(args ...interface{}) OmciErrors {
+	defaultValue := "command processing error"
+	return &OmciProcessingError{
+		OmciError: OmciError{
+			err: genMessage(defaultValue, args...),
+		},
+	}
+}
+
+type OmciProcessingError struct {
+	OmciError
+}
+
+// NewProcessingError means the command processing failed at the ONU
+// for reasons not described by one of the more specific error codes.
+func NewProcessingError(args ...interface{}) OmciErrors {
+	defaultValue := "command processing error"
+	return &OmciProcessingError{
+		OmciError: OmciError{
+			err:        genMessage(defaultValue, args...),
+			statusCode: ProcessingError,
+		},
+	}
+}
+
+// NotSupportedError means that the message type indicated in byte 3 is
+// not supported by the ONU.
+type NotSupportedError struct {
+	OmciError
+}
+
+// NewNotSupportedError creates a NotSupportedError
+func NewNotSupportedError(args ...interface{}) OmciErrors {
+	defaultValue := "command not supported"
+	return &NotSupportedError{
+		OmciError: OmciError{
+			err:        genMessage(defaultValue, args...),
+			statusCode: NotSupported,
+		},
+	}
+}
+
+// ParamError means that the command message received by the
+// ONU was errored. It would be appropriate if an attribute mask
+// were out of range, for example. In practice, this result code is
+// frequently used interchangeably with code 1001. However, the
+// optional attribute and attribute execution masks in the reply
+// messages are only defined for code 1001.
+type ParamError struct {
+	OmciError
+}
+
+// NewParameterError creates a ParamError
+//
+// For Set/Get requests that have unsupported/failed attributes (code 1001), use the
+// NewAttributeFailureError() function to convey the proper status (AttributeFailure).
+func NewParameterError(mask uint16, args ...interface{}) OmciErrors {
+	if mask == 0 {
+		panic("invalid attribute mask specified")
+	}
+	defaultValue := "parameter error"
+	err := &ParamError{
+		OmciError: OmciError{
+			err:         genMessage(defaultValue, args...),
+			statusCode:  ParameterError,
+			failureMask: mask,
+		},
+	}
+	return err
+}
+
+// UnknownEntityError means that the managed entity class
+// (bytes 5..6) is not supported by the ONU.
+type UnknownEntityError struct {
+	OmciError
+}
+
+// NewUnknownEntityError creates an UnknownEntityError
+func NewUnknownEntityError(args ...interface{}) OmciErrors {
+	defaultValue := "unknown managed entity"
+	return &UnknownEntityError{
+		OmciError: OmciError{
+			err:        genMessage(defaultValue, args...),
+			statusCode: UnknownEntity,
+		},
+	}
+}
+
+// UnknownInstanceError means that the managed entity instance (bytes 7..8)
+// does not exist in the ONU.
+type UnknownInstanceError struct {
+	OmciError
+}
+
+// NewUnknownInstanceError creates an UnknownInstanceError
+func NewUnknownInstanceError(args ...interface{}) OmciErrors {
+	defaultValue := "unknown managed entity instance"
+	return &UnknownInstanceError{
+		OmciError: OmciError{
+			err:        genMessage(defaultValue, args...),
+			statusCode: UnknownInstance,
+		},
+	}
+}
+
+// DeviceBusyError means that the command could not be processed due
+// to process-related congestion at the ONU. This result code may
+// also be used as a pause indication to the OLT while the ONU
+// conducts a time-consuming operation such as storage of a
+// software image into non-volatile memory.
+type DeviceBusyError struct {
+	OmciError
+}
+
+// NewDeviceBusyError creates a DeviceBusyError
+func NewDeviceBusyError(args ...interface{}) OmciErrors {
+	defaultValue := "device busy"
+	return &DeviceBusyError{
+		OmciError: OmciError{
+			err:        genMessage(defaultValue, args...),
+			statusCode: DeviceBusy,
+		},
+	}
+}
+
+// InstanceExistsError means that the ONU already has a managed entity instance
+// that corresponds to the one the OLT is attempting to create.
+type InstanceExistsError struct {
+	OmciError
+}
+
+// NewInstanceExistsError
+func NewInstanceExistsError(args ...interface{}) OmciErrors {
+	defaultValue := "instance exists"
+	return &InstanceExistsError{
+		OmciError: OmciError{
+			err:        genMessage(defaultValue, args...),
+			statusCode: InstanceExists,
+		},
+	}
+}
+
+// AttributeFailureError is used to encode failed attributes for Get/Set Requests
+//
+// For Get requests, the failed mask is used to report attributes that could not be
+// retrieved (most likely no space available to serialize) and could not be returned
+// to the caller. The unsupported mask reports attributes the ONU does not support.
+//
+// For Set requests, the failed mask is used to report attributes that have errors
+// (possibly constraints) and could not be set/saved. The unsupported mask reports
+// attributes the ONU does not support.
+//
+// For Create requests that have parameter errors (code 0011), use the NewParameterError()
+// function to signal which attributes were in error
+type AttributeFailureError struct {
+	OmciError
+}
+
+// NewAttributeFailureError is used to ceeate an AttributeFailure error status for
+// Get/Set requests
+func NewAttributeFailureError(failedMask uint16, unsupportedMask uint16, args ...interface{}) OmciErrors {
+	defaultValue := "attribute(s) failed or unknown"
+
+	err := &AttributeFailureError{
+		OmciError: OmciError{
+			err:             genMessage(defaultValue, args...),
+			statusCode:      AttributeFailure,
+			failureMask:     failedMask,
+			unsupportedMask: unsupportedMask,
+		},
+	}
+	return err
+}
+
+// MessageTruncatedError means that the requested attributes could not
+// be added to the frame due to size limitations. This is typically an OMCI Error
+// returned internally by support functions in the OMCI library and used by the
+// frame encoding routines to eventually return an AttributeFailureError
+// result (code 1001)
+type MessageTruncatedError struct {
+	OmciError
+}
+
+// NewMessageTruncatedError creates a MessageTruncatedError message
+func NewMessageTruncatedError(args ...interface{}) OmciErrors {
+	defaultValue := "out-of-space. Cannot fit attribute into message"
+	return &MessageTruncatedError{
+		OmciError: OmciError{
+			err:        genMessage(defaultValue, args...),
+			statusCode: ProcessingError,
+		},
+	}
+}
+
+func genMessage(defaultValue string, args ...interface{}) string {
+	switch len(args) {
+	case 0:
+		return defaultValue
+
+	case 1:
+		switch first := args[0].(type) {
+		case string:
+			// Assume a simple, pre-formatted string
+			return args[0].(string)
+
+		case func() string:
+			// Assume a closure with no other arguments used
+			return first()
+
+		default:
+			panic("Unsupported parameter type")
+		}
+	}
+	return fmt.Sprintf(args[0].(string), args[1:]...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/onu-g.go b/vendor/github.com/opencord/omci-lib-go/generated/onu-g.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/onu-g.go
rename to vendor/github.com/opencord/omci-lib-go/generated/onu-g.go
index 32de3ac..b08a5fc 100644
--- a/vendor/github.com/cboling/omci/generated/onu-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/onu-g.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const OnuGClassId ClassID = ClassID(256)
+// OnuGClassID is the 16-bit ID for the OMCI
+// Managed entity ONU-G
+const OnuGClassID ClassID = ClassID(256)
 
 var onugBME *ManagedEntityDefinition
 
@@ -38,52 +44,52 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
-//			one instance, number 0. (R) (mandatory) (2 bytes)
+//			one instance, number 0. (R) (mandatory) (2-bytes)
 //
 //		Vendor Id
 //			Vendor ID:	This attribute identifies the vendor of the ONU. It is the same as the four most
 //			significant bytes of the ONU serial number as specified in the respective transmission
-//			convergence (TC) layer specification. (R) (mandatory) (4 bytes)
+//			convergence (TC) layer specification. (R) (mandatory) (4-bytes)
 //
 //		Version
 //			Version:	This attribute identifies the version of the ONU as defined by the vendor. The
 //			character value 0 indicates that version information is not available or applicable. (R)
-//			(mandatory) (14 bytes)
+//			(mandatory) (14-bytes)
 //
 //		Serial Number
 //			Serial number: The serial number is unique for each ONU. It is defined in the respective TC
 //			layer specification and contains the vendor ID and version number. The first four bytes are an
 //			ASCII-encoded four-letter vendor ID. The second four bytes are a binary encoded serial number,
-//			under the control of the ONU vendor. (R) (mandatory) (8 bytes)
+//			under the control of the ONU vendor. (R) (mandatory) (8-bytes)
 //
 //		Traffic Management Option
 //			Upon ME instantiation, the ONU sets this attribute to the value that describes its
 //			implementation. The OLT must adapt its model to conform to the ONU's selection. (R) (mandatory)
-//			(1 byte)
+//			(1-byte)
 //
 //		Deprecated
 //			Deprecated:	This attribute is not used. If it is present, it should be set to 0. (R) (optional)
-//			(1 byte)
+//			(1-byte)
 //
 //		Battery Backup
 //			Battery backup: This Boolean attribute controls whether the ONU performs backup battery
 //			monitoring (assuming it is capable of doing so). False disables battery alarm monitoring; true
-//			enables battery alarm monitoring. (R, W) (mandatory) (1 byte)
+//			enables battery alarm monitoring. (R,-W) (mandatory) (1-byte)
 //
 //		Administrative State
 //			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by the
-//			ONU as an entirety. Administrative state is further described in clause A.1.6. (R, W)
-//			(mandatory) (1 byte)
+//			ONU as an entirety. Administrative state is further described in clause A.1.6. (R,-W)
+//			(mandatory) (1-byte)
 //
 //		Operational State
 //			Operational state: This attribute reports whether the ME is currently capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
 //
 //		Onu Survival Time
 //			ONU survival time: This attribute indicates the minimum guaranteed time in milliseconds between
 //			the loss of external power and the silence of the ONU. This does not include survival time
 //			attributable to a backup battery. The value zero implies that the actual time is not known. (R)
-//			(optional) (1 byte)
+//			(optional) (1-byte)
 //
 //		Logical Onu Id
 //			Logical ONU ID: This attribute provides a way for the ONU to identify itself. It is a text
@@ -95,13 +101,13 @@
 //			Logical password: This attribute provides a way for the ONU to submit authentication
 //			credentials. It is a text string, null terminated if it is shorter than 12 bytes, with a null
 //			default value. The mechanism for creation or modification of this information is beyond the
-//			scope of this Recommendation. (R) (optional) (12 bytes)
+//			scope of this Recommendation. (R) (optional) (12-bytes)
 //
 //		Credentials Status
 //			Other values are reserved.
 //
 //		Extended Tc_Layer Options
-//			(R) (optional) (2 bytes)
+//			(R) (optional) (2-bytes)
 //
 type OnuG struct {
 	ManagedEntityDefinition
@@ -119,29 +125,31 @@
 			SynchronizeTime,
 			Test,
 		),
-		AllowedAttributeMask: 0XFFF8,
+		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  Uint32Field("VendorId", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  MultiByteField("Version", 14, nil, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3:  Uint64Field("SerialNumber", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  ByteField("TrafficManagementOption", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  ByteField("Deprecated", 0, mapset.NewSetWith(Read), false, false, true, true, 5),
-			6:  ByteField("BatteryBackup", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9:  ByteField("OnuSurvivalTime", 0, mapset.NewSetWith(Read), false, false, true, false, 9),
-			10: MultiByteField("LogicalOnuId", 24, nil, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: MultiByteField("LogicalPassword", 12, nil, mapset.NewSetWith(Read), false, false, true, false, 11),
-			12: ByteField("CredentialsStatus", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: Uint16Field("ExtendedTcLayerOptions", 0, mapset.NewSetWith(Read), false, false, true, false, 13),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField("VendorId", StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2:  MultiByteField("Version", StringAttributeType, 0x4000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 2),
+			3:  MultiByteField("SerialNumber", OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField("TrafficManagementOption", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField("Deprecated", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, true, 5),
+			6:  ByteField("BatteryBackup", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField("AdministrativeState", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("OperationalState", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField("OnuSurvivalTime", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: MultiByteField("LogicalOnuId", OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
+			11: MultiByteField("LogicalPassword", OctetsAttributeType, 0x0020, 12, toOctets("AAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField("CredentialsStatus", EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field("ExtendedTcLayerOptions", BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewOnuG (class ID 256 creates the basic
+// NewOnuG (class ID 256) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewOnuG(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(onugBME, params...)
+	return NewManagedEntity(*onugBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/onu2-g.go b/vendor/github.com/opencord/omci-lib-go/generated/onu2-g.go
similarity index 63%
rename from vendor/github.com/cboling/omci/generated/onu2-g.go
rename to vendor/github.com/opencord/omci-lib-go/generated/onu2-g.go
index ebad3be..d922d03 100644
--- a/vendor/github.com/cboling/omci/generated/onu2-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/onu2-g.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Onu2GClassId ClassID = ClassID(257)
+// Onu2GClassID is the 16-bit ID for the OMCI
+// Managed entity ONU2-G
+const Onu2GClassID ClassID = ClassID(257)
 
 var onu2gBME *ManagedEntityDefinition
 
@@ -37,55 +43,55 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
-//			one instance, number 0. (R) (mandatory) (2 bytes)
+//			one instance, number 0. (R) (mandatory) (2-bytes)
 //
 //		Equipment Id
 //			Equipment ID: This attribute may be used to identify the specific type of ONU. In some
 //			environments, this attribute may include the common language equipment identification (CLEI)
-//			code. (R) (optional) (20 bytes)
+//			code. (R) (optional) (20-bytes)
 //
 //		Optical Network Unit Management And Control Channel Omcc Version
-//			(R) (mandatory) (1 byte)
+//			(R) (mandatory) (1-byte)
 //
 //		Vendor Product Code
 //			Vendor product code: This attribute contains a vendor-specific product code for the ONU. (R)
-//			(optional) (2 bytes)
+//			(optional) (2-bytes)
 //
 //		Security Capability
-//			(R) (mandatory) (1 byte)
+//			(R) (mandatory) (1-byte)
 //
 //		Security Mode
 //			Upon ME instantiation, the ONU sets this attribute to 1, AES-128. Attribute value 1 does not
 //			imply that any channels are encrypted; that process is negotiated at the PLOAM layer. It only
-//			signifies that the advanced encryption standard (AES) with 128 bit keys is the security mode to
-//			be used on any channels that the OLT may choose to encrypt. (R, W) (mandatory) (1 byte)
+//			signifies that the advanced encryption standard (AES) with 128-bit keys is the security mode to
+//			be used on any channels that the OLT may choose to encrypt. (R,-W) (mandatory) (1-byte)
 //
 //		Total Priority Queue Number
 //			Total priority queue number: This attribute reports the total number of upstream priority queues
 //			that are not associated with a circuit pack, but with the ONU in its entirety. Upon ME
 //			instantiation, the ONU sets this attribute to the value that represents its capabilities. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Total Traffic Scheduler Number
 //			Total traffic scheduler number: This attribute reports the total number of traffic schedulers
 //			that are not associated with a circuit pack, but with the ONU in its entirety. The ONU supports
 //			null function, strict priority scheduling and weighted round robin (WRR) from the priority
 //			control and guarantee of minimum rate control points of view, respectively. If the ONU has no
-//			global traffic schedulers, this attribute is 0. (R) (mandatory) (1 byte)
+//			global traffic schedulers, this attribute is 0. (R) (mandatory) (1-byte)
 //
 //		Deprecated
 //			Deprecated:	This attribute should always be set to 1 by the ONU and ignored by the OLT. (R)
-//			(mandatory) (1 byte)
+//			(mandatory) (1-byte)
 //
 //		Total Gem Port_Id Number
 //			Total GEM port-ID number: This attribute reports the total number of GEM port-IDs supported by
 //			the ONU. The maximum value is specified in the corresponding TC recommendations. Upon ME
 //			instantiation, the ONU sets this attribute to the value that represents its capabilities. (R)
-//			(optional) (2 bytes)
+//			(optional) (2-bytes)
 //
 //		Sysuptime
 //			SysUpTime:	This attribute counts 10 ms intervals since the ONU was last initialized. It rolls
-//			over to 0 when full (see [IETF RFC 1213]). (R) (optional) (4 bytes)
+//			over to 0 when full (see [IETF RFC 1213]). (R) (optional) (4-bytes)
 //
 //		Connectivity Capability
 //			(R) (optional) (2 bytes)
@@ -100,7 +106,7 @@
 //			directionality of an upstream queue to downstream or vice versa.
 //
 //		Priority Queue Scale Factor
-//			NOTE 3 – Some legacy implementations may take the queue scale factor from the GEM block length
+//			NOTE 3 - Some legacy implementations may take the queue scale factor from the GEM block length
 //			attribute of the ANI-G ME. That option is discouraged in new implementations.
 //
 type Onu2G struct {
@@ -116,30 +122,32 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFC,
+		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  MultiByteField("EquipmentId", 20, nil, mapset.NewSetWith(Read), false, false, true, false, 1),
-			2:  ByteField("OpticalNetworkUnitManagementAndControlChannelOmccVersion", 0, mapset.NewSetWith(Read), true, false, false, false, 2),
-			3:  Uint16Field("VendorProductCode", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4:  ByteField("SecurityCapability", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  ByteField("SecurityMode", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  Uint16Field("TotalPriorityQueueNumber", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  ByteField("TotalTrafficSchedulerNumber", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  ByteField("Deprecated", 0, mapset.NewSetWith(Read), false, false, false, true, 8),
-			9:  Uint16Field("TotalGemPortIdNumber", 0, mapset.NewSetWith(Read), false, false, true, false, 9),
-			10: Uint32Field("Sysuptime", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: Uint16Field("ConnectivityCapability", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
-			12: ByteField("CurrentConnectivityMode", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: Uint16Field("QualityOfServiceQosConfigurationFlexibility", 0, mapset.NewSetWith(Read), false, false, true, false, 13),
-			14: Uint16Field("PriorityQueueScaleFactor", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 14),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField("EquipmentId", StringAttributeType, 0x8000, 20, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, true, false, 1),
+			2:  ByteField("OpticalNetworkUnitManagementAndControlChannelOmccVersion", EnumerationAttributeType, 0x4000, 164, mapset.NewSetWith(Read), true, false, false, 2),
+			3:  Uint16Field("VendorProductCode", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  ByteField("SecurityCapability", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField("SecurityMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field("TotalPriorityQueueNumber", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField("TotalTrafficSchedulerNumber", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  ByteField("Deprecated", UnsignedIntegerAttributeType, 0x0100, 1, mapset.NewSetWith(Read), false, false, true, 8),
+			9:  Uint16Field("TotalGemPortIdNumber", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field("Sysuptime", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field("ConnectivityCapability", BitFieldAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField("CurrentConnectivityMode", BitFieldAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field("QualityOfServiceQosConfigurationFlexibility", BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint16Field("PriorityQueueScaleFactor", UnsignedIntegerAttributeType, 0x0004, 1, mapset.NewSetWith(Read, Write), false, true, false, 14),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewOnu2G (class ID 257 creates the basic
+// NewOnu2G (class ID 257) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewOnu2G(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(onu2gBME, params...)
+	return NewManagedEntity(*onu2gBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/onudata.go b/vendor/github.com/opencord/omci-lib-go/generated/onudata.go
similarity index 75%
rename from vendor/github.com/cboling/omci/generated/onudata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/onudata.go
index 8f52e5c..3806507 100644
--- a/vendor/github.com/cboling/omci/generated/onudata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/onudata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const OnuDataClassId ClassID = ClassID(2)
+// OnuDataClassID is the 16-bit ID for the OMCI
+// Managed entity ONU data
+const OnuDataClassID ClassID = ClassID(2)
 
 var onudataBME *ManagedEntityDefinition
 
@@ -38,14 +44,14 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
-//			one instance, number 0. (R) (mandatory) (2 bytes)
+//			one instance, number 0. (R) (mandatory) (2-bytes)
 //
 //		Mib Data Sync
 //			MIB data sync: This attribute is used to check the alignment of the MIB of the ONU with the
 //			corresponding MIB in the OLT. MIB data sync relies on this attribute, which is a sequence number
 //			that can be checked by the OLT to see if the MIB snapshots for the OLT and ONU match. Refer to
 //			clause I.1.2.1 for a detailed description of this attribute. Upon ME instantiation, the ONU sets
-//			this attribute to 0. (R, W) (mandatory) (1 byte)
+//			this attribute to 0. (R,-W) (mandatory) (1-byte)
 //
 type OnuData struct {
 	ManagedEntityDefinition
@@ -65,17 +71,19 @@
 			MibUploadNext,
 			Set,
 		),
-		AllowedAttributeMask: 0X8000,
+		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("MibDataSync", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("MibDataSync", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewOnuData (class ID 2 creates the basic
+// NewOnuData (class ID 2) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewOnuData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(onudataBME, params...)
+	return NewManagedEntity(*onudataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/onudynamicpowermanagementcontrol.go b/vendor/github.com/opencord/omci-lib-go/generated/onudynamicpowermanagementcontrol.go
similarity index 60%
rename from vendor/github.com/cboling/omci/generated/onudynamicpowermanagementcontrol.go
rename to vendor/github.com/opencord/omci-lib-go/generated/onudynamicpowermanagementcontrol.go
index 8952268..eabe189 100644
--- a/vendor/github.com/cboling/omci/generated/onudynamicpowermanagementcontrol.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/onudynamicpowermanagementcontrol.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const OnuDynamicPowerManagementControlClassId ClassID = ClassID(336)
+// OnuDynamicPowerManagementControlClassID is the 16-bit ID for the OMCI
+// Managed entity ONU dynamic power management control
+const OnuDynamicPowerManagementControlClassID ClassID = ClassID(336)
 
 var onudynamicpowermanagementcontrolBME *ManagedEntityDefinition
 
@@ -39,7 +45,7 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
-//			one instance, number 0. (R) (mandatory) (2 bytes)
+//			one instance, number 0. (R) (mandatory) (2-bytes)
 //
 //		Power Reduction Management Capability
 //			5..255	Reserved
@@ -48,62 +54,60 @@
 //			Power reduction management mode: This attribute enables one or more of the ONU's managed power
 //			conservation modes. It is a bit map in which the bit value 0 disables the mode, while the value
 //			1 enables the mode. Bit assignments are the same as those of the power reduction management
-//			capability attribute. The default value of each bit is 0. (R, W) (mandatory) (1 byte)
+//			capability attribute. The default value of each bit is 0. (R,-W) (mandatory) (1-byte)
 //
 //		Itransinit
 //			Itransinit:	This attribute is the ONU vendor's statement of the complete transceiver
 //			initialization time: the worst-case time required for the ONU to regain full functionality when
 //			leaving the asleep state in cyclic sleep mode or low-power state in watchful sleep mode (i.e.,
 //			turning on both the receiver and the transmitter and acquiring synchronization to the downstream
-//			flow), measured in units of 125 µs frames. The value zero indicates that the sleeping ONU can
-//			respond to a bandwidth grant without delay. (R) (mandatory) (2 bytes)
+//			flow), measured in units of 125-us frames. The value zero indicates that the sleeping ONU can
+//			respond to a bandwidth grant without delay. (R) (mandatory) (2-bytes)
 //
 //		Itxinit
 //			Itxinit:	This attribute is the ONU vendor's statement of the transmitter initialization time:
 //			the time required for the ONU to regain full functionality when leaving the listen state (i.e.,
-//			turning on the transmitter), measured in units of 125 µs frames. The value zero indicates that
+//			turning on the transmitter), measured in units of 125-us frames. The value zero indicates that
 //			the dozing ONU can respond to a bandwidth grant without delay. If watchful sleep is enabled, the
 //			ONU ignores this attribute. (R) (mandatory) (2 bytes)
 //
 //		Maximum Sleep Interval
 //			Maximum sleep interval: The Isleep/Ilowpower attribute specifies the maximum time the ONU spends
-//			in its asleep, listen, or low-power states, as a count of 125 µs frames. Local or remote events
-//			may truncate the ONU's sojourn in these states. The default value of this attribute is 0. (R, W)
-//			(mandatory) (4 bytes)
+//			in its asleep, listen, or low-power states, as a count of 125-us frames. Local or remote events
+//			may truncate the ONU's sojourn in these states. The default value of this attribute is 0. (R,-W)
+//			(mandatory) (4-bytes)
 //
 //		Maximum Receiver_Off Interval
 //			Maximum receiver-off interval: The Irxoff attribute specifies the maximum time the OLT can
 //			afford to wait from the moment it decides to wake up an ONU in the low-power state of the
-//			watchful sleep mode until the ONU is fully operational, specified as a count of 125 µs frames.
-//			(R, W) (mandatory) (4 bytes)
+//			watchful sleep mode until the ONU is fully operational, specified as a count of 125-us frames.
+//			(R,-W) (mandatory) (4-bytes)
 //
 //		Minimum Aware Interval
 //			Minimum aware interval: The Iaware attribute specifies the time the ONU spends in its aware
-//			state, as a count of 125 µs frames, before it re-enters asleep or listen states. Local or remote
+//			state, as a count of 125-us frames, before it re-enters asleep or listen states. Local or remote
 //			events may independently cause the ONU to enter an active state rather than returning to a sleep
-//			state. The default value of this attribute is 0. (R, W) (mandatory) (4 bytes)
+//			state. The default value of this attribute is 0. (R,-W) (mandatory) (4-bytes)
 //
 //		Minimum Active Held Interval
 //			Minimum active held interval: The Ihold attribute specifies the minimum time during which the
-//			ONU remains in the active held state, as a count of 125 µs frames. Its initial value is zero.
-//			(R, W) (mandatory) (2 bytes)
+//			ONU remains in the active held state, as a count of 125-us frames. Its initial value is zero.
+//			(R, W) (mandatory) (2-bytes)
 //
 //		Maximum Sleep Interval Extension
-//			(R, W) (optional) (8 bytes)
+//			(R,-W) (optional) (8-bytes)
 //
 //		Ethernet Passive Optical Network Epon Capability Extension
-//			–	Configurations:
-//				ackEnable configuration = enable,
-//				Sleep indication configuration = disable,
+//			-	Configurations: ackEnable configuration = enable, Sleep indication configuration = disable,
 //			Early wake-up configuration = enable
 //
 //		Epon Setup Extension
-//			(R, W) (optional) (1 byte)
+//			(R,-W) (optional) (1-byte)
 //
 //		Missing Consecutive Bursts Threshold
 //			Missing consecutive bursts threshold: The Clobi attribute specifies the maximum number of
 //			missing consecutive scheduled bursts from the ONU that the OLT is willing to tolerate without
-//			raising an alarm. The value of this attribute defaults to 4. (R, W) (mandatory) (4 bytes)
+//			raising an alarm. The value of this attribute defaults to 4. (R,-W) (mandatory) (4-bytes)
 //
 type OnuDynamicPowerManagementControl struct {
 	ManagedEntityDefinition
@@ -118,28 +122,30 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFF0,
+		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("PowerReductionManagementCapability", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  ByteField("PowerReductionManagementMode", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3:  Uint16Field("Itransinit", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint16Field("Itxinit", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("MaximumSleepInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  Uint32Field("MaximumReceiverOffInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  Uint32Field("MinimumAwareInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  Uint16Field("MinimumActiveHeldInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  Uint64Field("MaximumSleepIntervalExtension", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-			10: ByteField("EthernetPassiveOpticalNetworkEponCapabilityExtension", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: ByteField("EponSetupExtension", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: Uint32Field("MissingConsecutiveBurstsThreshold", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 12),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("PowerReductionManagementCapability", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField("PowerReductionManagementMode", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint16Field("Itransinit", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field("Itxinit", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("MaximumSleepInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field("MaximumReceiverOffInterval", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field("MinimumAwareInterval", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field("MinimumActiveHeldInterval", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint64Field("MaximumSleepIntervalExtension", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField("EthernetPassiveOpticalNetworkEponCapabilityExtension", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField("EponSetupExtension", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint32Field("MissingConsecutiveBurstsThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewOnuDynamicPowerManagementControl (class ID 336 creates the basic
+// NewOnuDynamicPowerManagementControl (class ID 336) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewOnuDynamicPowerManagementControl(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(onudynamicpowermanagementcontrolBME, params...)
+	return NewManagedEntity(*onudynamicpowermanagementcontrolBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/onupowershedding.go b/vendor/github.com/opencord/omci-lib-go/generated/onupowershedding.go
new file mode 100644
index 0000000..c698117
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/onupowershedding.go
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// OnuPowerSheddingClassID is the 16-bit ID for the OMCI
+// Managed entity ONU power shedding
+const OnuPowerSheddingClassID ClassID = ClassID(133)
+
+var onupowersheddingBME *ManagedEntityDefinition
+
+// OnuPowerShedding (class ID #133)
+//	This ME models the ONU's ability to shed services when the ONU goes into battery operation mode
+//	after AC power failure. Shedding classes are defined in the following table, which may span
+//	multiple circuit pack types. This feature works in conjunction with the power shed override
+//	attribute of the circuit pack ME, which can selectively prevent power shedding of priority
+//	ports.
+//
+//	An ONU that supports power shedding automatically creates an instance of this ME.
+//
+//	The following table defines the binding of shedding class and PPTP type. The coding is taken
+//	from Table 9.1.5-1. In the case of hybrid circuit pack types, multiple shedding classes may
+//	affect a circuit pack if the hardware is capable of partial power shedding.
+//
+//	An ONU may choose to model its ports with the port-mapping package of clause 9.1.8, rather than
+//	with real or virtual circuit packs. In this case, power shedding pertains to individual PPTPs
+//	(listed in column 2 of the table).
+//
+//	Relationships
+//		One instance of this ME is associated with the ONU ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
+//			one instance, number 0. (R) (mandatory) (2-bytes)
+//
+//		Restore Power Timer Reset Interval
+//			Restore power timer reset interval: The time delay, in seconds, before resetting the power-
+//			shedding timers after full power restoration. Upon ME instantiation, the ONU sets this attribute
+//			to 0. (R,-W) (mandatory) (2-bytes)
+//
+//		Data Class Shedding Interval
+//			Data class shedding interval:	(R,-W) (mandatory) (2-bytes)
+//
+//		Voice Class Shedding Interval
+//			Voice class shedding interval: This attribute only pertains to voice services that terminate on
+//			the ONU and are under the management control of the OMCI. 	(R,-W) (mandatory) (2-bytes)
+//
+//		Video Overlay Class Shedding Interval
+//			Video overlay class shedding interval:	(R,-W) (mandatory) (2-bytes)
+//
+//		Video Return Class Shedding Interval
+//			Video return class shedding interval:	(R,-W) (mandatory) (2-bytes)
+//
+//		Digital Subscriber Line Class Shedding Interval
+//			Digital subscriber line (DSL) class shedding interval:	(R,-W) (mandatory) (2-bytes)
+//
+//		Atm Class Shedding Interval
+//			ATM class shedding interval:	(R,-W) (mandatory) (2-bytes)
+//
+//		Ces Class Shedding Interval
+//			CES class shedding interval:	(R,-W) (mandatory) (2-bytes)
+//
+//		Frame Class Shedding Interval
+//			Frame class shedding interval:	(R,-W) (mandatory) (2-bytes)
+//
+//		Sdh_Sonet Class Shedding Interval
+//			Sdh-sonet class shedding interval:	(R,-W) (mandatory) (2-bytes)
+//
+//		Shedding Status
+//			The ONU sets each bit to 1 when power shedding is active, and clears it to 0 when the service is
+//			restored. (R) (optional) (2-bytes)
+//
+type OnuPowerShedding struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	onupowersheddingBME = &ManagedEntityDefinition{
+		Name:    "OnuPowerShedding",
+		ClassID: 133,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffe0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint16Field("RestorePowerTimerResetInterval", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  Uint16Field("DataClassSheddingInterval", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint16Field("VoiceClassSheddingInterval", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field("VideoOverlayClassSheddingInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field("VideoReturnClassSheddingInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field("DigitalSubscriberLineClassSheddingInterval", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field("AtmClassSheddingInterval", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field("CesClassSheddingInterval", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint16Field("FrameClassSheddingInterval", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint16Field("SdhSonetClassSheddingInterval", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint16Field("SheddingStatus", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewOnuPowerShedding (class ID 133) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewOnuPowerShedding(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*onupowersheddingBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointcesuni.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointcesuni.go
new file mode 100644
index 0000000..cc66a16
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointcesuni.go
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PhysicalPathTerminationPointCesUniClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point CES UNI
+const PhysicalPathTerminationPointCesUniClassID ClassID = ClassID(12)
+
+var physicalpathterminationpointcesuniBME *ManagedEntityDefinition
+
+// PhysicalPathTerminationPointCesUni (class ID #12)
+//	This ME represents the point at a CES UNI in the ONU where the physical path terminates and
+//	physical level functions are performed.
+//
+//	The ONU automatically creates an instance of this ME per port:
+//
+//	o	when the ONU has CES ports built into its factory configuration;
+//
+//	o	when a cardholder is provisioned to expect a circuit pack of a CES type;
+//
+//	o	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of a CES type.
+//	Note that the installation of a plug-and-play card may indicate the presence of CES ports via
+//	equipment ID as well as its type and indeed may cause the ONU to instantiate a port-mapping
+//	package that specifies CES ports.
+//
+//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
+//	expect a CES circuit pack, nor is it equipped with a CES circuit pack.
+//
+//	Relationships
+//		An instance of this ME is associated with each real or pre-provisioned CES port. It can be
+//		linked from a GEM IW TP, a pseudowire TP or a logical N * 64 kbit/s CTP.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
+//			number indicates the physical position of the UNI. The first byte is the slot ID (defined in
+//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2-bytes)
+//
+//		Expected Type
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R,-W) (mandatory) (1-byte)
+//
+//		Sensed Type
+//			Sensed type:	If the value of expected type is not 0, then the value of sensed type equals the
+//			value of expected type. If expected type-= 0, then the value of sensed type is one of the
+//			compatible values from Table-9.1.5-1. Upon ME instantiation, the ONU sets this attribute to 0 or
+//			to the value that reflects the physically present equipment. (R) (mandatory if the ONU supports
+//			circuit packs with configurable interface types, e.g., C1.5/2/6.3) (1-byte)
+//
+//		Ces Loopback Configuration
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R,-W) (mandatory) (1-byte)
+//
+//		Administrative State
+//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
+//			ME. Administrative state is further described in clause A.1.6. (R,-W) (mandatory) (1-byte)
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+//		Framing
+//			Upon ME instantiation, the ONU sets this attribute to a value that reflects the vendor's
+//			default. (R,-W) (optional) (1-byte)
+//
+//		Encoding
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R,-W) (mandatory for DS1 and DS3
+//			interfaces) (1-byte)
+//
+//		Line Length
+//			Line length:	This attribute specifies the length of the twisted pair cable from a DS1 physical
+//			UNI to the DSX-1 cross-connect point or the length of coaxial cable from a DS3 physical UNI to
+//			the DSX-3 cross-connect point. Valid values are given in Table 9.8.1-1. Upon ME instantiation
+//			for a DS1 interface, the ONU assigns the value 0 for non-power feed type DS1 and the value 6 for
+//			power feed type DS1. Upon ME instantiation for a DS3 interface, the ONU sets this attribute to
+//			0x0F. (R,-W) (optional) (1-byte)
+//
+//		Ds1 Mode
+//			In the event of conflicting values between this attribute and the (also optional) line length
+//			attribute, the line length attribute is taken to be valid. This permits the separation of line
+//			build-out (LBO) and power settings from smart jack and FDL behaviour. Upon ME instantiation, the
+//			ONU sets this attribute to 0. (R,-W) (optional) (1-byte)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Line Type
+//			(R,-W) (mandatory for DS3, E3 and multi-configuration interfaces, not applicable to other
+//			interfaces) (1-byte)
+//
+type PhysicalPathTerminationPointCesUni struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	physicalpathterminationpointcesuniBME = &ManagedEntityDefinition{
+		Name:    "PhysicalPathTerminationPointCesUni",
+		ClassID: 12,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("ExpectedType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("SensedType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
+			3:  ByteField("CesLoopbackConfiguration", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, false, false, 3),
+			4:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), true, true, false, 5),
+			6:  ByteField("Framing", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField("Encoding", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("LineLength", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField("Ds1Mode", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField("Arc", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), true, true, false, 10),
+			11: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField("LineType", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0:  "TF",
+			1:  "LOS",
+			2:  "LOF",
+			3:  "OOF",
+			4:  "RAI",
+			5:  "1.5 M BAIS",
+			6:  "R-INH",
+			7:  "6M REC",
+			8:  "6M SEND",
+			9:  "6M ERR",
+			10: "6M BERR",
+			11: "34M REC",
+			12: "34M AIS",
+			13: "2M REC",
+			14: "2M AIS",
+			15: "1.5M REC",
+			16: "1.5 AIS",
+			17: "INFO0",
+			18: "45M RDI",
+			19: "45M AIS",
+			20: "AIS-CI",
+			21: "DS1 idle",
+			22: "RAI-CI",
+		},
+	}
+}
+
+// NewPhysicalPathTerminationPointCesUni (class ID 12) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPhysicalPathTerminationPointCesUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*physicalpathterminationpointcesuniBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointethernetuni.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointethernetuni.go
new file mode 100644
index 0000000..063e742
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointethernetuni.go
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PhysicalPathTerminationPointEthernetUniClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point Ethernet UNI
+const PhysicalPathTerminationPointEthernetUniClassID ClassID = ClassID(11)
+
+var physicalpathterminationpointethernetuniBME *ManagedEntityDefinition
+
+// PhysicalPathTerminationPointEthernetUni (class ID #11)
+//	This ME represents the point at an Ethernet UNI where the physical path terminates and Ethernet
+//	physical level functions are performed.
+//
+//	The ONU automatically creates an instance of this ME per port:
+//
+//	o	when the ONU has Ethernet ports built into its factory configuration;
+//
+//	o	when a cardholder is provisioned to expect a circuit pack of the Ethernet type;
+//
+//	o	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of the
+//	Ethernet type. Note that the installation of a plug-and-play card may indicate the presence of
+//	Ethernet ports via equipment ID as well as its type, and indeed may cause the ONU to instantiate
+//	a port-mapping package that specifies Ethernet ports.
+//
+//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
+//	expect an Ethernet circuit pack, nor is it equipped with an Ethernet circuit pack.
+//
+//	Relationships
+//		An instance of this ME is associated with each instance of a pre-provisioned or real Ethernet
+//		port.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
+//			number indicates the physical position of the UNI. The first byte is the slot ID (defined in
+//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2-bytes)
+//
+//		Expected Type
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R,-W) (mandatory) (1-byte)
+//
+//		Sensed Type
+//			(R) (mandatory if the ONU supports circuit packs with configurable interface types, e.g., 10/100
+//			BASE-T card) (1-byte)
+//
+//		Auto Detection Configuration
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R,-W) (mandatory for interfaces with
+//			autodetection options) (1-byte)
+//
+//		Ethernet Loopback Configuration
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R,-W) (mandatory) (1-byte)
+//
+//		Administrative State
+//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
+//			ME. Administrative state is further described in clause A.1.6. (R,-W) (mandatory) (1-byte)
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+//		Configuration Ind
+//			The value 0 indicates that the configuration status is unknown (e.g., Ethernet link is not
+//			established or the circuit pack is not yet installed). Upon ME instantiation, the ONU sets this
+//			attribute to 0. (R) (mandatory) (1-byte)
+//
+//		Max Frame Size
+//			Max frame size: This attribute denotes the maximum frame size allowed across this interface.
+//			Upon ME instantiation, the ONU sets the attribute to 1518. (R,-W) (mandatory for G-PON, optional
+//			for ITU-T G.986 systems) (2 bytes)
+//
+//		Dte Or Dce Ind
+//			(R,-W) (mandatory) (1-byte)
+//
+//		Pause Time
+//			Pause time:	This attribute allows the PPTP to ask the subscriber terminal to temporarily suspend
+//			sending data. Units are in pause quanta (1 pause quantum is 512 bit times of the particular
+//			implementation). Values: 0..0xFFFF. Upon ME instantiation, the ONU sets this attribute to 0.
+//			(R,-W) (optional) (2-bytes)
+//
+//		Bridged Or Ip Ind
+//			Upon ME instantiation, the ONU sets this attribute to 2. (R,-W) (optional) (1-byte)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Pppoe Filter
+//			PPPoE filter: This attribute controls filtering of PPPoE packets on this Ethernet port. The
+//			value 0 allows packets of all types. The value 1 discards everything but PPPoE packets. The
+//			default value is 0. (R,-W) (optional) (1-byte)
+//
+//		Power Control
+//			NOTE - This attribute is the equivalent of the acPSEAdminControl variable defined in clause
+//			30.9.1.2.1 of [IEEE 802.3]. Other variables related to PoE appear in the PoE control ME.
+//
+type PhysicalPathTerminationPointEthernetUni struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	physicalpathterminationpointethernetuniBME = &ManagedEntityDefinition{
+		Name:    "PhysicalPathTerminationPointEthernetUni",
+		ClassID: 11,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("ExpectedType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("SensedType", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
+			3:  ByteField("AutoDetectionConfiguration", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField("EthernetLoopbackConfiguration", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField("AdministrativeState", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField("OperationalState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
+			7:  ByteField("ConfigurationInd", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field("MaxFrameSize", UnsignedIntegerAttributeType, 0x0100, 1518, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField("DteOrDceInd", EnumerationAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint16Field("PauseTime", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField("BridgedOrIpInd", EnumerationAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField("Arc", EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), true, true, false, 12),
+			13: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField("PppoeFilter", EnumerationAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField("PowerControl", EnumerationAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "LAN-LOS",
+		},
+	}
+}
+
+// NewPhysicalPathTerminationPointEthernetUni (class ID 11) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPhysicalPathTerminationPointEthernetUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*physicalpathterminationpointethernetuniBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointlctuni.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointlctuni.go
similarity index 72%
rename from vendor/github.com/cboling/omci/generated/physicalpathterminationpointlctuni.go
rename to vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointlctuni.go
index 9287fdf..e50cc4f 100644
--- a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointlctuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointlctuni.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const PhysicalPathTerminationPointLctUniClassId ClassID = ClassID(83)
+// PhysicalPathTerminationPointLctUniClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point LCT UNI
+const PhysicalPathTerminationPointLctUniClassID ClassID = ClassID(83)
 
 var physicalpathterminationpointlctuniBME *ManagedEntityDefinition
 
@@ -31,18 +37,18 @@
 //
 //	The ONU automatically creates an instance of this ME per port:
 //
-//	•	when the ONU has an LCT port built into its factory configuration;
+//	o	when the ONU has an LCT port built into its factory configuration;
 //
-//	•	when a cardholder is provisioned to expect a circuit pack of the LCT type;
+//	o	when a cardholder is provisioned to expect a circuit pack of the LCT type;
 //
-//	•	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of the LCT
+//	o	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of the LCT
 //	type;
 //
-//	NOTE – The installation of a plug-and-play card may indicate the presence of LCT ports via
+//	NOTE - The installation of a plug-and-play card may indicate the presence of LCT ports via
 //	equipment ID as well as its type, and indeed may cause the ONU to instantiate a port-mapping
 //	package that specifies LCT ports.
 //
-//	•	when the ONU supports debug access through some other physical or logical means.
+//	o	when the ONU supports debug access through some other physical or logical means.
 //
 //	The ONU automatically deletes an instance of this ME when a cardholder is neither provisioned to
 //	expect an LCT circuit pack, nor is it equipped with an LCT circuit pack, or if the ONU is
@@ -57,18 +63,18 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2-byte
 //			number indicates the physical position of the UNI. The first byte is the slot ID (defined in
 //			clause 9.1.5). The second byte is the port ID, with the range 1..255. If the LCT UNI is
 //			associated with the ONU as a whole, its ME ID should be 0. (R) (mandatory) (2 bytes)
 //
 //		Administrative State
 //			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is described generically in clause A.1.6. The LCT has additional
+//			ME. Administrative state is described generically in clause-A.1.6. The LCT has additional
 //			administrative state behaviour. When the administrative state is set to lock, debug access
 //			through all physical or logical means is blocked, except that the operation of a possible ONU
 //			remote debug ME is not affected. Administrative lock of ME instance 0 overrides administrative
-//			lock of any other PPTP LCT UNIs that may exist. (R, W) (mandatory) (1 byte)
+//			lock of any other PPTP LCT UNIs that may exist. (R, W) (mandatory) (1-byte)
 //
 type PhysicalPathTerminationPointLctUni struct {
 	ManagedEntityDefinition
@@ -83,17 +89,19 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0X8000,
+		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewPhysicalPathTerminationPointLctUni (class ID 83 creates the basic
+// NewPhysicalPathTerminationPointLctUni (class ID 83) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewPhysicalPathTerminationPointLctUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(physicalpathterminationpointlctuniBME, params...)
+	return NewManagedEntity(*physicalpathterminationpointlctuniBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointmocauni.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointmocauni.go
new file mode 100644
index 0000000..59652da
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointmocauni.go
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PhysicalPathTerminationPointMocaUniClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point MoCA UNI
+const PhysicalPathTerminationPointMocaUniClassID ClassID = ClassID(162)
+
+var physicalpathterminationpointmocauniBME *ManagedEntityDefinition
+
+// PhysicalPathTerminationPointMocaUni (class ID #162)
+//	This ME represents an MoCA UNI, where physical paths terminate and physical path level functions
+//	are performed.
+//
+//	The ONU automatically creates an instance of this ME per port as follows.
+//
+//	o	When the ONU has MoCA ports built into its factory configuration.
+//
+//	o	When a cardholder is provisioned to expect a circuit pack of the MoCA type.
+//
+//	o	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the MoCA
+//	type. Note that the installation of a plug-and-play card may indicate the presence of MoCA ports
+//	via equipment ID as well as its type, and indeed may cause the ONU to instantiate a port-mapping
+//	package that specifies MoCA ports.
+//
+//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
+//	expect an MoCA circuit pack, nor is it equipped with an MoCA circuit pack.
+//
+//	Relationships
+//		An instance of this ME is associated with each real or pre-provisioned MoCA port.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2-byte
+//			number is directly associated with the physical position of the UNI. The first byte is the slot
+//			ID (defined in clause 9.1.5). The second byte is the port ID, with the range 1..255. (R)
+//			(mandatory) (2-bytes)
+//
+//		Loopback Configuration
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R,-W) (optional) (1-byte)
+//
+//		Administrative State
+//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
+//			ME. Administrative state is further described in clause A.1.6. (R,-W) (mandatory) (1-byte)
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+//		Max Frame Size
+//			Max frame size: This attribute denotes the maximum frame size allowed across this interface.
+//			Upon ME instantiation, the ONU sets this attribute to 1518. (R,-W) (mandatory) (2-bytes)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Pppoe Filter
+//			PPPoE filter: This attribute controls filtering of PPPoE packets on this MoCA port. When its
+//			value is 1, all packets other than PPPoE packets are discarded. The default 0 accepts packets of
+//			all types. (R,-W) (optional) (1-byte)
+//
+//		Network Status
+//			(R) (mandatory) (1-byte)
+//
+//		Password
+//			Password:	This attribute specifies the MoCA encryption key. It is an ASCII string of 17 decimal
+//			digits. Upon ME instantiation, the ONU sets this attribute to 17 null bytes. (R,-W) (mandatory)
+//			(17-bytes)
+//
+//		Privacy Enabled
+//			Privacy enabled: This attribute activates (1) link-layer security. The default value 0
+//			deactivates it. (R,-W) (mandatory) (1-byte)
+//
+//		Minimum Bandwidth Alarm Threshold
+//			Minimum bandwidth alarm threshold: This attribute specifies the minimum desired PHY link
+//			bandwidth between two nodes. If the actual bandwidth is lower, an LL alarm is declared. Valid
+//			values are 0 to 0x0410 (260-Mbit/s) in 0.25-Mbit/s increments. The default value is 0x02D0
+//			(180-Mbit/s). The value 0 disables the threshold. (R,-W) (optional) (2-bytes)
+//
+//		Frequency Mask
+//			Frequency mask: This attribute is a bit map of the centre frequencies that the interface is
+//			permitted to use, where each bit represents a centre frequency. The LSB (b[1]) corresponds to
+//			centre frequency 800-MHz. The next significant bit (b[2]) corresponds to centre frequency
+//			825-MHz. The 28th bit (b[28]) corresponds to centre frequency 1500-MHz. The four MSBs are not
+//			used. (R,-W) (optional) (4-bytes)
+//
+//		Rf Channel
+//			RF channel:	This attribute reports the frequency to which the MoCA interface is currently tuned,
+//			in megahertz. (R) (mandatory) (2-bytes)
+//
+//		Last Operational Frequency
+//			Last operational frequency: This attribute reports the frequency to which the MoCA interface was
+//			tuned when last operational, in megahertz. (R) (mandatory) (2-bytes)
+//
+type PhysicalPathTerminationPointMocaUni struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	physicalpathterminationpointmocauniBME = &ManagedEntityDefinition{
+		Name:    "PhysicalPathTerminationPointMocaUni",
+		ClassID: 162,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffc,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("LoopbackConfiguration", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
+			4:  Uint16Field("MaxFrameSize", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField("Arc", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), true, true, false, 5),
+			6:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField("PppoeFilter", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField("NetworkStatus", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  MultiByteField("Password", OctetsAttributeType, 0x0080, 17, toOctets("AAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField("PrivacyEnabled", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint16Field("MinimumBandwidthAlarmThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint32Field("FrequencyMask", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field("RfChannel", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field("LastOperationalFrequency", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "MoCA LOL",
+			1: "MoCA limited link (LL)",
+		},
+	}
+}
+
+// NewPhysicalPathTerminationPointMocaUni (class ID 162) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPhysicalPathTerminationPointMocaUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*physicalpathterminationpointmocauniBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointpotsuni.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointpotsuni.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/physicalpathterminationpointpotsuni.go
rename to vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointpotsuni.go
index 8264200..6318c3c 100644
--- a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointpotsuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointpotsuni.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const PhysicalPathTerminationPointPotsUniClassId ClassID = ClassID(53)
+// PhysicalPathTerminationPointPotsUniClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point POTS UNI
+const PhysicalPathTerminationPointPotsUniClassID ClassID = ClassID(53)
 
 var physicalpathterminationpointpotsuniBME *ManagedEntityDefinition
 
@@ -31,11 +37,11 @@
 //
 //	The ONU automatically creates an instance of this ME per port as follows.
 //
-//	•	When the ONU has POTS ports built into its factory configuration.
+//	o	When the ONU has POTS ports built into its factory configuration.
 //
-//	•	When a cardholder is provisioned to expect a circuit pack of the POTS type.
+//	o	When a cardholder is provisioned to expect a circuit pack of the POTS type.
 //
-//	•	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the POTS
+//	o	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the POTS
 //	type. Note that the installation of a plug-and-play card may indicate the presence of POTS ports
 //	via equipment ID as well as type, and indeed may cause the ONU to instantiate a port-mapping
 //	package that specifies POTS ports.
@@ -50,9 +56,9 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2-byte
 //			number indicates the physical position of the UNI. The first byte is the slot ID (defined in
-//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2 bytes)
+//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2-bytes)
 //
 //		Administrative State
 //			When the administrative state is set to lock, all user functions of this UNI are blocked, and
@@ -61,42 +67,42 @@
 //			(1 byte)
 //
 //		Deprecated
-//			Deprecated: This attribute is not used and should not be supported. (R, W) (optional) (2 bytes)
+//			Deprecated: This attribute is not used and should not be supported. (R,-W) (optional) (2-bytes)
 //
 //		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 //		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 //		Impedance
 //			where C1, R1, and R2 are related as shown in Figure 9.9.1-1. Upon ME instantiation, the ONU sets
-//			this attribute to 0. (R, W) (optional) (1 byte)
+//			this attribute to 0. (R,-W) (optional) (1-byte)
 //
 //		Transmission Path
 //			Transmission path: This attribute allows setting the POTS UNI either to full-time on-hook
 //			transmission (0) or part-time on-hook transmission (1). Upon ME instantiation, the ONU sets this
-//			attribute to 0. (R, W) (optional) (1 byte)
+//			attribute to 0. (R,-W) (optional) (1-byte)
 //
 //		Rx Gain
 //			Rx gain:	This attribute specifies a gain value for the received signal in the form of a 2s
-//			complement number. Valid values are –120 (12.0 dB) to 60 (+6.0 dB). The direction of the
+//			complement number. Valid values are -120 (12.0-dB) to 60 (+6.0-dB). The direction of the
 //			affected signal is in the D to A direction, towards the telephone set. Upon ME instantiation,
 //			the ONU sets this attribute to 0. (R, W) (optional) (1 byte)
 //
 //		Tx Gain
 //			Tx gain:	This attribute specifies a gain value for the transmit signal in the form of a 2s
-//			complement number. Valid values are –120 (12.0 dB) to 60 (+6.0 dB). The direction of the
+//			complement number. Valid values are -120 (12.0-dB) to 60 (+6.0-dB). The direction of the
 //			affected signal is in the A to D direction, away from the telephone set. Upon ME instantiation,
 //			the ONU sets this attribute to 0. (R, W) (optional) (1 byte)
 //
 //		Operational State
 //			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
 //
 //		Hook State
-//			Hook state:	This attribute indicates the current state of the subscriber line: 0 = on hook, 1 =
-//			off hook (R) (optional) (1 byte)
+//			Hook state:	This attribute indicates the current state of the subscriber line: 0-= on hook, 1-=
+//			off hook (R) (optional) (1-byte)
 //
 //		Pots Holdover Time
 //			POTS holdover time: This attribute determines the time during which the POTS loop voltage is
@@ -105,21 +111,21 @@
 //			voltage, and may thereby cause premises intrusion alarm or fire panel circuits to go active.
 //			When the ONU ranges successfully on the PON or softswitch connectivity is restored, it restores
 //			the POTS loop voltage immediately and resets the timer to zero. The attribute is expressed in
-//			seconds. The default value 0 selects the vendor's factory policy. (R, W) (optional) (2 bytes)
+//			seconds. The default value 0 selects the vendor's factory policy. (R,-W) (optional) (2-bytes)
 //
 //		Nominal Feed Voltage
 //			Nominal feed voltage: This attribute indicates the designed nominal feed voltage of the POTS
-//			loop. It is an absolute value with resolution 1 V. This attribute does not represent the actual
-//			voltage measured on the loop, which is available through the test command. (R, W) (optional)
-//			(1 byte)
+//			loop. It is an absolute value with resolution 1-V. This attribute does not represent the actual
+//			voltage measured on the loop, which is available through the test command. (R,-W) (optional)
+//			(1-byte)
 //
 //		Loss Of Softswitch
 //			Loss of softswitch: This Boolean attribute controls whether the T/R holdover initiation
 //			criteria. False disables loss of softswitch connectivity detection as criteria for initiating
 //			the POTS holdover timer. True enables loss of softswitch connectivity detection as criteria for
 //			initiating the POTS holdover timer. This attribute is optional (if not implemented, the POTS
-//			holdover time is triggered on a LOS when POTS holdover is greater than zero). (R, W) (optional)
-//			(1 byte)
+//			holdover time is triggered on a LOS when POTS holdover is greater than zero). (R,-W) (optional)
+//			(1-byte)
 //
 type PhysicalPathTerminationPointPotsUni struct {
 	ManagedEntityDefinition
@@ -135,29 +141,31 @@
 			Set,
 			Test,
 		),
-		AllowedAttributeMask: 0XFFF8,
+		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), true, false, false, false, 1),
-			2:  Uint16Field("Deprecated", 0, mapset.NewSetWith(Read, Write), false, false, true, true, 2),
-			3:  ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 3),
-			4:  ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5:  ByteField("Impedance", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
-			6:  ByteField("TransmissionPath", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7:  ByteField("RxGain", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 7),
-			8:  ByteField("TxGain", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
-			9:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 9),
-			10: ByteField("HookState", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
-			11: Uint16Field("PotsHoldoverTime", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: ByteField("NominalFeedVoltage", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: ByteField("LossOfSoftswitch", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), true, false, false, 1),
+			2:  Uint16Field("Deprecated", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, true, 2),
+			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField("Impedance", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  ByteField("TransmissionPath", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField("RxGain", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField("TxGain", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			10: ByteField("HookState", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field("PotsHoldoverTime", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField("NominalFeedVoltage", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField("LossOfSoftswitch", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewPhysicalPathTerminationPointPotsUni (class ID 53 creates the basic
+// NewPhysicalPathTerminationPointPotsUni (class ID 53) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewPhysicalPathTerminationPointPotsUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(physicalpathterminationpointpotsuniBME, params...)
+	return NewManagedEntity(*physicalpathterminationpointpotsuniBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointreuni.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointreuni.go
new file mode 100644
index 0000000..462fad6
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointreuni.go
@@ -0,0 +1,199 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PhysicalPathTerminationPointReUniClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point RE UNI
+const PhysicalPathTerminationPointReUniClassID ClassID = ClassID(314)
+
+var physicalpathterminationpointreuniBME *ManagedEntityDefinition
+
+// PhysicalPathTerminationPointReUni (class ID #314)
+//	This ME represents an S'/R' interface in a mid-span PON RE that supports OEO regeneration in at
+//	least one direction, where physical paths terminate and physical path level functions are
+//	performed (transmit or receive).
+//
+//	Such an RE automatically creates an instance of this ME for each S'/R' interface port as
+//	follows.
+//
+//	o	When the RE has mid-span PON RE UNI interface ports built into its factory configuration.
+//
+//	o	When a cardholder is provisioned to expect a circuit pack of the mid-span PON RE UNI type.
+//
+//	o	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the midspan
+//	PON RE UNI type. Note that the installation of a plug-and-play card may indicate the presence of
+//	a mid-span PON RE UNI port via equipment ID as well as its type attribute, and indeed may cause
+//	the management ONU to instantiate a port-mapping package to specify the ports precisely.
+//
+//	The management ONU automatically deletes instances of this ME when a cardholder is neither
+//	provisioned to expect a mid-span PON RE UNI circuit pack, nor is it equipped with a mid-span PON
+//	RE UNI circuit pack.
+//
+//	As illustrated in Figure 8.2.10-3, a PPTP RE UNI may share the physical port with an RE upstream
+//	amplifier. The ONU declares a shared configuration through the port-mapping package combined
+//	port table, whose structure defines one ME as the master. It is recommended that the PPTP RE UNI
+//	be the master, with the RE upstream amplifier as a secondary ME.
+//
+//	The administrative state, operational state and ARC attributes of the master ME override similar
+//	attributes in secondary MEs associated with the same port. In the secondary ME, these attributes
+//	are present, but cause no action when written and have undefined values when read. The RE
+//	upstream amplifier should use its provisionable upstream alarm thresholds and should declare
+//	upstream alarms as necessary; other isomorphic alarms should be declared by the PPTP RE UNI. The
+//	test action should be addressed to the master ME.
+//
+//	Relationships
+//		An instance of this ME is associated with each instance of a mid-span PON RE S'/R' physical
+//		interface of an RE that includes OEO regeneration in either direction, and it may also be
+//		associated with an RE upstream amplifier.
+//
+//	Attributes
+//		Managed Entity Id
+//			NOTE 1 - This ME ID may be identical to that of an RE upstream amplifier if it shares the same
+//			physical slot and port.
+//
+//		Administrative State
+//			NOTE 2 - Administrative lock of a PPTP RE UNI results in loss of signal to any downstream ONUs.
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Re Ani_G Pointer
+//			RE ANI-G pointer: This attribute points to an RE ANI-G instance. (R,-W) (mandatory) (2-bytes)
+//
+//		Total Optical Receive Signal Level Table
+//			Total optical receive signal level table: This table attribute reports a series of measurements
+//			of time averaged received upstream optical signal power. The measurement circuit should have a
+//			temporal response similar to a simple 1-pole low pass filter, with an effective time constant of
+//			the order of a GTC frame time. Each table entry has a 2-byte frame counter field (most
+//			significant end), and a 2-byte power measurement field. The frame counter field contains the
+//			least significant 16-bits of the superframe counter received closest to the time of the
+//			measurement. The power measurement field is a 2s complement integer referred to 1-mW (i.e.,
+//			dBm), with 0.002-dB granularity. The RE equipment should add entries to this table as frequently
+//			as is reasonable. The RE should clear the table once it is read by the OLT. (R) (optional) (4-*
+//			N-bytes, where N is the number of measurements present.)
+//
+//		Per Burst Receive Signal Level Table
+//			Per burst receive signal level table: This table attribute reports the most recent measurement
+//			of received burst upstream optical signal power. Each table entry has a 2-byte ONU-ID field
+//			(most significant end), and a 2-byte power measurement field. The power measurement field is a
+//			2s complement integer referred to 1-mW (i.e.,-dBm), with 0.002-dB granularity. (R) (optional)
+//			(4-* N-bytes, where N is the number of distinct ONUs connected to the S'/R' interface.)
+//
+//		Lower Receive Optical Threshold
+//			Lower receive optical threshold: This attribute specifies the optical level that the RE uses to
+//			declare the burst mode low received optical power alarm. Valid values are  -127-dBm (coded as
+//			254) to 0-dBm (coded as 0) in 0.5-dB increments. The default value 0xFF selects the RE's
+//			internal policy. (R,-W) (optional) (1-byte)
+//
+//		Upper Receive Optical Threshold
+//			Upper receive optical threshold: This attribute specifies the optical level that the RE uses to
+//			declare the burst mode high optical power alarm. Valid values are  -127-dBm (coded as 254) to
+//			0-dBm (coded as 0) in 0.5-dB increments. The default value 0xFF selects the RE's internal
+//			policy. (R,-W) (optional) (1-byte)
+//
+//		Transmit Optical Level
+//			Transmit optical level: This attribute reports the current measurement of the downstream mean
+//			optical launch power. Its value is a 2s complement integer referred to 1-mW (i.e., dBm), with
+//			0.002-dB granularity. (R) (optional) (2-bytes)
+//
+//		Lower Transmit Power Threshold
+//			Lower transmit power threshold: This attribute specifies the downstream minimum mean optical
+//			launch power at the S'/R' interface that the RE uses to declare the low transmit optical power
+//			alarm. Its value is a 2s complement integer referred to 1-mW (i.e., dBm), with 0.5-dB
+//			granularity. The default value 0x7F selects the RE's internal policy. (R,-W) (optional) (1-byte)
+//
+//		Upper Transmit Power Threshold
+//			Upper transmit power threshold: This attribute specifies the downstream maximum mean optical
+//			launch power at the S'/R' interface that the RE uses to declare the high transmit optical power
+//			alarm. Its value is a 2s complement integer referred to 1-mW (i.e., dBm), with 0.5-dB
+//			granularity. The default value 0x7F selects the RE's internal policy. (R,-W) (optional) (1-byte)
+//
+//		A Dditional Preamble
+//			Additional preamble: This attribute indicates the number of bytes of PLOu preamble that are
+//			unavoidably consumed while passing the RE. (R) (mandatory) (1-byte)
+//
+//		A Dditional Guard Time
+//			Additional guard time: This attribute indicates the number of bytes of extra guard time that are
+//			needed to ensure correct operation with the RE. (R) (mandatory) (1-byte)
+//
+type PhysicalPathTerminationPointReUni struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	physicalpathterminationpointreuniBME = &ManagedEntityDefinition{
+		Name:    "PhysicalPathTerminationPointReUni",
+		ClassID: 314,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			GetNext,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffc,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field("ReAniGPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  TableField("TotalOpticalReceiveSignalLevelTable", TableAttributeType, 0x0400, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  TableField("PerBurstReceiveSignalLevelTable", TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  ByteField("LowerReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField("UpperReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field("TransmitOpticalLevel", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField("LowerTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField("UpperTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField("ADditionalPreamble", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: ByteField("ADditionalGuardTime", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Low received optical power",
+			1: "High received optical power",
+			2: "Low transmit optical power",
+			3: "High transmit optical power",
+			4: "High laser bias current",
+			5: "S'/R' LOS",
+		},
+	}
+}
+
+// NewPhysicalPathTerminationPointReUni (class ID 314) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPhysicalPathTerminationPointReUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*physicalpathterminationpointreuniBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointvideoani.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointvideoani.go
new file mode 100644
index 0000000..39d03e6
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointvideoani.go
@@ -0,0 +1,170 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PhysicalPathTerminationPointVideoAniClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point video ANI
+const PhysicalPathTerminationPointVideoAniClassID ClassID = ClassID(90)
+
+var physicalpathterminationpointvideoaniBME *ManagedEntityDefinition
+
+// PhysicalPathTerminationPointVideoAni (class ID #90)
+//	This ME represents an RF video ANI in the ONU, where physical paths terminate and physical path
+//	level functions are performed.
+//
+//	The ONU automatically creates an instance of this ME per port as follows.
+//
+//	o	When the ONU has video ANI ports built into its factory configuration.
+//
+//	o	When a cardholder is provisioned to expect a circuit pack of the video ANI type.
+//
+//	o	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the video
+//	ANI type. Note that the installation of a plug-and-play card may indicate the presence of video
+//	ANI ports via equipment ID as well as its type, and indeed may cause the ONU to instantiate a
+//	port-mapping package that specifies video ANI ports.
+//
+//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
+//	expect a video ANI circuit pack, nor is it equipped with a video ANI circuit pack.
+//
+//	Relationships
+//		An instance of this ME is associated with each instance of a real or pre-provisioned video ANI
+//		port.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2-byte
+//			number indicates the physical position of the ANI. The first byte is the slot ID (defined in
+//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2-bytes)
+//
+//		Administrative State
+//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
+//			ME. Administrative state is further described in clause-A.1.6. (R,-W) (mandatory) (1-byte)
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Frequency Range Low
+//			(R) (mandatory) (1-byte)
+//
+//		Frequency Range High
+//			(R) (mandatory) (1-byte)
+//
+//		Signal Capability
+//			(R) (mandatory) (1-byte)
+//
+//		Optical Signal Level
+//			(R) (optional) (1-byte)
+//
+//		Pilot Signal Level
+//			(R) (optional) (1-byte)
+//
+//		Signal Level Min
+//			Signal level min: This attribute indicates the minimum optical RF power per channel that results
+//			in a CNR of 47-dBc for a channel of 4.5 MHz bandwidth at a receive optical power of -5-dBm. The
+//			unit of this attribute is decibel-microwatt optical. (R) (mandatory) (1-byte)
+//
+//		Signal Level Max
+//			Signal level max: This attribute indicates the maximum optical RF power per channel that results
+//			in a CTB of -57-dBc for an 80-channel ensemble of carriers at a perchannel optical modulation
+//			index (OMI) of 3.5%. The unit of this attribute is decibel-microwatt optical. (R) (mandatory)
+//			(1-byte)
+//
+//		Pilot Frequency
+//			(R,-W) (optional) (4-bytes)
+//
+//		Agc Mode
+//			(R,-W) (optional) (1-byte)
+//
+//		Agc Setting
+//			(R,-W) (optional) (1-byte)
+//
+//		Video Lower Optical Threshold
+//			NOTE - Because the power measurement returned in the optical signal level attribute has a
+//			resolution of 1-dB, it is possible that the measured value could appear to be in-range, even
+//			though an out-of-range alarm has been declared against a threshold with 0.1-dB resolution.
+//
+//		Video Upper Optical Threshold
+//			Video upper optical threshold: This attribute specifies the optical level used to declare the
+//			video OOR high alarm. Valid values are -12 to +6-dBm in 0.1-dB increments, represented as a 2s
+//			complement integer. (Coding -120 to +60, 0x00-= 0-dBm, 0x88-= -12.0-dBm, etc.) Upon ME
+//			instantiation, the ONU sets this attribute to 0x19 (+2.5-dBm). (R,-W) (optional) (1-byte)
+//
+type PhysicalPathTerminationPointVideoAni struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	physicalpathterminationpointvideoaniBME = &ManagedEntityDefinition{
+		Name:    "PhysicalPathTerminationPointVideoAni",
+		ClassID: 90,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField("FrequencyRangeLow", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField("FrequencyRangeHigh", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField("SignalCapability", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  ByteField("OpticalSignalLevel", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField("PilotSignalLevel", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField("SignalLevelMin", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: ByteField("SignalLevelMax", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("PilotFrequency", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField("AgcMode", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField("AgcSetting", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField("VideoLowerOpticalThreshold", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField("VideoUpperOpticalThreshold", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Video LOS",
+			1: "Video OOR low",
+			2: "Video OOR high",
+		},
+	}
+}
+
+// NewPhysicalPathTerminationPointVideoAni (class ID 90) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPhysicalPathTerminationPointVideoAni(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*physicalpathterminationpointvideoaniBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointvideouni.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointvideouni.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/physicalpathterminationpointvideouni.go
rename to vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointvideouni.go
index 83e5337..fbd31d0 100644
--- a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointvideouni.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointvideouni.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const PhysicalPathTerminationPointVideoUniClassId ClassID = ClassID(82)
+// PhysicalPathTerminationPointVideoUniClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point video UNI
+const PhysicalPathTerminationPointVideoUniClassID ClassID = ClassID(82)
 
 var physicalpathterminationpointvideouniBME *ManagedEntityDefinition
 
@@ -31,11 +37,11 @@
 //
 //	The ONU automatically creates an instance of this ME per port:
 //
-//	•	when the ONU has RF video UNI ports built into its factory configuration;
+//	o	when the ONU has RF video UNI ports built into its factory configuration;
 //
-//	•	when a cardholder is provisioned to expect a circuit pack of the video UNI type;
+//	o	when a cardholder is provisioned to expect a circuit pack of the video UNI type;
 //
-//	•	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of the video
+//	o	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of the video
 //	UNI type. Note that the installation of a plug-and-play card may indicate the presence of video
 //	ports via equipment ID as well as its type, and indeed may cause the ONU to instantiate a port-
 //	mapping package that specifies video ports.
@@ -49,28 +55,28 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2-byte
 //			number indicates the physical position of the UNI. The first byte is the slot ID (defined in
-//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2 bytes)
+//			clause 9.1.5). The second byte is the port ID, with the range 1..255. (R) (mandatory) (2-bytes)
 //
 //		Administrative State
 //			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is further described in clause A.1.6. (R, W) (mandatory) (1 byte)
+//			ME. Administrative state is further described in clause A.1.6. (R,-W) (mandatory) (1-byte)
 //
 //		Operational State
 //			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
 //
 //		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 //		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 //		Power Control
 //			Power control: This attribute controls whether power is provided from the ONU to an external
 //			equipment over the video PPTP. Value 1 enables power over coaxial cable. The default value 0
-//			disables power feed. (R, W) (optional) (1 byte)
+//			disables power feed. (R,-W) (optional) (1-byte)
 //
 type PhysicalPathTerminationPointVideoUni struct {
 	ManagedEntityDefinition
@@ -85,21 +91,28 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2: ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 2),
-			3: ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 3),
-			4: ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5: ByteField("PowerControl", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3: ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: ByteField("PowerControl", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Video-LOS",
+			1: "Video-OOR-low",
+			2: "Video-OOR-high",
 		},
 	}
 }
 
-// NewPhysicalPathTerminationPointVideoUni (class ID 82 creates the basic
+// NewPhysicalPathTerminationPointVideoUni (class ID 82) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewPhysicalPathTerminationPointVideoUni(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(physicalpathterminationpointvideouniBME, params...)
+	return NewManagedEntity(*physicalpathterminationpointvideouniBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointxdslunipart1.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointxdslunipart1.go
new file mode 100644
index 0000000..fa883bc
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointxdslunipart1.go
@@ -0,0 +1,188 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PhysicalPathTerminationPointXdslUniPart1ClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point xDSL UNI part 1
+const PhysicalPathTerminationPointXdslUniPart1ClassID ClassID = ClassID(98)
+
+var physicalpathterminationpointxdslunipart1BME *ManagedEntityDefinition
+
+// PhysicalPathTerminationPointXdslUniPart1 (class ID #98)
+//	This ME represents the point where physical paths terminate on an xDSL CO modem (xTU-C). The
+//	xDSL ME family is used for ADSL VDSL2 and FAST services. A legacy family of VDSL MEs remains
+//	valid for ITUT G.993.1 VDSL, if needed. It is documented in [ITUT G.983.2].
+//
+//	The ONU automatically creates an instance of this ME per port:
+//
+//	o	when the ONU has xDSL ports built into its factory configuration;
+//
+//	o	when a cardholder is provisioned to expect a circuit pack of the xDSL type;
+//
+//	o	when a cardholder provisioned for plug-and-play is equipped with a circuit pack of the xDSL
+//	type. Note that the installation of a plug-and-play card may indicate the presence of xDSL ports
+//	via equipment ID as well as its type, and indeed may cause the ONU to instantiate a port-mapping
+//	package that specifies xDSL ports.
+//
+//	The ONU automatically deletes instances of this ME when a cardholder is neither provisioned to
+//	expect an xDSL circuit pack, nor is it equipped with an xDSL circuit pack.
+//
+//	Relationships
+//		An instance of this ME is associated with each instance of a real or pre-provisioned xDSL port.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID:	This attribute uniquely identifies each instance of this ME. This 2 byte
+//			number indicates the physical position of the UNI. The six LSBs of the first byte are the slot
+//			ID, defined in clause 9.1.5. The two MSBs indicate the channel number in some of the implicitly
+//			linked MEs, and must be 0 in the PPTP itself. This reduces the possible number of physical slots
+//			to 64. The second byte is the port ID, with the range 1..255. (R) (mandatory) (2-bytes)
+//
+//		Loopback Configuration
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R,-W) (mandatory) (1-byte)
+//
+//		Administrative State
+//			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
+//			ME. Administrative state is further described in clause A.1.6. (R,-W) (mandatory) (1-byte)
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+//		Xdsl Line Configuration Profile
+//			xDSL line configuration profile: This attribute points to an instance of the xDSL line
+//			configuration profiles (part 1, 2 and 3) MEs, and if necessary, also to VDSL2 line configuration
+//			extensions (1 and 2) MEs, also to vectoring line configuration extension MEs. Upon ME
+//			instantiation, the ONU sets this attribute to 0, a null pointer. (R,-W) (mandatory) (2-bytes)
+//
+//		Xdsl Subcarrier Masking Downstream Profile
+//			xDSL subcarrier masking downstream profile: This attribute points to an instance of the xDSL
+//			subcarrier masking downstream profile ME. Upon ME instantiation, the ONU sets this attribute to
+//			0, a null pointer. (R,-W) (mandatory) (2-bytes)
+//
+//		Xdsl Subcarrier Masking Upstream Profile
+//			xDSL subcarrier masking upstream profile: This attribute points to an instance of the xDSL
+//			subcarrier masking upstream profile ME. Upon ME instantiation, the ONU sets this attribute to 0,
+//			a null pointer. (R,-W) (mandatory) (2-bytes)
+//
+//		Xdsl Downstream Power Spectral Density Psd Mask Profile
+//			xDSL downstream power spectral density (PSD) mask profile: This attribute points to an instance
+//			of the xDSL PSD mask profile ME that defines downstream parameters. Upon ME instantiation, the
+//			ONU sets this attribute to 0, a null pointer. (R,-W) (mandatory) (2-bytes)
+//
+//		Xdsl Downstream Rfi Bands Profile
+//			xDSL downstream RFI bands profile: This attribute points to an instance of the xDSL downstream
+//			RFI bands profile ME. Upon ME instantiation, the ONU sets this attribute to 0, a null pointer.
+//			(R,-W) (mandatory) (2-bytes)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Modem Type
+//			NOTE - Many newer VDSL2 chip sets support only PTM. The ATM default is retained for backward
+//			compatibility, but implementers should be aware that the default may need to be overridden by
+//			provisioning before the xDSL UNI can be brought into service.
+//
+//		Upstream Psd Mask Profile
+//			Upstream PSD mask profile: This attribute points to an instance of the xDSL PSD mask profile
+//			that defines upstream parameters. Upon ME instantiation, the ONU sets this attribute to 0, a
+//			null pointer. (R,-W) (optional) (2-bytes)
+//
+//		Network Specific Extensions Pointer
+//			Network specific extensions pointer: This attribute points to a network address ME that contains
+//			the path and name of a file containing network specific parameters for the associated UNI. Upon
+//			ME instantiation, the ONU sets this attribute to 0xFFFF, a null pointer. (R,-W) (optional)
+//			(2-bytes)
+//
+type PhysicalPathTerminationPointXdslUniPart1 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	physicalpathterminationpointxdslunipart1BME = &ManagedEntityDefinition{
+		Name:    "PhysicalPathTerminationPointXdslUniPart1",
+		ClassID: 98,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff8,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("LoopbackConfiguration", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
+			4:  Uint16Field("XdslLineConfigurationProfile", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field("XdslSubcarrierMaskingDownstreamProfile", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field("XdslSubcarrierMaskingUpstreamProfile", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field("XdslDownstreamPowerSpectralDensityPsdMaskProfile", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field("XdslDownstreamRfiBandsProfile", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField("Arc", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), true, true, false, 9),
+			10: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField("ModemType", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint16Field("UpstreamPsdMaskProfile", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field("NetworkSpecificExtensionsPointer", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0:  "NE LOF",
+			1:  "NE LOS",
+			2:  "NE LOL",
+			3:  "NE LPR",
+			4:  "Card alm",
+			5:  "FE LOF",
+			6:  "FE LOS",
+			7:  "FE LOL",
+			8:  "FE LPR",
+			9:  "DRT up",
+			10: "DRT down",
+			11: "LINIT",
+			12: "LCD",
+			13: "NCD",
+			14: "LCD-FE",
+			15: "NCD-FE",
+			16: "File not found",
+			17: "OOS",
+			18: "OOS-FE",
+			19: "LOR",
+			20: "LOM",
+			21: "LOR-FE",
+			22: "LOM-FE",
+		},
+	}
+}
+
+// NewPhysicalPathTerminationPointXdslUniPart1 (class ID 98) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPhysicalPathTerminationPointXdslUniPart1(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*physicalpathterminationpointxdslunipart1BME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointxdslunipart2.go b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointxdslunipart2.go
similarity index 67%
rename from vendor/github.com/cboling/omci/generated/physicalpathterminationpointxdslunipart2.go
rename to vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointxdslunipart2.go
index 47eabb2..894c40a 100644
--- a/vendor/github.com/cboling/omci/generated/physicalpathterminationpointxdslunipart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/physicalpathterminationpointxdslunipart2.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const PhysicalPathTerminationPointXdslUniPart2ClassId ClassID = ClassID(99)
+// PhysicalPathTerminationPointXdslUniPart2ClassID is the 16-bit ID for the OMCI
+// Managed entity Physical path termination point xDSL UNI part 2
+const PhysicalPathTerminationPointXdslUniPart2ClassID ClassID = ClassID(99)
 
 var physicalpathterminationpointxdslunipart2BME *ManagedEntityDefinition
 
@@ -40,31 +46,31 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Xdsl Channel Configuration Profile For Bearer Channel 0 Downstream
-//			xDSL channel configuration profile for bearer channel 0 downstream:	(R, W) (optional) (2 bytes)
+//			xDSL channel configuration profile for bearer channel 0 downstream: 	(R,-W) (optional) (2-bytes)
 //
 //		Xdsl Channel Configuration Profile For Bearer Channel 1 Downstream
-//			xDSL channel configuration profile for bearer channel 1 downstream:	(R, W) (optional) (2 bytes)
+//			xDSL channel configuration profile for bearer channel 1 downstream: 	(R,-W) (optional) (2-bytes)
 //
 //		Xdsl Channel Configuration Profile For Bearer Channel 2 Downstream
-//			xDSL channel configuration profile for bearer channel 2 downstream:	(R, W) (optional) (2 bytes)
+//			xDSL channel configuration profile for bearer channel 2 downstream: 	(R,-W) (optional) (2-bytes)
 //
 //		Xdsl Channel Configuration Profile For Bearer Channel 3 Downstream
-//			xDSL channel configuration profile for bearer channel 3 downstream:	(R, W) (optional) (2 bytes)
+//			xDSL channel configuration profile for bearer channel 3 downstream: 	(R,-W) (optional) (2-bytes)
 //
 //		Xdsl Channel Configuration Profile For Bearer Channel 0 Upstream
-//			xDSL channel configuration profile for bearer channel 0 upstream:	(R, W) (optional) (2 bytes)
+//			xDSL channel configuration profile for bearer channel 0 upstream: 	(R,-W) (optional) (2-bytes)
 //
 //		Xdsl Channel Configuration Profile For Bearer Channel 1 Upstream
-//			xDSL channel configuration profile for bearer channel 1 upstream:	(R, W) (optional) (2 bytes)
+//			xDSL channel configuration profile for bearer channel 1 upstream: 	(R,-W) (optional) (2-bytes)
 //
 //		Xdsl Channel Configuration Profile For Bearer Channel 2 Upstream
-//			xDSL channel configuration profile for bearer channel 2 upstream:	(R, W) (optional) (2 bytes)
+//			xDSL channel configuration profile for bearer channel 2 upstream: 	(R,-W) (optional) (2-bytes)
 //
 //		Xdsl Channel Configuration Profile For Bearer Channel 3 Upstream
-//			xDSL channel configuration profile for bearer channel 3 upstream:	(R, W) (optional) (2 bytes)
+//			xDSL channel configuration profile for bearer channel 3 upstream: 	(R,-W) (optional) (2-bytes)
 //
 type PhysicalPathTerminationPointXdslUniPart2 struct {
 	ManagedEntityDefinition
@@ -79,24 +85,26 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: Uint16Field("XdslChannelConfigurationProfileForBearerChannel0Downstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 1),
-			2: Uint16Field("XdslChannelConfigurationProfileForBearerChannel1Downstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 2),
-			3: Uint16Field("XdslChannelConfigurationProfileForBearerChannel2Downstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 3),
-			4: Uint16Field("XdslChannelConfigurationProfileForBearerChannel3Downstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5: Uint16Field("XdslChannelConfigurationProfileForBearerChannel0Upstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
-			6: Uint16Field("XdslChannelConfigurationProfileForBearerChannel1Upstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7: Uint16Field("XdslChannelConfigurationProfileForBearerChannel2Upstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 7),
-			8: Uint16Field("XdslChannelConfigurationProfileForBearerChannel3Upstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field("XdslChannelConfigurationProfileForBearerChannel0Downstream", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: Uint16Field("XdslChannelConfigurationProfileForBearerChannel1Downstream", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field("XdslChannelConfigurationProfileForBearerChannel2Downstream", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field("XdslChannelConfigurationProfileForBearerChannel3Downstream", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint16Field("XdslChannelConfigurationProfileForBearerChannel0Upstream", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6: Uint16Field("XdslChannelConfigurationProfileForBearerChannel1Upstream", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7: Uint16Field("XdslChannelConfigurationProfileForBearerChannel2Upstream", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8: Uint16Field("XdslChannelConfigurationProfileForBearerChannel3Upstream", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewPhysicalPathTerminationPointXdslUniPart2 (class ID 99 creates the basic
+// NewPhysicalPathTerminationPointXdslUniPart2 (class ID 99) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewPhysicalPathTerminationPointXdslUniPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(physicalpathterminationpointxdslunipart2BME, params...)
+	return NewManagedEntity(*physicalpathterminationpointxdslunipart2BME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/priorityqueue.go b/vendor/github.com/opencord/omci-lib-go/generated/priorityqueue.go
similarity index 72%
rename from vendor/github.com/cboling/omci/generated/priorityqueue.go
rename to vendor/github.com/opencord/omci-lib-go/generated/priorityqueue.go
index 673f25a..4022649 100644
--- a/vendor/github.com/cboling/omci/generated/priorityqueue.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/priorityqueue.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,16 +20,19 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const PriorityQueueClassId ClassID = ClassID(277)
+// PriorityQueueClassID is the 16-bit ID for the OMCI
+// Managed entity Priority queue
+const PriorityQueueClassID ClassID = ClassID(277)
 
 var priorityqueueBME *ManagedEntityDefinition
 
 // PriorityQueue (class ID #277)
-//	NOTE 1 – In [ITU-T G.984.4], this is called a priority queue-G.
+//	NOTE 1 - In [ITU-T G.984.4], this is called a priority queue-G.
 //
 //	This ME specifies the priority queue used by a GEM port network CTP in the upstream direction.
 //	The upstream priority queue ME is also related to a T-CONT ME. By default, this relationship is
@@ -85,20 +91,20 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The MSB
-//			represents the direction (1: upstream, 0: downstream). The 15 LSBs represent a queue ID. The
+//			represents the direction (1: upstream, 0:-downstream). The 15 LSBs represent a queue ID. The
 //			queue ID is numbered in ascending order by the ONU itself. It is strongly encouraged that the
 //			queue ID be formulated to simplify finding related queues. One way to do this is to number the
 //			queues such that the related port attributes are in ascending order (for the downstream and
 //			upstream queues separately). The range of downstream queue ids is 0 to 0x7FFF and the range of
-//			upstream queue ids is 0x8000 to 0xFFFF. (R) (mandatory) (2 bytes)
+//			upstream queue ids is 0x8000 to 0xFFFF. (R) (mandatory) (2-bytes)
 //
 //		Queue Configuration Option
 //			Queue configuration option: This attribute identifies the buffer partitioning policy. The value
 //			1 means that several queues share one buffer of maximum queue size, while the value 0 means that
-//			each queue has an individual buffer of maximum queue size. (R) (mandatory) (1 byte)
+//			each queue has an individual buffer of maximum queue size. (R) (mandatory) (1-byte)
 //
 //		Maximum Queue Size
-//			NOTE 2 – In this and the other similar attributes of the priority queue ME, some legacy
+//			NOTE 2 - In this and the other similar attributes of the priority queue ME, some legacy
 //			implementations may take the queue scale factor from the GEM block length attribute of the ANI-G
 //			ME. This option is discouraged in new implementations.
 //
@@ -108,13 +114,13 @@
 //
 //		Discard_Block Counter Reset Interval
 //			Discard-block counter reset interval: This attribute represents the interval in milliseconds at
-//			which the counter resets itself. (R, W) (optional) (2 bytes)
+//			which the counter resets itself. (R,-W) (optional) (2-bytes)
 //
 //		Threshold Value For Discarded Blocks Due To Buffer Overflow
 //			Threshold value for discarded blocks due to buffer overflow: This attribute specifies the
 //			threshold for the number of bytes (scaled by the priority queue scale factor attribute of the
 //			ONU2G) discarded on this queue due to buffer overflow. Its value controls the declaration of the
-//			block loss alarm. (R, W) (optional) (2 bytes)
+//			block loss alarm. (R, W) (optional) (2-bytes)
 //
 //		Related Port
 //			If flexible configuration is not supported, the ONU should reject an attempt to set the related
@@ -129,29 +135,29 @@
 //			is distributed to non-empty queues in proportion to their weights. In the upstream direction,
 //			this weight is meaningful if several priority queues are associated with a traffic scheduler or
 //			T-CONT whose policy is WRR. In the downstream direction, this weight is used by a UNI in a WRR
-//			fashion. Upon ME instantiation, the ONU sets this attribute to 1. (R, W) (mandatory) (1 byte)
+//			fashion. Upon ME instantiation, the ONU sets this attribute to 1. (R,-W) (mandatory) (1-byte)
 //
 //		Back Pressure Operation
 //			Back pressure operation: This attribute enables (0) or disables (1) back pressure operation. Its
-//			default value is 0. (R, W) (mandatory) (2 bytes)
+//			default value is 0. (R,-W) (mandatory) (2-bytes)
 //
 //		Back Pressure Time
 //			Back pressure time: This attribute specifies the duration in microseconds of the backpressure
 //			signal. It can be used as a pause time for an Ethernet UNI. Upon ME instantiation, the ONU sets
-//			this attribute to 0. (R, W) (mandatory) (4 bytes)
+//			this attribute to 0. (R,-W) (mandatory) (4-bytes)
 //
 //		Back Pressure Occur Queue Threshold
 //			Back pressure occur queue threshold: This attribute identifies the threshold queue occupancy, in
 //			bytes, scaled by the priority queue scale factor attribute of the ONU2G, to start sending a
-//			back-pressure signal. (R, W) (mandatory) (2 bytes)
+//			back-pressure signal. (R, W) (mandatory) (2-bytes)
 //
 //		Back Pressure Clear Queue Threshold
 //			Back pressure clear queue threshold: This attribute identifies the threshold queue occupancy, in
 //			bytes, scaled by the priority queue scale factor attribute of the ONU2G, to stop sending a back-
-//			pressure signal. (R, W) (mandatory) (2 bytes)
+//			pressure signal. (R, W) (mandatory) (2-bytes)
 //
 //		Packet Drop Queue Thresholds
-//			Packet drop queue thresholds: This attribute is a composite of four 2 byte values, a minimum and
+//			Packet drop queue thresholds: This attribute is a composite of four 2-byte values, a minimum and
 //			a maximum threshold, measured in bytes, scaled by the priority queue scale factor attribute of
 //			the ONU2-G, for green and yellow packets. The first value is the minimum green threshold, the
 //			queue occupancy below which all green packets are admitted to the queue. The second value is the
@@ -159,24 +165,24 @@
 //			The third value is the minimum yellow threshold, the queue occupancy below which all yellow
 //			packets are admitted to the queue. The fourth value is the maximum yellow threshold, the queue
 //			occupancy at or above which all yellow packets are discarded. The default is that all thresholds
-//			take the value of the maximum queue size. (R, W) (optional) (8 bytes)
+//			take the value of the maximum queue size. (R,-W) (optional) (8-bytes)
 //
 //		Packet Drop Max_P
-//			Packet drop max_p: This attribute is a composite of two 1 byte values, the probability of
+//			Packet drop max_p: This attribute is a composite of two 1-byte values, the probability of
 //			dropping a coloured packet when the queue occupancy lies just below the maximum threshold for
 //			packets of that colour. The first value is the green packet max_p, and the second value is the
 //			yellow packet max_p. The probability, max_p, is determined by adding one to the unsigned value
 //			(0..255) of this attribute and dividing the result by 256. The default for each value is 255.
-//			(R, W) (optional) (2 bytes)
+//			(R,-W) (optional) (2-bytes)
 //
 //		Queue Drop W_Q
 //			Queue drop w_q: This attribute determines the averaging coefficient, w_q, as described in
 //			[b-Floyd]. The averaging coefficient, w_q, is equal to 2Queue_drop_w_q. For example, when queue
-//			drop_w_q has the value 9, the averaging coefficient, w_q, is 1/512 = 0.001 9. The default value
-//			is 9. (R, W) (optional) (1 byte)
+//			drop_w_q has the value 9, the averaging coefficient, w_q, is 1/512-= 0.001-9. The default value
+//			is 9. (R,-W) (optional) (1-byte)
 //
 //		Drop Precedence Colour Marking
-//			(R, W) (optional) (1 byte)
+//			(R,-W) (optional) (1-byte)
 //
 type PriorityQueue struct {
 	ManagedEntityDefinition
@@ -191,32 +197,37 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFF,
+		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("QueueConfigurationOption", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("MaximumQueueSize", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3:  Uint16Field("AllocatedQueueSize", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  Uint16Field("DiscardBlockCounterResetInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5:  Uint16Field("ThresholdValueForDiscardedBlocksDueToBufferOverflow", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
-			6:  Uint32Field("RelatedPort", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  Uint16Field("TrafficSchedulerPointer", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  ByteField("Weight", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  Uint16Field("BackPressureOperation", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-			10: Uint32Field("BackPressureTime", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 10),
-			11: Uint16Field("BackPressureOccurQueueThreshold", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 11),
-			12: Uint16Field("BackPressureClearQueueThreshold", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 12),
-			13: Uint64Field("PacketDropQueueThresholds", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
-			14: Uint16Field("PacketDropMaxP", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 14),
-			15: ByteField("QueueDropWQ", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 15),
-			16: ByteField("DropPrecedenceColourMarking", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 16),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("QueueConfigurationOption", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("MaximumQueueSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field("AllocatedQueueSize", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field("DiscardBlockCounterResetInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field("ThresholdValueForDiscardedBlocksDueToBufferOverflow", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  Uint32Field("RelatedPort", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field("TrafficSchedulerPointer", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("Weight", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint16Field("BackPressureOperation", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint32Field("BackPressureTime", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint16Field("BackPressureOccurQueueThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint16Field("BackPressureClearQueueThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			13: Uint64Field("PacketDropQueueThresholds", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: Uint16Field("PacketDropMaxP", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField("QueueDropWQ", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField("DropPrecedenceColourMarking", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Block loss",
 		},
 	}
 }
 
-// NewPriorityQueue (class ID 277 creates the basic
+// NewPriorityQueue (class ID 277) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewPriorityQueue(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(priorityqueueBME, params...)
+	return NewManagedEntity(*priorityqueueBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/pseudowiremaintenanceprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/pseudowiremaintenanceprofile.go
new file mode 100644
index 0000000..65d5b89
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/pseudowiremaintenanceprofile.go
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PseudowireMaintenanceProfileClassID is the 16-bit ID for the OMCI
+// Managed entity Pseudowire maintenance profile
+const PseudowireMaintenanceProfileClassID ClassID = ClassID(284)
+
+var pseudowiremaintenanceprofileBME *ManagedEntityDefinition
+
+// PseudowireMaintenanceProfile (class ID #284)
+//	The pseudowire maintenance profile permits the configuration of pseudowire service exception
+//	handling. It is created and deleted by the OLT.
+//
+//	The settings, and indeed existence, of a pseudowire maintenance profile affect the behaviour of
+//	the pseudowire PM history data ME only in establishing criteria for counting SESs, but in no
+//	other way. The pseudowire maintenance profile primarily affects the alarms declared by the
+//	subscribing pseudowire TP.
+//
+//	Relationships
+//		One or more instances of the pseudowire TP may point to an instance of the pseudowire
+//		maintenance profile. If the pseudowire TP does not refer to a pseudowire maintenance profile,
+//		the ONU's default exception handling is implied.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
+//			reserved. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Jitter Buffer Maximum Depth
+//			Jitter buffer maximum depth: This attribute specifies the desired maximum depth of the playout
+//			buffer in the PSN to the TDM direction. The value is expressed as a multiple of the 125-vs frame
+//			rate. The default value 0 selects the ONU's internal policy. (R,-W, setbycreate) (optional)
+//			(2-bytes)
+//
+//		Jitter Buffer Desired Depth
+//			Jitter buffer desired depth: This attribute specifies the desired nominal fill depth of the
+//			playout buffer in the PSN to the TDM direction. The value is expressed as a multiple of the
+//			125-vs frame rate. The default value 0 selects the ONU's internal policy. (R,-W, setbycreate)
+//			(optional) (2-bytes)
+//
+//		Fill Policy
+//			(R,-W, setbycreate) (optional) (1-byte)
+//
+//		Misconnected Packets Declaration Policy
+//			Misconnected packets declaration policy: (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Misconnected Packets Clear Policy
+//			Misconnected packets clear policy: (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Loss Of Packets Declaration Policy
+//			Loss of packets declaration policy: (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Loss Of Packets Clear Policy
+//			Loss of packets clear policy: (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Buffer Overrun_Underrun Declaration Policy
+//			Buffer overrun/underrun declaration policy: (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Buffer Overrun_Underrun Clear Policy
+//			Buffer overrun/underrun clear policy: (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Malformed Packets Declaration Policy
+//			Malformed packets declaration policy: (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Malformed Packets Clear Policy
+//			Malformed packets clear policy: (R,-W, setbycreate) (optional) (1-byte)
+//
+//		R_Bit Transmit Set Policy
+//			R-bit transmit set policy: This attribute defines the number of consecutive lost packets that
+//			causes the transmitted R bit to be set in the TDM to the PSN direction, indicating lost packets
+//			to the far end. The default value 0 selects the ONU's internal policy. (R,-W, setbycreate)
+//			(optional) (1-byte)
+//
+//		R_Bit Transmit Clear Policy
+//			R-bit transmit clear policy: This attribute defines the number of consecutive valid packets that
+//			causes the transmitted R bit to be cleared in the TDM to the PSN direction, removing the remote
+//			failure indication to the far end. The default value 0 selects the ONU's internal policy. (R,-W,
+//			setbycreate) (optional) (1-byte)
+//
+//		R_Bit Receive Policy
+//			(R,-W, setbycreate) (optional) (1-byte)
+//
+//		L Bit Receive Policy
+//			(R,-W, setbycreate) (optional) (1-byte)
+//
+//		Ses Threshold
+//			SES threshold: Number of lost, malformed or otherwise unusable packets expected in the PSN to
+//			the TDM direction within a 1-s interval that causes an SES to be counted. Stray packets do not
+//			count towards an SES, nor do packets whose L bit is set at the far end. The value 0 specifies
+//			that the ONU uses its internal default, which is not necessarily the same as the recommended
+//			default value 3. (R, W, set-by-create) (optional) (2 bytes)
+//
+type PseudowireMaintenanceProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	pseudowiremaintenanceprofileBME = &ManagedEntityDefinition{
+		Name:    "PseudowireMaintenanceProfile",
+		ClassID: 284,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("JitterBufferMaximumDepth", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2:  Uint16Field("JitterBufferDesiredDepth", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  ByteField("FillPolicy", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField("MisconnectedPacketsDeclarationPolicy", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  ByteField("MisconnectedPacketsClearPolicy", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  ByteField("LossOfPacketsDeclarationPolicy", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  ByteField("LossOfPacketsClearPolicy", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  ByteField("BufferOverrunUnderrunDeclarationPolicy", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
+			9:  ByteField("BufferOverrunUnderrunClearPolicy", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: ByteField("MalformedPacketsDeclarationPolicy", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			11: ByteField("MalformedPacketsClearPolicy", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			12: ByteField("RBitTransmitSetPolicy", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: ByteField("RBitTransmitClearPolicy", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField("RBitReceivePolicy", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			15: ByteField("LBitReceivePolicy", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
+			16: Uint16Field("SesThreshold", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewPseudowireMaintenanceProfile (class ID 284) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPseudowireMaintenanceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*pseudowiremaintenanceprofileBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/pseudowireperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/pseudowireperformancemonitoringhistorydata.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/pseudowireperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/pseudowireperformancemonitoringhistorydata.go
index 599eb93..fc44a16 100644
--- a/vendor/github.com/cboling/omci/generated/pseudowireperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/pseudowireperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const PseudowirePerformanceMonitoringHistoryDataClassId ClassID = ClassID(285)
+// PseudowirePerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity Pseudowire performance monitoring history data
+const PseudowirePerformanceMonitoringHistoryDataClassID ClassID = ClassID(285)
 
 var pseudowireperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -30,7 +36,7 @@
 //	the PSN, and may therefore be considered egress PM. For the most part, ingress PM is collected
 //	at the CES PPTP ME.
 //
-//	NOTE – The pseudowire PM history data ME collects data similar, but not identical, to that
+//	NOTE - The pseudowire PM history data ME collects data similar, but not identical, to that
 //	available from the MAC bridge port PM history data ME associated with a MAC bridge. When the
 //	pseudowire is bridge-based, it may not be necessary to collect both.
 //
@@ -45,83 +51,83 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the pseudowire TP. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Received Packets
 //			Received packets: This attribute counts the total number of packets, both payload and
-//			signalling, received in the PSN to the TDM direction. (R) (mandatory) (4 bytes)
+//			signalling, received in the PSN to the TDM direction. (R) (mandatory) (4-bytes)
 //
 //		Transmitted Packets
 //			Transmitted packets: This attribute counts the total number of packets, both payload and
 //			signalling, transmitted in the TDM to the PSN direction. The count includes packets whose L bit
-//			is set and which may therefore not contain a payload. (R) (mandatory) (4 bytes)
+//			is set and which may therefore not contain a payload. (R) (mandatory) (4-bytes)
 //
 //		Missing Packets
 //			Missing packets: This attribute counts the number of lost packets, as indicated by gaps in the
 //			control word numbering sequence. Both payload and signalling packets, if any, contribute to this
-//			count. (R) (mandatory) (4 bytes)
+//			count. (R) (mandatory) (4-bytes)
 //
 //		Misordered Packets, Usable
 //			Misordered packets, usable: This attribute counts the number of packets received out of order,
 //			but which were able to be successfully re-ordered and played out. Both payload and signalling
-//			packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
+//			packets, if any, contribute to this count. (R) (mandatory) (4-bytes)
 //
 //		Misordered Packets Dropped
 //			Misordered packets dropped: This attribute counts the number of packets received out of sequence
 //			that were discarded, either because the ONU did not support reordering or because it was too
 //			late to reorder them. Both payload and signalling packets, if any, contribute to this count. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Playout Buffer Underruns_Overruns
 //			Playout buffer underruns/overruns: This attribute counts the number of packets that were
 //			discarded because they arrived too late or too early to be played out. Both payload and
-//			signalling packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
+//			signalling packets, if any, contribute to this count. (R) (mandatory) (4-bytes)
 //
 //		Malformed Packets
 //			Malformed packets: This attribute counts the number of malformed packets, e.g., because the
 //			packet length was not as expected or because of an unexpected RTP payload type. Both payload and
-//			signalling packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
+//			signalling packets, if any, contribute to this count. (R) (mandatory) (4-bytes)
 //
 //		Stray Packets
 //			Stray packets: This attribute counts the number of packets whose ECID or RTP SSRC failed to
 //			match the expected value, or which are otherwise known to have been misdelivered. Stray packets
 //			are discarded without affecting any of the other PM counters. Both payload and signalling
-//			packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
+//			packets, if any, contribute to this count. (R) (mandatory) (4-bytes)
 //
 //		Remote Packet Loss
 //			Remote packet loss: This attribute counts received packets whose R bit is set, indicating the
 //			loss of packets at the far end. Both payload and signalling packets, if any, contribute to this
-//			count. (R) (mandatory) (4 bytes)
+//			count. (R) (mandatory) (4-bytes)
 //
 //		Tdm L_Bit Packets Transmitted
 //			TDM L-bit packets transmitted: This attribute counts the number of packets transmitted with the
 //			L bit set, indicating a near-end TDM fault. Both payload and signalling packets, if any,
-//			contribute to this count. (R) (mandatory) (4 bytes)
+//			contribute to this count. (R) (mandatory) (4-bytes)
 //
 //		Es
 //			ES:	This attribute counts errored seconds. Any discarded, lost, malformed or unusable packet
 //			received from the PSN during a given second causes this counter to increment. Both payload and
-//			signalling packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
+//			signalling packets, if any, contribute to this count. (R) (mandatory) (4-bytes)
 //
 //		Ses
 //			SES:	This attribute counts severely errored seconds. The criterion for an SES may be configured
 //			through the pseudowire maintenance profile ME. Both payload and signalling packets, if any,
-//			contribute to this count. (R) (mandatory) (4 bytes)
+//			contribute to this count. (R) (mandatory) (4-bytes)
 //
 //		Uas
 //			UAS:	This attribute counts unavailable seconds. An unavailable second begins at the onset of 10
 //			consecutive SES and ends at the onset of 10 consecutive seconds that are not severely errored. A
 //			service is unavailable if either its payload or its signalling, if any, are unavailable. During
 //			unavailable time, only UAS should be counted; other anomalies should not be counted. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 type PseudowirePerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -138,31 +144,45 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFE,
+		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("ReceivedPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("TransmittedPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("MissingPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("MisorderedPackets,Usable", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("MisorderedPacketsDropped", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("PlayoutBufferUnderrunsOverruns", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("MalformedPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("StrayPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("RemotePacketLoss", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("TdmLBitPacketsTransmitted", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("Es", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("Ses", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("Uas", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("ReceivedPackets", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("TransmittedPackets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("MissingPackets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("MisorderedPackets,Usable", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("MisorderedPacketsDropped", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("PlayoutBufferUnderrunsOverruns", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("MalformedPackets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("StrayPackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("RemotePacketLoss", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("TdmLBitPacketsTransmitted", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("Es", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("Ses", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("Uas", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Missing packets",
+			1: "Misordered packets, usable",
+			2: "Misordered packets dropped",
+			3: "Playout buffer underruns/overruns",
+			4: "Malformed packets",
+			5: "Stray packets",
+			6: "Remote packet loss",
+			7: "ES",
+			8: "SES",
+			9: "UAS",
 		},
 	}
 }
 
-// NewPseudowirePerformanceMonitoringHistoryData (class ID 285 creates the basic
+// NewPseudowirePerformanceMonitoringHistoryData (class ID 285) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewPseudowirePerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(pseudowireperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*pseudowireperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/pseudowireterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/generated/pseudowireterminationpoint.go
new file mode 100644
index 0000000..f5406c9
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/pseudowireterminationpoint.go
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PseudowireTerminationPointClassID is the 16-bit ID for the OMCI
+// Managed entity Pseudowire termination point
+const PseudowireTerminationPointClassID ClassID = ClassID(282)
+
+var pseudowireterminationpointBME *ManagedEntityDefinition
+
+// PseudowireTerminationPoint (class ID #282)
+//	The pseudowire TP supports packetized (rather than TDM) transport of TDM services, transported
+//	either directly over Ethernet, over UDP/IP or over MPLS. Instances of this ME are created and
+//	deleted by the OLT.
+//
+//	Relationships
+//		One pseudowire TP ME exists for each distinct TDM service that is mapped to a pseudowire.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Underlying Transport
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Service Type
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Signalling
+//			(R,-W, setbycreate) (mandatory for structured service type) (1-byte)
+//
+//		Tdm Uni Pointer
+//			TDM UNI pointer: If service type-= structured, this attribute points to a logical N-* 64-kbit/s
+//			subport CTP. Otherwise, this attribute points to a PPTP CES UNI. (R,-W, setbycreate) (mandatory)
+//			(2-bytes)
+//
+//		North_Side Pointer
+//			North-side pointer: When the pseudowire service is transported via IP, as indicated by the
+//			underlying transport attribute, the northside pointer attribute points to an instance of the
+//			TCP/UDP config data ME. When the pseudowire service is transported directly over Ethernet, the
+//			north-side pointer attribute is not used - the linkage to the Ethernet flow TP is implicit in
+//			the ME IDs. When the pseudowire service is transported over MPLS, the northside pointer
+//			attribute points to an instance of the MPLS PW TP. (R, W, setbycreate) (mandatory) (2 bytes)
+//
+//		Far_End Ip Info
+//			A null pointer is appropriate if the pseudowire is not transported via IP. (R,-W, setbycreate)
+//			(mandatory for IP transport) (2-bytes)
+//
+//		Payload Size
+//			(R,-W, setbycreate) (mandatory for unstructured service) (2-bytes)
+//
+//		Payload Encapsulation Delay
+//			(R,-W, setbycreate) (mandatory for structured service) (1-byte)
+//
+//		Timing Mode
+//			(R,-W) (mandatory) (1-byte)
+//
+//		Transmit Circuit Id
+//			(R,-W) (mandatory for MEF 8 transport) (8-bytes)
+//
+//		Expected Circuit Id
+//			(R,-W) (optional for MEF 8 transport) (8-bytes)
+//
+//		Received Circuit Id
+//			Received circuit ID: This attribute indicates the actual ECID(s) received on the payload and
+//			signalling channels, respectively. It may be used for diagnostic purposes. (R) (optional for MEF
+//			8 transport) (8-bytes)
+//
+//		Exception Policy
+//			Exception policy: This attribute points to an instance of the pseudowire maintenance profile ME.
+//			If the pointer has its default value 0, the ONU's internal defaults apply. (R,-W) (optional)
+//			(2-bytes)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+type PseudowireTerminationPoint struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	pseudowireterminationpointBME = &ManagedEntityDefinition{
+		Name:    "PseudowireTerminationPoint",
+		ClassID: 282,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("UnderlyingTransport", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField("ServiceType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField("Signalling", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field("TdmUniPointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field("NorthSidePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field("FarEndIpInfo", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field("PayloadSize", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField("PayloadEncapsulationDelay", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField("TimingMode", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint64Field("TransmitCircuitId", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint64Field("ExpectedCircuitId", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint64Field("ReceivedCircuitId", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint16Field("ExceptionPolicy", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField("Arc", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), true, true, false, 14),
+			15: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewPseudowireTerminationPoint (class ID 282) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPseudowireTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*pseudowireterminationpointBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/pwatmconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/generated/pwatmconfigurationdata.go
new file mode 100644
index 0000000..84fa584
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/pwatmconfigurationdata.go
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PwAtmConfigurationDataClassID is the 16-bit ID for the OMCI
+// Managed entity PW ATM configuration data
+const PwAtmConfigurationDataClassID ClassID = ClassID(337)
+
+var pwatmconfigurationdataBME *ManagedEntityDefinition
+
+// PwAtmConfigurationData (class ID #337)
+//	This ME contains generic configuration data for an ATM pseudowire. Definitions of attributes are
+//	from PW-ATM-MIB [IETF RFC 5605]. Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of the MPLS pseudowire TP ME with a
+//		pseudowire type attribute equal to one of the following.////		2	ATM AAL5 SDU VCC transport////		3	ATM transparent cell transport////		9	ATM n-to-one VCC cell transport////		10	ATM n-to-one VPC cell transport////		12	ATM one-to-one VCC cell mode////		13	ATM one-to-one VPC cell mode////		14	ATM AAL5 PDU VCC transport////		Alternatively, an instance of this ME may be associated with an Ethernet flow TP or a TCP/UDP
+//		config data ME, depending on the transport layer of the pseudowire.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R,
+//			setbycreate)-(mandatory) (2 bytes)
+//
+//		Tp Type
+//			2	TCP/UDP config data
+//
+//		Transport Tp Pointer
+//			Transport TP pointer: This attribute points to an associated instance of the transport layer TP,
+//			whose type is specified by the TP type attribute. (R, W, setbycreate) (mandatory) (2 bytes)
+//
+//		Pptp Atm Uni Pointer
+//			PPTP ATM UNI pointer: This attribute points to an associated instance of the ITU-T G.983.2 PPTP
+//			ATM UNI. Refer to [ITUT G.983.2] for the definition of the target ME. (R, W, setbycreate)
+//			(mandatory) (2 bytes)
+//
+//		Max C Ell C Oncatenation
+//			Max cell concatenation: This attribute specifies the maximum number of ATM cells that can be
+//			concatenated into one PW packet in the upstream direction. (R, W, setbycreate) (mandatory) (2
+//			bytes)
+//
+//		Far End M Ax C Ell C Oncatenation
+//			Far-end max cell concatenation: This attribute specifies the maximum number of ATM cells that
+//			can be concatenated into one PW packet as provisioned at the far end. This attribute may be used
+//			for error checking of downstream traffic. The value 0 specifies that the ONU uses its internal
+//			default. (R, W, set-by-create) (optional) (2 bytes)
+//
+//		Atm Cell Loss Priority Clp Qos Mapping
+//			The value 0 specifies that the ONU uses its internal default. (R, W, setbycreate) (optional) (1
+//			byte)
+//
+//		Timeout Mode
+//			The value 0 specifies that the ONU uses its internal default. (R, W, setbycreate) (optional) (1
+//			byte)
+//
+//		Pw Atm Mapping Table
+//			(R,-W) (mandatory) (21N bytes, where N is the number of entries in the list)
+//
+type PwAtmConfigurationData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	pwatmconfigurationdataBME = &ManagedEntityDefinition{
+		Name:    "PwAtmConfigurationData",
+		ClassID: 337,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetNext,
+			Set,
+		),
+		AllowedAttributeMask: 0xff00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("TpType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("TransportTpPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("PptpAtmUniPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field("MaxCEllCOncatenation", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint16Field("FarEndMAxCEllCOncatenation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: ByteField("AtmCellLossPriorityClpQosMapping", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7: ByteField("TimeoutMode", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8: TableField("PwAtmMappingTable", TableAttributeType, 0x0100, TableInfo{nil, 21}, mapset.NewSetWith(Read, Write), false, false, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewPwAtmConfigurationData (class ID 337) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPwAtmConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*pwatmconfigurationdataBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/pwatmperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/pwatmperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..44442e0
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/pwatmperformancemonitoringhistorydata.go
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// PwAtmPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity PW ATM performance monitoring history data
+const PwAtmPerformanceMonitoringHistoryDataClassID ClassID = ClassID(338)
+
+var pwatmperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// PwAtmPerformanceMonitoringHistoryData (class ID #338)
+//	This ME collects PM data associated with an ATM pseudowire. Instances of this ME are created and
+//	deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of the PW ATM configuration data ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to the instance of the PW ATM configuration data ME.
+//			(R, setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Downstream Missing Packets Counter
+//			Downstream missing packets counter: This attribute counts missing packets, as detected via
+//			control word sequence number gaps. (R) (mandatory) (4-bytes)
+//
+//		Downstream Reordered Packets Counter
+//			Downstream reordered packets counter: This attribute counts packets detected out of sequence via
+//			the control word sequence number, but successfully reordered. Some implementations may not
+//			support this feature. (R) (optional) (4-bytes)
+//
+//		Downstream Misordered Packets Counter
+//			Downstream misordered packets counter: This attribute counts packets detected out of order via
+//			the control word sequence numbers. (R) (mandatory) (4-bytes)
+//
+//		Upstream Timeout Packets Counter
+//			Upstream timeout packets counter: This attribute counts packets transmitted due to timeout
+//			expiration while attempting to collect cells. (R) (mandatory) (4-bytes)
+//
+//		Upstream Transmitted Cells Counter
+//			Upstream transmitted cells counter: This attribute counts transmitted cells. (R) (mandatory)
+//			(4-bytes)
+//
+//		Upstream Dropped Cells Counter
+//			Upstream dropped cells counter: This attribute counts dropped cells. (R) (mandatory) (4-bytes)
+//
+//		Upstream Received Cells Counter
+//			Upstream received cells counter: This attribute counts received cells. (R) (mandatory) (4-bytes)
+//
+type PwAtmPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	pwatmperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "PwAtmPerformanceMonitoringHistoryData",
+		ClassID: 338,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xff80,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("DownstreamMissingPacketsCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("DownstreamReorderedPacketsCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint32Field("DownstreamMisorderedPacketsCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("UpstreamTimeoutPacketsCounter", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("UpstreamTransmittedCellsCounter", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field("UpstreamDroppedCellsCounter", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9: Uint32Field("UpstreamReceivedCellsCounter", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "Downstream missing packets",
+			2: "Downstream reordered packets",
+			3: "Downstream timeout packets",
+			4: "Upstream dropped cells",
+		},
+	}
+}
+
+// NewPwAtmPerformanceMonitoringHistoryData (class ID 338) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewPwAtmPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*pwatmperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/pwethernetconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/generated/pwethernetconfigurationdata.go
similarity index 67%
rename from vendor/github.com/cboling/omci/generated/pwethernetconfigurationdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/pwethernetconfigurationdata.go
index 6bcb70b..187b195 100644
--- a/vendor/github.com/cboling/omci/generated/pwethernetconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/pwethernetconfigurationdata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const PwEthernetConfigurationDataClassId ClassID = ClassID(339)
+// PwEthernetConfigurationDataClassID is the 16-bit ID for the OMCI
+// Managed entity PW Ethernet configuration data
+const PwEthernetConfigurationDataClassID ClassID = ClassID(339)
 
 var pwethernetconfigurationdataBME *ManagedEntityDefinition
 
@@ -36,14 +42,14 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate)-(mandatory) (2 bytes)
 //
 //		Mpls Pseudowire Tp Pointer
 //			MPLS pseudowire TP pointer: This attribute points to an instance of the MPLS pseudowire TP ME
 //			associated with this ME. (R, W, setbycreate) (mandatory) (2 bytes)
 //
 //		Tp Type
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Uni Pointer
 //			UNI pointer: This attribute points to the associated instance of a UNI-side ME. The type of UNI
@@ -64,19 +70,21 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XE000,
+		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("MplsPseudowireTpPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("TpType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("UniPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("MplsPseudowireTpPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("TpType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("UniPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewPwEthernetConfigurationData (class ID 339 creates the basic
+// NewPwEthernetConfigurationData (class ID 339) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewPwEthernetConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(pwethernetconfigurationdataBME, params...)
+	return NewManagedEntity(*pwethernetconfigurationdataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/radiusperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/radiusperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..778ea9f
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/radiusperformancemonitoringhistorydata.go
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// RadiusPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity Radius performance monitoring history data
+const RadiusPerformanceMonitoringHistoryDataClassID ClassID = ClassID(293)
+
+var radiusperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// RadiusPerformanceMonitoringHistoryData (class ID #293)
+//	This ME collects performance statistics on an ONU's radius client, particularly as related to
+//	its IEEE-802.1X operation.
+//
+//	Instances of this ME are created and deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an ONU.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID (namely 0), this ME is implicitly linked to an instance of a dot1X configuration
+//			profile. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Access_Request Packets Transmitted
+//			Access-request packets transmitted: This attribute counts transmitted radius access-request
+//			messages, including retransmissions. (R) (mandatory) (4-bytes)
+//
+//		Access_Request Retransmission Count
+//			Access-request retransmission count: This attribute counts radius access-request
+//			retransmissions. (R) (mandatory) (4-bytes)
+//
+//		Access_Challenge Packets Received
+//			Access-challenge packets received: This attribute counts received radius access-challenge
+//			messages. (R) (mandatory) (4-bytes)
+//
+//		Access_Accept Packets Received
+//			Access-accept packets received: This attribute counts received radius access-accept messages.
+//			(R) (mandatory) (4-bytes)
+//
+//		Access_Reject Packets Received
+//			Access-reject packets received: This attribute counts received radius access-reject messages.
+//			(R) (mandatory) (4-bytes)
+//
+//		Invalid Radius Packets Received
+//			Invalid radius packets received: This attribute counts received invalid radius messages. (R)
+//			(mandatory) (4-bytes)
+//
+type RadiusPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	radiusperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "RadiusPerformanceMonitoringHistoryData",
+		ClassID: 293,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xff00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("AccessRequestPacketsTransmitted", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("AccessRequestRetransmissionCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("AccessChallengePacketsReceived", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("AccessAcceptPacketsReceived", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("AccessRejectPacketsReceived", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field("InvalidRadiusPacketsReceived", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "Retransmission count",
+			5: "Invalid radius packets received",
+		},
+	}
+}
+
+// NewRadiusPerformanceMonitoringHistoryData (class ID 293) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewRadiusPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*radiusperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/reani-g.go b/vendor/github.com/opencord/omci-lib-go/generated/reani-g.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/reani-g.go
rename to vendor/github.com/opencord/omci-lib-go/generated/reani-g.go
index 7ee4996..6b696d6 100644
--- a/vendor/github.com/cboling/omci/generated/reani-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/reani-g.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const ReAniGClassId ClassID = ClassID(313)
+// ReAniGClassID is the 16-bit ID for the OMCI
+// Managed entity RE ANI-G
+const ReAniGClassID ClassID = ClassID(313)
 
 var reanigBME *ManagedEntityDefinition
 
@@ -30,11 +36,11 @@
 //	OEO regeneration in either direction. The management ONU automatically creates one instance of
 //	this ME for each R'/S' physical port (uni- or bidirectional) as follows.
 //
-//	•	When the RE has mid-span PON RE ANI interface ports built into its 	factory configuration.
+//	o	When the RE has mid-span PON RE ANI interface ports built into its 	factory configuration.
 //
-//	•	When a cardholder is provisioned to expect a circuit pack of the mid-span PON RE ANI type.
+//	o	When a cardholder is provisioned to expect a circuit pack of the mid-span PON RE ANI type.
 //
-//	•	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the midspan
+//	o	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the midspan
 //	PON RE ANI type. Note that the installation of a plug-and-play card may indicate the presence of
 //	a mid-span PON RE ANI port via equipment ID as well as its type attribute, and indeed may cause
 //	the management ONU to instantiate a port-mapping package to specify the ports precisely.
@@ -62,11 +68,11 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			NOTE 1 – This ME ID may be identical to that of an RE downstream amplifier if it shares the same
+//			NOTE 1 - This ME ID may be identical to that of an RE downstream amplifier if it shares the same
 //			physical slot and port.
 //
 //		Administrative State
-//			NOTE 2 – When an RE supports multiple PONs, or protected access to a single PON, its primary
+//			NOTE 2 - When an RE supports multiple PONs, or protected access to a single PON, its primary
 //			ANI-G cannot be completely shut down, due to a loss of the management communications capability.
 //			Complete blocking of service and removal of power may nevertheless be appropriate for secondary
 //			RE ANI-Gs. Administrative lock suppresses alarms and notifications for an RE ANI-G, be it either
@@ -74,47 +80,47 @@
 //
 //		Operational State
 //			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
 //
 //		Arc
-//			ARC:	See clause A.1.4.3. (R, W) (optional) (1 byte)
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 //		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R, W) (optional) (1 byte)
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 //		Optical Signal Level
 //			Optical signal level: This attribute reports the current measurement of total downstream optical
-//			power. Its value is a 2s complement integer referred to 1 mW (i.e., dBm), with 0.002 dB
-//			granularity. (R) (optional) (2 bytes)
+//			power. Its value is a 2s complement integer referred to 1-mW (i.e., dBm), with 0.002-dB
+//			granularity. (R) (optional) (2-bytes)
 //
 //		Lower Optical Threshold
 //			Lower optical threshold: This attribute specifies the optical level that the RE uses to declare
-//			the downstream low received optical power alarm. Valid values are –127 dBm (coded as 254) to
-//			0 dBm (coded as 0) in 0.5 dB increments. The default value 0xFF selects the RE's internal
-//			policy. (R, W) (optional) (1 byte)
+//			the downstream low received optical power alarm. Valid values are  -127-dBm (coded as 254) to
+//			0-dBm (coded as 0) in 0.5-dB increments. The default value 0xFF selects the RE's internal
+//			policy. (R,-W) (optional) (1-byte)
 //
 //		Upper Optical Threshold
 //			Upper optical threshold: This attribute specifies the optical level that the RE uses to declare
-//			the downstream high received optical power alarm. Valid values are –127 dBm (coded as 254) to
-//			0 dBm (coded as 0) in 0.5 dB increments. The default value 0xFF selects the RE's internal
-//			policy. (R, W) (optional) (1 byte)
+//			the downstream high received optical power alarm. Valid values are  -127-dBm (coded as 254) to
+//			0-dBm (coded as 0) in 0.5 dB increments. The default value 0xFF selects the RE's internal
+//			policy. (R,-W) (optional) (1-byte)
 //
 //		Transmit Optical Level
 //			Transmit optical level: This attribute reports the current measurement of mean optical launch
-//			power. Its value is a 2s complement integer referred to 1 mW (i.e., dBm), with 0.002 dB
-//			granularity. (R) (optional) (2 bytes)
+//			power. Its value is a 2s complement integer referred to 1-mW (i.e., dBm), with 0.002-dB
+//			granularity. (R) (optional) (2-bytes)
 //
 //		Lower Transmit Power Threshold
 //			Lower transmit power threshold: This attribute specifies the minimum mean optical launch power
-//			that the RE uses to declare the low transmit optical power alarm. Its value is a 2s complement
-//			integer referred to 1 mW (i.e., dBm), with 0.5 dB granularity. The default value 0x7F selects
-//			the RE's internal policy. (R, W) (optional) (1 byte)
+//			that the RE uses to declare the low transmit optical power alarm. Its value is a 2s-complement
+//			integer referred to 1-mW (i.e., dBm), with 0.5-dB granularity. The default value 0x7F selects
+//			the RE's internal policy. (R,-W) (optional) (1-byte)
 //
 //		Upper Transmit Power Threshold
 //			Upper transmit power threshold: This attribute specifies the maximum mean optical launch power
-//			that the RE uses to declare the high transmit optical power alarm. Its value is a 2s complement
-//			integer referred to 1 mW (i.e., dBm), with 0.5 dB granularity. The default value 0x7F selects
-//			the RE's internal policy. (R, W) (optional) (1 byte)
+//			that the RE uses to declare the high transmit optical power alarm. Its value is a 2s-complement
+//			integer referred to 1-mW (i.e., dBm), with 0.5-dB granularity. The default value 0x7F selects
+//			the RE's internal policy. (R,-W) (optional) (1-byte)
 //
 //		Usage Mode
 //			3	This R'/S' interface is used as the uplink for both the embedded management ONU and one or
@@ -159,30 +165,39 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFC,
+		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 2),
-			3:  ByteField("Arc", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 3),
-			4:  ByteField("ArcInterval", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5:  Uint16Field("OpticalSignalLevel", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6:  ByteField("LowerOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7:  ByteField("UpperOpticalThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 7),
-			8:  Uint16Field("TransmitOpticalLevel", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
-			9:  ByteField("LowerTransmitPowerThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-			10: ByteField("UpperTransmitPowerThreshold", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
-			11: ByteField("UsageMode", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 11),
-			12: Uint32Field("TargetUpstreamFrequency", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: Uint32Field("TargetDownstreamFrequency", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
-			14: ByteField("UpstreamSignalTransmissionMode", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 14),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field("OpticalSignalLevel", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField("LowerOpticalThreshold", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField("UpperOpticalThreshold", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  Uint16Field("TransmitOpticalLevel", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField("LowerTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField("UpperTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField("UsageMode", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint32Field("TargetUpstreamFrequency", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint32Field("TargetDownstreamFrequency", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField("UpstreamSignalTransmissionMode", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Low received optical power",
+			1: "High received optical power",
+			2: "Low transmit optical power",
+			3: "High transmit optical power",
+			4: "High laser bias current",
 		},
 	}
 }
 
-// NewReAniG (class ID 313 creates the basic
+// NewReAniG (class ID 313) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewReAniG(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(reanigBME, params...)
+	return NewManagedEntity(*reanigBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/recommonamplifierparameters.go b/vendor/github.com/opencord/omci-lib-go/generated/recommonamplifierparameters.go
new file mode 100644
index 0000000..bc83606
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/recommonamplifierparameters.go
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// ReCommonAmplifierParametersClassID is the 16-bit ID for the OMCI
+// Managed entity RE common amplifier parameters
+const ReCommonAmplifierParametersClassID ClassID = ClassID(328)
+
+var recommonamplifierparametersBME *ManagedEntityDefinition
+
+// ReCommonAmplifierParameters (class ID #328)
+//	This ME organizes data associated with each OA supported by the RE. The management ONU
+//	automatically creates one instance of this ME for each upstream or downstream OA.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of the RE downstream amplifier or RE
+//		upstream amplifier ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			NOTE - The type of the linked ME can be determined by uniqueness of slot and port.
+//
+//		Gain
+//			Gain:	This attribute reports the current measurement of the OA's gain, in decibels. Its value is
+//			a 2s complement integer with 0.25-dB granularity, and with a range from -32-dB to 31.5-dB. The
+//			value 0x7F indicates that the current measured gain is 0, i.e., negative infinity in decibels
+//			terms. (R) (optional) (1-byte)
+//
+//		Lower Gain Threshold
+//			Lower gain threshold: This attribute specifies the gain the RE uses to declare the low gain
+//			alarm. Valid values are 0-dB (coded as 0x00) to 63.5-dB (coded as 0xFE). The default value 0xFF
+//			selects the RE's internal policy. (R,-W) (optional) (1-byte)
+//
+//		Upper Gain Threshold
+//			Upper gain threshold: This attribute specifies the gain the RE uses to declare the high gain
+//			alarm. Valid values are 0-dB (coded as 0x00) to 63.5-dB (coded as 0xFE). The default value 0xFF
+//			selects the RE's internal policy. (R,-W) (optional) (1-byte)
+//
+//		Target Gain
+//			Target gain:	This attribute specifies the target gain, when the operational mode of the parent
+//			RE downstream or upstream amplifier is set to constant gain mode. Valid values are 0-dB (coded
+//			as 0x00) to 63.5-dB (coded as 0xFE). The default value 0xFF selects the RE's internal policy.
+//			(R,-W) (optional) (1-byte)
+//
+//		Device Temperature
+//			Device temperature: This attribute reports the temperature in degrees Celcius of the active
+//			device (SOA or pump) in the OA. Its value is a 2s complement integer with granularity
+//			1/256-degree-C. (R) (optional) (2-bytes)
+//
+//		Lower Device Temperature Threshold
+//			Lower device temperature threshold: This attribute is a 2s complement integer that specifies the
+//			temperature the RE uses to declare the low temperature alarm. Valid values are -64 to
+//			+63-degree-C in 0.5-degree-C increments. The default value 0x7F selects the RE's internal
+//			policy. (R,-W) (optional) (1-byte)
+//
+//		Upper Device Temperature Threshold
+//			Upper device temperature threshold: This attribute is a 2s complement integer that specifies the
+//			temperature the RE uses to declare the high temperature alarm. Valid values are -64 to
+//			+63-degree-C in 0.5-degree-C increments. The default value 0x7F selects the RE's internal
+//			policy. (R,-W) (optional) (1-byte)
+//
+//		Device Bias Current
+//			Device bias current: This attribute contains the measured bias current applied to the SOA or
+//			pump laser. Its value is an unsigned integer with granularity 2-mA. Valid values are 0 to
+//			512-mA. (R) (optional) (1-byte)
+//
+//		Amplifier Saturation Output Power
+//			Amplifier saturation output power: This attribute reports the saturation output power of the
+//			amplifier as specified by the manufacturer. Its value is an unsigned integer referred to 1-mW
+//			(i.e., dBm), with 0.1-dB granularity. (R) (optional) (2-bytes)
+//
+//		Amplifier Noise Figure
+//			Amplifier noise figure: This attribute reports the intrinsic noise figure of the amplifier, as
+//			specified by the manufacturer. Its value is an unsigned integer with 0.1-dB granularity (R)
+//			(optional) (1-byte)
+//
+//		Amplifier Saturation Gain
+//			Amplifier saturation gain: This attribute reports the gain of the amplifier at saturation, as
+//			specified by the manufacturer. Its value is an unsigned integer with 0.25-dB granularity, and
+//			with a range from 0 to 63.75-dB. (R) (optional) (1-byte)
+//
+type ReCommonAmplifierParameters struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	recommonamplifierparametersBME = &ManagedEntityDefinition{
+		Name:    "ReCommonAmplifierParameters",
+		ClassID: 328,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffe0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("Gain", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, true, false, 1),
+			2:  ByteField("LowerGainThreshold", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3:  ByteField("UpperGainThreshold", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  ByteField("TargetGain", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field("DeviceTemperature", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField("LowerDeviceTemperatureThreshold", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField("UpperDeviceTemperatureThreshold", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField("DeviceBiasCurrent", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint16Field("AmplifierSaturationOutputPower", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField("AmplifierNoiseFigure", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField("AmplifierSaturationGain", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Low gain",
+			1: "High gain",
+			2: "Low temperature",
+			3: "High temperature",
+			4: "High bias current",
+			5: "High temperature shutdown",
+			6: "High current shutdown",
+		},
+	}
+}
+
+// NewReCommonAmplifierParameters (class ID 328) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewReCommonAmplifierParameters(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*recommonamplifierparametersBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/redownstreamamplifier.go b/vendor/github.com/opencord/omci-lib-go/generated/redownstreamamplifier.go
new file mode 100644
index 0000000..f5176d9
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/redownstreamamplifier.go
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// ReDownstreamAmplifierClassID is the 16-bit ID for the OMCI
+// Managed entity RE downstream amplifier
+const ReDownstreamAmplifierClassID ClassID = ClassID(316)
+
+var redownstreamamplifierBME *ManagedEntityDefinition
+
+// ReDownstreamAmplifier (class ID #316)
+//	This ME organizes data associated with each OA for downstream data supported by the RE. The
+//	management ONU automatically creates one instance of this ME for each downstream OA as follows.
+//
+//	o	When the RE has mid-span PON RE downstream OA ports built into its factory configuration.
+//
+//	o	When a cardholder is provisioned to expect a circuit pack of the mid-span PON RE downstream OA
+//	type.
+//
+//	o	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the midspan
+//	PON RE downstream OA type. Note that the installation of a plug-and-play card may indicate the
+//	presence of a mid-span PON RE downstream OA via equipment ID as well as its type attribute, and
+//	indeed may cause the management ONU to instantiate a port-mapping package to specify the ports
+//	precisely.
+//
+//	The management ONU automatically deletes instances of this ME when a cardholder is neither
+//	provisioned to expect a mid-span PON RE downstream OA circuit pack, nor is it equipped with a
+//	mid-span PON RE downstream OA circuit pack.
+//
+//	Relationships
+//		An instance of this ME is associated with a downstream OA and with an instance of a circuit
+//		pack. If the RE includes OEO regeneration in either direction, the RE downstream amplifier is
+//		also associated with an RE ANI-G. Refer to clause-9.14.1 for further discussion.
+//
+//	Attributes
+//		Managed Entity Id
+//			NOTE 1 - This ME ID may be identical to that of an RE ANI-G if it shares the same physical slot-
+//			port.
+//
+//		Administrative State
+//			NOTE 2- When an RE supports multiple PONs, or protected access to a single PON, its primary
+//			ANI-G cannot be completely shut down, due to a loss of the management communications capability.
+//			Complete blocking of service and removal of power may nevertheless be appropriate for secondary
+//			RE ANI-Gs. Administrative lock suppresses alarms and notifications for both primary and
+//			secondary RE ANI-Gs. Administrative lock suppresses alarms and notifications for an RE
+//			downstream amplifier, be it either primary or secondary.
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Operational Mode
+//			(R,W) (mandatory) (1-byte)
+//
+//		Input Optical Signal Level
+//			Input optical signal level: This attribute reports the current measurement of the input optical
+//			signal power of the downstream OA. Its value is a 2s-complement integer referred to 1-mW (i.e.,
+//			dBm), with 0.002-dB granularity. (R) (optional) (2-bytes)
+//
+//		Lower Input Optical Threshold
+//			Lower input optical threshold: This attribute specifies the optical level the RE uses to declare
+//			the low received optical power alarm. Valid values are -127-dBm (coded as 254) to 0-dBm (coded
+//			as 0) in 0.5-dB increments. The default value 0xFF selects the RE's internal policy. (R,-W)
+//			(optional) (1-byte)
+//
+//		Upper Input Optical Threshold
+//			Upper input optical threshold: This attribute specifies the optical level the RE uses to declare
+//			the high received optical power alarm. Valid values are -127-dBm (coded as 254) to 0-dBm (coded
+//			as 0) in 0.5-dB increments. The default value 0xFF selects the RE's internal policy. (R,-W)
+//			(optional) (1-byte)
+//
+//		Output Optical Signal Level
+//			Output optical signal level: This attribute reports the current measurement of the mean optical
+//			launch power of the downstream OA. Its value is a 2s-complement integer referred to 1-mW (i.e.,
+//			dBm), with 0.002-dB granularity. (R) (optional) (2-bytes)
+//
+//		Lower Output Optical Threshold
+//			Lower output optical threshold: This attribute specifies the minimum mean optical launch power
+//			that the RE uses to declare the low transmit optical power alarm. Its value is a 2s complement
+//			integer referred to 1-mW (i.e., dBm), with 0.5-dB granularity. The default value 0x7F selects
+//			the RE's internal policy. (R,-W) (optional) (1-byte)
+//
+//		Upper Output Optical Threshold
+//			Upper output optical threshold: This attribute specifies the maximum mean optical launch power
+//			that the RE uses to declare the high transmit optical power alarm. Its value is a 2s complement
+//			integer referred to 1-mW (i.e., dBm), with 0.5-dB granularity. The default value 0x7F selects
+//			the RE's internal policy. (R,-W) (optional) (1-byte)
+//
+//		R'S' Splitter Coupling Ratio
+//			R'S' splitter coupling ratio: This attribute reports the coupling ratio of the splitter at the
+//			R'/S' interface that connects the embedded management ONU and the amplifiers to the OTL. Valid
+//			values are 99:1 (coded as 99-decimal) to 1:99 (coded as 1 decimal), where the first value is the
+//			value encoded and is the percentage of the optical signal connected to the amplifier. The
+//			default value 0xFF indicates that there is no splitter connected to this upstream/downstream
+//			amplifier pair. (R) (optional) (1-byte)
+//
+type ReDownstreamAmplifier struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	redownstreamamplifierBME = &ManagedEntityDefinition{
+		Name:    "ReDownstreamAmplifier",
+		ClassID: 316,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+			Test,
+		),
+		AllowedAttributeMask: 0xfff0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField("OperationalMode", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field("InputOpticalSignalLevel", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  ByteField("LowerInputOpticalThreshold", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField("UpperInputOpticalThreshold", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  Uint16Field("OutputOpticalSignalLevel", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField("LowerOutputOpticalThreshold", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField("UpperOutputOpticalThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField("R'S'SplitterCouplingRatio", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Low received optical power",
+			1: "High received optical power",
+			2: "Low transmit optical power",
+			3: "High transmit optical power",
+			4: "High laser bias current",
+		},
+	}
+}
+
+// NewReDownstreamAmplifier (class ID 316) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewReDownstreamAmplifier(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*redownstreamamplifierBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/reupstreamamplifier.go b/vendor/github.com/opencord/omci-lib-go/generated/reupstreamamplifier.go
new file mode 100644
index 0000000..df21ac2
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/reupstreamamplifier.go
@@ -0,0 +1,182 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// ReUpstreamAmplifierClassID is the 16-bit ID for the OMCI
+// Managed entity RE upstream amplifier
+const ReUpstreamAmplifierClassID ClassID = ClassID(315)
+
+var reupstreamamplifierBME *ManagedEntityDefinition
+
+// ReUpstreamAmplifier (class ID #315)
+//	This ME organizes data associated with each upstream RE optical amplifier (OA) supported by the
+//	RE. The management ONU automatically creates one instance of this ME for each upstream OA as
+//	follows.
+//
+//	o	When the RE has mid-span PON RE upstream OA ports built into its factory configuration.
+//
+//	o	When a cardholder is provisioned to expect a circuit pack of the mid-span PON RE upstream OA
+//	type.
+//
+//	o	When a cardholder provisioned for plug-and-play is equipped with a circuit pack of the mid-
+//	span PON RE upstream OA type. Note that the installation of a plug-and-play card may indicate
+//	the presence of a mid-span PON RE upstream OA via equipment ID as well as its type attribute,
+//	and indeed may cause the management ONU to instantiate a port-mapping package to specify the
+//	ports precisely.
+//
+//	The management ONU automatically deletes instances of this ME when a cardholder is neither
+//	provisioned to expect a mid-span PON RE upstream OA circuit pack, nor is it equipped with a mid-
+//	span PON RE upstream OA circuit pack.
+//
+//	Relationships
+//		An instance of this ME is associated with an upstream OA, and with an instance of a circuit
+//		pack. If the RE includes OEO regeneration in either direction, the RE upstream amplifier is also
+//		associated with a PPTP RE UNI. Refer to clause-9.14.2 for further discussion.
+//
+//	Attributes
+//		Managed Entity Id
+//			NOTE 1 - This ME ID may be identical to that of a PPTP RE UNI if it shares the same physical
+//			slot and port.
+//
+//		Administrative State
+//			NOTE 2 - Administrative lock of an RE upstream amplifier results in LOS from any downstream
+//			ONUs.
+//
+//		Operational State
+//			Operational state: This attribute indicates whether the ME is capable of performing its
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
+//
+//		Operational Mode
+//			(R,-W) (mandatory) (1-byte)
+//
+//		Arc
+//			ARC:	See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Arc Interval
+//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//
+//		Re Downstream Amplifier Pointer
+//			RE downstream amplifier pointer: This attribute points to an RE downstream amplifier instance.
+//			The default value is 0xFFFF, a null pointer. (R,-W) (mandatory) (2-bytes)
+//
+//		Total Optical Receive Signal Level Table
+//			Total optical receive signal level table: This table attribute reports a series of measurements
+//			of time-averaged input upstream optical signal power. The measurement circuit should have a
+//			temporal response similar to a simple 1 pole low pass filter, with an effective time constant on
+//			the order of a GTC frame time. Each table entry has a 2-byte frame counter field (most
+//			significant end), and a 2-byte power measurement field. The frame counter field contains the
+//			least significant 16-bits of the superframe counter received closest to the time of the
+//			measurement. The power measurement field is a 2s-complement integer referred to 1-mW (i.e.,
+//			dBm), with 0.002-dB granularity. The RE equipment should add entries to this table as frequently
+//			as is reasonable. The RE should clear the table once it is read by the OLT. (R) (optional) (4-*
+//			N-bytes, where N is the number of measurements present.)
+//
+//		Per Burst Receive Signal Level Table
+//			Per burst receive signal level table: This table attribute reports the most recent measurement
+//			of received burst upstream optical signal power. Each table entry has a 2-byte ONU-ID field
+//			(most significant end), and a 2-byte power measurement field. The power measurement field is a
+//			2s-complement integer referred to 1-mW (i.e.,-dBm), with 0.002-dB granularity. (R) (optional)
+//			(4-* N-bytes, where N is the number of distinct ONUs connected to the S'/R' interface.)
+//
+//		Lower Receive Optical Threshold
+//			Lower receive optical threshold: This attribute specifies the optical level that the RE uses to
+//			declare the low received optical power alarm. Valid values are -127-dBm (coded as 254) to 0-dBm
+//			(coded as 0) in 0.5-dB increments. The default value 0xFF selects the RE's internal policy.
+//			(R,-W) (optional) (1-byte)
+//
+//		Upper Receive Optical Threshold
+//			Upper receive optical threshold: This attribute specifies the optical level that the RE uses to
+//			declare the high received optical power alarm. Valid values are -127-dBm (coded as 254) to 0-dBm
+//			(coded as 0) in 0.5-dB increments. The default value 0xFF selects the RE's internal policy.
+//			(R,-W) (optional) (1-byte)
+//
+//		Transmit Optical Signal Level
+//			Transmit optical signal level: This attribute reports the current measurement of the mean
+//			optical launch power of the upstream OA. Its value is a 2s-complement integer referred to 1-mW
+//			(i.e., dBm), with 0.002-dB granularity. (R) (optional) (2-bytes)
+//
+//		Lower Transmit Optical Threshold
+//			Lower transmit optical threshold: This attribute specifies the minimum mean optical launch power
+//			that the RE uses to declare the low transmit optical power alarm. Its value is a 2s-complement
+//			integer referred to 1-mW (i.e., dBm), with 0.5-dB granularity. The default value 0x7F selects
+//			the RE's internal policy. (R,-W) (optional) (1-byte)
+//
+//		Upper Transmit Optical Threshold
+//			Upper transmit optical threshold: This attribute specifies the maximum mean optical launch power
+//			that the RE uses to declare the high transmit optical power alarm. Its value is a 2s complement
+//			integer referred to 1-mW (i.e., dBm), with 0.5-dB granularity. The default value 0x7F selects
+//			the RE's internal policy. (R,-W) (optional) (1-byte)
+//
+type ReUpstreamAmplifier struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	reupstreamamplifierBME = &ManagedEntityDefinition{
+		Name:    "ReUpstreamAmplifier",
+		ClassID: 315,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			GetNext,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff8,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField("OperationalMode", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField("Arc", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), true, true, false, 4),
+			5:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  Uint16Field("ReDownstreamAmplifierPointer", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  TableField("TotalOpticalReceiveSignalLevelTable", TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  TableField("PerBurstReceiveSignalLevelTable", TableAttributeType, 0x0100, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField("LowerReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField("UpperReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: Uint16Field("TransmitOpticalSignalLevel", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField("LowerTransmitOpticalThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField("UpperTransmitOpticalThreshold", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Low received optical power",
+			1: "High received optical power",
+			2: "Low transmit optical power",
+			3: "High transmit optical power",
+			4: "High laser bias current",
+			5: "S'/R' LOS",
+		},
+	}
+}
+
+// NewReUpstreamAmplifier (class ID 315) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewReUpstreamAmplifier(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*reupstreamamplifierBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/rtpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/rtpperformancemonitoringhistorydata.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/rtpperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/rtpperformancemonitoringhistorydata.go
index c2d2021..4576186 100644
--- a/vendor/github.com/cboling/omci/generated/rtpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/rtpperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const RtpPerformanceMonitoringHistoryDataClassId ClassID = ClassID(144)
+// RtpPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity RTP performance monitoring history data
+const RtpPerformanceMonitoringHistoryDataClassID ClassID = ClassID(144)
 
 var rtpperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -38,48 +44,48 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the PPTP POTS UNI ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Rtp Errors
-//			RTP errors:	This attribute counts RTP packet errors. (R) (mandatory) (4 bytes)
+//			RTP errors:	This attribute counts RTP packet errors. (R) (mandatory) (4-bytes)
 //
 //		Packet Loss
 //			Packet loss:	This attribute represents the fraction of packets lost. This attribute is
-//			calculated at the end of the 15 min interval, and is undefined under the get current data
+//			calculated at the end of the 15-min interval, and is undefined under the get current data
 //			action. The value 0 indicates no packet loss, scaling linearly to 0xFFFF FFFF to indicate 100%
-//			packet loss (zero divided by zero is defined to be zero). (R) (mandatory) (4 bytes)
+//			packet loss (zero divided by zero is defined to be zero). (R) (mandatory) (4-bytes)
 //
 //		Maximum Jitter
 //			Maximum jitter: This attribute is a high water-mark that represents the maximum jitter
 //			identified during the measured interval, expressed in RTP timestamp units. (R) (mandatory)
-//			(4 bytes)
+//			(4-bytes)
 //
 //		Maximum Time Between Real_Time Transport Control Protocol Rtcp Packets
 //			Maximum time between real-time transport control protocol (RTCP) packets: This attribute is a
 //			high water-mark that represents the maximum time between RTCP packets during the measured
-//			interval, in milliseconds. (R) (mandatory) (4 bytes)
+//			interval, in milliseconds. (R) (mandatory) (4-bytes)
 //
 //		Buffer Underflows
 //			Buffer underflows: This attribute counts the number of times the reassembly buffer underflows.
 //			In the case of continuous underflow caused by a loss of IP packets, a single buffer underflow
 //			should be counted. If the IW function is implemented with multiple buffers, such as a packet
 //			level buffer and a bit level buffer, then the underflow of either buffer increments this
-//			counter. (R) (mandatory) (4 bytes)
+//			counter. (R) (mandatory) (4-bytes)
 //
 //		Buffer Overflows
 //			Buffer overflows: This attribute counts the number of times the reassembly buffer overflows. If
 //			the IW function is implemented with multiple buffers, such as a packet level buffer and a bit
 //			level buffer, then the overflow of either buffer increments this counter. (R) (mandatory)
-//			(4 bytes)
+//			(4-bytes)
 //
 type RtpPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -96,24 +102,34 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("RtpErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("PacketLoss", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("MaximumJitter", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("BufferUnderflows", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: Uint32Field("BufferOverflows", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("RtpErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("PacketLoss", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("MaximumJitter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("BufferUnderflows", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field("BufferOverflows", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "RTP errors",
+			1: "Packet loss(Note 1)",
+			2: "Maximum jitter",
+			3: "Max time between RTCP packets",
+			4: "Buffer underflows",
+			5: "Buffer overflows",
 		},
 	}
 }
 
-// NewRtpPerformanceMonitoringHistoryData (class ID 144 creates the basic
+// NewRtpPerformanceMonitoringHistoryData (class ID 144) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewRtpPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(rtpperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*rtpperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/rtpprofiledata.go b/vendor/github.com/opencord/omci-lib-go/generated/rtpprofiledata.go
new file mode 100644
index 0000000..6d1330e
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/rtpprofiledata.go
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// RtpProfileDataClassID is the 16-bit ID for the OMCI
+// Managed entity RTP profile data
+const RtpProfileDataClassID ClassID = ClassID(143)
+
+var rtpprofiledataBME *ManagedEntityDefinition
+
+// RtpProfileData (class ID #143)
+//	This ME configures RTP. It is conditionally required for ONUs that offer VoIP service. If a non-
+//	OMCI interface is used to manage VoIP, this ME is unnecessary.
+//
+//	An instance of this ME is created and deleted by the OLT. An RTP profile is needed for each
+//	unique set of attributes.
+//
+//	Relationships
+//		An instance of this ME may be associated with one or more VoIP media profile MEs.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Local Port Min
+//			Local port min: This attribute defines the base UDP port that should be used by RTP for voice
+//			traffic. The recommended default is 50000 (R,-W, set-by-create) (mandatory) (2-bytes)
+//
+//		Local Port Max
+//			Local port max: This attribute defines the highest UDP port used by RTP for voice traffic. The
+//			value must be greater than the local port minimum. The value 0 specifies that the local port
+//			maximum be equal to the local port minimum. (R,-W, set-by-create) (optional) (2-bytes)
+//
+//		Dscp Mark
+//			DSCP mark:	Diffserv code point to be used for outgoing RTP packets for this profile. The
+//			recommended default value is expedited forwarding (EF)-= 0x2E. (R,-W, setbycreate) (mandatory)
+//			(1-byte)
+//
+//		Piggyback Events
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Tone Events
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Dtmf Events
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Cas Events
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Ip Host Config Pointer
+//			IP host config pointer: This optional pointer associates the bearer (voice) flow with an IP host
+//			config data or IPv6 host config data ME. If this attribute is not present or is not populated
+//			with a valid pointer value, the bearer flow uses the same IP stack that is used for signalling,
+//			indicated by the TCP/UDP pointer in the associated SIP agent or MGC config data. The default
+//			value is 0xFFFF, a null pointer. (R,-W) (optional) (2-bytes)
+//
+type RtpProfileData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	rtpprofiledataBME = &ManagedEntityDefinition{
+		Name:    "RtpProfileData",
+		ClassID: 143,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xff00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("LocalPortMin", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("LocalPortMax", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3: ByteField("DscpMark", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: ByteField("PiggybackEvents", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField("ToneEvents", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: ByteField("DtmfEvents", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: ByteField("CasEvents", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: Uint16Field("IpHostConfigPointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewRtpProfileData (class ID 143) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewRtpProfileData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*rtpprofiledataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/rtppseudowireparameters.go b/vendor/github.com/opencord/omci-lib-go/generated/rtppseudowireparameters.go
similarity index 61%
rename from vendor/github.com/cboling/omci/generated/rtppseudowireparameters.go
rename to vendor/github.com/opencord/omci-lib-go/generated/rtppseudowireparameters.go
index 018ced4..e089f91 100644
--- a/vendor/github.com/cboling/omci/generated/rtppseudowireparameters.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/rtppseudowireparameters.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const RtpPseudowireParametersClassId ClassID = ClassID(283)
+// RtpPseudowireParametersClassID is the 16-bit ID for the OMCI
+// Managed entity RTP pseudowire parameters
+const RtpPseudowireParametersClassID ClassID = ClassID(283)
 
 var rtppseudowireparametersBME *ManagedEntityDefinition
 
@@ -39,41 +45,41 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the pseudowire TP ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Clock Reference
 //			Clock reference: This attribute specifies the frequency of the common timing reference, in
-//			multiples of 8 kHz. (R, W, setbycreate) (mandatory) (2 bytes)
+//			multiples of 8 kHz. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Rtp Timestamp Mode
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Ptype
 //			PTYPE:	This attribute specifies the RTP payload type in the TDM to the PSN direction. It
-//			comprises two 1 byte values. The first is for the payload channel, the second, for the optional
+//			comprises two 1-byte values. The first is for the payload channel, the second, for the optional
 //			separate signalling channel. Assignable PTYPEs lie in the dynamic range 96..127. If signalling
-//			is not transported in its own channel, the second value should be set to 0. (R, W, setbycreate)
-//			(mandatory) (2 bytes)
+//			is not transported in its own channel, the second value should be set to 0. (R,-W, setbycreate)
+//			(mandatory) (2-bytes)
 //
 //		Ssrc
 //			SSRC:	This attribute specifies the RTP synchronization source in the TDM to the PSN direction.
-//			It comprises two 4 byte values. The first is for the payload channel, the second, for the
+//			It comprises two 4-byte values. The first is for the payload channel, the second, for the
 //			optional separate signalling channel. If signalling is not transported in its own channel, the
-//			second value should be set to 0. (R, W, setbycreate) (mandatory) (8 bytes)
+//			second value should be set to 0. (R,-W, setbycreate) (mandatory) (8-bytes)
 //
 //		Expected Ptype
 //			Expected PTYPE: This attribute specifies the RTP payload type in the PSN to the TDM direction.
-//			The received payload type may be used to detect malformed packets. It comprises two 1 byte
+//			The received payload type may be used to detect malformed packets. It comprises two 1-byte
 //			values. The first is for the payload channel, the second, for the optional separate signalling
 //			channel. To disable either or both of the check functions, set the corresponding value to its
-//			default value 0. (R, W, setbycreate) (optional) (2 bytes)
+//			default value 0. (R,-W, setbycreate) (optional) (2-bytes)
 //
 //		Expected Ssrc
 //			Expected SSRC: This attribute specifies the RTP synchronization source in the PSN to the TDM
 //			direction. The received SSRC may be used to detect misconnection (stray packets). It comprises
-//			two 4 byte values. The first is for the payload channel, the second, for the optional separate
+//			two 4-byte values. The first is for the payload channel, the second, for the optional separate
 //			signalling channel. To disable either or both of the check functions, set the corresponding
-//			value to its default value 0. (R, W, setbycreate) (optional) (8 bytes)
+//			value to its default value 0. (R,-W, setbycreate) (optional) (8-bytes)
 //
 type RtpPseudowireParameters struct {
 	ManagedEntityDefinition
@@ -90,22 +96,24 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFC00,
+		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("ClockReference", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("RtpTimestampMode", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("Ptype", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint64Field("Ssrc", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: Uint16Field("ExpectedPtype", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
-			6: Uint64Field("ExpectedSsrc", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 6),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("ClockReference", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("RtpTimestampMode", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("Ptype", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint64Field("Ssrc", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint16Field("ExpectedPtype", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: Uint64Field("ExpectedSsrc", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewRtpPseudowireParameters (class ID 283 creates the basic
+// NewRtpPseudowireParameters (class ID 283) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewRtpPseudowireParameters(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(rtppseudowireparametersBME, params...)
+	return NewManagedEntity(*rtppseudowireparametersBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/sipagentconfigdata.go b/vendor/github.com/opencord/omci-lib-go/generated/sipagentconfigdata.go
similarity index 60%
rename from vendor/github.com/cboling/omci/generated/sipagentconfigdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/sipagentconfigdata.go
index a92e8b9..ca86d96 100644
--- a/vendor/github.com/cboling/omci/generated/sipagentconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/sipagentconfigdata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const SipAgentConfigDataClassId ClassID = ClassID(150)
+// SipAgentConfigDataClassID is the 16-bit ID for the OMCI
+// Managed entity SIP agent config data
+const SipAgentConfigDataClassID ClassID = ClassID(150)
 
 var sipagentconfigdataBME *ManagedEntityDefinition
 
@@ -30,7 +36,7 @@
 //	necessary to establish communication for signalling between the SIP user agent (UA) and a SIP
 //	server.
 //
-//	NOTE 1 – If a non-OMCI interface is used to manage SIP for VoIP, this ME is unnecessary. The
+//	NOTE 1 - If a non-OMCI interface is used to manage SIP for VoIP, this ME is unnecessary. The
 //	non-OMCI interface supplies the necessary data, which may be read back to the OLT via the SIP
 //	config portal ME.
 //
@@ -44,71 +50,71 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Proxy Server Address Pointer
 //			Proxy server address pointer: This attribute points to a large string ME that contains the name
-//			(IP address or URI) of the SIP proxy server for SIP signalling messages. (R, W, setbycreate)
-//			(mandatory) (2 bytes)
+//			(IP address or URI) of the SIP proxy server for SIP signalling messages. (R,-W, setbycreate)
+//			(mandatory) (2-bytes)
 //
 //		Outbound Proxy Address Pointer
 //			Outbound proxy address pointer: An outbound SIP proxy may or may not be required within a given
 //			network. If an outbound SIP proxy is used, the outbound proxy address pointer attribute must be
 //			set to point to a valid large string ME that contains the name (IP address or URI) of the
 //			outbound proxy server for SIP signalling messages. If an outbound SIP proxy is not used, the
-//			outbound proxy address pointer attribute must be set to a null pointer. (R, W, setbycreate)
-//			(mandatory) (2 bytes)
+//			outbound proxy address pointer attribute must be set to a null pointer. (R,-W, setbycreate)
+//			(mandatory) (2-bytes)
 //
 //		Primary Sip Dns
 //			Primary SIP DNS: This attribute specifies the primary SIP DNS IP address. If the value of this
 //			attribute is 0, the primary DNS server is defined in the corresponding IP host config data or
 //			IPv6 host config data ME. If the value is non-zero, it takes precedence over the primary DNS
-//			server defined in the IP host config data or IPv6 host config data ME. (R, W, set-by-create)
-//			(mandatory) (4 bytes)
+//			server defined in the IP host config data or IPv6 host config data ME. (R,-W, set-by-create)
+//			(mandatory) (4-bytes)
 //
 //		Secondary Sip Dns
 //			Secondary SIP DNS: This attribute specifies the secondary SIP DNS IP address. If the value of
 //			this attribute is 0, the secondary DNS server is defined in the corresponding IP host config
 //			data or IPv6 host config data ME. If the value is non-zero, it takes precedence over the
-//			secondary DNS server defined in the IP host config data or IPv6 host config data ME. (R, W, set-
-//			by-create) (mandatory) (4 bytes)
+//			secondary DNS server defined in the IP host config data or IPv6 host config data ME. (R,-W, set-
+//			by-create) (mandatory) (4-bytes)
 //
 //		Tcp_Udp Pointer
 //			TCP/UDP pointer: This pointer associates the SIP agent with the TCP/UDP config data ME to be
-//			used for communication with the SIP server. The default value is 0xFFFF, a null pointer. (R, W)
-//			(mandatory) (2 bytes)
+//			used for communication with the SIP server. The default value is 0xFFFF, a null pointer. (R,-W)
+//			(mandatory) (2-bytes)
 //
 //		Sip Reg Exp Time
 //			SIP reg exp time: This attribute specifies the SIP registration expiration time in seconds. If
 //			its value is 0, the SIP agent does not add an expiration time to the registration requests and
-//			does not perform reregistration. The default value is 3600 s. (R, W) (mandatory) (4 bytes)
+//			does not perform reregistration. The default value is 3600-s. (R,-W) (mandatory) (4-bytes)
 //
 //		Sip Rereg Head Start Time
 //			SIP rereg head start time: This attribute specifies the time in seconds prior to timeout that
-//			causes the SIP agent to start the re-registration process. The default value is 360 s. (R, W)
-//			(mandatory) (4 bytes)
+//			causes the SIP agent to start the re-registration process. The default value is 360-s. (R,-W)
+//			(mandatory) (4-bytes)
 //
 //		Host Part Uri
 //			Host part URI: This attribute points to a large string ME that contains the host or domain part
 //			of the SIP address of record for users connected to this ONU. A null pointer indicates that the
-//			current address in the IP host config ME is to be used. (R, W, setbycreate) (mandatory)
-//			(2 bytes)
+//			current address in the IP host config ME is to be used. (R,-W, setbycreate) (mandatory)
+//			(2-bytes)
 //
 //		Sip Status
-//			(R) (mandatory) (1 byte)
+//			(R) (mandatory) (1-byte)
 //
 //		Sip Registrar
 //			SIP registrar: This attribute points to a network address ME that contains the name (IP address
 //			or resolved name) of the registrar server for SIP signalling messages. Examples: "10.10.10.10"
-//			and "proxy.voip.net". (R, W, set-by-create) (mandatory) (2 bytes)
+//			and "proxy.voip.net". (R,-W, set-by-create) (mandatory) (2-bytes)
 //
 //		Softswitch
 //			Softswitch:	This attribute identifies the SIP gateway softswitch vendor. The format is four
 //			ASCII coded alphabetic characters [A..Z] as defined in [ATIS0300220]. A value of four null bytes
-//			indicates an unknown or unspecified vendor. (R, W, setbycreate) (mandatory) (4 bytes)
+//			indicates an unknown or unspecified vendor. (R,-W, setbycreate) (mandatory) (4-bytes)
 //
 //		Sip Response Table
-//			NOTE 2 – This model assumes that SIP response tones and text are common to all POTS lines that
+//			NOTE 2 - This model assumes that SIP response tones and text are common to all POTS lines that
 //			share a given SIP agent.
 //
 //		Sip Option Transmit Control
@@ -142,31 +148,39 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFE,
+		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint16Field("ProxyServerAddressPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  Uint16Field("OutboundProxyAddressPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("PrimarySipDns", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  Uint32Field("SecondarySipDns", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  Uint16Field("TcpUdpPointer", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  Uint32Field("SipRegExpTime", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  Uint32Field("SipReregHeadStartTime", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  Uint16Field("HostPartUri", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  ByteField("SipStatus", 0, mapset.NewSetWith(Read), true, false, false, false, 9),
-			10: Uint16Field("SipRegistrar", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
-			11: Uint32Field("Softswitch", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 11),
-			12: MultiByteField("SipResponseTable", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: ByteField("SipOptionTransmitControl", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 13),
-			14: ByteField("SipUriFormat", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 14),
-			15: Uint16Field("RedundantSipAgentPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 15),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("ProxyServerAddressPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field("OutboundProxyAddressPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("PrimarySipDns", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint32Field("SecondarySipDns", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field("TcpUdpPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field("SipRegExpTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field("SipReregHeadStartTime", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field("HostPartUri", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField("SipStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
+			10: Uint16Field("SipRegistrar", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint32Field("Softswitch", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: MultiByteField("SipResponseTable", OctetsAttributeType, 0x0010, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField("SipOptionTransmitControl", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField("SipUriFormat", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			15: Uint16Field("RedundantSipAgentPointer", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "SIP-UA register name",
+			1: "SIP-UA register reach",
+			2: "SIP-UA register connect",
+			3: "SIP-UA register validate",
 		},
 	}
 }
 
-// NewSipAgentConfigData (class ID 150 creates the basic
+// NewSipAgentConfigData (class ID 150) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewSipAgentConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(sipagentconfigdataBME, params...)
+	return NewManagedEntity(*sipagentconfigdataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/sipagentperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/sipagentperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..30b8e75
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/sipagentperformancemonitoringhistorydata.go
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// SipAgentPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity SIP agent performance monitoring history data
+const SipAgentPerformanceMonitoringHistoryDataClassID ClassID = ClassID(151)
+
+var sipagentperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// SipAgentPerformanceMonitoringHistoryData (class ID #151)
+//	This ME collects PM data for the associated VoIP SIP agent. Instances of this ME are created and
+//	deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with a SIP agent config data or SIP config portal object.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the corresponding SIP agent config
+//			data or to the SIP config portal. If a non-OMCI configuration method is used for VoIP, there can
+//			be only one live ME instance, associated with the SIP config portal, and with ME ID 0. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Transactions
+//			Transactions: This attribute counts the number of new transactions that were initiated. (R)
+//			(optional) (4-bytes)
+//
+//		Rx Invite Reqs
+//			Rx invite reqs: This attribute counts received invite messages, including retransmissions. (R)
+//			(optional) (4-bytes)
+//
+//		Rx Invite Retrans
+//			Rx invite retrans: This attribute counts received invite retransmission messages. (R) (optional)
+//			(4-bytes)
+//
+//		Rx Noninvite Reqs
+//			Rx noninvite reqs: This attribute counts received non-invite messages, including
+//			retransmissions. (R) (optional) (4-bytes)
+//
+//		Rx Noninvite Retrans
+//			Rx noninvite retrans: This attribute counts received non-invite retransmission messages. (R)
+//			(optional) (4-bytes)
+//
+//		Rx Response
+//			Rx response:	This attribute counts total responses received. (R) (optional) (4-bytes)
+//
+//		Rx Response Retransmissions
+//			Rx response retransmissions: This attribute counts total response retransmissions received. (R)
+//			(optional) (4-bytes)
+//
+//		Tx Invite Reqs
+//			Tx invite reqs: This attribute counts transmitted invite messages, including retransmissions.
+//			(R) (optional) (4-bytes)
+//
+//		Tx Invite Retrans
+//			Tx invite retrans: This attribute counts transmitted invite retransmission messages. (R)
+//			(optional) (4-bytes)
+//
+//		Tx Noninvite Reqs
+//			Tx noninvite reqs: This attribute counts transmitted non-invite messages, including
+//			retransmissions. (R) (optional) (4-bytes)
+//
+//		Tx Noninvite Retrans
+//			Tx noninvite retrans: This attribute counts transmitted non-invite retransmission messages. (R)
+//			(optional) (4-bytes)
+//
+//		Tx Response
+//			Tx response: This attribute counts the total responses sent. (R) (optional) (4-bytes)
+//
+//		Tx Response Retransmissions
+//			Tx response retransmissions: This attribute counts total response retransmissions sent. (R)
+//			(optional) (4-bytes)
+//
+type SipAgentPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	sipagentperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "SipAgentPerformanceMonitoringHistoryData",
+		ClassID: 151,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("Transactions", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field("RxInviteReqs", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field("RxInviteRetrans", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field("RxNoninviteReqs", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  Uint32Field("RxNoninviteRetrans", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field("RxResponse", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field("RxResponseRetransmissions", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field("TxInviteReqs", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field("TxInviteRetrans", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field("TxNoninviteReqs", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field("TxNoninviteRetrans", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field("TxResponse", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field("TxResponseRetransmissions", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "SIPAMD Rx invite req",
+			1: "SIPAMD Rx invite req retransmission",
+			2: "SIPAMD Rx noninvite req",
+			3: "SIPAMD Rx noninvite req retransmission",
+			4: "SIPAMD Rx response",
+			5: "SIPAMD Rx response retransmission",
+		},
+	}
+}
+
+// NewSipAgentPerformanceMonitoringHistoryData (class ID 151) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewSipAgentPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*sipagentperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/sipcallinitiationperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/sipcallinitiationperformancemonitoringhistorydata.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/sipcallinitiationperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/sipcallinitiationperformancemonitoringhistorydata.go
index 5abdc6a..ed9534f 100644
--- a/vendor/github.com/cboling/omci/generated/sipcallinitiationperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/sipcallinitiationperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const SipCallInitiationPerformanceMonitoringHistoryDataClassId ClassID = ClassID(152)
+// SipCallInitiationPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity SIP call initiation performance monitoring history data
+const SipCallInitiationPerformanceMonitoringHistoryDataClassID ClassID = ClassID(152)
 
 var sipcallinitiationperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -41,36 +47,36 @@
 //			identical ID, this ME is implicitly linked to an instance of the SIP agent config data or the
 //			SIP config portal ME. If a nonOMCI configuration method is used for VoIP, there can be only one
 //			live ME instance, associated with the SIP config portal, and with ME ID 0. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Failed To Connect Counter
 //			Failed to connect counter: This attribute counts the number of times that the SIP UA failed to
-//			reach/connect its TCP/UDP peer during SIP call initiations. (R) (mandatory) (4 bytes)
+//			reach/connect its TCP/UDP peer during SIP call initiations. (R) (mandatory) (4-bytes)
 //
 //		Failed To Validate Counter
 //			Failed to validate counter: This attribute counts the number of times that the SIP UA failed to
-//			validate its peer during SIP call initiations. (R) (mandatory) (4 bytes)
+//			validate its peer during SIP call initiations. (R) (mandatory) (4-bytes)
 //
 //		Timeout Counter
 //			Timeout counter: This attribute counts the number of times that the SIP UA timed out during SIP
-//			call initiations. (R) (mandatory) (4 bytes)
+//			call initiations. (R) (mandatory) (4-bytes)
 //
 //		Failure Received Counter
 //			Failure received counter: This attribute counts the number of times that the SIP UA received a
-//			failure error code during SIP call initiations. (R) (mandatory) (4 bytes)
+//			failure error code during SIP call initiations. (R) (mandatory) (4-bytes)
 //
 //		Failed To Authenticate Counter
 //			Failed to authenticate counter: This attribute counts the number of times that the SIP UA failed
-//			to authenticate itself during SIP call initiations. (R) (mandatory) (4 bytes)
+//			to authenticate itself during SIP call initiations. (R) (mandatory) (4-bytes)
 //
 type SipCallInitiationPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -87,23 +93,32 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFE00,
+		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("FailedToConnectCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("FailedToValidateCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("TimeoutCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("FailureReceivedCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("FailedToAuthenticateCounter", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("FailedToConnectCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("FailedToValidateCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("TimeoutCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("FailureReceivedCounter", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("FailedToAuthenticateCounter", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "SIP call PM failed connect",
+			1: "SIP call PM failed to validate",
+			2: "SIP call PM timeout",
+			3: "SIP call PM failure error code received",
+			4: "SIP call PM failed to authenticate",
 		},
 	}
 }
 
-// NewSipCallInitiationPerformanceMonitoringHistoryData (class ID 152 creates the basic
+// NewSipCallInitiationPerformanceMonitoringHistoryData (class ID 152) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewSipCallInitiationPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(sipcallinitiationperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*sipcallinitiationperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/sipuserdata.go b/vendor/github.com/opencord/omci-lib-go/generated/sipuserdata.go
new file mode 100644
index 0000000..fe7bbab
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/sipuserdata.go
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// SipUserDataClassID is the 16-bit ID for the OMCI
+// Managed entity SIP user data
+const SipUserDataClassID ClassID = ClassID(153)
+
+var sipuserdataBME *ManagedEntityDefinition
+
+// SipUserData (class ID #153)
+//	The SIP user data defines the user specific configuration attributes associated with a specific
+//	VoIP CTP. This entity is conditionally required for ONUs that offer VoIP SIP services. If a non-
+//	OMCI interface is used to manage SIP for VoIP, this ME is unnecessary. The non-OMCI interface
+//	supplies the necessary data, which may be read back to the OLT via the SIP config portal ME.
+//
+//	An instance of this ME is created and deleted by the OLT. A SIP user data instance is required
+//	for each POTS UNI port using SIP protocol and configured by the OMCI.
+//
+//	Relationships
+//		An instance of this ME is associated with one VoIP voice CTP ME and a PPTP POTS UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Sip Agent Pointer
+//			SIP agent pointer: This attribute points to the SIP agent config data ME to be used for
+//			signalling. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		User Part Aor
+//			User part AOR: This attribute points to a large string that contains the user identification
+//			part of the address of record. This can take the form of an alphanumeric string or the
+//			subscriber's directory number. A null pointer indicates the absence of an AOR. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Sip Display Name
+//			SIP display name: This ASCII string attribute defines the customer ID used for the display
+//			attribute in outgoing SIP messages. The default value is null (all zero bytes) (R,-W)
+//			(mandatory) (25-bytes)
+//
+//		Username And Password
+//			Username and password: This attribute points to an authentication security method ME that
+//			contains the SIP user name and password used for authentication. A null pointer indicates no
+//			username and password. (R,-W, setbycreate) (mandatory) (2)
+//
+//		Voicemail Server Sip Uri
+//			Voicemail server SIP URI: This attribute points to a network address ME that contains the name
+//			(IP address or URI) of the SIP voicemail server for SIP signalling messages. A null pointer
+//			indicates the absence of a SIP voicemail server. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Voicemail Subscription Expiration Time
+//			Voicemail subscription expiration time: This attribute defines the voicemail subscription
+//			expiration time in seconds. If this value is 0, the SIP agent uses an implementation-specific
+//			value. This attribute is recommended to be set to 3600-s by default. (R,-W, setbycreate)
+//			(mandatory) (4-bytes)
+//
+//		Network Dial Plan Pointer
+//			Network dial plan pointer: This attribute points to a network dial plan table. A null pointer
+//			indicates the absence of a network dial plan. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Application Services Profile Pointer
+//			Application services profile pointer: This attribute points to a VoIP application services
+//			profile. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Feature Code Pointer
+//			Feature code pointer: This attribute points to the VoIP feature access codes ME for this
+//			subscriber. A null pointer indicates the absence of a VoIP feature access codes ME. (R,-W, set-
+//			by-create) (mandatory) (2-bytes)
+//
+//		Pptp Pointer
+//			PPTP pointer: This attribute points to the PPTP POTS UNI ME that provides the analogue telephony
+//			adaptor (ATA) function. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Release Timer
+//			Release timer: This attribute contains a release timer defined in seconds. The value 0 specifies
+//			that the ONU is to use its internal default. The default value of this attribute is 10-s. (R,-W)
+//			(optional) (1-byte)
+//
+//		Receiver Off Hook Roh Timer
+//			Receiver off hook (ROH) timer:	This attribute defines the time in seconds for the ROH condition
+//			before ROH tone is applied. The value 0 disables ROH timing. The value 0xFF specifies that the
+//			ONU is to use its internal default, which may or may not be the same as the 15-s OMCI default
+//			value. (R,-W) (optional) (1-byte)
+//
+type SipUserData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	sipuserdataBME = &ManagedEntityDefinition{
+		Name:    "SipUserData",
+		ClassID: 153,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("SipAgentPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field("UserPartAor", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  MultiByteField("SipDisplayName", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field("UsernameAndPassword", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field("VoicemailServerSipUri", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint32Field("VoicemailSubscriptionExpirationTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field("NetworkDialPlanPointer", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  Uint16Field("ApplicationServicesProfilePointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint16Field("FeatureCodePointer", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: Uint16Field("PptpPointer", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField("ReleaseTimer", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField("ReceiverOffHookRohTimer", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "SIP-UA register auth",
+			1: "SIP-UA register timeout",
+			2: "SIP-UA register fail",
+		},
+	}
+}
+
+// NewSipUserData (class ID 153) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewSipUserData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*sipuserdataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/snmpconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/generated/snmpconfigurationdata.go
similarity index 61%
rename from vendor/github.com/cboling/omci/generated/snmpconfigurationdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/snmpconfigurationdata.go
index 9c4b339..2219b3e 100644
--- a/vendor/github.com/cboling/omci/generated/snmpconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/snmpconfigurationdata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const SnmpConfigurationDataClassId ClassID = ClassID(335)
+// SnmpConfigurationDataClassID is the 16-bit ID for the OMCI
+// Managed entity SNMP configuration data
+const SnmpConfigurationDataClassID ClassID = ClassID(335)
 
 var snmpconfigurationdataBME *ManagedEntityDefinition
 
@@ -37,11 +43,11 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The ME IDs 0 and
-//			0xFFFF are reserved. (R, setbycreate) (mandatory) (2 bytes)
+//			0xFFFF are reserved. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Snmp Version
-//			SNMP version: This integer attribute is the SNMP protocol version to be supported. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
+//			SNMP version: This integer attribute is the SNMP protocol version to be supported. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Snmp Agent Address
 //			SNMP agent address: This attribute is a pointer to a TCP/UDP config data ME, which provides the
@@ -70,7 +76,7 @@
 //
 //		Sys Name Pointer
 //			Sys name pointer: This attribute points to a large string whose content identifies the SNMP
-//			system name. SysName is defined in [b-IETF RFC 3418]. (R, W, setbycreate) (mandatory) (2 bytes)
+//			system name. SysName is defined in [b-IETF RFC-3418]. (R, W, setbycreate) (mandatory) (2 bytes)
 //
 type SnmpConfigurationData struct {
 	ManagedEntityDefinition
@@ -87,24 +93,26 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("SnmpVersion", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint16Field("SnmpAgentAddress", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("SnmpServerAddress", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint16Field("SnmpServerPort", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5: Uint16Field("SecurityNamePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 5),
-			6: Uint16Field("CommunityForRead", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 6),
-			7: Uint16Field("CommunityForWrite", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
-			8: Uint16Field("SysNamePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("SnmpVersion", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("SnmpAgentAddress", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("SnmpServerAddress", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field("SnmpServerPort", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint16Field("SecurityNamePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field("CommunityForRead", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint16Field("CommunityForWrite", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: Uint16Field("SysNamePointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewSnmpConfigurationData (class ID 335 creates the basic
+// NewSnmpConfigurationData (class ID 335) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewSnmpConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(snmpconfigurationdataBME, params...)
+	return NewManagedEntity(*snmpconfigurationdataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/softwareimage.go b/vendor/github.com/opencord/omci-lib-go/generated/softwareimage.go
similarity index 77%
rename from vendor/github.com/cboling/omci/generated/softwareimage.go
rename to vendor/github.com/opencord/omci-lib-go/generated/softwareimage.go
index ff90b00..27efb8f 100644
--- a/vendor/github.com/cboling/omci/generated/softwareimage.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/softwareimage.go
@@ -1,27 +1,27 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const SoftwareImageClassId ClassID = ClassID(7)
+// SoftwareImageClassID is the 16-bit ID for the OMCI
+// Managed entity Software image
+const SoftwareImageClassID ClassID = ClassID(7)
 
 var softwareimageBME *ManagedEntityDefinition
 
@@ -59,11 +59,11 @@
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The first byte
 //			indicates the physical location of the equipment hosting the software image, either the ONU (0)
 //			or a cardholder (1..254). The second byte distinguishes between the two software image ME
-//			instances (0..1). (R) (mandatory) (2 bytes)
+//			instances (0..1). (R) (mandatory) (2-bytes)
 //
 //		Version
 //			Version:	This string attribute identifies the version of the software. (R) (mandatory)
-//			(14 bytes)
+//			(14-bytes)
 //
 //		Is Committed
 //			Is committed: This attribute indicates whether the associated software image is committed (1) or
@@ -73,7 +73,7 @@
 //			committed at the same time. On the other hand, both software images could be uncommitted at the
 //			same time if both were invalid. Upon ME instantiation, instance 0 is initialized to committed,
 //			while instance 1 is initialized to uncommitted (i.e., the ONU ships from the factory with image
-//			0 committed). (R) (mandatory) (1 byte)
+//			0 committed). (R) (mandatory) (1-byte)
 //
 //		Is Active
 //			Is active:	This attribute indicates whether the associated software image is active (1) or
@@ -81,7 +81,7 @@
 //			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. On the other hand, both software images could be inactive at the
-//			same time if both were invalid. (R) (mandatory) (1 byte)
+//			same time if both were invalid. (R) (mandatory) (1-byte)
 //
 //		Is Valid
 //			Is valid:	This attribute indicates whether the associated software image is valid (1) or invalid
@@ -89,7 +89,7 @@
 //			image. The verification mechanism is not subject to standardization; however, it should include
 //			at least a data integrity check [e.g., a cyclic redundancy check (CRC)] of the entire code
 //			image. Upon ME instantiation or software download completion, the ONU validates the associated
-//			code image and sets this attribute according to the result. (R) (mandatory) (1 byte)
+//			code image and sets this attribute according to the result. (R) (mandatory) (1-byte)
 //
 //		Product Code
 //			Product code:	This attribute provides a way for a vendor to indicate product code information on
@@ -98,7 +98,7 @@
 //
 //		Image Hash
 //			Image hash:	This attribute is an MD5 hash of the software image. It is computed at completion of
-//			the end download action. (R) (optional) (16 bytes)
+//			the end download action. (R) (optional) (16-bytes)
 //
 type SoftwareImage struct {
 	ManagedEntityDefinition
@@ -117,22 +117,24 @@
 			Get,
 			StartSoftwareDownload,
 		),
-		AllowedAttributeMask: 0XFC00,
+		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: MultiByteField("Version", 14, nil, mapset.NewSetWith(Read), true, false, false, false, 1),
-			2: ByteField("IsCommitted", 0, mapset.NewSetWith(Read), true, false, false, false, 2),
-			3: ByteField("IsActive", 0, mapset.NewSetWith(Read), true, false, false, false, 3),
-			4: ByteField("IsValid", 0, mapset.NewSetWith(Read), true, false, false, false, 4),
-			5: MultiByteField("ProductCode", 25, nil, mapset.NewSetWith(Read), true, false, true, false, 5),
-			6: MultiByteField("ImageHash", 16, nil, mapset.NewSetWith(Read), true, false, true, false, 6),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("Version", StringAttributeType, 0x8000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, false, false, 1),
+			2: ByteField("IsCommitted", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
+			3: ByteField("IsActive", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, false, false, 3),
+			4: ByteField("IsValid", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), true, false, false, 4),
+			5: MultiByteField("ProductCode", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 5),
+			6: MultiByteField("ImageHash", StringAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 6),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewSoftwareImage (class ID 7 creates the basic
+// NewSoftwareImage (class ID 7) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewSoftwareImage(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(softwareimageBME, params...)
+	return NewManagedEntity(*softwareimageBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/t-cont.go b/vendor/github.com/opencord/omci-lib-go/generated/t-cont.go
similarity index 78%
rename from vendor/github.com/cboling/omci/generated/t-cont.go
rename to vendor/github.com/opencord/omci-lib-go/generated/t-cont.go
index c0cc82b..61a26b4 100644
--- a/vendor/github.com/cboling/omci/generated/t-cont.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/t-cont.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TContClassId ClassID = ClassID(262)
+// TContClassID is the 16-bit ID for the OMCI
+// Managed entity T-CONT
+const TContClassID ClassID = ClassID(262)
 
 var tcontBME *ManagedEntityDefinition
 
@@ -52,26 +58,26 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2-byte
 //			number indicates the physical capability that realizes the TCONT. It may be represented as
 //			0xSSBB, where SS indicates the slot ID that contains this T-CONT (0 for the ONU as a whole), and
 //			BB is the TCONT ID, numbered by the ONU itself. T-CONTs are numbered in ascending order, with
-//			the range 0..255 in each slot. (R) (mandatory) (2 bytes)
+//			the range 0..255 in each slot. (R) (mandatory) (2-bytes)
 //
 //		Alloc_Id
 //			Alloc-ID:	This attribute links the T-CONT with the alloc-ID assigned by the OLT in the
 //			assign_alloc-ID PLOAM message. The respective TC layer specification should be referenced for
 //			the legal values for that system. Prior to the setting of this attribute by the OLT, this
 //			attribute has an unambiguously unusable initial value, namely the value 0x00FF or 0xFFFF for
-//			ITU-T G.984 systems, and the value 0xFFFF for all other ITU-T GTC based PON systems. (R, W)
-//			(mandatory) (2 bytes)
+//			ITU-T G.984 systems, and the value 0xFFFF for all other ITU-T GTC based PON systems. (R,-W)
+//			(mandatory) (2-bytes)
 //
 //		Deprecated
 //			Deprecated:	The ONU should set this attribute to the value 1, and the OLT should ignore it. (R)
-//			(mandatory) (1 byte)
+//			(mandatory) (1-byte)
 //
 //		Policy
-//			NOTE – This attribute is read-only, unless otherwise specified by the QoS configuration
+//			NOTE - This attribute is read-only, unless otherwise specified by the QoS configuration
 //			flexibility attribute of the ONU2-G ME. If flexible configuration is not supported, the ONU
 //			should reject an attempt to set it with a parameter error result-reason code.
 //
@@ -88,19 +94,21 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XE000,
+		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: Uint16Field("AllocId", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2: ByteField("Deprecated", 0, mapset.NewSetWith(Read), false, false, false, true, 2),
-			3: ByteField("Policy", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field("AllocId", UnsignedIntegerAttributeType, 0x8000, 65535, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField("Deprecated", UnsignedIntegerAttributeType, 0x4000, 1, mapset.NewSetWith(Read), false, false, true, 2),
+			3: ByteField("Policy", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewTCont (class ID 262 creates the basic
+// NewTCont (class ID 262) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTCont(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(tcontBME, params...)
+	return NewManagedEntity(*tcontBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/tcadaptorperformancemonitoringhistorydataxdsl.go b/vendor/github.com/opencord/omci-lib-go/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
new file mode 100644
index 0000000..2ee8a6b
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// TcAdaptorPerformanceMonitoringHistoryDataXdslClassID is the 16-bit ID for the OMCI
+// Managed entity TC adaptor performance monitoring history data xDSL
+const TcAdaptorPerformanceMonitoringHistoryDataXdslClassID ClassID = ClassID(116)
+
+var tcadaptorperformancemonitoringhistorydataxdslBME *ManagedEntityDefinition
+
+// TcAdaptorPerformanceMonitoringHistoryDataXdsl (class ID #116)
+//	This ME collects PM data of an xTUC to xTUR ATM data path. Instances of this ME are created and
+//	deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an xDSL UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID:	This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R)
+//			(mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data1/2 ID: This attribute points to an instance of the threshold data1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Near_End Hec Violation Count
+//			Near-end HEC violation count: This attribute counts near-end HEC anomalies in the ATM data path.
+//			(R) (mandatory) (2-bytes)
+//
+//		Near_End Delineated Total Cell Count Cd P
+//			Near-end delineated total cell count (CDP): This attribute counts the total number of cells
+//			passed through the cell delineation and HEC function process operating on the ATM data path
+//			while in the SYNC state. (R) (mandatory) (4-bytes)
+//
+//		Near_End User Total Cell Count Cu_P
+//			Near-end user total cell count(CU-P): This attribute counts the total number of cells in the ATM
+//			data path delivered at the V-C interface. (R) (mandatory) (4-bytes)
+//
+//		Near_End Idle Cell Bit Error Count
+//			Near-end idle cell bit error count: This attribute counts cells with bit errors in the ATM data
+//			path idle payload received at the near end. (R) (mandatory) (2-bytes)
+//
+//		Far_End Hec Violation Count
+//			Far-end HEC violation count: This attribute counts far-end HEC anomalies in the ATM data path.
+//			(R) (mandatory) (2-bytes)
+//
+//		Far_End Delineated Total Cell Count Cd_Pfe
+//			Far-end delineated total cell count (CD-PFE): This attribute counts the total number of cells
+//			passed through the cell delineation process and HEC function operating on the ATM data path
+//			while in the SYNC state. (R) (mandatory) (4-bytes)
+//
+//		Far_End User Total Cell Count Cu_Pfe
+//			Far-end user total cell count (CU-PFE): This attribute counts the total number of cells in the
+//			ATM data path delivered at the T-R interface. (R) (mandatory) (4-bytes)
+//
+//		Far_End Idle Cell Bit Error Count
+//			Far-end idle cell bit error count: This attribute counts cells with bit errors in the ATM data
+//			path idle payload received at the far end. (R) (mandatory) (2-bytes)
+//
+type TcAdaptorPerformanceMonitoringHistoryDataXdsl struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	tcadaptorperformancemonitoringhistorydataxdslBME = &ManagedEntityDefinition{
+		Name:    "TcAdaptorPerformanceMonitoringHistoryDataXdsl",
+		ClassID: 116,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffc0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field("NearEndHecViolationCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("NearEndDelineatedTotalCellCountCdP", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("NearEndUserTotalCellCountCuP", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field("NearEndIdleCellBitErrorCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field("FarEndHecViolationCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("FarEndDelineatedTotalCellCountCdPfe", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("FarEndUserTotalCellCountCuPfe", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field("FarEndIdleCellBitErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Near-end HEC violation",
+			1: "Near-end idle cell bit error count",
+			2: "Far-end HEC violation count",
+			3: "Far-end idle cell bit error count",
+			4: "Near-end delineated total cell count (CD-P)",
+			5: "Near-end user total cell count (CU-P)",
+			6: "Far-end delineated total cell count (CD-PFE)",
+			7: "Far-end user total cell count (CU-PFE)",
+		},
+	}
+}
+
+// NewTcAdaptorPerformanceMonitoringHistoryDataXdsl (class ID 116) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewTcAdaptorPerformanceMonitoringHistoryDataXdsl(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*tcadaptorperformancemonitoringhistorydataxdslBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/tcpudpconfigdata.go b/vendor/github.com/opencord/omci-lib-go/generated/tcpudpconfigdata.go
similarity index 68%
rename from vendor/github.com/cboling/omci/generated/tcpudpconfigdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/tcpudpconfigdata.go
index 76c26af..e041031 100644
--- a/vendor/github.com/cboling/omci/generated/tcpudpconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/tcpudpconfigdata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TcpUdpConfigDataClassId ClassID = ClassID(136)
+// TcpUdpConfigDataClassID is the 16-bit ID for the OMCI
+// Managed entity TCP/UDP config data
+const TcpUdpConfigDataClassID ClassID = ClassID(136)
 
 var tcpudpconfigdataBME *ManagedEntityDefinition
 
@@ -41,21 +47,21 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. It is
 //			recommended that the ME ID be the same as the port number. (R, setbycreate) (mandatory)
-//			(2 bytes)
+//			(2-bytes)
 //
 //		Port Id
-//			Port ID:	This attribute specifies the port number that offers the TCP/UDP service. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
+//			Port ID:	This attribute specifies the port number that offers the TCP/UDP service. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Protocol
 //			Protocol:	This attribute specifies the protocol type as defined by [b-IANA] (protocol numbers),
-//			for example UDP (0x11). (R, W, setbycreate) (mandatory) (1 byte)
+//			for example UDP (0x11). (R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Tos_Diffserv Field
 //			TOS/diffserv field: This attribute specifies the value of the TOS/diffserv field of the IPv4
 //			header. The contents of this attribute may contain the type of service per [IETF RFC 2474] or a
 //			DSCP. Valid values for DSCP are as defined by [b-IANA] (differentiated services field code
-//			points). (R, W, set-by-create) (mandatory) (1 byte)
+//			points). (R,-W, set-by-create) (mandatory) (1-byte)
 //
 //		Ip Host Pointer
 //			IP host pointer: This attribute points to the IP host config data or IPv6 host config data ME
@@ -77,20 +83,22 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF000,
+		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("PortId", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("Protocol", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: ByteField("TosDiffservField", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: Uint16Field("IpHostPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("PortId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("Protocol", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField("TosDiffservField", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field("IpHostPointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewTcpUdpConfigData (class ID 136 creates the basic
+// NewTcpUdpConfigData (class ID 136) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTcpUdpConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(tcpudpconfigdataBME, params...)
+	return NewManagedEntity(*tcpudpconfigdataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/tcpudpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/tcpudpperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..eb1833f
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/tcpudpperformancemonitoringhistorydata.go
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// TcpUdpPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity TCP/UDP performance monitoring history data
+const TcpUdpPerformanceMonitoringHistoryDataClassID ClassID = ClassID(342)
+
+var tcpudpperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// TcpUdpPerformanceMonitoringHistoryData (class ID #342)
+//	This ME collects PM data related to a TCP or UDP port. Instances of this ME are created and
+//	deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of the TCP/UDP config data ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the TCP/UDP config data ME. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Socket Failed
+//			Socket failed:	This attribute is incremented when an attempt to create a socket associated with
+//			a port fails. (R) (mandatory) (2-bytes)
+//
+//		Listen Failed
+//			Listen failed:	This attribute is incremented when an attempt by a service to listen for a
+//			request on a port fails. (R) (mandatory) (2-bytes)
+//
+//		Bind Failed
+//			Bind failed:	This attribute is incremented when an attempt by a service to bind to a port fails.
+//			(R) (mandatory) (2-bytes)
+//
+//		Accept Failed
+//			Accept failed: This attribute is incremented when an attempt to accept a connection on a port
+//			fails. (R) (mandatory) (2-bytes)
+//
+//		Select Failed
+//			Select failed:	This attribute is incremented when an attempt to perform a select on a group of
+//			ports fails. (R) (mandatory) (2-bytes)
+//
+type TcpUdpPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	tcpudpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "TcpUdpPerformanceMonitoringHistoryData",
+		ClassID: 342,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfe00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("SocketFailed", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint16Field("ListenFailed", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field("BindFailed", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint16Field("AcceptFailed", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field("SelectFailed", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "Socket failed",
+			2: "Listen failed",
+			3: "Bind failed",
+			4: "Accept failed",
+			5: "Select failed",
+		},
+	}
+}
+
+// NewTcpUdpPerformanceMonitoringHistoryData (class ID 342) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewTcpUdpPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*tcpudpperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/thresholddata1.go b/vendor/github.com/opencord/omci-lib-go/generated/thresholddata1.go
new file mode 100644
index 0000000..b0ecfa9
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/thresholddata1.go
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// ThresholdData1ClassID is the 16-bit ID for the OMCI
+// Managed entity Threshold data 1
+const ThresholdData1ClassID ClassID = ClassID(273)
+
+var thresholddata1BME *ManagedEntityDefinition
+
+// ThresholdData1 (class ID #273)
+//	Threshold data are partitioned into two MEs for historical reasons. An instance of this ME,
+//	together with an optional instance of the threshold data 2 ME, contains threshold values for
+//	counters in PM history data MEs.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME may be related to multiple instances of PM history data type MEs.////		Paired instances of threshold data 1 ME and threshold data 2 ME are implicitly linked together
+//		through a common ME ID.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Threshold Value_1
+//			Threshold value-1: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_2
+//			Threshold value-2: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_3
+//			Threshold value-3: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_4
+//			Threshold value-4: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_5
+//			Threshold value-5: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_6
+//			Threshold value-6: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_7
+//			Threshold value-7: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+type ThresholdData1 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	thresholddata1BME = &ManagedEntityDefinition{
+		Name:    "ThresholdData1",
+		ClassID: 273,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfe00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field("ThresholdValue1", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field("ThresholdValue2", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("ThresholdValue3", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint32Field("ThresholdValue4", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint32Field("ThresholdValue5", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint32Field("ThresholdValue6", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint32Field("ThresholdValue7", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewThresholdData1 (class ID 273) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewThresholdData1(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*thresholddata1BME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/thresholddata2.go b/vendor/github.com/opencord/omci-lib-go/generated/thresholddata2.go
new file mode 100644
index 0000000..a4266d8
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/thresholddata2.go
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// ThresholdData2ClassID is the 16-bit ID for the OMCI
+// Managed entity Threshold data 2
+const ThresholdData2ClassID ClassID = ClassID(274)
+
+var thresholddata2BME *ManagedEntityDefinition
+
+// ThresholdData2 (class ID #274)
+//	Together with an instance of the threshold data 1 ME, an instance of this ME contains threshold
+//	values for counters maintained in one or more instances of PM history data MEs.
+//
+//	For a complete discussion of generic PM architecture, refer to clause-I.4.
+//
+//	Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		Refer to the relationships of the threshold data 1 ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Its value is the
+//			same as that of the paired threshold data-1-instance. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Threshold Value_8
+//			Threshold value-8: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_9
+//			Threshold value-9: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_10
+//			Threshold value-10: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_11
+//			Threshold value-11: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_12
+//			Threshold value-12: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_13
+//			Threshold value-13: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Threshold Value_14
+//			Threshold value-14: (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+type ThresholdData2 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	thresholddata2BME = &ManagedEntityDefinition{
+		Name:    "ThresholdData2",
+		ClassID: 274,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfe00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field("ThresholdValue8", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field("ThresholdValue9", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("ThresholdValue10", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint32Field("ThresholdValue11", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint32Field("ThresholdValue12", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint32Field("ThresholdValue13", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint32Field("ThresholdValue14", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewThresholdData2 (class ID 274) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewThresholdData2(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*thresholddata2BME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/trafficdescriptor.go b/vendor/github.com/opencord/omci-lib-go/generated/trafficdescriptor.go
new file mode 100644
index 0000000..1a23f08
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/trafficdescriptor.go
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// TrafficDescriptorClassID is the 16-bit ID for the OMCI
+// Managed entity Traffic descriptor
+const TrafficDescriptorClassID ClassID = ClassID(280)
+
+var trafficdescriptorBME *ManagedEntityDefinition
+
+// TrafficDescriptor (class ID #280)
+//	The traffic descriptor is a profile that allows for traffic management. A priority controlled
+//	ONU can point from a MAC bridge port configuration data ME to a traffic descriptor in order to
+//	implement traffic management (marking, policing). A rate controlled ONU can point to a traffic
+//	descriptor from either a MAC bridge port configuration data ME or a GEM port network CTP to
+//	implement traffic management (marking, shaping).
+//
+//	Packets are determined to be green, yellow or red as a function of the ingress packet rate and
+//	the settings in this ME. The colour indicates drop precedence (eligibility), subsequently used
+//	by the priority queue ME to drop packets conditionally during congestion conditions. Packet
+//	colour is also used by the optional mode 1 DBA status reporting function described in [ITUT
+//	G.984.3]. Red packets are dropped immediately. Yellow packets are marked as drop eligible, and
+//	green packets are marked as not drop eligible, according to the egress colour marking attribute.
+//
+//	The algorithm used to determine the colour marking is specified by the meter type attribute. If
+//	[bIETF RFC 4115] is used, then:
+//
+//	CIR4115-=-CIR
+//
+//	EIR4115-=-PIR - CIR (EIR: excess information rate)
+//
+//	CBS4115-=-CBS
+//
+//	EBS4115-=-PBS - CBS.
+//
+//	Relationships
+//		This ME is associated with a GEM port network CTP or a MAC bridge port configuration data ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Cir
+//			CIR:	This attribute specifies the committed information rate, in bytes per second. The default
+//			is 0. (R,-W, setbycreate) (optional) (4-bytes)
+//
+//		Pir
+//			PIR:	This attribute specifies the peak information rate, in bytes per second. The default value
+//			0 accepts the ONU's factory policy. (R,-W, setbycreate) (optional) (4-bytes)
+//
+//		Cbs
+//			CBS:	This attribute specifies the committed burst size, in bytes. The default is 0. (R,-W,
+//			setbycreate) (optional) (4-bytes)
+//
+//		Pbs
+//			PBS:	This attribute specifies the peak burst size, in bytes. The default value 0 accepts the
+//			ONU's factory policy. (R,-W, setbycreate) (optional) (4-bytes)
+//
+//		Colour Mode
+//			(R,-W, setbycreate) (optional) (1-byte)
+//
+//		Ingress Colour Marking
+//			(R,-W, setbycreate) (optional) (1-byte)
+//
+//		Egress Colour Marking
+//			(R,-W, setbycreate) (optional) (1-byte)
+//
+//		Meter Type
+//			(R, setbycreate) (optional) (1-byte)
+//
+type TrafficDescriptor struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	trafficdescriptorBME = &ManagedEntityDefinition{
+		Name:    "TrafficDescriptor",
+		ClassID: 280,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xff00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field("Cir", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2: Uint32Field("Pir", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3: Uint32Field("Cbs", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4: Uint32Field("Pbs", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: ByteField("ColourMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: ByteField("IngressColourMarking", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7: ByteField("EgressColourMarking", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8: ByteField("MeterType", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate), false, true, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewTrafficDescriptor (class ID 280) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewTrafficDescriptor(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*trafficdescriptorBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/trafficscheduler.go b/vendor/github.com/opencord/omci-lib-go/generated/trafficscheduler.go
similarity index 71%
rename from vendor/github.com/cboling/omci/generated/trafficscheduler.go
rename to vendor/github.com/opencord/omci-lib-go/generated/trafficscheduler.go
index 69a6cb3..000de15 100644
--- a/vendor/github.com/cboling/omci/generated/trafficscheduler.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/trafficscheduler.go
@@ -1,32 +1,38 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TrafficSchedulerClassId ClassID = ClassID(278)
+// TrafficSchedulerClassID is the 16-bit ID for the OMCI
+// Managed entity Traffic scheduler
+const TrafficSchedulerClassID ClassID = ClassID(278)
 
 var trafficschedulerBME *ManagedEntityDefinition
 
 // TrafficScheduler (class ID #278)
-//	NOTE 1 – In [ITU-T G.984.4], this ME is called a traffic scheduler-G.
+//	NOTE 1 - In [ITU-T G.984.4], this ME is called a traffic scheduler-G.
 //
 //	An instance of this ME represents a logical object that can control upstream GEM packets. A
 //	traffic scheduler can accommodate GEM packets after a priority queue or other traffic scheduler
@@ -44,16 +50,16 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2-byte
 //			number indicates the physical capability that realizes the traffic scheduler. The first byte is
 //			the slot ID of the circuit pack with which this traffic scheduler is associated. For a traffic
 //			scheduler that is not associated with a circuit pack, the first byte is 0xFF. The second byte is
 //			the traffic scheduler id, assigned by the ONU itself. Traffic schedulers are numbered in
 //			ascending order with the range 0..0xFF in each circuit pack or in the ONU core. (R) (mandatory)
-//			(2 bytes)
+//			(2-bytes)
 //
 //		T_Cont Pointer
-//			NOTE 2 – This attribute is read-only unless otherwise specified by the QoS configuration
+//			NOTE 2 - This attribute is read-only unless otherwise specified by the QoS configuration
 //			flexibility attribute of the ONU2-G ME. If flexible configuration is not supported, the ONU
 //			should reject an attempt to set the TCONT pointer attribute with a parameter error result-reason
 //			code.
@@ -61,15 +67,15 @@
 //		Traffic Scheduler Pointer
 //			Traffic scheduler pointer: This attribute points to another traffic scheduler ME instance that
 //			may serve this traffic scheduler. This pointer is used when this traffic scheduler is connected
-//			to another traffic scheduler; it is null (0) otherwise. (R) (mandatory) (2 bytes)
+//			to another traffic scheduler; it is null (0) otherwise. (R) (mandatory) (2-bytes)
 //
 //		Policy
-//			NOTE 3 – This attribute is read-only unless otherwise specified by the QoS configuration
+//			NOTE 3 - This attribute is read-only unless otherwise specified by the QoS configuration
 //			flexibility attribute of the ONU2-G ME. If flexible configuration is not supported, the ONU
 //			should reject an attempt to set the policy attribute with a parameter error result-reason code.
 //
 //		Priority_Weight
-//			Upon ME instantiation, the ONU sets this attribute to 0. (R, W) (mandatory) (1 byte)
+//			Upon ME instantiation, the ONU sets this attribute to 0. (R,-W) (mandatory) (1-byte)
 //
 type TrafficScheduler struct {
 	ManagedEntityDefinition
@@ -84,20 +90,22 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF000,
+		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: Uint16Field("TContPointer", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2: Uint16Field("TrafficSchedulerPointer", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3: ByteField("Policy", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4: ByteField("PriorityWeight", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field("TContPointer", PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: Uint16Field("TrafficSchedulerPointer", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField("Policy", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField("PriorityWeight", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewTrafficScheduler (class ID 278 creates the basic
+// NewTrafficScheduler (class ID 278) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTrafficScheduler(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(trafficschedulerBME, params...)
+	return NewManagedEntity(*trafficschedulerBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/twdmchannelmanagedentity.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelmanagedentity.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/twdmchannelmanagedentity.go
rename to vendor/github.com/opencord/omci-lib-go/generated/twdmchannelmanagedentity.go
index f8c2064..8750bbf 100644
--- a/vendor/github.com/cboling/omci/generated/twdmchannelmanagedentity.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelmanagedentity.go
@@ -1,33 +1,39 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TwdmChannelManagedEntityClassId ClassID = ClassID(443)
+// TwdmChannelManagedEntityClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel managed entity
+const TwdmChannelManagedEntityClassID ClassID = ClassID(443)
 
 var twdmchannelmanagedentityBME *ManagedEntityDefinition
 
 // TwdmChannelManagedEntity (class ID #443)
 //	This ME provides an anchor for the MEs involved in collection of PM statistics per TWDM channel,
-//	as stipulated by clause 14 of [ITU-T G.989.3]. Instances of this ME are instantiated
+//	as stipulated by clause 14 of [ITU-T-G.989.3]. Instances of this ME are instantiated
 //	autonomously by the ONU.
 //
 //	Relationships
@@ -37,31 +43,31 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2 byte
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. This 2-byte
 //			number is represented as 0xSSBB, where SS indicates the ONU slot ID, and BB is the TWDM channel
 //			ME number assigned by the ONU itself, starting from 0 in the ascending order. (R) (mandatory)
-//			(2 bytes)
+//			(2-bytes)
 //
 //		Active Channel Indication
 //			Active channel indication: The default value is false. The ONU sets the attribute to true when
 //			it receives the Channel_Profile PLOAM messages for that channel. The ONU clears the attribute
-//			when it receives the Channel_Profile PLOAM message marked “void” for that channel. (R)
-//			(mandatory) (1 byte)
+//			when it receives the Channel_Profile PLOAM message marked ``void'' for that channel. (R)
+//			(mandatory) (1-byte)
 //
 //		Operational Channel Indication
 //			Operational channel indication: A Boolean attribute that is set to true for an active TWDM
 //			channel in which the ONT is currently operating. The operational statistic is accumulated in the
-//			PM history data MEs associated with that TWDM channel. (R) (mandatory) (1 byte)
+//			PM history data MEs associated with that TWDM channel. (R) (mandatory) (1-byte)
 //
 //		Downstream Wavelength Channel
 //			Downstream wavelength channel: For an active TWDM channel, this attribute identifies the
-//			downstream wavelength channel in reference to Table 11-2 of [ITU-T G.989.2]. For an inactive
-//			channel it has value 0xFF. (R) (mandatory) (1 byte)
+//			downstream wavelength channel in reference to Table 11-2 of [ITU-T-G.989.2]. For an inactive
+//			channel it has value 0xFF. (R) (mandatory) (1-byte)
 //
 //		Upstream Wavelength Channel
 //			Upstream wavelength channel: For an active TWDM channel, this attribute identifies the upstream
-//			wavelength channel in reference to Table VIII-5 of [ITU-T G.989.2]. For an inactive channel its
-//			value of 0xFF. (R) (mandatory) (1 byte)
+//			wavelength channel in reference to Table VIII-5 of [ITU-T-G.989.2]. For an inactive channel its
+//			value of 0xFF. (R) (mandatory) (1-byte)
 //
 type TwdmChannelManagedEntity struct {
 	ManagedEntityDefinition
@@ -75,20 +81,22 @@
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0XF000,
+		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("ActiveChannelIndication", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: ByteField("OperationalChannelIndication", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3: ByteField("DownstreamWavelengthChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: ByteField("UpstreamWavelengthChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("ActiveChannelIndication", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField("OperationalChannelIndication", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField("DownstreamWavelengthChannel", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: ByteField("UpstreamWavelengthChannel", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewTwdmChannelManagedEntity (class ID 443 creates the basic
+// NewTwdmChannelManagedEntity (class ID 443) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTwdmChannelManagedEntity(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchannelmanagedentityBME, params...)
+	return NewManagedEntity(*twdmchannelmanagedentityBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/twdmchannelomciperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelomciperformancemonitoringhistorydata.go
similarity index 65%
rename from vendor/github.com/cboling/omci/generated/twdmchannelomciperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/twdmchannelomciperformancemonitoringhistorydata.go
index 2be87e4..6765ed7 100644
--- a/vendor/github.com/cboling/omci/generated/twdmchannelomciperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelomciperformancemonitoringhistorydata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TwdmChannelOmciPerformanceMonitoringHistoryDataClassId ClassID = ClassID(452)
+// TwdmChannelOmciPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel OMCI performance monitoring history data
+const TwdmChannelOmciPerformanceMonitoringHistoryDataClassID ClassID = ClassID(452)
 
 var twdmchannelomciperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -29,8 +35,8 @@
 //	This ME collects OMCI-related PM data associated with the slot/circuit pack, hosting one or more
 //	ANI-G MEs, for a specific TWDM channel. Instances of this ME are created and deleted by the OLT.
 //
-//	The counters maintained by this ME are characterized as optional in Clause 14 of
-//	[ITU-T G.989.3].
+//	The counters maintained by this ME are characterized as optional in Clause 14 of [ITU-
+//	T-G.989.3].
 //
 //	For a complete discussion of generic PM architecture, refer to clause I.4.
 //
@@ -41,27 +47,27 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Omci Baseline Message Count
 //			OMCI baseline message count: The counter of baseline format OMCI messages directed to the given
-//			ONU. (R) (mandatory) (4 byte)
+//			ONU. (R) (mandatory) (4-byte)
 //
 //		Omci Extended Message Count
 //			OMCI extended message count: The counter of extended format OMCI messages directed to the given
-//			ONU. (R) (mandatory) (4 byte)
+//			ONU. (R) (mandatory) (4-byte)
 //
 //		Omci Mic Error Count
 //			OMCI MIC error count: The counter of OMCI messages received with MIC errors. (R) (mandatory)
-//			(4 byte)
+//			(4-byte)
 //
 type TwdmChannelOmciPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -79,21 +85,23 @@
 			GetCurrentData,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("OmciBaselineMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("OmciExtendedMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("OmciMicErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("OmciBaselineMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("OmciExtendedMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("OmciMicErrorCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewTwdmChannelOmciPerformanceMonitoringHistoryData (class ID 452 creates the basic
+// NewTwdmChannelOmciPerformanceMonitoringHistoryData (class ID 452) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTwdmChannelOmciPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchannelomciperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*twdmchannelomciperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/twdmchannelphylodsperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
index a4f0e84..db46818 100644
--- a/vendor/github.com/cboling/omci/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TwdmChannelPhyLodsPerformanceMonitoringHistoryDataClassId ClassID = ClassID(444)
+// TwdmChannelPhyLodsPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel PHY/LODS performance monitoring history data
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryDataClassID ClassID = ClassID(444)
 
 var twdmchannelphylodsperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -38,81 +44,81 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Total Received Words Protected By Bit_Interleaved Parity _32 Bip_32
-//			Total received words protected by bit-interleaved parity-32 (BIP-32): The count of 4 byte words
+//			Total received words protected by bit-interleaved parity-32 (BIP-32): The count of 4-byte words
 //			included in BIP-32 check. This is a product of the number of downstream FS frames received by
 //			the size of the downstream FS frame after the FEC parity byte, if any, have been removed. The
 //			count applies to the entire downstream data flow, whether or not addressed to that ONT. (R)
-//			(mandatory) (8 bytes)
+//			(mandatory) (8-bytes)
 //
 //		Bip_32 Bit Error Count
 //			BIP-32 bit error count: Count of the bit errors in the received downstream FS frames as measured
 //			using BIP-32. If FEC is supported in the downstream direction, the BIP-32 count applies to the
 //			downstream FS frame after the FEC correction has been applied and the FEC parity bytes have been
-//			removed. (R) (mandatory) (4 bytes)
+//			removed. (R) (mandatory) (4-bytes)
 //
 //		Corrected Psbd Hec Error Count
 //			Corrected PSBd HEC error count: The count of the errors in either CFC or OCS fields of the PSBd
-//			block that have been corrected using the HEC technique. (R) (mandatory) (4 bytes)
+//			block that have been corrected using the HEC technique. (R) (mandatory) (4-bytes)
 //
 //		Uncorrectable Psbd Hec Error Count
 //			Uncorrectable PSBd HEC error count: The count of the errors in either CFC or OCS fields of the
-//			PSBd block that could not be corrected using the HEC technique. (R) (mandatory) (4 bytes)
+//			PSBd block that could not be corrected using the HEC technique. (R) (mandatory) (4-bytes)
 //
 //		Corrected Downstream Fs Header Hec Error Count
 //			Corrected downstream FS header HEC error count: The count of the errors in the downstream FS
-//			header that have been corrected using the HEC technique. (R) (mandatory) (4 bytes)
+//			header that have been corrected using the HEC technique. (R) (mandatory) (4-bytes)
 //
 //		Uncorrectable Downstream Fs Header Hec Error Count
 //			Uncorrectable downstream FS header HEC error count: The count of the errors in the downstream FS
-//			header that could not be corrected using the HEC technique. (R) (mandatory) (4 bytes)
+//			header that could not be corrected using the HEC technique. (R) (mandatory) (4-bytes)
 //
 //		Total Number Of Lods Events
 //			Total number of LODS events: The count of the state transitions from O5.1/O5.2 to O6, referring
-//			to the ONU activation cycle state machine, clause 12 of [ITU-T G.989.3]. (R) (mandatory)
-//			(4 bytes)
+//			to the ONU activation cycle state machine, clause 12 of [ITU-T-G.989.3]. (R) (mandatory)
+//			(4-bytes)
 //
 //		Lods Events Restored In Operating Twdm Channel
 //			LODS events restored in operating TWDM channel: The count of LODS events cleared automatically
-//			without retuning. (R) (mandatory) (4 bytes)
+//			without retuning. (R) (mandatory) (4-bytes)
 //
 //		Lods Events Restored In Protection Twdm Channel
 //			LODS events restored in protection TWDM channel: The count of LODS events resolved by retuning
 //			to a pre-configured protection TWDM channel. The event is counted against the original operating
-//			channel. (R) (mandatory) (4 bytes)
+//			channel. (R) (mandatory) (4-bytes)
 //
 //		Lods Events Restored In Discretionary Twdm Channel
 //			LODS events restored in discretionary TWDM channel: The count of LODS events resolved by
 //			retuning to a TWDM channel chosen by the ONU, without retuning. Implies that the wavelength
 //			channel protection for the operating channel is not active. The event is counted against the
-//			original operating channel (R) (mandatory) (4 bytes)
+//			original operating channel (R) (mandatory) (4-bytes)
 //
 //		Lods Events Resulting In Reactivation
 //			LODS events resulting in reactivation: The count of LODS events resolved through ONU
-//			reactivation; that is, either TO2 (without WLCP) or TO3 + TO4 (with WLCP) expires before the
+//			reactivation; that is, either TO2 (without WLCP) or TO3-+ TO4 (with WLCP) expires before the
 //			downstream channel is reacquired, referring to the ONU activation cycle state machine, clause 12
-//			of [ITU-T G.989.3]. The event is counted against the original operating channel (R) (mandatory)
-//			(4 bytes)
+//			of [ITU-T-G.989.3]. The event is counted against the original operating channel (R) (mandatory)
+//			(4-bytes)
 //
 //		Lods Events Resulting In Reactivation After Retuning To Protection Twdm Channel
 //			LODS events resulting in reactivation after retuning to protection TWDM channel: The count of
 //			LODS events resolved through ONU reactivation after attempted protection switching, which turns
-//			unsuccessful due to a handshake failure. (R) (mandatory) (4 bytes)
+//			unsuccessful due to a handshake failure. (R) (mandatory) (4-bytes)
 //
 //		Lods Events Resulting In Reactivation After Retuning To Discretionary Twdm Channel
 //			LODS events resulting in reactivation after retuning to discretionary TWDM channel: The count of
 //			LODS events resolved through ONU reactivation after attempted retuning to a discretionary
-//			channel, which turns unsuccessful due to a handshake failure. (R) (mandatory) (4 bytes)
+//			channel, which turns unsuccessful due to a handshake failure. (R) (mandatory) (4-bytes)
 //
 type TwdmChannelPhyLodsPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -130,31 +136,47 @@
 			GetCurrentData,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFE,
+		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint64Field("TotalReceivedWordsProtectedByBitInterleavedParity32Bip32", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("Bip32BitErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("CorrectedPsbdHecErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("UncorrectablePsbdHecErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("CorrectedDownstreamFsHeaderHecErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("UncorrectableDownstreamFsHeaderHecErrorCount", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("TotalNumberOfLodsEvents", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("LodsEventsRestoredInOperatingTwdmChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("LodsEventsRestoredInProtectionTwdmChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("LodsEventsRestoredInDiscretionaryTwdmChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("LodsEventsResultingInReactivation", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field("TotalReceivedWordsProtectedByBitInterleavedParity32Bip32", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("Bip32BitErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("CorrectedPsbdHecErrorCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("UncorrectablePsbdHecErrorCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("CorrectedDownstreamFsHeaderHecErrorCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("UncorrectableDownstreamFsHeaderHecErrorCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("TotalNumberOfLodsEvents", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("LodsEventsRestoredInOperatingTwdmChannel", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("LodsEventsRestoredInProtectionTwdmChannel", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("LodsEventsRestoredInDiscretionaryTwdmChannel", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("LodsEventsResultingInReactivation", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1:  "BIP-32 bit error count",
+			2:  "PSBd HEC errors - corrected",
+			3:  "PSBd HEC errors - uncorrectable",
+			4:  "FS header errors - corrected",
+			5:  "FS header errors - uncorrectable",
+			6:  "Total LODS event count",
+			7:  "LODS - restored in operating TWDM channel",
+			8:  "LODS - restored in protection TWDM channel",
+			9:  "LODS - restored in discretionary TWDM channel",
+			10: "LODS - reactivations",
+			11: "LODS - handshake failure in protection channel",
+			12: "LODS - handshake failure in discretionary channel",
 		},
 	}
 }
 
-// NewTwdmChannelPhyLodsPerformanceMonitoringHistoryData (class ID 444 creates the basic
+// NewTwdmChannelPhyLodsPerformanceMonitoringHistoryData (class ID 444) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTwdmChannelPhyLodsPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchannelphylodsperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*twdmchannelphylodsperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
similarity index 60%
rename from vendor/github.com/cboling/omci/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
rename to vendor/github.com/opencord/omci-lib-go/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
index 17acd46..2633fc5 100644
--- a/vendor/github.com/cboling/omci/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1ClassId ClassID = ClassID(446)
+// TwdmChannelPloamPerformanceMonitoringHistoryDataPart1ClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel PLOAM performance monitoring history data part 1
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1ClassID ClassID = ClassID(446)
 
 var twdmchannelploamperformancemonitoringhistorydatapart1BME *ManagedEntityDefinition
 
@@ -33,14 +39,14 @@
 //	The downstream PLOAM message counts of this ME include only the received PLOAM messages
 //	pertaining to the given ONU, i.e.:
 //
-//	–	unicast PLOAM messages, addressed by ONU-ID;
+//	-	unicast PLOAM messages, addressed by ONU-ID;
 //
-//	–	broadcast PLOAM messages, addressed by serial number;
+//	-	broadcast PLOAM messages, addressed by serial number;
 //
-//	–	broadcast PLOAM messages, addressed to all ONUs on the PON.
+//	-	broadcast PLOAM messages, addressed to all ONUs on the PON.
 //
-//	This ME includes all PLOAM PM counters characterized as mandatory in clause 14 of
-//	[ITU-T G.989.3].
+//	This ME includes all PLOAM PM counters characterized as mandatory in clause 14 of [ITU-
+//	T-G.989.3].
 //
 //	For a complete discussion of generic PM architecture, refer to clause I.4.
 //
@@ -51,39 +57,39 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Ploam Mic Errors
 //			PLOAM MIC errors: The counter of received PLOAM messages that remain unparsable due to MIC
-//			error. (R) (mandatory) (4 byte)
+//			error. (R) (mandatory) (4-byte)
 //
 //		Downstream Ploam Message Count
 //			Downstream PLOAM message count: The counter of received broadcast and unicast PLOAM messages
-//			pertaining to the given ONU. (R) (mandatory) (4 byte)
+//			pertaining to the given ONU. (R) (mandatory) (4-byte)
 //
 //		Ranging_Time Message Count
 //			Ranging_Time message count: The counter of received Ranging_Time PLOAM messages. (R) (mandatory)
-//			(4 byte)
+//			(4-byte)
 //
 //		Protection_Control Message Count
 //			Protection_Control message count: The counter of received Protection_Control PLOAM messages. (R)
-//			(mandatory) (4 byte)
+//			(mandatory) (4-byte)
 //
 //		Adjust_Tx_Wavelength Message Count
 //			Adjust_Tx_Wavelength message count: The counter of received Adjust_Tx_Wavelength PLOAM messages.
-//			(R) (mandatory) (4 byte)
+//			(R) (mandatory) (4-byte)
 //
 //		Adjust_Tx_Wavelength Adjustment Amplitude
 //			Adjust_Tx_Wavelength adjustment amplitude: An estimator of the absolute value of the
-//			transmission wavelength adjustment. (R) (mandatory) (4 byte)
+//			transmission wavelength adjustment. (R) (mandatory) (4-byte)
 //
 type TwdmChannelPloamPerformanceMonitoringHistoryDataPart1 struct {
 	ManagedEntityDefinition
@@ -101,24 +107,29 @@
 			GetCurrentData,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("PloamMicErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("DownstreamPloamMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("RangingTimeMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("ProtectionControlMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint32Field("AdjustTxWavelengthMessageCount", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: Uint32Field("AdjustTxWavelengthAdjustmentAmplitude", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("PloamMicErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("DownstreamPloamMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("RangingTimeMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("ProtectionControlMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field("AdjustTxWavelengthMessageCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field("AdjustTxWavelengthAdjustmentAmplitude", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "PLOAM MIC errors",
 		},
 	}
 }
 
-// NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart1 (class ID 446 creates the basic
+// NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart1 (class ID 446) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart1(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchannelploamperformancemonitoringhistorydatapart1BME, params...)
+	return NewManagedEntity(*twdmchannelploamperformancemonitoringhistorydatapart1BME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
new file mode 100644
index 0000000..4dfaa75
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
@@ -0,0 +1,175 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// TwdmChannelPloamPerformanceMonitoringHistoryDataPart2ClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel PLOAM performance monitoring history data part 2
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2ClassID ClassID = ClassID(447)
+
+var twdmchannelploamperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
+
+// TwdmChannelPloamPerformanceMonitoringHistoryDataPart2 (class ID #447)
+//	This ME collects additional PLOAM-related PM data associated with the slot/circuit pack, hosting
+//	one or more ANI-G MEs, for a specific TWDM channel. Instances of this ME are created and deleted
+//	by the OLT.
+//
+//	The downstream PLOAM message counts of this ME include only the received PLOAM messages
+//	pertaining to the given ONU, i.e.:
+//
+//	-	unicast PLOAM messages, addressed by ONU-ID;
+//
+//	-	broadcast PLOAM messages, addressed by serial number;
+//
+//	-	broadcast PLOAM messages, addressed to all ONUs on the PON.
+//
+//	All these counters are characterized as optional in clause 14 of [ITU-T- G.989.3].
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of TWDM channel ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		System_Profile Message Count
+//			System_Profile message count: The counter of received System_Profile PLOAM messages. (R)
+//			(mandatory) (4-byte)
+//
+//		Channel_Profile Message Count
+//			Channel_Profile message count: The counter of received Channel_Profile PLOAM messages. (R)
+//			(mandatory) (4-byte)
+//
+//		Burst_Profile Message Count
+//			Burst_Profile message count: The counter of received Burst_Profile PLOAM messages. (R)
+//			(mandatory) (4-byte)
+//
+//		Assign_Onu_Id Message Count
+//			Assign_ONU-ID message count: The counter of received Assign_ONU-ID PLOAM messages. (R)
+//			(mandatory) (4-byte)
+//
+//		Unsatisfied Adjust_Tx_Wavelength Requests
+//			Unsatisfied Adjust_Tx_Wavelength requests: The counter of Adjust_Tx_Wavelength requests not
+//			applied or partially applied due to target US wavelength being out of Tx tuning range.  (R)
+//			(mandatory) (4-byte)
+//
+//		Deactivate_Onu_Id Message Count
+//			Deactivate_ONU-ID message count: The counter of received Deactivate_ONU-ID PLOAM messages. (R)
+//			(mandatory) (4-byte)
+//
+//		Disable_Serial_Number Message Count
+//			Disable_Serial_Number message count: The counter of received Disable_Serial_Number PLOAM
+//			messages. (R) (mandatory) (4-byte)
+//
+//		Request_Registration Message Count
+//			Request_Registration message count: The counter of received Request_Registration PLOAM messages.
+//			(R) (mandatory) (4-byte)
+//
+//		Assign_Alloc_Id Message Count
+//			Assign_Alloc-ID message count: The counter of received Assign_Alloc-ID PLOAM messages. (R)
+//			(mandatory) (4-byte)
+//
+//		Key_Control Message Count
+//			Key_Control message count: The counter of received Key_Control PLOAM messages. (R) (mandatory)
+//			(4-byte)
+//
+//		Sleep_Allow Message Count
+//			Sleep_Allow message count: The counter of received Sleep_Allow PLOAM messages. (R) (mandatory)
+//			(4-byte)
+//
+//		Tuning_Control_Request Message Count
+//			Tuning_Control/Request message count: The counter of received Tuning_Control PLOAM messages with
+//			Request operation code. (R) (mandatory) (4-byte)
+//
+//		Tuning_Control_Complete_D Message Count
+//			Tuning_Control/Complete_d message count: The counter of received Tuning_Control PLOAM messages
+//			with Complete_d operation code. (R) (mandatory) (4-byte)
+//
+//		Calibration_Request Message Count
+//			Calibration_Request message count: The counter of received Calibration_Request PLOAM messages.
+//			(R) (mandatory) (4-byte)
+//
+type TwdmChannelPloamPerformanceMonitoringHistoryDataPart2 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	twdmchannelploamperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
+		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2",
+		ClassID: 447,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetCurrentData,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("SystemProfileMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("ChannelProfileMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("BurstProfileMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("AssignOnuIdMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("UnsatisfiedAdjustTxWavelengthRequests", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("DeactivateOnuIdMessageCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("DisableSerialNumberMessageCount", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("RequestRegistrationMessageCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("AssignAllocIdMessageCount", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("KeyControlMessageCount", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("SleepAllowMessageCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("TuningControlRequestMessageCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("TuningControlCompleteDMessageCount", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field("CalibrationRequestMessageCount", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Unsatisfied Adjust_Tx_Wavelength requests",
+		},
+	}
+}
+
+// NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart2 (class ID 447) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*twdmchannelploamperformancemonitoringhistorydatapart2BME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
new file mode 100644
index 0000000..739dc56
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// TwdmChannelPloamPerformanceMonitoringHistoryDataPart3ClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel PLOAM performance monitoring history data part 3
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3ClassID ClassID = ClassID(448)
+
+var twdmchannelploamperformancemonitoringhistorydatapart3BME *ManagedEntityDefinition
+
+// TwdmChannelPloamPerformanceMonitoringHistoryDataPart3 (class ID #448)
+//	This ME collects remaining PLOAM-related PM data associated with the slot/circuit pack, hosting
+//	one or more ANI-G MEs, for a specific TWDM channel. Instances of this ME are created and deleted
+//	by the OLT.
+//
+//	This ME contains the counters related to transmitted upstream PLOAM messages. All these counters
+//	are characterized as optional in clause 14 of [ITU-T- G.989.3].
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of TWDM channel ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Upstream Ploam Message Count
+//			Upstream PLOAM message count: The aggregate counter of PLOAM messages, other than AK PLOAM MT,
+//			transmitted by the given ONU. (R) (mandatory) (4-byte)
+//
+//		Serial_Number_Onu In_Band Message Count
+//			Serial_Number_ONU (in-band) message count: The counter of transmitted in-band Serial_Number_ONU
+//			PLOAM messages. (R) (mandatory) (4-byte)
+//
+//		Serial_Number_Onu Amcc Message Count
+//			Serial_Number_ONU (AMCC) message count: The counter of transmitted auxiliary management and
+//			control channel (AMCC) Serial_Number_ONU PLOAM messages. (R) (mandatory) (4-byte)
+//
+//		Registration Message Count
+//			Registration message count: The counter of transmitted Registration PLOAM messages. (R)
+//			(mandatory) (4-byte)
+//
+//		Key_Report Message Count
+//			Key_Report message count: The counter of transmitted Key_Report PLOAM messages. (R) (mandatory)
+//			(4-byte)
+//
+//		Acknowledgement Message Count
+//			Acknowledgement message count: The counter of transmitted Registration PLOAM messages. (R)
+//			(mandatory) (4-byte)
+//
+//		Sleep_Request Message Count
+//			Sleep_Request message count: The counter of transmitted Sleep_Request PLOAM messages. (R)
+//			(mandatory) (4-byte)
+//
+//		Tuning_Response Ack_Nack Message Count
+//			Tuning_Response (ACK/NACK) message count: The counter of transmitted Tuning_Response PLOAM
+//			messages with ACK/NACK operation code. (R) (mandatory) (4-byte)
+//
+//		Tuning_Response Complete_U_Rollback Message Count
+//			Tuning_Response (Complete_u/Rollback) message count: The counter of transmitted Tuning_Response
+//			PLOAM messages with Complete_u/Rollback operation code. (R) (mandatory) (4-byte)
+//
+//		Power_Consumption_Report Message Count
+//			Power_Consumption_Report message count: The counter of transmitted Power_Consumption_Report
+//			PLOAM messages. (R) (mandatory) (4-byte)
+//
+//		Change_Power_Level Parameter Error Count
+//			Change_Power_Level parameter error count: The counter of transmitted Acknowledgement PLOAM
+//			messages with Parameter Error completion code in response to Change_Power_Level PLOAM message.
+//			(R) (mandatory) (4-byte)
+//
+type TwdmChannelPloamPerformanceMonitoringHistoryDataPart3 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	twdmchannelploamperformancemonitoringhistorydatapart3BME = &ManagedEntityDefinition{
+		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3",
+		ClassID: 448,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetCurrentData,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff8,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("UpstreamPloamMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("SerialNumberOnuInBandMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("SerialNumberOnuAmccMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("RegistrationMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("KeyReportMessageCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("AcknowledgementMessageCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("SleepRequestMessageCount", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("TuningResponseAckNackMessageCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("TuningResponseCompleteURollbackMessageCount", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("PowerConsumptionReportMessageCount", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("ChangePowerLevelParameterErrorCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Change_Power_Level parameter error count",
+		},
+	}
+}
+
+// NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart3 (class ID 448) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewTwdmChannelPloamPerformanceMonitoringHistoryDataPart3(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*twdmchannelploamperformancemonitoringhistorydatapart3BME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
similarity index 66%
rename from vendor/github.com/cboling/omci/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
rename to vendor/github.com/opencord/omci-lib-go/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
index 8e44310..02c8755 100644
--- a/vendor/github.com/cboling/omci/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1ClassId ClassID = ClassID(449)
+// TwdmChannelTuningPerformanceMonitoringHistoryDataPart1ClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel tuning performance monitoring history data part 1
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1ClassID ClassID = ClassID(449)
 
 var twdmchanneltuningperformancemonitoringhistorydatapart1BME *ManagedEntityDefinition
 
@@ -32,8 +38,8 @@
 //
 //	The relevant events this ME is concerned with are counted towards the PM statistics associated
 //	with the source TWDM channel. The attribute descriptions refer to the ONU activation cycle
-//	states and timers specified in clause 12 of [ITU-T  G.989.3]. This ME contains the counters
-//	characterized as mandatory in clause 14 of [ITU-T  G.989.3].
+//	states and timers specified in clause 12 of [ITU-T- G.989.3]. This ME contains the counters
+//	characterized as mandatory in clause 14 of [ITU-T- G.989.3].
 //
 //	For a complete discussion of generic PM architecture, refer to clause I.4.
 //
@@ -44,82 +50,82 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Tuning Control Requests For Rx Only Or Rx And Tx
 //			Tuning control requests for Rx only or Rx and Tx: The counter of received Tuning_Control PLOAM
 //			messages with Request operation code that contain tuning instructions either for receiver only
-//			or for both receiver and transmitter. (R) (mandatory) (4 byte)
+//			or for both receiver and transmitter. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests For Tx Only
 //			Tuning control requests for Tx only: The counter of received Tuning_Control PLOAM messages with
 //			Request operation code that contain tuning instructions for transmitter only. (R) (mandatory)
-//			(4 byte)
+//			(4-byte)
 //
 //		Tuning Control Requests Rejected_Int_Sfc
 //			Tuning control requests rejected/INT_SFC: The counter of transmitted Tuning_Response PLOAM
 //			messages with NACK operation code and INT_SFC response code, indicating inability to start
-//			transceiver tuning by the specified time (SFC). (R) (mandatory) (4 byte)
+//			transceiver tuning by the specified time (SFC). (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rejected_Ds_Xxx
 //			Tuning control requests rejected/DS_xxx: The aggregate counter of transmitted Tuning_Response
 //			PLOAM messages with NACK operation code and any DS_xxx response code, indicating target
-//			downstream wavelength channel inconsistency. (R) (mandatory) (4 byte)
+//			downstream wavelength channel inconsistency. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rejected_Us_Xxx
 //			Tuning control requests rejected/US_xxx: The aggregate counter of transmitted Tuning_Response
 //			PLOAM messages with NACK operation code and any US_xxx response code, indicating target upstream
-//			wavelength channel inconsistency. (R) (mandatory) (4 byte)
+//			wavelength channel inconsistency. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Fulfilled With Onu Reacquired At Target Channel
 //			Tuning control requests fulfilled with ONU reacquired at target channel: The counter of
 //			controlled tuning attempts for which an upstream tuning confirmation has been obtained in the
-//			target channel. (R) (mandatory) (4 byte)
+//			target channel. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Failed Due To Target Ds Wavelength Channel Not Found
 //			Tuning control requests failed due to target DS wavelength channel not found: The counter of
 //			controlled tuning attempts that failed due to timer TO4 expiration in the DS Tuning state (O8)
-//			in the target channel. (R) (mandatory) (4 byte)
+//			in the target channel. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Failed Due To No Feedback In Target Ds Wavelength Channel
 //			Tuning control requests failed due to no feedback in target DS wavelength channel: The counter
 //			of controlled tuning attempts that failed due to timer TO5 expiration in the US Tuning state
-//			(O9) in the target channel. (R) (mandatory) (4 byte)
+//			(O9) in the target channel. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Resolved With Onu Reacquired At Discretionary Channel
 //			Tuning control requests resolved with ONU reacquired at discretionary channel: The counter of
 //			controlled tuning attempts for which an upstream tuning confirmation has been obtained in the
-//			discretionary channel. (R) (mandatory) (4 byte)
+//			discretionary channel. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Com_Ds
 //			Tuning control requests Rollback/COM_DS: The counter of controlled tuning attempts that failed
 //			due to communication condition in the target channel, as indicated by the Tuning_Response PLOAM
-//			message with Rollback operation code and COM_DS response code. (R) (mandatory) (4 byte)
+//			message with Rollback operation code and COM_DS response code. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Ds_Xxx
 //			Tuning control requests Rollback/DS_xxx: The aggregate counter of controlled tuning attempts
 //			that failed due to target downstream wavelength channel inconsistency, as indicated by the
 //			Tuning_Response PLOAM message with Rollback operation code and any DS_xxx response code. (R)
-//			(mandatory) (4 byte)
+//			(mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Us_Xxx
 //			Tuning control requests Rollback/US_xxx: The aggregate counter of controlled tuning attempts
 //			that failed due to target upstream wavelength channel parameter violation, as indicated by the
 //			Tuning_Response PLOAM message with Rollback operation code and US_xxx response code. (R)
-//			(mandatory) (4 byte)
+//			(mandatory) (4-byte)
 //
 //		Tuning Control Requests Failed With Onu Reactivation
 //			Tuning control requests failed with ONU reactivation: The counter of controlled tuning attempts
 //			that failed on any reason, with expiration of timers TO4 or TO5 causing the ONU transition into
-//			state O1. (R) (mandatory) (4 byte)
+//			state O1. (R) (mandatory) (4-byte)
 //
 type TwdmChannelTuningPerformanceMonitoringHistoryDataPart1 struct {
 	ManagedEntityDefinition
@@ -136,31 +142,33 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFE,
+		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("TuningControlRequestsForRxOnlyOrRxAndTx", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("TuningControlRequestsForTxOnly", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("TuningControlRequestsRejectedIntSfc", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("TuningControlRequestsRejectedDsXxx", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("TuningControlRequestsRejectedUsXxx", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("TuningControlRequestsRollbackComDs", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: Uint32Field("TuningControlRequestsRollbackDsXxx", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: Uint32Field("TuningControlRequestsRollbackUsXxx", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: Uint32Field("TuningControlRequestsFailedWithOnuReactivation", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("TuningControlRequestsForRxOnlyOrRxAndTx", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("TuningControlRequestsForTxOnly", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("TuningControlRequestsRejectedIntSfc", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("TuningControlRequestsRejectedDsXxx", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("TuningControlRequestsRejectedUsXxx", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("TuningControlRequestsRollbackComDs", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("TuningControlRequestsRollbackDsXxx", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("TuningControlRequestsRollbackUsXxx", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("TuningControlRequestsFailedWithOnuReactivation", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart1 (class ID 449 creates the basic
+// NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart1 (class ID 449) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart1(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchanneltuningperformancemonitoringhistorydatapart1BME, params...)
+	return NewManagedEntity(*twdmchanneltuningperformancemonitoringhistorydatapart1BME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
new file mode 100644
index 0000000..9e7d0e3
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
@@ -0,0 +1,187 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// TwdmChannelTuningPerformanceMonitoringHistoryDataPart2ClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel tuning performance monitoring history data part 2
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2ClassID ClassID = ClassID(450)
+
+var twdmchanneltuningperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
+
+// TwdmChannelTuningPerformanceMonitoringHistoryDataPart2 (class ID #450)
+//	This ME collects additional tuning-control-related PM data associated with the slot/circuit
+//	pack, hosting one or more ANI-G MEs, for a specific TWDM channel. Instances of this ME are
+//	created and deleted by the OLT.
+//
+//	The relevant events this ME is concerned with are counted towards the PM statistics associated
+//	with the source TWDM channel. This ME contains the counters characterized as optional in clause
+//	14 of [ITU-T- G.989.3].
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of TWDM channel ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Tuning Control Requests Rejected_Ds_Albl
+//			Tuning control requests rejected/DS_ALBL: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and DS_ALBL response code, indicating downstream
+//			administrative label inconsistency. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Ds_Void
+//			Tuning control requests rejected/DS_VOID: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and DS_VOID response code, indicating that the target
+//			downstream wavelength channel descriptor is void. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Ds_Part
+//			Tuning control requests rejected/DS_PART: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and DS_PART response code, indicating that tuning request
+//			involves channel partition violation. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Ds_Tunr
+//			Tuning control requests rejected/DS_TUNR: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and DS_TUNR response code, indicating that the target DS
+//			wavelength channel is out of receiver tuning range. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Ds_Lnrt
+//			Tuning control requests rejected/DS_LNRT: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and DS_LNRT response code, indicating downstream line rate
+//			inconsistency in the target channel. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Ds_Lncd
+//			Tuning control requests rejected/DS_LNCD: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and DS_LNCD response code, indicating downstream line code
+//			inconsistency in the target channel. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Us_Albl
+//			Tuning control requests rejected/US_ALBL: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and US_ALBL response code, indicating upstream administrative
+//			label inconsistency. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Us_Void
+//			Tuning control requests rejected/US_VOID: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and US_VOID response code, indicating that the target upstream
+//			wavelength channel descriptor is void. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Us_Tunr
+//			Tuning control requests rejected/US_TUNR: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and US_TUNR response code, indicating that the target US
+//			wavelength channel is out of transmitter tuning range. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Us_Clbr
+//			Tuning control requests rejected/US_CLBR: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and US_CLBR response code, indicating that the transmitter has
+//			insufficient calibration accuracy in the target US wavelength channel. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Us_Lktp
+//			Tuning control requests rejected/US_LKTP: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and US_LKTP response code, indicating upstream optical link
+//			type inconsistency. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Us_Lnrt
+//			Tuning control requests rejected/US_LNRT: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and US_LNRT response code, indicating upstream line rate
+//			inconsistency in the target channel. (R) (mandatory) (4-byte)
+//
+//		Tuning Control Requests Rejected_Us_Lncd
+//			Tuning control requests rejected/US_LNCD: The counter of transmitted Tuning_Response PLOAM
+//			messages with NACK operation code and US_LNCD response code, indicating upstream line code
+//			inconsistency in the target channel. (R) (mandatory) (4-byte)
+//
+type TwdmChannelTuningPerformanceMonitoringHistoryDataPart2 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	twdmchanneltuningperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
+		Name:    "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2",
+		ClassID: 450,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetCurrentData,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("TuningControlRequestsRejectedDsAlbl", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("TuningControlRequestsRejectedDsVoid", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("TuningControlRequestsRejectedDsPart", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("TuningControlRequestsRejectedDsTunr", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("TuningControlRequestsRejectedDsLnrt", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("TuningControlRequestsRejectedDsLncd", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("TuningControlRequestsRejectedUsAlbl", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("TuningControlRequestsRejectedUsVoid", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("TuningControlRequestsRejectedUsTunr", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("TuningControlRequestsRejectedUsClbr", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field("TuningControlRequestsRejectedUsLktp", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field("TuningControlRequestsRejectedUsLnrt", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field("TuningControlRequestsRejectedUsLncd", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0:  "Tuning control requests rejected/DS_ALBL",
+			1:  "Tuning control requests rejected/DS_VOID",
+			2:  "Tuning control requests rejected/DS_PART",
+			3:  "Tuning control requests rejected/DS_TUNR",
+			4:  "Tuning control requests rejected/DS_LNRT",
+			5:  "Tuning control requests rejected/DS_LNCD",
+			6:  "Tuning control requests rejected/US_ALBL",
+			7:  "Tuning control requests rejected/US_VOID",
+			8:  "Tuning control requests rejected/US_TUNR",
+			9:  "Tuning control requests rejected/US_CLBR",
+			10: "Tuning control requests rejected/US_LKTP",
+			11: "Tuning control requests rejected/US_LNRT",
+			12: "Tuning control requests rejected/US_LNCD",
+		},
+	}
+}
+
+// NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart2 (class ID 450) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*twdmchanneltuningperformancemonitoringhistorydatapart2BME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
similarity index 65%
rename from vendor/github.com/cboling/omci/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
rename to vendor/github.com/opencord/omci-lib-go/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
index ac28bcc..ce12a7b 100644
--- a/vendor/github.com/cboling/omci/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3ClassId ClassID = ClassID(451)
+// TwdmChannelTuningPerformanceMonitoringHistoryDataPart3ClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel tuning performance monitoring history data part 3
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3ClassID ClassID = ClassID(451)
 
 var twdmchanneltuningperformancemonitoringhistorydatapart3BME *ManagedEntityDefinition
 
@@ -32,7 +38,7 @@
 //
 //	The relevant events this ME is concerned with are counted towards the PM statistics associated
 //	with the source TWDM channel. This ME contains the counters characterized as optional in clause
-//	14 of [ITU-T G.989.3].
+//	14 of [ITU-T-G.989.3].
 //
 //	For a complete discussion of generic PM architecture, refer to clause I.4.
 //
@@ -43,56 +49,56 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Tuning Control Requests Rollback_Ds_Albl
 //			Tuning control requests Rollback/DS_ALBL: The counter of controlled tuning attempts that failed
 //			due to downstream administrative label inconsistency, as indicated by the Tuning_Response PLOAM
-//			message with Rollback operation code and DS_ALBL response code. (R) (mandatory) (4 byte)
+//			message with Rollback operation code and DS_ALBL response code. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Ds_Lktp
 //			Tuning control requests Rollback/DS_LKTP: The counter of controlled tuning attempts that failed
 //			due to downstream optical link type inconsistency, as indicated by the Tuning_Response PLOAM
-//			message with Rollback operation code and DS_LKTP response code. (R) (mandatory) (4 byte)
+//			message with Rollback operation code and DS_LKTP response code. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Us_Albl
 //			Tuning control requests Rollback/US_ALBL: The counter of controlled tuning attempts that failed
 //			due to upstream administrative label violation, as indicated by the Tuning_Response PLOAM
-//			message with Rollback operation code and US_ALBL response code. (R) (mandatory) (4 byte)
+//			message with Rollback operation code and US_ALBL response code. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Us_Void
 //			Tuning control requests Rollback/US_VOID: The counter of controlled tuning attempts that failed
 //			due to the target upstream wavelength channel descriptor being void, as indicated by the
 //			Tuning_Response PLOAM message with Rollback operation code and US_VOID response code. (R)
-//			(mandatory) (4 byte)
+//			(mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Us_Tunr
 //			Tuning control requests Rollback/US_TUNR: The counter of controlled tuning attempts that failed
 //			due to the transmitter tuning range violation, as indicated by the Tuning_Response PLOAM message
-//			with Rollback operation code and US_TUNR response code. (R) (mandatory) (4 byte)
+//			with Rollback operation code and US_TUNR response code. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Us_Lktp
 //			Tuning control requests Rollback/US_LKTP: The counter of controlled tuning attempts that failed
 //			due to the upstream optical link type violation, as indicated by the Tuning_Response PLOAM
-//			message with Rollback operation code and US_LKTP response code. (R) (mandatory) (4 byte)
+//			message with Rollback operation code and US_LKTP response code. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Us_Lnrt
 //			Tuning control requests Rollback/US_LNRT: The counter of controlled tuning attempts that failed
 //			due to the upstream line rate violation, as indicated by the Tuning_Response PLOAM message with
-//			Rollback operation code and US_LNRT response code. (R) (mandatory) (4 byte)
+//			Rollback operation code and US_LNRT response code. (R) (mandatory) (4-byte)
 //
 //		Tuning Control Requests Rollback_Us_Lncd
 //			Tuning control requests Rollback/US_LNCD: The counter of controlled tuning attempts that failed
 //			due to the upstream line code violation, as indicated by the Tuning_Response PLOAM message with
-//			Rollback operation code and US_LNCD response code. (R) (mandatory) (4 byte)
+//			Rollback operation code and US_LNCD response code. (R) (mandatory) (4-byte)
 //
 type TwdmChannelTuningPerformanceMonitoringHistoryDataPart3 struct {
 	ManagedEntityDefinition
@@ -110,26 +116,38 @@
 			GetCurrentData,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFC0,
+		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint32Field("TuningControlRequestsRollbackDsAlbl", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint32Field("TuningControlRequestsRollbackDsLktp", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint32Field("TuningControlRequestsRollbackUsAlbl", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint32Field("TuningControlRequestsRollbackUsVoid", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint32Field("TuningControlRequestsRollbackUsTunr", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint32Field("TuningControlRequestsRollbackUsLktp", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint32Field("TuningControlRequestsRollbackUsLnrt", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint32Field("TuningControlRequestsRollbackUsLncd", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("TuningControlRequestsRollbackDsAlbl", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field("TuningControlRequestsRollbackDsLktp", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("TuningControlRequestsRollbackUsAlbl", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("TuningControlRequestsRollbackUsVoid", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("TuningControlRequestsRollbackUsTunr", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("TuningControlRequestsRollbackUsLktp", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("TuningControlRequestsRollbackUsLnrt", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("TuningControlRequestsRollbackUsLncd", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Tuning control requests Rollback/DS_ALBL",
+			1: "Tuning control requests Rollback /DS_LKTP",
+			2: "Tuning control requests Rollback/US_ALBL",
+			3: "Tuning control requests Rollback /US_VOID",
+			4: "Tuning control requests Rollback/US_TUNR",
+			5: "Tuning control requests Rollback /US_LKTP",
+			6: "Tuning control requests Rollback/US_LNRT",
+			7: "Tuning control requests Rollback /US_LNCD",
 		},
 	}
 }
 
-// NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart3 (class ID 451 creates the basic
+// NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart3 (class ID 451) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTwdmChannelTuningPerformanceMonitoringHistoryDataPart3(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchanneltuningperformancemonitoringhistorydatapart3BME, params...)
+	return NewManagedEntity(*twdmchanneltuningperformancemonitoringhistorydatapart3BME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/twdmchannelxgemperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelxgemperformancemonitoringhistorydata.go
similarity index 61%
rename from vendor/github.com/cboling/omci/generated/twdmchannelxgemperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/twdmchannelxgemperformancemonitoringhistorydata.go
index b81fba8..b79d889 100644
--- a/vendor/github.com/cboling/omci/generated/twdmchannelxgemperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/twdmchannelxgemperformancemonitoringhistorydata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const TwdmChannelXgemPerformanceMonitoringHistoryDataClassId ClassID = ClassID(445)
+// TwdmChannelXgemPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity TWDM channel XGEM performance monitoring history data
+const TwdmChannelXgemPerformanceMonitoringHistoryDataClassID ClassID = ClassID(445)
 
 var twdmchannelxgemperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -39,50 +45,50 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the TWDM channel ME. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
-//		Threshold Data 64 B It Id
-//			Threshold data 64 bit ID: This attribute points to an instance of the threshold data 64 bit ME
-//			that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
+//		Threshold Data 64 Bit Id
+//			Threshold data 64-bit ID: This attribute points to an instance of the threshold data 64-bit ME
+//			that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Total Transmitted Xgem Frames
 //			Total transmitted XGEM frames: The counter aggregated across all XGEM ports of the given ONU.
-//			(R) (mandatory) (8 byte)
+//			(R) (mandatory) (8-byte)
 //
 //		Transmitted Xgem Frames With Lf Bit Not Set
 //			Transmitted XGEM frames with LF bit not set: The counter aggregated across all XGEM ports of the
-//			given ONU identifies the number of fragmentation operations. (R) (mandatory) (8 byte)
+//			given ONU identifies the number of fragmentation operations. (R) (mandatory) (8-byte)
 //
 //		Total Received Xgem Frames
 //			Total received XGEM frames: The counter aggregated across all XGEM ports of the given ONU. (R)
-//			(mandatory) (8 byte)
+//			(mandatory) (8-byte)
 //
 //		Received Xgem Frames With Xgem Header Hec Errors
 //			Received XGEM frames with XGEM header HEC errors: The counter aggregated across all XGEM ports
 //			of the given ONU identifies the number of loss XGEM frame delineation events. (R) (mandatory)
-//			(8 byte)
+//			(8-byte)
 //
 //		Fs Words Lost To Xgem Header Hec Errors
 //			FS words lost to XGEM header HEC errors: The counter of the FS frame words lost due to XGEM
-//			frame header errors that cause loss of XGEM frame delineation. (R) (mandatory) (8 byte)
+//			frame header errors that cause loss of XGEM frame delineation. (R) (mandatory) (8-byte)
 //
 //		Xgem Encryption Key Errors
 //			XGEM encryption key errors: The counter aggregated across all XGEM ports of the given ONU
 //			identifies the number of received XGEM frames that have to be discarded because of unknown or
 //			invalid encryption key. The number is included into the Total received XGEM frame count above.
-//			(R) (mandatory) (8 byte)
+//			(R) (mandatory) (8-byte)
 //
 //		Total Transmitted Bytes In Non_Idle Xgem Frames
 //			Total transmitted bytes in non-idle XGEM frames: The counter aggregated across all XGEM ports of
-//			the given. (R) (mandatory) (8 byte)
+//			the given. (R) (mandatory) (8-byte)
 //
 //		Total Received Bytes In Non_Idle Xgem Frames
 //			Total received bytes in non-idle XGEM frames: The counter aggregated across all XGEM ports of
-//			the given ONU. (R) (mandatory) (8 byte)
+//			the given ONU. (R) (mandatory) (8-byte)
 //
 type TwdmChannelXgemPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -100,26 +106,28 @@
 			GetCurrentData,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFC0,
+		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint16Field("ThresholdData64BItId", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  Uint64Field("TotalTransmittedXgemFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint64Field("TransmittedXgemFramesWithLfBitNotSet", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  Uint64Field("TotalReceivedXgemFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  Uint64Field("ReceivedXgemFramesWithXgemHeaderHecErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint64Field("FsWordsLostToXgemHeaderHecErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint64Field("XgemEncryptionKeyErrors", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint64Field("TotalTransmittedBytesInNonIdleXgemFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: Uint64Field("TotalReceivedBytesInNonIdleXgemFrames", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field("TotalTransmittedXgemFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field("TransmittedXgemFramesWithLfBitNotSet", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint64Field("TotalReceivedXgemFrames", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint64Field("ReceivedXgemFramesWithXgemHeaderHecErrors", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint64Field("FsWordsLostToXgemHeaderHecErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint64Field("XgemEncryptionKeyErrors", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field("TotalTransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field("TotalReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewTwdmChannelXgemPerformanceMonitoringHistoryData (class ID 445 creates the basic
+// NewTwdmChannelXgemPerformanceMonitoringHistoryData (class ID 445) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewTwdmChannelXgemPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(twdmchannelxgemperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*twdmchannelxgemperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/uni-g.go b/vendor/github.com/opencord/omci-lib-go/generated/uni-g.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/uni-g.go
rename to vendor/github.com/opencord/omci-lib-go/generated/uni-g.go
index eb6fb6a..d7b52cd 100644
--- a/vendor/github.com/cboling/omci/generated/uni-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/uni-g.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const UniGClassId ClassID = ClassID(264)
+// UniGClassID is the 16-bit ID for the OMCI
+// Managed entity UNI-G
+const UniGClassID ClassID = ClassID(264)
 
 var unigBME *ManagedEntityDefinition
 
@@ -38,25 +44,25 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of a PPTP. (R) (mandatory) (2 bytes)
+//			identical ID, this ME is implicitly linked to an instance of a PPTP. (R) (mandatory) (2-bytes)
 //
 //		Deprecated
 //			Deprecated:	This attribute is not used. It should be set to 0 by the OLT and ignored by the ONU.
-//			(R, W) (mandatory) (2 bytes)
+//			(R,-W) (mandatory) (2-bytes)
 //
 //		Administrative State
-//			NOTE – PPTP MEs also have an administrative state attribute. The user port is unlocked only if
+//			NOTE - PPTP MEs also have an administrative state attribute. The user port is unlocked only if
 //			both administrative state attributes are set to unlocked. It is recommended that this attribute
 //			not be used: that the OLT set it to 0 and that the ONU ignore it.
 //
 //		Management Capability
-//			(R) (optional) (1 byte)
+//			(R) (optional) (1-byte)
 //
 //		Non_Omci Management Identifier
 //			Non-OMCI management identifier: If a PPTP can be managed either directly by the OMCI or a non-
 //			OMCI management environment, this attribute specifies how it is in fact to be managed. This
-//			attribute is either 0 (default = OMCI management), or it is a pointer to a VEIP, which in turn
-//			links to a non-OMCI management environment. (R, W) (optional) (2 bytes)
+//			attribute is either 0 (default-=-OMCI management), or it is a pointer to a VEIP, which in turn
+//			links to a non-OMCI management environment. (R,-W) (optional) (2-bytes)
 //
 //		Relay Agent Options
 //			2/3/4:atm/123.4567
@@ -74,21 +80,23 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: Uint16Field("Deprecated", 0, mapset.NewSetWith(Read, Write), false, false, false, true, 1),
-			2: ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3: ByteField("ManagementCapability", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4: Uint16Field("NonOmciManagementIdentifier", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5: Uint16Field("RelayAgentOptions", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field("Deprecated", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, true, 1),
+			2: ByteField("AdministrativeState", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField("ManagementCapability", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint16Field("NonOmciManagementIdentifier", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint16Field("RelayAgentOptions", PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewUniG (class ID 264 creates the basic
+// NewUniG (class ID 264) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewUniG(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(unigBME, params...)
+	return NewManagedEntity(*unigBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/unknowng988me.go b/vendor/github.com/opencord/omci-lib-go/generated/unknowng988me.go
new file mode 100644
index 0000000..af68823
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/unknowng988me.go
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+
+var unknownG988BME *ManagedEntityDefinition
+
+type UnknownG988ME struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	unknownG988BME = &ManagedEntityDefinition{
+		Name:    "UnknownItuG988ManagedEntity",
+		ClassID: 0,
+		MessageTypes: mapset.NewSetWith(
+			MibUploadNext,
+			AlarmNotification,
+			AttributeValueChange,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("UnknownAttr_1", OctetsAttributeType, 0x8000, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 1),
+			2: MultiByteField("UnknownAttr_2", OctetsAttributeType, 0x4000, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 2),
+			3: MultiByteField("UnknownAttr_3", OctetsAttributeType, 0x2000, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 3),
+			4: MultiByteField("UnknownAttr_4", OctetsAttributeType, 0x1000, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 4),
+			5: MultiByteField("UnknownAttr_5", OctetsAttributeType, 0x0800, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 5),
+			6: MultiByteField("UnknownAttr_6", OctetsAttributeType, 0x0400, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 6),
+			7: MultiByteField("UnknownAttr_7", OctetsAttributeType, 0x0200, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 7),
+			8: MultiByteField("UnknownAttr_8", OctetsAttributeType, 0x0100, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 8),
+			9: MultiByteField("UnknownAttr_9", OctetsAttributeType, 0x0080, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 9),
+			10: MultiByteField("UnknownAttr_10", OctetsAttributeType, 0x0040, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 10),
+			11: MultiByteField("UnknownAttr_11", OctetsAttributeType, 0x0020, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 11),
+			12: MultiByteField("UnknownAttr_12", OctetsAttributeType, 0x0010, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 12),
+			13: MultiByteField("UnknownAttr_13", OctetsAttributeType, 0x0008, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 13),
+			14: MultiByteField("UnknownAttr_14", OctetsAttributeType, 0x0004, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 14),
+			15: MultiByteField("UnknownAttr_15", OctetsAttributeType, 0x0002, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 15),
+			16: MultiByteField("UnknownAttr_16", OctetsAttributeType, 0x0001, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 16),
+		},
+		Access:  UnknownAccess,
+		Support: UnsupportedManagedEntity,
+	}
+}
+
+func NewUnknownG988ME(classID ClassID, params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return newUnknownManagedEntity(classID, *unknownG988BME, params...)
+}
+
+// newUnknownManagedEntity creates a ManagedEntity given an ME Definition and parameter/attribute data
+// much like NewManagedEntity but treats attributes is a special way
+func newUnknownManagedEntity(classID ClassID, definition ManagedEntityDefinition, params ...ParamData) (*ManagedEntity, OmciErrors) {
+	entity := &ManagedEntity{
+		definition: definition,
+		attributes: make(map[string]interface{}),
+	}
+	// Make this unique for the received class ID and attribute masks
+	entity.SetClassID(classID)
+
+	if params != nil {
+		if err := entity.setAttributes(params...); err.StatusCode() != Success {
+			return nil, err
+		}
+	}
+	return entity, NewOmciSuccess()
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/unknownvendorspecificme.go b/vendor/github.com/opencord/omci-lib-go/generated/unknownvendorspecificme.go
new file mode 100644
index 0000000..146e012
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/unknownvendorspecificme.go
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+
+var unknownVendorSpecificBME *ManagedEntityDefinition
+
+type UnknownVendorSpecific struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	unknownVendorSpecificBME = &ManagedEntityDefinition{
+		Name:    "UnknownVendorSpecificManagedEntity",
+		ClassID: 0,
+		MessageTypes: mapset.NewSetWith(
+			MibUploadNext,
+			AlarmNotification,
+			AttributeValueChange,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("UnknownAttr_1", OctetsAttributeType, 0x8000, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 1),
+			2: MultiByteField("UnknownAttr_2", OctetsAttributeType, 0x4000, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 2),
+			3: MultiByteField("UnknownAttr_3", OctetsAttributeType, 0x2000, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 3),
+			4: MultiByteField("UnknownAttr_4", OctetsAttributeType, 0x1000, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 4),
+			5: MultiByteField("UnknownAttr_5", OctetsAttributeType, 0x0800, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 5),
+			6: MultiByteField("UnknownAttr_6", OctetsAttributeType, 0x0400, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 6),
+			7: MultiByteField("UnknownAttr_7", OctetsAttributeType, 0x0200, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 7),
+			8: MultiByteField("UnknownAttr_8", OctetsAttributeType, 0x0100, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 8),
+			9: MultiByteField("UnknownAttr_9", OctetsAttributeType, 0x0080, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 9),
+			10: MultiByteField("UnknownAttr_10", OctetsAttributeType, 0x0040, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 10),
+			11: MultiByteField("UnknownAttr_11", OctetsAttributeType, 0x0020, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 11),
+			12: MultiByteField("UnknownAttr_12", OctetsAttributeType, 0x0010, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 12),
+			13: MultiByteField("UnknownAttr_13", OctetsAttributeType, 0x0008, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 13),
+			14: MultiByteField("UnknownAttr_14", OctetsAttributeType, 0x0004, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 14),
+			15: MultiByteField("UnknownAttr_15", OctetsAttributeType, 0x0002, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 15),
+			16: MultiByteField("UnknownAttr_16", OctetsAttributeType, 0x0001, 1, toOctets("AA=="), mapset.NewSetWith(Read), true, true, false, 16),
+		},
+		Access:  UnknownAccess,
+		Support: UnsupportedVendorSpecificManagedEntity,
+	}
+}
+
+func NewUnknownVendorSpecificME(classID ClassID, params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return newUnknownManagedEntity(classID, *unknownVendorSpecificBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineconfigurationextensions2.go b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineconfigurationextensions2.go
new file mode 100644
index 0000000..8fb381c
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineconfigurationextensions2.go
@@ -0,0 +1,204 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// Vdsl2LineConfigurationExtensions2ClassID is the 16-bit ID for the OMCI
+// Managed entity VDSL2 line configuration extensions 2
+const Vdsl2LineConfigurationExtensions2ClassID ClassID = ClassID(323)
+
+var vdsl2lineconfigurationextensions2BME *ManagedEntityDefinition
+
+// Vdsl2LineConfigurationExtensions2 (class ID #323)
+//	This ME extends the xDSL line configuration MEs. The ME name was chosen because its attributes
+//	were initially unique to ITU-T G.993.2 VDSL2. Due to continuing standards development, two of
+//	the attributes (FEXT and NEXT TXREFVNds) are also used in [ITUT-G.992.3] and [ITUT-G.992.5].
+//	This ME therefore pertains to the latter Recommendations as well as to [ITU-T-G.993.2].
+//
+//	The attributes of this ME are further defined in [ITU-T G.997.1].
+//
+//	An instance of this ME is created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME may be associated with zero or more instances of the PPTP xDSL UNI part
+//		1.////		The overall xDSL line configuration profile is modelled in several parts, all of which are
+//		associated together through a common ME ID. (The client PPTP xDSL UNI part 1 has a single
+//		pointer, which refers to the entire set of line configuration parts.)
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. All xDSL and
+//			VDSL2 line configuration profiles and extensions that pertain to a given PPTP xDSL must share a
+//			common ME ID. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Sos Time Downstream
+//			SOS time downstream: The SOS-TIME-ds attribute is used in the specification of receiver
+//			initiated SOS (see clause 13.4.3 of [ITUT G.993.2]). If the attribute value is not zero, the
+//			standard SOS triggering criteria are enabled, and the value specifies the duration of the window
+//			used in the standard SOS triggering criteria in the downstream direction. The special value zero
+//			indicates that the standard SOS triggering criteria are disabled, i.e., vendor-discretionary
+//			values may be used instead of the values configured in the MIB for the following parameters:
+//			SOS-NTONES-ds, SOS-CRC-ds, SOS-TIME-ds. The valid range of non-zero values is from 1..255,
+//			specifying 64-ms to 16320 ms in steps of 64-ms. (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Sos Time Upstream
+//			SOS time upstream: The SOS-TIME-us attribute is used in the specification of receiver initiated
+//			SOS (see clause 13.4.3 of [ITUT G.993.2]). If the attribute value is not zero, the standard SOS
+//			triggering criteria are enabled, and the value specifies the duration of the window used in the
+//			standard SOS triggering criteria in the upstream direction. The special value zero indicates
+//			that the standard SOS triggering criteria are disabled, i.e., vendor-discretionary values may be
+//			used instead of the values configured in the MIB for the following parameters: SOS-NTONES-us,
+//			SOS-CRC-us, SOS-TIME-us. The valid range of non-zero values is from 1..255, specifying 64-ms to
+//			16320-ms in steps of 64-ms. (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Sos Degraded Tones Threshold Downstream
+//			SOS degraded tones threshold downstream: The SOS-NTONES-ds attribute is the minimum percentage
+//			of tones in the downstream medley set that must be degraded in order to arm the first
+//			subcondition of the standard SOS triggering criteria in the downstream direction. The valid
+//			range of values is from 1 to 100% in steps of 1. Use of the special value 0 is described in
+//			clause 13.4.3.2 of [ITUT G.993.2]. (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Sos Degraded Tones Threshold Upstream
+//			SOS degraded tones threshold upstream: The SOS-NTONES-us attribute is the minimum percentage of
+//			tones in the upstream medley set that must be degraded in order to arm the first subcondition of
+//			the standard SOS triggering criteria in the upstream direction. The valid range of values is
+//			from 1 to 100% in steps of 1. Use of the special value 0 is described in clause 13.4.3.2 of
+//			[ITUT-G.993.2]. (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Sos Crc Threshold Downstream
+//			SOS CRC threshold downstream: The SOS-CRC-ds attribute is the minimum number of normalized CRC
+//			anomalies received in SOS-TIME-ds seconds in order to arm the second sub-condition of the
+//			standard SOS triggering criteria (see clause 13.4.3.2 of [ITU T G.993.2]) in the downstream
+//			direction. The valid range of SOS-CRC values is 0.02 to (216-1)*0.02, in steps of 0.02. The
+//			value-0 specifies that the ONU uses its internal default. (R, W, set-by-create) (optional) (2
+//			bytes)
+//
+//		Sos Crc Threshold Upstream
+//			SOS CRC threshold upstream: The SOS-CRC-us attribute is the minimum number of normalized CRC
+//			anomalies received in SOS-TIME-us seconds in order to arm the second sub-condition of the
+//			standard SOS triggering criteria (see clause 13.4.3.2 of [ITU T G.993.2]) in the upstream
+//			direction. The valid range of SOS-CRC values is 0.02 to (216-1)*0.02, in steps of 0.02. The
+//			value-0 specifies that the ONU uses its internal default. (R, W, set-by-create) (optional) (2
+//			bytes)
+//
+//		Max Sos Downstream
+//			MAX SOS downstream: The MAX-SOS-ds attribute is used in deactivation. If the number of
+//			successful SOS procedures in the downstream direction performed within a 120-s interval exceeds
+//			MAX-SOS-ds, the modem goes to state L3. See clause 12.1.4 of [ITUT G.993.2] for details. The
+//			valid range of values is 1 to 15, with the special value 0 as described in clause 12.1 of [ITUT
+//			G.993.2]. (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Max Sos Upstream
+//			MAX SOS upstream: The MAX-SOS-us attribute is used in deactivation. If the number of successful
+//			SOS procedures in the upstream direction performed within a 120-s interval exceeds MAX-SOS-us,
+//			the modem goes to state L3. See clause 12.1.4 of [ITUT G.993.2] for details. The valid range of
+//			values is 1 to 15, with the special value 0 as described in clause 12.1 of [ITUT G.993.2].
+//			(R,-W, setbycreate) (optional) (1-byte)
+//
+//		Snr Max Offset Downstream
+//			SNR max offset downstream: The SNRMOFFSET-ROC-ds attribute is the SNR margin offset for the ROC
+//			in the downstream direction. The attribute is used in the specification of the channel
+//			initialization policy (see clause 12.3.7.1 of [ITUT G.993.2]). The valid range of SNR margin
+//			offset values is from 0..31-dB in 0.1-dB steps. (R,-W, setbycreate) (optional) (2-bytes)
+//
+//		Snr Max Offset Upstream
+//			SNR max offset upstream: The SNRMOFFSET-ROC-us attribute is the SNR margin offset for the ROC in
+//			the upstream direction. The attribute is used in the specification of the channel initialization
+//			policy (see clause-12.3.7.1 of [ITUT G.993.2]). The valid range of SNR margin offset values is
+//			from 0..31-dB in 0.1-dB steps. (R,-W, setbycreate) (optional) (2-bytes)
+//
+//		Roc Minimum Impulse Noise Protection Downstream
+//			ROC minimum impulse noise protection downstream: The INPMIN-ROC-ds attribute specifies the
+//			minimum INP to apply on the ROC in the downstream direction expressed in multiples of equivalent
+//			4k DMT, xDSL (DMT) symbol length. The minimum INP is an integer ranging from 0 to 8. (R,-W,
+//			setbycreate) (optional) (1-byte)
+//
+//		Roc Minimum Impulse Noise Protection Upstream
+//			ROC minimum impulse noise protection upstream: The INPMIN-ROC-us attribute specifies the minimum
+//			impulse noise protection to apply on the ROC in the upstream direction expressed in multiples of
+//			equivalent 4k DMT symbol length. The minimum INP is an integer ranging from 0 to 8. (R,-W,
+//			setbycreate) (optional) (1-byte)
+//
+//		Fext Downstream Transmitter Referred Virtual Noise Table
+//			FEXT downstream transmitter referred virtual noise table: The FEXT TXREFVNds attribute is the
+//			downstream transmitter referred virtual noise specified for FEXTR duration in Annex C of [ITUT
+//			G.992.3] (ADSL2) and Annex C of [ITUT G.992.5] (ADSL2plus). The syntax of this attribute is the
+//			same as that of the TXREFVNds table attribute of the VDSL2 line configuration extensions ME.
+//			(R,-W) (mandatory for Annex-C of [ITUT-G.992.3] and Annex-C of [ITUT-G.992.5]) (3-*-N bytes,
+//			where N is the number of breakpoints)
+//
+//		Next Downstream Transmitter Referred Virtual Noise Table
+//			NEXT downstream transmitter referred virtual noise table: The NEXT TXREFVNds attribute is the
+//			downstream transmitter referred virtual noise specified for NEXTR duration in Annex C of [ITUT
+//			G.992.3] (ADSL2) and Annex C of [ITUT G.992.5] (ADSL2plus). The syntax of this attribute is the
+//			same as that of the TXREFVNds table attribute of the VDSL2 line configuration extensions ME.
+//			(R,-W) (mandatory for Annex-C of [ITUT-G.992.3] and Annex-C of [ITUT-G.992.5]) (3-*-N bytes,
+//			where N is the number of breakpoints)
+//
+type Vdsl2LineConfigurationExtensions2 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	vdsl2lineconfigurationextensions2BME = &ManagedEntityDefinition{
+		Name:    "Vdsl2LineConfigurationExtensions2",
+		ClassID: 323,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetNext,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffc,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("SosTimeDownstream", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2:  ByteField("SosTimeUpstream", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  ByteField("SosDegradedTonesThresholdDownstream", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField("SosDegradedTonesThresholdUpstream", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  Uint16Field("SosCrcThresholdDownstream", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field("SosCrcThresholdUpstream", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  ByteField("MaxSosDownstream", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  ByteField("MaxSosUpstream", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
+			9:  Uint16Field("SnrMaxOffsetDownstream", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: Uint16Field("SnrMaxOffsetUpstream", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			11: ByteField("RocMinimumImpulseNoiseProtectionDownstream", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			12: ByteField("RocMinimumImpulseNoiseProtectionUpstream", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: TableField("FextDownstreamTransmitterReferredVirtualNoiseTable", TableAttributeType, 0x0008, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 13),
+			14: TableField("NextDownstreamTransmitterReferredVirtualNoiseTable", TableAttributeType, 0x0004, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 14),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewVdsl2LineConfigurationExtensions2 (class ID 323) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVdsl2LineConfigurationExtensions2(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*vdsl2lineconfigurationextensions2BME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/vdsl2lineconfigurationextensions3.go b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineconfigurationextensions3.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/vdsl2lineconfigurationextensions3.go
rename to vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineconfigurationextensions3.go
index b566e20..cbde28d 100644
--- a/vendor/github.com/cboling/omci/generated/vdsl2lineconfigurationextensions3.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineconfigurationextensions3.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const Vdsl2LineConfigurationExtensions3ClassId ClassID = ClassID(410)
+// Vdsl2LineConfigurationExtensions3ClassID is the 16-bit ID for the OMCI
+// Managed entity VDSL2 line configuration extensions 3
+const Vdsl2LineConfigurationExtensions3ClassID ClassID = ClassID(410)
 
 var vdsl2lineconfigurationextensions3BME *ManagedEntityDefinition
 
@@ -39,74 +45,74 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. All xDSL and
 //			VDSL2 line configuration profiles and extensions that pertain to a given PPTP xDSL UNI must
-//			share a common ME ID. (R, setbycreate) (mandatory) (2 bytes)
+//			share a common ME ID. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Ripolicyds
 //			RIPOLICYds: This attribute indicates which policy shall be applied to determine the triggers for
 //			re-initialization in the downstream direction. A valid range of values is given in clause
-//			7.3.1.1.12.1 of [ITU-T G.997.1]. (R, W) (optional) (1 byte)
+//			7.3.1.1.12.1 of [ITU-T G.997.1]. (R,-W) (optional) (1-byte)
 //
 //		Ripolicyus
 //			RIPOLICYus: This attribute indicates which policy shall be applied to determine the triggers for
 //			re-initialization in the upstream direction. A valid range of values is given in clause
-//			7.3.1.1.12.2 of [ITU-T G.997.1]. (R, W) (optional) (1 byte)
+//			7.3.1.1.12.2 of [ITU-T G.997.1]. (R,-W) (optional) (1-byte)
 //
 //		Reinit_Time_Thresholdds
 //			REINIT_TIME_THRESHOLDds: This attribute indicates defines the downstream threshold for re-
 //			initialization based on SES, to be used by the VTU receiver when re-initialization policy 1 is
 //			used in downstream. A valid range of values is given in clause 7.3.1.1.13.1 of [ITU-T G.997.1].
-//			(R, W) (optional) (1 byte)
+//			(R,-W) (optional) (1-byte)
 //
 //		Reinit_Time_Thresholdus
 //			REINIT_TIME_THRESHOLDus: This attribute indicates defines the upstream threshold for re-
 //			initialization based on SES, to be used by the VTU receiver when reinitialization policy 1 is
 //			used in upstream. A valid range of values is given in clause 7.3.1.1.13.2 of [ITU-T G.997.1].
-//			(R, W) (optional) (1 byte)
+//			(R,-W) (optional) (1-byte)
 //
 //		Rxrefvnsfus
 //			RXREFVNSFus: If SNRM_MODE = 4, this attribute defines the upstream receiver-referred virtual
-//			noise scaling factor. The attribute value ranges from 0 (–64.0 dBm) to 255 (+63.5 dBm) – see
-//			clause 7.3.1.7.5 of [ITU-T G.997.1]. (R, W) (optional) (1 byte)
+//			noise scaling factor. The attribute value ranges from 0  (-64.0-dBm) to 255 (+63.5-dBm) - see
+//			clause 7.3.1.7.5 of [ITU-T G.997.1]. (R,-W) (optional) (1-byte)
 //
 //		Txrefvnsfds
 //			TXREFVNSFds: If SNRM_MODE = 4, this attribute defines the downstream transmitter referred
-//			virtual noise scaling factor. The attribute value ranges from 0 (–64.0 dBm) to 255 (+63.5 dBm)
-//			– see clause 7.3.1.7.6 of [ITU-T G.997.1]. (R, W) (optional) (1 byte)
+//			virtual noise scaling factor. The attribute value ranges from 0  (-64.0-dBm) to 255 (+63.5-dBm)
+//			- see clause 7.3.1.7.6 of [ITU-T G.997.1]. (R,-W) (optional) (1-byte)
 //
 //		Rtx_Modeds
 //			RTX_MODEds: This attribute controls the mode of operation of [ITU-T G.998.4] retransmission in
 //			the downstream direction. A valid range of values is given in clause 7.3.1.11 of [ITU-T
-//			G.997.1]. (R, W) (mandatory) (1 byte)
+//			G.997.1]. (R,-W) (mandatory) (1-byte)
 //
 //		Rtx_Modeus
 //			RTX_MODEus: This attribute controls the mode of operation of [ITU-T G.998.4] retransmission in
 //			the upstream direction. A valid range of values is given in clause 7.3.1.11 of [ITU-T G.997.1].
-//			(R, W) (mandatory) (1 byte)
+//			(R,-W) (mandatory) (1-byte)
 //
 //		Leftr_Thresh
 //			LEFTR_THRESH: If retransmission is used in a given transmit direction, LEFTR_THRESH specifies
 //			the threshold for declaring a near-end ''leftr'' defect. LEFTR_THRESH is equal to the integer
 //			value of this attribute multiplied by 0.01. Valid values and usage are given in clause 7.3.1.12
-//			of [ITU-T G.997.1]. (R, W) (mandatory) (1 byte)
+//			of [ITU-T G.997.1]. (R,-W) (mandatory) (1-byte)
 //
 //		Maxdelayoctet_Split Parameter Mdosplit
 //			MAXDELAYOCTET-split parameter (MDOSPLIT): This attribute defines the percentage of the
 //			MAXDELAYOCTET_ext if operating in [ITU-T G.998.4] or MAXDELAYOCTET in other cases allocated to
 //			the downstream direction. MDOSPLIT is equal to the integer value of this attribute multiplied by
-//			1%. Valid values and usage are given in clause 7.3.1.14 of [ITUT G.997.1]. (R, W) (optional)
-//			(1 byte)
+//			1%. Valid values and usage are given in clause 7.3.1.14 of [ITUT-G.997.1]. (R,-W) (optional)
+//			(1-byte)
 //
 //		Attndr Method Attndr_Method
 //			ATTNDR Method (ATTNDR_METHOD): This attribute specifies the method to be used for the
 //			calculation of the ATTNDR in the downstream and upstream direction. Valid values are given in
-//			clause 7.3.1.15.1 of [ITU-T G.997.1]. (R, W) (optional) (1 byte)
+//			clause 7.3.1.15.1 of [ITU-T G.997.1]. (R,-W) (optional) (1-byte)
 //
 //		Attndr Maxdelayoctet_Split Parameter Attndr_Mdosplit
 //			ATTNDR MAXDELAYOCTET-split parameter (ATTNDR_MDOSPLIT): This attribute defines the percentage of
 //			the MAXDELAYOCTET_ext if operating in [ITU-T G.998.4] or MAXDELAYOCTET in other cases allocated
 //			to the downstream direction to be used in the improved method for calculation of the ATTNDR. The
 //			valid values are identical to the values of the line configuration parameter MDOSPLIT. See
-//			clause 7.3.1.15.2 of [ITUT G.997.1]. (R, W) (optional) (1 byte)
+//			clause 7.3.1.15.2 of [ITUT-G.997.1]. (R,-W) (optional) (1-byte)
 //
 type Vdsl2LineConfigurationExtensions3 struct {
 	ManagedEntityDefinition
@@ -123,28 +129,30 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFF0,
+		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("Ripolicyds", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 1),
-			2:  ByteField("Ripolicyus", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 2),
-			3:  ByteField("ReinitTimeThresholdds", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 3),
-			4:  ByteField("ReinitTimeThresholdus", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5:  ByteField("Rxrefvnsfus", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
-			6:  ByteField("Txrefvnsfds", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 6),
-			7:  ByteField("RtxModeds", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  ByteField("RtxModeus", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  ByteField("LeftrThresh", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-			10: ByteField("MaxdelayoctetSplitParameterMdosplit", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
-			11: ByteField("AttndrMethodAttndrMethod", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: ByteField("AttndrMaxdelayoctetSplitParameterAttndrMdosplit", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("Ripolicyds", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2:  ByteField("Ripolicyus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3:  ByteField("ReinitTimeThresholdds", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  ByteField("ReinitTimeThresholdus", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField("Rxrefvnsfus", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  ByteField("Txrefvnsfds", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField("RtxModeds", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("RtxModeus", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField("LeftrThresh", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField("MaxdelayoctetSplitParameterMdosplit", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField("AttndrMethodAttndrMethod", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField("AttndrMaxdelayoctetSplitParameterAttndrMdosplit", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewVdsl2LineConfigurationExtensions3 (class ID 410 creates the basic
+// NewVdsl2LineConfigurationExtensions3 (class ID 410) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewVdsl2LineConfigurationExtensions3(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(vdsl2lineconfigurationextensions3BME, params...)
+	return NewManagedEntity(*vdsl2lineconfigurationextensions3BME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineinventoryandstatusdatapart1.go b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineinventoryandstatusdatapart1.go
new file mode 100644
index 0000000..728b80e
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineinventoryandstatusdatapart1.go
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// Vdsl2LineInventoryAndStatusDataPart1ClassID is the 16-bit ID for the OMCI
+// Managed entity VDSL2 line inventory and status data part 1
+const Vdsl2LineInventoryAndStatusDataPart1ClassID ClassID = ClassID(168)
+
+var vdsl2lineinventoryandstatusdatapart1BME *ManagedEntityDefinition
+
+// Vdsl2LineInventoryAndStatusDataPart1 (class ID #168)
+//	This ME extends the xDSL line configuration MEs. The ME name was chosen because its attributes
+//	were initially unique to ITU-T G.993.2 VDSL2. Due to continuing standards development, some
+//	attributes - and therefore this ME - have also become applicable to other Recommendations,
+//	specifically [ITU-T G.992.3] and [ITU-T G.992.5].
+//
+//	This ME contains general and downstream attributes.
+//
+//	Relationships
+//		This is one of the status data MEs associated with an xDSL UNI. It is meaningful if the PPTP
+//		supports [ITU-T G.992.3], [ITU-T G.992.5] or [ITU-T G.993.2]. The ONU automatically creates or
+//		deletes an instance of this ME upon creation and deletion of a PPTP xDSL UNI part 1 that
+//		supports these attributes.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1 ME. (R)
+//			(mandatory) (2-bytes)
+//
+//		Vdsl2 Transmission System Capability Xtu C
+//			VDSL2 transmission system capability xTUC: This attribute extends the xTU-C transmission system
+//			capability attribute of the xDSL line inventory and status data part 1 to include xTU-C VDSL2
+//			capabilities. It is defined by bits 57..64 of Table 9.7.12-1. (R) (mandatory) (1-byte)
+//
+//		Vdsl2 Transmission System
+//			VDSL2 transmission system: This attribute reports the transmission system in use. It extends the
+//			xDSL transmission system attribute of the xDSL line inventory and status data part 2 ME with a
+//			byte that includes VDSL2 capabilities currently in use. It is defined by bits 57..64 of Table
+//			9.7.12-1. (R) (mandatory) (1-byte)
+//
+//		Vdsl2 Profile
+//			(R) (mandatory) (1-byte)
+//
+//		Vdsl2 Limit Psd Mask And Bandplan
+//			VDSL2 limit PSD mask and bandplan: This attribute defines the limit PSD mask and band plan in
+//			use. It is a bit map as defined by Table 9.7.6-1. (R) (mandatory) (8-bytes)
+//
+//		Vdsl2 Us0 Psd Mask
+//			VDSL2 US0 PSD mask: This attribute defines the US0 PSD mask in use. It is a bit map as defined
+//			by Table 9.7.62. (R) (mandatory) (4-bytes)
+//
+//		Actsnrmodeds
+//			(R) (mandatory) (1-byte)
+//
+//		Hlingds
+//			HLINGds:	This attribute contains the number of subcarriers per group used to report HLINpsds.
+//			(R) (mandatory) (1-byte)
+//
+//		Hloggds
+//			HLOGGds:	This attribute contains the number of subcarriers per group used to report HLOGpsds.
+//			(R) (mandatory) (1-byte)
+//
+//		Qlngds
+//			QLNGds:	This attribute contains the number of subcarriers per group used to report QLNpsds. (R)
+//			(mandatory) (1-byte)
+//
+//		Snrgds
+//			SNRGds:	This attribute contains the number of subcarriers per group used to report SNRpsds. (R)
+//			(mandatory) (1-byte)
+//
+//		Mrefpsdds Table
+//			(R) (mandatory) (3 * N bytes, where N is the number of breakpoints)
+//
+//		Trellisds
+//			(R) (mandatory for ITU-T G.993.2 VDSL2, optional for others) (1-byte)
+//
+//		Actual Rate Adaptation Mode Downstream
+//			(R) (optional) (1-byte)
+//
+//		Actual Impulse Noise Protection Robust Operations Channel Roc Downstream
+//			Actual impulse noise protection robust operations channel (ROC) downstream: The ACTINP-ROC-ds
+//			attribute reports the actual INP of the ROC in the downstream direction expressed in multiples
+//			of T4k. The INP of this attribute is equal to the integer value multiplied by 0.1 symbols. Valid
+//			values and usage are given in clause 7.5.1.34.1 of [ITUT-G.997.1]. (R) (optional) (1-byte)
+//
+//		Snr Margin Roc Downstream
+//			SNR margin ROC downstream: The SNRM-ROC-ds attribute reports the actual signal-to-noise margin
+//			of the ROC in the downstream direction. Its value ranges from 0 (-64.0-dB) to 1270 (+63.0-dB).
+//			The special value 0xFFFF indicates that the attribute is out of range. (R) (optional) (2-bytes)
+//
+type Vdsl2LineInventoryAndStatusDataPart1 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	vdsl2lineinventoryandstatusdatapart1BME = &ManagedEntityDefinition{
+		Name:    "Vdsl2LineInventoryAndStatusDataPart1",
+		ClassID: 168,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			GetNext,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("Vdsl2TransmissionSystemCapabilityXtuC", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField("Vdsl2TransmissionSystem", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  ByteField("Vdsl2Profile", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field("Vdsl2LimitPsdMaskAndBandplan", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("Vdsl2Us0PsdMask", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField("Actsnrmodeds", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField("Hlingds", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  ByteField("Hloggds", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField("Qlngds", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField("Snrgds", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: TableField("MrefpsddsTable", TableAttributeType, 0x0020, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 11),
+			12: ByteField("Trellisds", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: ByteField("ActualRateAdaptationModeDownstream", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: ByteField("ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint16Field("SnrMarginRocDownstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewVdsl2LineInventoryAndStatusDataPart1 (class ID 168) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVdsl2LineInventoryAndStatusDataPart1(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*vdsl2lineinventoryandstatusdatapart1BME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineinventoryandstatusdatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineinventoryandstatusdatapart2.go
new file mode 100644
index 0000000..2cb56d8
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineinventoryandstatusdatapart2.go
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// Vdsl2LineInventoryAndStatusDataPart2ClassID is the 16-bit ID for the OMCI
+// Managed entity VDSL2 line inventory and status data part 2
+const Vdsl2LineInventoryAndStatusDataPart2ClassID ClassID = ClassID(169)
+
+var vdsl2lineinventoryandstatusdatapart2BME *ManagedEntityDefinition
+
+// Vdsl2LineInventoryAndStatusDataPart2 (class ID #169)
+//	This ME extends the xDSL line configuration MEs. The ME name was chosen because its attributes
+//	were initially unique to ITU-T G.993.2 VDSL2. Due to continuing standards development, some
+//	attributes - and therefore this ME - have also become applicable to other Recommendations,
+//	specifically [ITU-T G.992.3] and [ITU-T G.992.5].
+//
+//	This ME contains upstream attributes.
+//
+//	Relationships
+//		This is one of the status data MEs associated with an xDSL UNI. It is meaningful if the PPTP
+//		supports [ITU-T G.992.3], [ITU-T G.992.5] or [ITU-T G.993.2]. The ONU automatically creates or
+//		deletes an instance of this ME upon creation and deletion of a PPTP xDSL UNI part 1 that
+//		supports these attributes.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1 ME. (R)
+//			(mandatory) (2-bytes)
+//
+//		Vdsl2 Transmission System Capability Xtu_R
+//			VDSL2 transmission system capability xTU-R: This attribute extends the xTU-R transmission system
+//			capability attribute of the xDSL line inventory and status data part 1 to include xTUR VDSL2
+//			capabilities. It is a defined by bits 57..64 of Table 9.7.12-1. (R) (mandatory) (1-byte)
+//
+//		Actsnrmodeus
+//			(R) (mandatory) (1-byte)
+//
+//		Upbokle
+//			UPBOKLE:	This attribute contains the electrical length estimated by the VTU-O expressed in
+//			decibels at 1-MHz, kl0 (see O-UPDATE in clause 12.3.3.2.1.2 of [ITUT-G.993.2]). This is the
+//			final electrical length that would have been sent from the VTU-O to the VTU-R if the electrical
+//			length were not forced by the OLT. The value lies in the range 0 (0.0-dB) to 1280 (128.0-dB) (R)
+//			(mandatory) (2-bytes)
+//
+//		Hlingus
+//			HLINGus:	This attribute is the number of subcarriers per group used to report HLINpsus. (R)
+//			(mandatory) (1-byte)
+//
+//		Hloggus
+//			HLOGGus:	This attribute is the number of subcarriers per group used to report HLOGpsus. (R)
+//			(mandatory) (1-byte)
+//
+//		Qlngus
+//			QLNGus:	This attribute is the number of subcarriers per group used to report QLNpsus. (R)
+//			(mandatory) (1-byte)
+//
+//		Snrgus
+//			SNRGus:	This attribute is the number of subcarriers per group used to report SNRpsus. (R)
+//			(mandatory) (1-byte)
+//
+//		Mrefpsdus Table
+//			(R) (mandatory) (3 * N bytes, where N is the number of breakpoints)
+//
+//		Trellisus
+//			(R) (mandatory for ITU-T G.993.2 VDSL2, optional for others) (1-byte)
+//
+//		Actualce
+//			ACTUALCE: This attribute reports the cyclic extension used on the line. It is coded as an
+//			unsigned integer from 2 to 16 in units of N/32 samples, where 2N is the IDFT size. (R)
+//			(mandatory) (1-byte)
+//
+//		Upbokle_R
+//			UPBOKLE-R: This attribute contains the electrical length estimated by the VTU-R expressed in
+//			decibels at 1-MHz. This is the value contained in the message RMSG1 (see clause 12.3.3.2.2.1of
+//			[ITUT G.993.2]). Its value lies in the range 0 (0.0-dB) to 1280 (128.0-dB) (R) (optional)
+//			(2-bytes)
+//
+//		Actual Rate Adaptation Mode Upstream
+//			(R) (optional) (1-byte)
+//
+//		Actual Impulse Noise Protection Roc Upstream
+//			Actual impulse noise protection ROC upstream: The ACTINP-ROC-us attribute reports the actual INP
+//			of the ROC in the upstream direction expressed in multiples of T4k. The INP of this attribute is
+//			equal to the integer value multiplied by 0.1 symbols. Valid values and usage are given in clause
+//			7.5.1.34.2 of [ITUT-G.997.1]. (R) (optional) (1-byte)
+//
+//		Snr Margin Roc Upstream
+//			SNR margin ROC upstream: The SNRM-ROC-us attribute reports the actual signal-to-noise margin of
+//			the ROC in the upstream direction. Its value ranges from 0  (-64.0-dB) to 1270 (+63.0-dB). The
+//			special value 0xFFFF indicates that the attribute is out of range. (R) (optional) (2-bytes)
+//
+type Vdsl2LineInventoryAndStatusDataPart2 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	vdsl2lineinventoryandstatusdatapart2BME = &ManagedEntityDefinition{
+		Name:    "Vdsl2LineInventoryAndStatusDataPart2",
+		ClassID: 169,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			GetNext,
+		),
+		AllowedAttributeMask: 0xfffc,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("Vdsl2TransmissionSystemCapabilityXtuR", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField("Actsnrmodeus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field("Upbokle", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField("Hlingus", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField("Hloggus", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField("Qlngus", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField("Snrgus", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  TableField("MrefpsdusTable", TableAttributeType, 0x0100, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField("Trellisus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField("Actualce", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field("UpbokleR", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField("ActualRateAdaptationModeUpstream", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: ByteField("ActualImpulseNoiseProtectionRocUpstream", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint16Field("SnrMarginRocUpstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewVdsl2LineInventoryAndStatusDataPart2 (class ID 169) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVdsl2LineInventoryAndStatusDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*vdsl2lineinventoryandstatusdatapart2BME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineinventoryandstatusdatapart3.go b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineinventoryandstatusdatapart3.go
new file mode 100644
index 0000000..6257db3
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/vdsl2lineinventoryandstatusdatapart3.go
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// Vdsl2LineInventoryAndStatusDataPart3ClassID is the 16-bit ID for the OMCI
+// Managed entity VDSL2 line inventory and status data part 3
+const Vdsl2LineInventoryAndStatusDataPart3ClassID ClassID = ClassID(170)
+
+var vdsl2lineinventoryandstatusdatapart3BME *ManagedEntityDefinition
+
+// Vdsl2LineInventoryAndStatusDataPart3 (class ID #170)
+//	This ME extends the other xDSL line inventory and status data MEs with attributes specific to
+//	VDSL2. This ME contains per-band attributes for both directions. These same attributes are
+//	defined in the xDSL line inventory and status data part 2 ME, but only for a single band. [ITUT
+//	G.993.2] allows for VDSL2 to have as many as five bands upstream and as many as five bands
+//	downstream.
+//
+//	Relationships
+//		This is one of the status data MEs associated with an xDSL UNI. It is required only if VDSL2 is
+//		supported by the PPTP. The ONU automatically creates or deletes an instance of this ME upon
+//		creation or deletion of a PPTP xDSL UNI part 1 that supports these attributes.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1 ME. (R)
+//			(mandatory) (2-bytes)
+//
+//		Downstream Line Attenuation Per Band
+//			Downstream line attenuation per band: The LATNds attribute is defined per usable band. It is the
+//			squared magnitude of the channel characteristics function, H(f), averaged over this band, and
+//			measured during loop diagnostic mode and initialization. The exact definition is included in the
+//			relevant xDSL Recommendation. The upstream line attenuation per band ranges from 0 (0.0-dB) to
+//			1270 (+127.0-dB). The special value 0xFFFF indicates that the line attenuation per band is out
+//			of the range to be represented. (R) (mandatory) (3-bands * 2-bytes-=-6-bytes)
+//
+//		Upstream Line Attenuation Per Band
+//			Upstream line attenuation per band: The LATNus attribute is defined per usable band. It is the
+//			squared magnitude of the channel characteristics function H(f) averaged over this band, and
+//			measured during loop diagnostic mode and initialization. The exact definition is included in the
+//			relevant xDSL Recommendation. The upstream line attenuation per band ranges from 0 (0.0-dB) to
+//			1270 (+127.0-dB). The special value 0xFFFF indicates that line attenuation per band is out of
+//			range to be represented. (R) (mandatory) (4-bands * 2-bytes-=-8-bytes)
+//
+//		Downstream Signal Attenuation Per Band
+//			NOTE 1 - During showtime, only a subset of the subcarriers may be transmitted by the xTU-C, as
+//			compared to loop diagnostic mode and initialization. Therefore, the downstream signal
+//			attenuation value during showtime may be significantly lower than the downstream signal
+//			attenuation value during loop diagnostic mode and initialization.
+//
+//		Upstream Signal Attenuation Per Band
+//			NOTE 2 - During showtime, only a subset of the subcarriers may be transmitted by the xTU-R, as
+//			compared to loop diagnostic mode and initialization. Therefore, the upstream signal attenuation
+//			value during showtime may be significantly lower than the upstream signal attenuation value
+//			during loop diagnostic mode and initialization.
+//
+//		Downstream Snr Margin Per Band
+//			Downstream SNR margin per band: The SNRMpbds attribute is defined per usable band. The
+//			downstream SNR margin per band is the maximum increase of noise power received at the xTU-R,
+//			such that the BER requirements are met for all downstream bearer channels. Each array value
+//			ranges from 0 (-64.0-dB) to 1270 (+63.0-dB). The special value 0xFFFF indicates that the
+//			attribute is out of range to be represented. (R) (mandatory) (3 bands * 2-bytes-=-6-bytes)
+//
+//		Upstream Snr Margin Per Band
+//			Upstream SNR margin per band: The SNRMpbus attribute is defined per usable band. The upstream
+//			SNR margin per band is the maximum increase of noise power received at the xTU-C, such that the
+//			BER requirements are met for all upstream bearer channels. Each array value ranges from 0
+//			(-64.0-dB) to 1270 (+63.0-dB). The special value 0xFFFF indicates that the attribute is out of
+//			range to be represented. (R) (mandatory) (4 bands * 2-bytes-= 8-bytes)
+//
+type Vdsl2LineInventoryAndStatusDataPart3 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	vdsl2lineinventoryandstatusdatapart3BME = &ManagedEntityDefinition{
+		Name:    "Vdsl2LineInventoryAndStatusDataPart3",
+		ClassID: 170,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+		),
+		AllowedAttributeMask: 0xfc00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField("DownstreamLineAttenuationPerBand", OctetsAttributeType, 0x8000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint32Field("UpstreamLineAttenuationPerBand", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: MultiByteField("DownstreamSignalAttenuationPerBand", OctetsAttributeType, 0x2000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("UpstreamSignalAttenuationPerBand", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: MultiByteField("DownstreamSnrMarginPerBand", OctetsAttributeType, 0x0800, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("UpstreamSnrMarginPerBand", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewVdsl2LineInventoryAndStatusDataPart3 (class ID 170) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVdsl2LineInventoryAndStatusDataPart3(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*vdsl2lineinventoryandstatusdatapart3BME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/version.go b/vendor/github.com/opencord/omci-lib-go/generated/version.go
similarity index 77%
rename from vendor/github.com/cboling/omci/generated/version.go
rename to vendor/github.com/opencord/omci-lib-go/generated/version.go
index 93f5a1b..f4946e0 100644
--- a/vendor/github.com/cboling/omci/generated/version.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/version.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,15 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
+// Package generated provides code-generated OMCI types
 package generated
 
 // This file is used to track the version(s) of code used to parse the ITU
 // document and create the generated code.
 
+// VersionInfo provides information on the parser/generator version used to create
+// the generated data as well as the time of code generation
 type VersionInfo struct {
 	Name       string  // Type (pre-parser, parser, code-generator)
 	Version    string  // Version of parser project
@@ -30,6 +37,7 @@
 	SHA256     string  // ITU G.988 document SHA-256 hash
 }
 
+// Version provides version information of this generated cooe
 var Versions []VersionInfo
 
 func init() {
@@ -38,8 +46,8 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "parser",
-			Version:    "0.9.0",
-			CreateTime: 1570304206.346817,
+			Version:    "0.15.1",
+			CreateTime: 1581434999.76667,
 			ItuDocName: "T-REC-G.988-2017-11.docx",
 			SHA256:     "96ffc8bca6f70175c8e281e87e1cf21662d07a7502ebf595c5c3180a9972b9ac",
 		})
@@ -47,8 +55,8 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "pre-parser",
-			Version:    "0.9.0",
-			CreateTime: 1570304142.338239,
+			Version:    "0.12.2",
+			CreateTime: 1574973863.791287,
 			ItuDocName: "T-REC-G.988-2017-11.docx",
 			SHA256:     "96ffc8bca6f70175c8e281e87e1cf21662d07a7502ebf595c5c3180a9972b9ac",
 		})
@@ -56,9 +64,9 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "code-generator",
-			Version:    "0.9.0",
-			CreateTime: 1570305842.186913,
-			ItuDocName: "T-REC-G.988-2017-11.docx",
+			Version:    "0.15.6",
+			CreateTime: 1612285143.0049334,
+			ItuDocName: "T-REC-G.988-201711-I!!MSW-E.docx",
 			SHA256:     "96ffc8bca6f70175c8e281e87e1cf21662d07a7502ebf595c5c3180a9972b9ac",
 		})
 }
diff --git a/vendor/github.com/cboling/omci/generated/virtualethernetinterfacepoint.go b/vendor/github.com/opencord/omci-lib-go/generated/virtualethernetinterfacepoint.go
similarity index 73%
rename from vendor/github.com/cboling/omci/generated/virtualethernetinterfacepoint.go
rename to vendor/github.com/opencord/omci-lib-go/generated/virtualethernetinterfacepoint.go
index b2bf4a6..4312a19 100644
--- a/vendor/github.com/cboling/omci/generated/virtualethernetinterfacepoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/virtualethernetinterfacepoint.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const VirtualEthernetInterfacePointClassId ClassID = ClassID(329)
+// VirtualEthernetInterfacePointClassID is the 16-bit ID for the OMCI
+// Managed entity Virtual Ethernet interface point
+const VirtualEthernetInterfacePointClassID ClassID = ClassID(329)
 
 var virtualethernetinterfacepointBME *ManagedEntityDefinition
 
@@ -52,31 +58,31 @@
 //
 //		Administrative State
 //			Administrative state: This attribute locks (1) and unlocks (0) the functions performed by this
-//			ME. Administrative state is further described in clause A.1.6. (R, W) (mandatory) (1 byte)
+//			ME. Administrative state is further described in clause A.1.6. (R,-W) (mandatory) (1-byte)
 //
 //		Operational State
 //			Operational state: This attribute indicates whether the ME is capable of performing its
-//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1 byte)
+//			function. Valid values are enabled (0) and disabled (1). (R) (optional) (1-byte)
 //
 //		Interdomain Name
 //			Interdomain name: This attribute is a character string that provides an optional way to identify
 //			the VEIP to a non-OMCI management domain. The interface may also be identified by its ME ID,
 //			[b-IANA] assigned port and possibly other ways. If the vendor offers no information in this
-//			attribute, it should be set to a sequence of null bytes. (R, W) (optional) (25 bytes)
+//			attribute, it should be set to a sequence of null bytes. (R,-W) (optional) (25-bytes)
 //
 //		Tcp_Udp Pointer
 //			TCP/UDP pointer: This attribute points to an instance of the TCP/UDP config data ME, which
 //			provides for OMCI management of the non-OMCI management domain's IP connectivity. If no OMCI
 //			management of the non-OMCI domain's IP connectivity is required, this attribute may be omitted
-//			or set to its default, a null pointer. (R, W) (optional) (2 bytes)
+//			or set to its default, a null pointer. (R,-W) (optional) (2-bytes)
 //
 //		Iana Assigned Port
-//			IANA assigned port: This attribute contains the TCP or UDP port value as assigned by [b-IANA]
+//			IANA assigned port: This attribute contains the TCP or UDP port value as assigned by  [b-IANA]
 //			for the management protocol associated with this virtual Ethernet interface. This attribute is
 //			to be regarded as a hint, not as a requirement that management communications use this port; the
 //			actual port and protocol are specified in the associated TCP/UDP config data ME. If no port has
 //			been assigned or if the management protocol is free to be chosen at run-time, this attribute
-//			should be set to 0xFFFF. (R) (mandatory) (2 bytes)
+//			should be set to 0xFFFF. (R) (mandatory) (2-bytes)
 //
 type VirtualEthernetInterfacePoint struct {
 	ManagedEntityDefinition
@@ -91,21 +97,26 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("AdministrativeState", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2: ByteField("OperationalState", 0, mapset.NewSetWith(Read), true, false, true, false, 2),
-			3: MultiByteField("InterdomainName", 25, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 3),
-			4: Uint16Field("TcpUdpPointer", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 4),
-			5: Uint16Field("IanaAssignedPort", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("AdministrativeState", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField("OperationalState", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3: MultiByteField("InterdomainName", StringAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field("TcpUdpPointer", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint16Field("IanaAssignedPort", UnsignedIntegerAttributeType, 0x0800, 65535, mapset.NewSetWith(Read), false, false, false, 5),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Connecting function fail",
 		},
 	}
 }
 
-// NewVirtualEthernetInterfacePoint (class ID 329 creates the basic
+// NewVirtualEthernetInterfacePoint (class ID 329) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewVirtualEthernetInterfacePoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(virtualethernetinterfacepointBME, params...)
+	return NewManagedEntity(*virtualethernetinterfacepointBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/vlantaggingfilterdata.go b/vendor/github.com/opencord/omci-lib-go/generated/vlantaggingfilterdata.go
similarity index 68%
rename from vendor/github.com/cboling/omci/generated/vlantaggingfilterdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/vlantaggingfilterdata.go
index 209517f..9edacad 100644
--- a/vendor/github.com/cboling/omci/generated/vlantaggingfilterdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/vlantaggingfilterdata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const VlanTaggingFilterDataClassId ClassID = ClassID(84)
+// VlanTaggingFilterDataClassID is the 16-bit ID for the OMCI
+// Managed entity VLAN tagging filter data
+const VlanTaggingFilterDataClassID ClassID = ClassID(84)
 
 var vlantaggingfilterdataBME *ManagedEntityDefinition
 
@@ -38,21 +44,21 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the MAC bridge port configuration
-//			data ME. (R, setbycreate) (mandatory) (2 bytes)
+//			data ME. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Vlan Filter List
 //			VLAN filter list: This attribute is a list of provisioned tag control information (TCI) values
 //			for the bridge port. A TCI, comprising user priority, canonical format indicator (CFI) and
-//			virtual local area network identifier (VID), is represented by 2 bytes. This attribute supports
+//			virtual local area network identifier (VID), is represented by 2-bytes. This attribute supports
 //			up to 12 VLAN entries. The first N are valid, where N is given by the number of entries
-//			attribute. (R, W, setbycreate) (mandatory) (24 bytes)
+//			attribute. (R,-W, setbycreate) (mandatory) (24-bytes)
 //
 //		Forward Operation
 //			Table 9.3.11-1 and the actions listed are discussed in detail in the following.
 //
 //		Number Of Entries
 //			Number of entries: This attribute specifies the number of valid entries in the VLAN filter list.
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 type VlanTaggingFilterData struct {
 	ManagedEntityDefinition
@@ -69,19 +75,21 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XE000,
+		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: MultiByteField("VlanFilterList", 24, nil, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: ByteField("ForwardOperation", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: ByteField("NumberOfEntries", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField("VlanFilterList", OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("ForwardOperation", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField("NumberOfEntries", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewVlanTaggingFilterData (class ID 84 creates the basic
+// NewVlanTaggingFilterData (class ID 84) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewVlanTaggingFilterData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(vlantaggingfilterdataBME, params...)
+	return NewManagedEntity(*vlantaggingfilterdataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/vlantaggingoperationconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/generated/vlantaggingoperationconfigurationdata.go
similarity index 66%
rename from vendor/github.com/cboling/omci/generated/vlantaggingoperationconfigurationdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/vlantaggingoperationconfigurationdata.go
index def7943..8bea617 100644
--- a/vendor/github.com/cboling/omci/generated/vlantaggingoperationconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/vlantaggingoperationconfigurationdata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const VlanTaggingOperationConfigurationDataClassId ClassID = ClassID(78)
+// VlanTaggingOperationConfigurationDataClassID is the 16-bit ID for the OMCI
+// Managed entity VLAN tagging operation configuration data
+const VlanTaggingOperationConfigurationDataClassID ClassID = ClassID(78)
 
 var vlantaggingoperationconfigurationdataBME *ManagedEntityDefinition
 
@@ -29,7 +35,7 @@
 //	This ME organizes data associated with VLAN tagging. Instances of this ME are created and
 //	deleted by the OLT.
 //
-//	NOTE 1 – The extended VLAN tagging operation configuration data of clause 9.3.13 is preferred
+//	NOTE 1 - The extended VLAN tagging operation configuration data of clause 9.3.13 is preferred
 //	for new implementations.
 //
 //	Relationships
@@ -53,22 +59,22 @@
 //			by-create) (mandatory) (2 bytes)
 //
 //		Upstream Vlan Tagging Operation Mode
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Upstream Vlan Tag Tci Value
 //			Upstream VLAN tag TCI value: This attribute specifies the TCI for upstream VLAN tagging. It is
-//			used when the upstream VLAN tagging operation mode is 1 or 2. (R, W, setbycreate) (mandatory)
-//			(2 bytes)
+//			used when the upstream VLAN tagging operation mode is 1 or 2. (R,-W, setbycreate) (mandatory)
+//			(2-bytes)
 //
 //		Downstream Vlan Tagging Operation Mode
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Association Type
-//			The associated ME instance is identified by the associated ME pointer. (R, W, setbycreate)
-//			(optional) (1 byte)
+//			The associated ME instance is identified by the associated ME pointer. (R,-W, setbycreate)
+//			(optional) (1-byte)
 //
 //		Associated Me Pointer
-//			NOTE 3 – When the association type is xDSL, the two MSBs may be used to indicate a bearer
+//			NOTE 3 - When the association type is xDSL, the two MSBs may be used to indicate a bearer
 //			channel.
 //
 type VlanTaggingOperationConfigurationData struct {
@@ -86,21 +92,23 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF800,
+		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("UpstreamVlanTaggingOperationMode", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint16Field("UpstreamVlanTagTciValue", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: ByteField("DownstreamVlanTaggingOperationMode", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: ByteField("AssociationType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 4),
-			5: Uint16Field("AssociatedMePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("UpstreamVlanTaggingOperationMode", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("UpstreamVlanTagTciValue", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField("DownstreamVlanTaggingOperationMode", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: ByteField("AssociationType", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: Uint16Field("AssociatedMePointer", PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewVlanTaggingOperationConfigurationData (class ID 78 creates the basic
+// NewVlanTaggingOperationConfigurationData (class ID 78) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewVlanTaggingOperationConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(vlantaggingoperationconfigurationdataBME, params...)
+	return NewManagedEntity(*vlantaggingoperationconfigurationdataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/voiceserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/voiceserviceprofile.go
new file mode 100644
index 0000000..82bda01
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/voiceserviceprofile.go
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// VoiceServiceProfileClassID is the 16-bit ID for the OMCI
+// Managed entity Voice service profile
+const VoiceServiceProfileClassID ClassID = ClassID(58)
+
+var voiceserviceprofileBME *ManagedEntityDefinition
+
+// VoiceServiceProfile (class ID #58)
+//	This ME organizes data that describe the voice service functions of the ONU. Instances of this
+//	ME are created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME may be associated with zero or more instances of a VoIP voice CTP by way
+//		of a VoIP media profile.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Announcement Type
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Jitter Target
+//			Jitter target:	This attribute specifies the target value of the jitter buffer in milliseconds.
+//			The system tries to maintain the jitter buffer at the target value. The value 0 specifies
+//			dynamic jitter buffer sizing. (R,-W, setbycreate) (optional) (2-bytes)
+//
+//		Jitter Buffer Max
+//			Jitter buffer max: This attribute specifies the maximum depth of the jitter buffer associated
+//			with this service in milliseconds. The value 0 specifies that the ONU uses its internal default.
+//			(R,-W, set-by-create) (optional) (2-bytes)
+//
+//		Echo Cancel Ind
+//			Echo cancel ind: The Boolean value true specifies that echo cancellation is on; false specifies
+//			off. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Pstn Protocol Variant
+//			PSTN protocol variant: This attribute controls which variant of POTS signalling is used on the
+//			associated UNIs. Its value is equal to the [ITU-T E.164] country code. The value 0 specifies
+//			that the ONU uses its internal default. (R,-W, set-by-create) (optional) (2-bytes)
+//
+//		Dtmf Digit Levels
+//			DTMF digit levels: This attribute specifies the power level of DTMF digits that may be generated
+//			by the ONU towards the subscriber set. It is a 2s complement value referred to 1-mW at the 0
+//			transmission level point (TLP) (dBm0), with resolution 1-dB. The default value 0x8000 selects
+//			the ONU's internal policy. (R, W, setbycreate) (optional) (2-bytes)
+//
+//		Dtmf Digit Duration
+//			DTMF digit duration: This attribute specifies the duration of DTMF digits that may be generated
+//			by the ONU towards the subscriber set. It is specified in milliseconds. The default value 0
+//			selects the ONU's internal policy. (R, W, setbycreate) (optional) (2 bytes)
+//
+//		Hook Flash Minimum Time
+//			Hook flash minimum time: This attribute defines the minimum duration recognized by the ONU as a
+//			switchhook flash. It is expressed in milliseconds; the default value 0 selects the ONU's
+//			internal policy. (R, W, setbycreate) (optional) (2 bytes)
+//
+//		Hook Flash Maximum Time
+//			Hook flash maximum time: This attribute defines the maximum duration recognized by the ONU as a
+//			switchhook flash. It is expressed in milliseconds; the default value 0 selects the ONU's
+//			internal policy. (R, W, setbycreate) (optional) (2 bytes)
+//
+//		Tone Pattern Table
+//			(R,-W) (optional) (N * 20 bytes)
+//
+//		Tone Event Table
+//			(R,-W) (optional) (N * 7 bytes).
+//
+//		Ringing Pattern Table
+//			(R,-W) (optional) (N * 5 bytes).
+//
+//		Ringing Event Table
+//			(R,-W) (optional) (N * 7 bytes).
+//
+//		Network Specific Extensions Pointer
+//			Network specific extensions pointer: This attribute points to a network address ME that contains
+//			the path and name of a file containing network specific parameters for the associated UNIs. The
+//			default value for this attribute is 0xFFFF, a null pointer. (R,-W, set-by-create) (optional)
+//			(2-bytes)
+//
+type VoiceServiceProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	voiceserviceprofileBME = &ManagedEntityDefinition{
+		Name:    "VoiceServiceProfile",
+		ClassID: 58,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffc,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("AnnouncementType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field("JitterTarget", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  Uint16Field("JitterBufferMax", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField("EchoCancelInd", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field("PstnProtocolVariant", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field("DtmfDigitLevels", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  Uint16Field("DtmfDigitDuration", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  Uint16Field("HookFlashMinimumTime", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
+			9:  Uint16Field("HookFlashMaximumTime", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: MultiByteField("TonePatternTable", OctetsAttributeType, 0x0040, 20, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: MultiByteField("ToneEventTable", OctetsAttributeType, 0x0020, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: MultiByteField("RingingPatternTable", OctetsAttributeType, 0x0010, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: MultiByteField("RingingEventTable", OctetsAttributeType, 0x0008, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: Uint16Field("NetworkSpecificExtensionsPointer", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewVoiceServiceProfile (class ID 58) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVoiceServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*voiceserviceprofileBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/voipapplicationserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/voipapplicationserviceprofile.go
new file mode 100644
index 0000000..4aa275f
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/voipapplicationserviceprofile.go
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// VoipApplicationServiceProfileClassID is the 16-bit ID for the OMCI
+// Managed entity VoIP application service profile
+const VoipApplicationServiceProfileClassID ClassID = ClassID(146)
+
+var voipapplicationserviceprofileBME *ManagedEntityDefinition
+
+// VoipApplicationServiceProfile (class ID #146)
+//	The VoIP application service profile defines attributes of calling features used in conjunction
+//	with a VoIP line service. It is optional for ONUs that support VoIP services. If a non-OMCI
+//	interface is used to manage SIP for VoIP, this ME is unnecessary.
+//
+//	An instance of this ME is created and deleted by the OLT. A VoIP application service profile
+//	instance is needed for each unique set of profile attributes.
+//
+//	Relationships
+//		An instance of this ME is associated with zero or more SIP user data MEs.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Cid Features
+//			The recommended default value is 0x00. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Call Waiting Features
+//			The recommended default value is 0x00. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Call Progress Or Transfer Features
+//			The recommended default value is 0x0000. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Call Presentation Features
+//			The recommended default value is 0x0000. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Direct Connect Feature
+//			The recommended default value is 0x00. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Direct Connect Uri Pointer
+//			Direct connect URI pointer: This attribute points to a network address ME that specifies the URI
+//			of the direct connect. If this attribute is set to a null pointer, no URI is defined. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Bridged Line Agent Uri Pointer
+//			Bridged line agent URI pointer: This attribute points to a network address ME that specifies the
+//			URI of the bridged line agent. If this attribute is set to a null pointer, no URI is defined.
+//			(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Conference Factory Uri Pointer
+//			Conference factory URI pointer: This attribute points to a network address ME that specifies the
+//			URI of the conference factory. If this attribute is set to a null pointer, no URI is defined.
+//			(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Dial Tone Feature Delay_ W Armline Timer New
+//			Dial tone feature delay/warmline timer (new): This attribute defines the warmline timer/dial
+//			tone feature delay timer (seconds). The default value 0 specifies vendor-specific
+//			implementation. (R,-W) (optional) (2-bytes)
+//
+type VoipApplicationServiceProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	voipapplicationserviceprofileBME = &ManagedEntityDefinition{
+		Name:    "VoipApplicationServiceProfile",
+		ClassID: 146,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xff80,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("CidFeatures", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField("CallWaitingFeatures", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("CallProgressOrTransferFeatures", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field("CallPresentationFeatures", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField("DirectConnectFeature", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field("DirectConnectUriPointer", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint16Field("BridgedLineAgentUriPointer", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: Uint16Field("ConferenceFactoryUriPointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9: Uint16Field("DialToneFeatureDelayWArmlineTimerNew", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewVoipApplicationServiceProfile (class ID 146) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVoipApplicationServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*voipapplicationserviceprofileBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/voipconfigdata.go b/vendor/github.com/opencord/omci-lib-go/generated/voipconfigdata.go
new file mode 100644
index 0000000..9da4493
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/voipconfigdata.go
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// VoipConfigDataClassID is the 16-bit ID for the OMCI
+// Managed entity VoIP config data
+const VoipConfigDataClassID ClassID = ClassID(138)
+
+var voipconfigdataBME *ManagedEntityDefinition
+
+// VoipConfigData (class ID #138)
+//	The VoIP configuration data ME defines the configuration for VoIP in the ONU. The OLT uses this
+//	ME to discover the VoIP signalling protocols and configuration methods supported by this ONU.
+//	The OLT then uses this ME to select the desired signalling protocol and configuration method.
+//	The entity is conditionally required for ONUs that offer VoIP services.
+//
+//	An ONU that supports VoIP services automatically creates an instance of this ME.
+//
+//	Relationships
+//		One instance of this ME is associated with the ONU.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
+//			one instance, number 0. (R) (mandatory) (2-bytes)
+//
+//		Available Signalling Protocols
+//			(R) (mandatory) (1-byte)
+//
+//		Signalling Protocol Used
+//			(R,-W) (mandatory) (1-byte)
+//
+//		Available Voip Configuration Methods
+//			Bits 5..24 are reserved by ITU-T. Bits 25..32 are reserved for proprietary vendor configuration
+//			capabilities. (R) (mandatory) (4-bytes)
+//
+//		Voip Configuration Method Used
+//			(R,-W) (mandatory) (1-byte)
+//
+//		Voip Configuration Address Pointer
+//			The default value is 0xFFFF (R,-W) (mandatory) (2-bytes)
+//
+//		Voip Configuration State
+//			Other values are reserved. At ME instantiation, the ONU sets this attribute to 0. (R)
+//			(mandatory) (1-byte)
+//
+//		Retrieve Profile
+//			Retrieve profile: This attribute provides a means by which the ONU may be notified that a new
+//			VoIP profile should be retrieved. By setting this attribute, the OLT triggers the ONU to
+//			retrieve a new profile. The actual value in the set action is ignored because it is the action
+//			of setting that is important. (W) (mandatory) (1-byte)
+//
+//		Profile Version
+//			Profile version: This attribute is a character string that identifies the version of the last
+//			retrieved profile. (R) (mandatory) (25-bytes)
+//
+type VoipConfigData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	voipconfigdataBME = &ManagedEntityDefinition{
+		Name:    "VoipConfigData",
+		ClassID: 138,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xff00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("AvailableSignallingProtocols", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField("SignallingProtocolUsed", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint32Field("AvailableVoipConfigurationMethods", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: ByteField("VoipConfigurationMethodUsed", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: Uint16Field("VoipConfigurationAddressPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField("VoipConfigurationState", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: ByteField("RetrieveProfile", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Write), false, false, false, 7),
+			8: MultiByteField("ProfileVersion", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 8),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0:  "VCD config server name",
+			1:  "VCD config server reach",
+			2:  "VCD config server connect",
+			3:  "VCD config server validate",
+			4:  "VCD config server auth",
+			5:  "VCD config server timeout",
+			6:  "VCD config server fail",
+			7:  "VCD config file error",
+			8:  "VCD subscription name",
+			9:  "VCD subscription reach",
+			10: "VCD subscription connect",
+			11: "VCD subscription validate",
+			12: "VCD subscription auth",
+			13: "VCD subscription timeout",
+			14: "VCD subscription fail",
+			15: "VCD reboot request",
+		},
+	}
+}
+
+// NewVoipConfigData (class ID 138) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVoipConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*voipconfigdataBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/voipfeatureaccesscodes.go b/vendor/github.com/opencord/omci-lib-go/generated/voipfeatureaccesscodes.go
new file mode 100644
index 0000000..86f671e
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/voipfeatureaccesscodes.go
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// VoipFeatureAccessCodesClassID is the 16-bit ID for the OMCI
+// Managed entity VoIP feature access codes
+const VoipFeatureAccessCodesClassID ClassID = ClassID(147)
+
+var voipfeatureaccesscodesBME *ManagedEntityDefinition
+
+// VoipFeatureAccessCodes (class ID #147)
+//	The VoIP feature access codes ME defines administrable feature access codes for the VoIP
+//	subscriber. It is optional for ONUs that support VoIP services. If a non-OMCI interface is used
+//	to manage VoIP signalling, this ME is unnecessary.
+//
+//	Instances of this ME are created and deleted by the OLT. A VoIP feature access codes instance is
+//	needed for each unique set of feature access code attributes.
+//
+//	Relationships
+//		An instance of this ME may be associated with one or more SIP user data MEs.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R) (mandatory)
+//			(2-bytes)
+//
+//		Cancel Call Waiting
+//			Cancel call waiting:	(R,-W) (optional) (5-bytes)
+//
+//		Call Hold
+//			Call hold:		(R,-W) (optional) (5-bytes)
+//
+//		Call Park
+//			Call park:		(R,-W) (optional) (5-bytes)
+//
+//		Caller Id Activate
+//			Caller ID activate:	(R,-W) (optional) (5-bytes)
+//
+//		Caller Id Deactivate
+//			Caller ID deactivate:	(R,-W) (optional) (5-bytes)
+//
+//		Do Not Disturb Activation
+//			Do not disturb activation:	(R,-W) (optional) (5-bytes)
+//
+//		Do Not Disturb Deactivation
+//			Do not disturb deactivation:	(R,-W) (optional) (5-bytes)
+//
+//		Do Not Disturb Pin Change
+//			Do not disturb PIN change:	(R,-W) (optional) (5-bytes)
+//
+//		Emergency Service Number
+//			Emergency service number:	(R,-W) (optional) (5-bytes)
+//
+//		Intercom Service
+//			Intercom service:	(R,-W) (optional) (5-bytes)
+//
+//		Unattended_Blind Call Transfer
+//			Unattended/blind call transfer:	(R, W) (optional) (5 bytes)
+//
+//		Attended Call Transfer
+//			Attended call transfer:	(R, W) (optional) (5 bytes)
+//
+type VoipFeatureAccessCodes struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	voipfeatureaccesscodesBME = &ManagedEntityDefinition{
+		Name:    "VoipFeatureAccessCodes",
+		ClassID: 147,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField("CancelCallWaiting", OctetsAttributeType, 0x8000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2:  MultiByteField("CallHold", OctetsAttributeType, 0x4000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3:  MultiByteField("CallPark", OctetsAttributeType, 0x2000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  MultiByteField("CallerIdActivate", OctetsAttributeType, 0x1000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  MultiByteField("CallerIdDeactivate", OctetsAttributeType, 0x0800, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  MultiByteField("DoNotDisturbActivation", OctetsAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  MultiByteField("DoNotDisturbDeactivation", OctetsAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  MultiByteField("DoNotDisturbPinChange", OctetsAttributeType, 0x0100, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  MultiByteField("EmergencyServiceNumber", OctetsAttributeType, 0x0080, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: MultiByteField("IntercomService", OctetsAttributeType, 0x0040, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: MultiByteField("UnattendedBlindCallTransfer", OctetsAttributeType, 0x0020, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: MultiByteField("AttendedCallTransfer", OctetsAttributeType, 0x0010, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 12),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewVoipFeatureAccessCodes (class ID 147) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVoipFeatureAccessCodes(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*voipfeatureaccesscodesBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/voiplinestatus.go b/vendor/github.com/opencord/omci-lib-go/generated/voiplinestatus.go
new file mode 100644
index 0000000..f57cda1
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/voiplinestatus.go
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// VoipLineStatusClassID is the 16-bit ID for the OMCI
+// Managed entity VoIP line status
+const VoipLineStatusClassID ClassID = ClassID(141)
+
+var voiplinestatusBME *ManagedEntityDefinition
+
+// VoipLineStatus (class ID #141)
+//	The VoIP line status ME contains line status information for POTS ports using VoIP services. An
+//	ONU that supports VoIP automatically creates or deletes an instance of this ME upon creation or
+//	deletion of a PPTP POTS UNI.
+//
+//	Relationships
+//		An instance of this ME is associated with a PPTP POTS UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP POTS UNI. (R) (mandatory)
+//			(2-bytes)
+//
+//		Voip Codec Used
+//			(R) (mandatory) (2-bytes)
+//
+//		Voip Voice Server Status
+//			(R) (mandatory) (1-byte)
+//
+//		Voip Port Session Type
+//			(R) (mandatory) (1-byte)
+//
+//		Voip Call 1 Packet Period
+//			Voip call 1 packet period: This attribute reports the packet period for the first call on the
+//			VoIP POTS port. The value is defined in milliseconds. (R) (mandatory) (2-bytes)
+//
+//		Voip Call 2 Packet Period
+//			Voip call 2 packet period: This attribute reports the packet period for the second call on the
+//			VoIP POTS port. The value is defined in milliseconds. (R) (mandatory) (2-bytes)
+//
+//		Voip Call 1 Dest Addr
+//			Voip call 1 dest addr: This attribute reports the DA for the first call on the VoIP POTS port.
+//			The value is an ASCII string. (R) (mandatory) (25-bytes)
+//
+//		Voip Call 2 Dest Addr
+//			Voip call 2 dest addr: This attribute reports the DA for the second call on the VoIP POTS port.
+//			The value is an ASCII string. (R) (mandatory) (25-bytes)
+//
+//		Voip Line State
+//			(R) (optional) (1 byte)
+//
+//		Emergency Call Status
+//			(R) (Optional) (1-byte)
+//
+type VoipLineStatus struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	voiplinestatusBME = &ManagedEntityDefinition{
+		Name:    "VoipLineStatus",
+		ClassID: 141,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+		),
+		AllowedAttributeMask: 0xff80,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field("VoipCodecUsed", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField("VoipVoiceServerStatus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField("VoipPortSessionType", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint16Field("VoipCall1PacketPeriod", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field("VoipCall2PacketPeriod", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: MultiByteField("VoipCall1DestAddr", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
+			7: MultiByteField("VoipCall2DestAddr", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
+			8: ByteField("VoipLineState", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9: ByteField("EmergencyCallStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewVoipLineStatus (class ID 141) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVoipLineStatus(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*voiplinestatusBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/voipmediaprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/voipmediaprofile.go
new file mode 100644
index 0000000..deae97c
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/voipmediaprofile.go
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// VoipMediaProfileClassID is the 16-bit ID for the OMCI
+// Managed entity VoIP media profile
+const VoipMediaProfileClassID ClassID = ClassID(142)
+
+var voipmediaprofileBME *ManagedEntityDefinition
+
+// VoipMediaProfile (class ID #142)
+//	The VoIP media profile ME contains settings that apply to VoIP voice encoding. This entity is
+//	conditionally required for ONUs that offer VoIP services. If a non-OMCI interface is used to
+//	manage VoIP signalling, this ME is unnecessary.
+//
+//	An instance of this ME is created and deleted by the OLT. A VoIP media profile is needed for
+//	each unique set of profile attributes.
+//
+//	Relationships
+//		An instance of this ME may be associated with one or more VoIP voice CTP MEs.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Fax Mode
+//			(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Voice Service Profile Pointer
+//			Voice service profile pointer: Pointer to a voice service profile, which defines parameters such
+//			as jitter buffering and echo cancellation. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Codec Selection 1st Order
+//			(R,-W, set-by-create) (mandatory) (1-byte)
+//
+//		Packet Period Selection 1st Order
+//			Packet period selection (1st order): This attribute specifies the packet period selection
+//			interval in milliseconds. The recommended default value is 10-ms. Valid values are 10..30-ms.
+//			(R,-W, set-by-create) (mandatory) (1-byte)
+//
+//		Silence Suppression 1st Order
+//			Silence suppression (1st order): This attribute specifies whether silence suppression is on or
+//			off. Valid values are 0-= off and 1-= on. (R,-W, set-by-create) (mandatory) (1-byte)
+//
+//		Codec Selection 2nd Order
+//			Codec selection (2nd order):	(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Packet Period Selection 2nd Order
+//			Packet period selection (2nd order):	(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Silence Suppression 2nd Order
+//			Silence suppression (2nd order):	(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Codec Selection 3rd Order
+//			Codec selection (3rd order):	(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Packet Period Selection 3rd Order
+//			Packet period selection (3rd order):	(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Silence Suppression 3rd Order
+//			Silence suppression (3rd order):	(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Codec Selection 4th Order
+//			Codec selection (4th order):	(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Packet Period Selection 4th Order
+//			Packet period selection (4th order):	(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Silence Suppression 4th Order
+//			Silence suppression (4th order):	(R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Oob Dtmf
+//			OOB DTMF:	This attribute specifies out-of-band DMTF carriage. When enabled (1), DTMF signals are
+//			carried out of band via RTP or the associated signalling protocol. When disabled (0), DTMF tones
+//			are carried in the PCM stream. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Rtp Profile Pointer
+//			RTP profile pointer: This attribute points to the associated RTP profile data ME. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
+//
+type VoipMediaProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	voipmediaprofileBME = &ManagedEntityDefinition{
+		Name:    "VoipMediaProfile",
+		ClassID: 142,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("FaxMode", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field("VoiceServiceProfilePointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField("CodecSelection1StOrder", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField("PacketPeriodSelection1StOrder", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField("SilenceSuppression1StOrder", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  ByteField("CodecSelection2NdOrder", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField("PacketPeriodSelection2NdOrder", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField("SilenceSuppression2NdOrder", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField("CodecSelection3RdOrder", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: ByteField("PacketPeriodSelection3RdOrder", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField("SilenceSuppression3RdOrder", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: ByteField("CodecSelection4ThOrder", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField("PacketPeriodSelection4ThOrder", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
+			14: ByteField("SilenceSuppression4ThOrder", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 14),
+			15: ByteField("OobDtmf", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 15),
+			16: Uint16Field("RtpProfilePointer", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewVoipMediaProfile (class ID 142) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVoipMediaProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*voipmediaprofileBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/voipvoicectp.go b/vendor/github.com/opencord/omci-lib-go/generated/voipvoicectp.go
similarity index 61%
rename from vendor/github.com/cboling/omci/generated/voipvoicectp.go
rename to vendor/github.com/opencord/omci-lib-go/generated/voipvoicectp.go
index 08060e2..f59cf44 100644
--- a/vendor/github.com/cboling/omci/generated/voipvoicectp.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/voipvoicectp.go
@@ -1,33 +1,39 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const VoipVoiceCtpClassId ClassID = ClassID(139)
+// VoipVoiceCtpClassID is the 16-bit ID for the OMCI
+// Managed entity VoIP voice CTP
+const VoipVoiceCtpClassID ClassID = ClassID(139)
 
 var voipvoicectpBME *ManagedEntityDefinition
 
 // VoipVoiceCtp (class ID #139)
 //	The VoIP voice CTP defines the attributes necessary to associate a specified VoIP service (SIP,
-//	ITUT H.248) with a POTS UNI. This entity is conditionally required for ONUs that offer VoIP
+//	ITUT-H.248) with a POTS UNI. This entity is conditionally required for ONUs that offer VoIP
 //	services. If a non-OMCI interface is used to manage VoIP signalling, this ME is unnecessary.
 //
 //	An instance of this ME is created and deleted by the OLT. A VoIP voice CTP ME is needed for each
@@ -40,25 +46,25 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		User Protocol Pointer
 //			User protocol pointer: This attribute points to signalling protocol data. If the signalling
 //			protocol used attribute of the VoIP config data ME specifies that the ONU's signalling protocol
 //			is SIP, this attribute points to a SIP user data ME, which in turn points to a SIP agent config
-//			data ME. If the signalling protocol is ITU-T H.248, this attribute points directly to an MGC
-//			config data ME. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data ME. If the signalling protocol is ITU-T-H.248, this attribute points directly to an MGC
+//			config data ME. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Pptp Pointer
 //			PPTP pointer: This attribute points to the PPTP POTS UNI ME that serves the analogue telephone
-//			port. (R, W, setbycreate) (mandatory) (2 bytes)
+//			port. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		V O Ip Media Profile Pointer
-//			VoIP media profile pointer: This attribute points to an associated VoIP media profile. (R, W,
-//			setbycreate) (mandatory) (2 bytes)
+//			VoIP media profile pointer: This attribute points to an associated VoIP media profile. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Signalling Code
-//			(R, W, setbycreate) (mandatory) (1 byte)
+//			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 type VoipVoiceCtp struct {
 	ManagedEntityDefinition
@@ -75,20 +81,22 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XF000,
+		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint16Field("UserProtocolPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2: Uint16Field("PptpPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint16Field("VOIpMediaProfilePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4: ByteField("SignallingCode", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("UserProtocolPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("PptpPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("VOIpMediaProfilePointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: ByteField("SignallingCode", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewVoipVoiceCtp (class ID 139 creates the basic
+// NewVoipVoiceCtp (class ID 139) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewVoipVoiceCtp(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(voipvoicectpBME, params...)
+	return NewManagedEntity(*voipvoicectpBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/vpnetworkctp.go b/vendor/github.com/opencord/omci-lib-go/generated/vpnetworkctp.go
new file mode 100644
index 0000000..af565dd
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/vpnetworkctp.go
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// VpNetworkCtpClassID is the 16-bit ID for the OMCI
+// Managed entity VP network CTP
+const VpNetworkCtpClassID ClassID = ClassID(269)
+
+var vpnetworkctpBME *ManagedEntityDefinition
+
+// VpNetworkCtp (class ID #269)
+//	NOTE - In [ITU-T G.984.4], this ME is called VP network CTP-G.
+//
+//	This ME represents the termination of VP links on an ONU. It aggregates connectivity
+//	functionality from the network view and alarms from the network element view as well as
+//	artefacts from trails. Instances of this ME are created and deleted by the OLT.
+//
+//	An instance of the VP network CTP ME can be deleted only when no ATM IW VCC TP is associated
+//	with it. It is the responsibility of the OLT to ensure that this condition is met.
+//
+//	Relationships
+//		Zero or more instances of the VP network CTP ME may exist for each instance of the IW VCC TP ME.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
+//			(mandatory) (2-bytes)
+//
+//		Vpi Value
+//			VPI value:	This attribute identifies the VPI value associated with the VP link being terminated.
+//			(R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Uni Pointer
+//			UNI pointer: This pointer indicates the xDSL PPTP UNI associated with this VP TP. The bearer
+//			channel may be indicated by the two MSBs of the pointer. (R,-W, setbycreate) (mandatory)
+//			(2-bytes)
+//
+//		Direction
+//			Direction:	This attribute specifies whether the VP link is used for UNI-to-ANI (value-1), ANI-
+//			to-UNI (value-2), or bidirectional (value 3) connection. (R,-W, setbycreate) (mandatory)
+//			(1-byte)
+//
+//		Deprecated 1
+//			Deprecated 1: Not used; should be set to 0. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Deprecated 2
+//			Deprecated 2: Not used; should be set to 0. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Deprecated 3
+//			Deprecated 3: Not used; should be set to 0. (R,-W, setbycreate) (optional) (2-bytes)
+//
+//		Deprecated 4
+//			Deprecated 4: Not used; if present, should be set to 0. (R) (optional) (1-byte)
+//
+type VpNetworkCtp struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	vpnetworkctpBME = &ManagedEntityDefinition{
+		Name:    "VpNetworkCtp",
+		ClassID: 269,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfe00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field("VpiValue", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field("UniPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField("Direction", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field("Deprecated1", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
+			5: Uint16Field("Deprecated2", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 5),
+			6: Uint16Field("Deprecated3", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 6),
+			7: ByteField("Deprecated4", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, true, 7),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "VP AIS LMIR",
+			1: "VP RDI LMIR",
+			2: "VP AIS LMIG",
+			3: "VP RDI LMIG",
+			4: "Segment loss of continuity",
+			5: "End-to-end loss of continuity",
+		},
+	}
+}
+
+// NewVpNetworkCtp (class ID 269) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVpNetworkCtp(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*vpnetworkctpBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/vpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/vpperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..4f98c8c
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/vpperformancemonitoringhistorydata.go
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// VpPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity VP performance monitoring history data
+const VpPerformanceMonitoringHistoryDataClassID ClassID = ClassID(62)
+
+var vpperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// VpPerformanceMonitoringHistoryData (class ID #62)
+//	This ME collects PM data associated with a VP network CTP. Instances of this ME are created and
+//	deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME is associated with an instance of the VP network CTP ME. The performance
+//		of upstream ATM flows is reported.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the VP network CTP. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Lost C 0 1 Cells
+//			Lost C-= 0-+ 1 cells: This attribute counts all cell loss. It cannot distinguish between cells
+//			lost because of header bit errors, ATM-level header errors, cell policing, or buffer overflows.
+//			It records only loss of information, independent of the priority of the cell. (R) (mandatory)
+//			(2-bytes)
+//
+//		Lost C_= 0 Cells
+//			Lost C-= 0 cells: This attribute counts loss of high priority cells. It cannot distinguish
+//			between cells lost because of header bit errors, ATM-level header errors, cell policing, or
+//			buffer overflows. It records only loss of high priority cells. (R) (mandatory) (2-bytes)
+//
+//		Misinserted Cells
+//			Misinserted cells: This attribute counts cells that are misrouted to a monitored VP. (R)
+//			(mandatory) (2-bytes)
+//
+//		Transmitted C_= 0 _ 1 Cells
+//			Transmitted C-= 0-+ 1 cells: This attribute counts cells originated by the transmitting end
+//			point (i.e., backward reporting is assumed). (R) (mandatory) (5-bytes)
+//
+//		Transmitted C_= 0 Cells
+//			Transmitted C-= 0 cells: This attribute counts high priority cells originated by the
+//			transmitting end point (i.e., backward reporting is assumed). (R) (mandatory) (5-bytes)
+//
+//		Impaired Block
+//			Impaired blocks: This severely errored cell block counter is incremented whenever one of the
+//			following events takes place: the number of misinserted cells reaches its threshold; the number
+//			of bipolar violations reaches its threshold; or the number of lost cells reaches its threshold.
+//			Threshold values are based on vendor-operator negotiation. (R) (mandatory) (2-bytes)
+//
+type VpPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	vpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "VpPerformanceMonitoringHistoryData",
+		ClassID: 62,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xff00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("LostC01Cells", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint16Field("LostC=0Cells", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field("MisinsertedCells", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: MultiByteField("TransmittedC=01Cells", CounterAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 6),
+			7: MultiByteField("TransmittedC=0Cells", CounterAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint16Field("ImpairedBlock", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Lost CLP-= 0-+ 1 cells",
+			1: "Lost CLP-= 0 cells",
+			2: "Misinserted cells",
+			3: "Impaired blocks",
+		},
+	}
+}
+
+// NewVpPerformanceMonitoringHistoryData (class ID 62) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewVpPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*vpperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdslchannelconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslchannelconfigurationprofile.go
new file mode 100644
index 0000000..e5ae2a4
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslchannelconfigurationprofile.go
@@ -0,0 +1,182 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslChannelConfigurationProfileClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL channel configuration profile
+const XdslChannelConfigurationProfileClassID ClassID = ClassID(107)
+
+var xdslchannelconfigurationprofileBME *ManagedEntityDefinition
+
+// XdslChannelConfigurationProfile (class ID #107)
+//	This ME contains the channel configuration profile for an xDSL UNI. An instance of this ME is
+//	created and deleted by the OLT.
+//
+//	NOTE - If [ITUT G.997.1] compatibility is required, bit rates should only be set to integer
+//	multiples of 1000-bits/s. The ONU may reject attempts to set other values for bit rate
+//	attributes.
+//
+//	Relationships
+//		An instance of this ME may be associated with zero or more instances of the PPTP xDSL UNI part
+//		1.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
+//			reserved. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Minimum Data Rate
+//			Minimum data rate: This parameter specifies the minimum desired net data rate for the bearer
+//			channel. It is coded in bits per second. (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Maximum Data Rate
+//			Maximum data rate: This parameter specifies the maximum desired net data rate for the bearer
+//			channel. It is coded in bits per second. (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Rate Adaptation Ratio
+//			Rate adaptation ratio: This attribute specifies the weight that should be taken into account
+//			when performing rate adaptation in the direction of the bearer channel. The attribute is defined
+//			as a percentage. The value 20, for example, means that 20% of the available data rate (in excess
+//			of the minimum data rate summed over all bearer channels) is assigned to this bearer channel and
+//			80% to the other bearer channels. The OLT must ensure that the sum of rate adaptation ratios
+//			over all bearers in one direction is 100%. (R,-W, setbycreate) (optional) (1-byte)
+//
+//		Maximum Interleaving Delay
+//			The delay is coded in milliseconds, varying from 2 to 63, with special meaning assigned to
+//			values 0, 1 and 255. The value 0 indicates that no delay bound is imposed. The value 1 indicates
+//			the fast latency path is to be used in the ITUT G.992.1 operating mode and S and D are to be
+//			selected such that S- 1 and D-= 1 in ITU-T G.992.2, ITUT G.992.3, ITUT G.992.4, ITUT G.992.5 and
+//			ITUT G.993.2 operating modes. The value 255 indicates a delay bound of 1-ms in ITUT-G.993.2
+//			operation. (R,-W, setbycreate) (mandatory) (1-byte)
+//
+//		Data Rate Threshold Upshift
+//			Data rate threshold upshift: This attribute is a threshold on the cumulative data rate upshift
+//			achieved over one or more bearer channel data rate adaptations. An upshift rate change (DRT up)
+//			notification is issued by the PPTP xDSL UNI part 1 when the actual data rate exceeds the data
+//			rate at the last entry into showtime by more than the threshold. The data rate threshold is
+//			coded in bits per second. (R,-W, setbycreate) (mandatory for xDSL standards that use this
+//			attribute) (4-bytes)
+//
+//		Data Rate Threshold Downshift
+//			Data rate threshold downshift: This attribute is a threshold on the cumulative data rate
+//			downshift achieved over one or more bearer channel data rate adaptations. A downshift rate
+//			change (DRT down) notification is issued by the PPTP xDSL UNI part 1 when the actual data rate
+//			is below the data rate at the last entry into showtime by more than the threshold. The data rate
+//			threshold is coded in bits per second. (R,-W, setbycreate) (mandatory for xDSL standards that
+//			use this attribute) (4-bytes)
+//
+//		Minimum Reserved Data Rate
+//			Minimum reserved data rate: This attribute specifies the desired minimum reserved net data rate
+//			for the bearer channel. The rate is coded in bits per second. This attribute is needed only if
+//			the rate adaptation mode is set to dynamic in the xDSL line configuration profile part 1. (R,-W,
+//			setbycreate) (optional) (4-bytes)
+//
+//		Minimum Data Rate In Low _ Power State
+//			Minimum data rate in low-power state: This parameter specifies the minimum desired net data rate
+//			for the bearer channel during the low-power state (L1/L2). The power management low-power states
+//			L1 and L2 are defined in [ITUT-G.992.2] and [ITUT G.992.3], respectively. The data rate is coded
+//			in bits per second. (R,-W, setbycreate) (mandatory) (4-byte)
+//
+//		Minimum Impulse Noise Protection
+//			(R,-W, setbycreate) (optional for [ITU-T G.992.1], mandatory for other xDSL standards that use
+//			this attribute) (1-byte)
+//
+//		Maximum Bit Error Ratio
+//			(R,-W, setbycreate) (mandatory for standards that use this attribute) (1-byte)
+//
+//		Minimum Impulse Noise Protection 8_Khz
+//			Minimum impulse noise protection 8-kHz: The INPmin8 attribute specifies the minimum INP for the
+//			bearer channel if it is transported over DMT symbols with a subcarrier spacing of 8.625-kHz. It
+//			is only valid for [ITUT-G.993.2]. INP is expressed in DMT symbols with a subcarrier spacing of
+//			8.625-kHz. It can take any integer value from 0 (default) to 16, inclusive. (R, W) (mandatory
+//			for [ITUT-G.993.2]) (1 byte)
+//
+//		Maximum Delay Variation
+//			Maximum delay variation: The DVMAX attribute specifies the maximum value for delay variation
+//			allowed in an OLR procedure. Its value ranges from 1 (0.1-ms) to 254 (25.4-ms). The special
+//			value 255 specifies that no delay variation bound is imposed. (R, W) (optional: used by
+//			[ITUT-G.993.2]) (1 byte)
+//
+//		Channel Initialization Policy Selection
+//			Channel initialization policy selection: The CIPOLICY attribute specifies the policy to
+//			determine transceiver configuration at initialization. Valid values are 0..1, as defined in the
+//			Recommendations that use this attribute. (R,-W) (optional) (1-byte)
+//
+//		Minimum Sos Bit Rate Downstream
+//			Minimum SOS bit rate downstream: The MIN-SOS-BR-ds attribute specifies the minimum net data rate
+//			required for a valid SOS request in the downstream direction. The value is coded as an unsigned
+//			integer representing the data rate as a multiple of 8-kbit/s. (R,-W) (optional) (4-bytes)
+//
+//		Minimum Sos Bit Rate Upstream
+//			Minimum SOS bit rate upstream: The MIN-SOS-BR-us attribute specifies the minimum net data rate
+//			required for a valid SOS request in the upstream direction. The value is coded as an unsigned
+//			integer representing the data rate as a multiple of 8-kbit/s. (R,-W) (optional) (4-bytes)
+//
+type XdslChannelConfigurationProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdslchannelconfigurationprofileBME = &ManagedEntityDefinition{
+		Name:    "XdslChannelConfigurationProfile",
+		ClassID: 107,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint32Field("MinimumDataRate", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint32Field("MaximumDataRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField("RateAdaptationRatio", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField("MaximumInterleavingDelay", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint32Field("DataRateThresholdUpshift", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint32Field("DataRateThresholdDownshift", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint32Field("MinimumReservedDataRate", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  Uint32Field("MinimumDataRateInLowPowerState", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField("MinimumImpulseNoiseProtection", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: ByteField("MaximumBitErrorRatio", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField("MinimumImpulseNoiseProtection8Khz", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: ByteField("MaximumDelayVariation", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			13: ByteField("ChannelInitializationPolicySelection", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: Uint32Field("MinimumSosBitRateDownstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: Uint32Field("MinimumSosBitRateUpstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewXdslChannelConfigurationProfile (class ID 107) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslChannelConfigurationProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdslchannelconfigurationprofileBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/xdslchannelconfigurationprofilepart2.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslchannelconfigurationprofilepart2.go
similarity index 67%
rename from vendor/github.com/cboling/omci/generated/xdslchannelconfigurationprofilepart2.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdslchannelconfigurationprofilepart2.go
index cc7a5a0..1552ea0 100644
--- a/vendor/github.com/cboling/omci/generated/xdslchannelconfigurationprofilepart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslchannelconfigurationprofilepart2.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslChannelConfigurationProfilePart2ClassId ClassID = ClassID(412)
+// XdslChannelConfigurationProfilePart2ClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL channel configuration profile part 2
+const XdslChannelConfigurationProfilePart2ClassID ClassID = ClassID(412)
 
 var xdslchannelconfigurationprofilepart2BME *ManagedEntityDefinition
 
@@ -29,8 +35,8 @@
 //	This ME contains the channel configuration profile for an xDSL UNI. An instance of this ME is
 //	created and deleted by the OLT.
 //
-//	NOTE – If [ITUT G.997.1] compatibility is required, bit rates should only be set to integer
-//	multiples of 1000 bits/s. The ONU may reject attempts to set other values for bit rate
+//	NOTE - If [ITUT G.997.1] compatibility is required, bit rates should only be set to integer
+//	multiples of 1000-bits/s. The ONU may reject attempts to set other values for bit rate
 //	attributes.
 //
 //	Relationships
@@ -41,89 +47,89 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the xDSL channel configuration
-//			profile. (R, setbycreate) (mandatory) (2 bytes)
+//			profile. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Minimum Expected Throughput For Retransmission Minetr_Rtx
 //			Minimum expected throughput for retransmission (MINETR_RTX): If retransmission is used in a
 //			given transmit direction, this attribute specifies the minimum expected throughput for the
-//			bearer channel, in bits per second. See clause 7.3.2.1.8 of [ITU-T G.997.1]. (R, W) (mandatory)
-//			(4 bytes)
+//			bearer channel, in bits per second. See clause 7.3.2.1.8 of [ITU-T G.997.1]. (R,-W) (mandatory)
+//			(4-bytes)
 //
 //		Maximum Expected Throughput For Retransmission Maxetr_Rtx
 //			Maximum expected throughput for retransmission (MAXETR_RTX): If retransmission is used in a
 //			given transmit direction, this parameter specifies the maximum expected throughput for the
-//			bearer channel, in bits per second. See clause 7.3.2.1.9 of [ITU-T G.997.1]. (R, W) (mandatory)
-//			(4 bytes)
+//			bearer channel, in bits per second. See clause 7.3.2.1.9 of [ITU-T G.997.1]. (R,-W) (mandatory)
+//			(4-bytes)
 //
 //		Maximum Net Data Rate For Retransmission Maxndr_Rtx
 //			Maximum net data rate for retransmission (MAXNDR_RTX): If retransmission is used in a given
 //			transmit direction, this parameter specifies the maximum net data rate for the bearer channel,
-//			in bits per second. See clause 7.3.2.1.10 of [ITUT G.997.1]. (R, W) (mandatory) (4 bytes)
+//			in bits per second. See clause 7.3.2.1.10 of [ITUT-G.997.1]. (R,-W) (mandatory) (4-bytes)
 //
 //		Maximum Delay For Retransmission Delaymax_Rtx
 //			Maximum delay for retransmission (DELAYMAX_RTX): If retransmission is used in a given transmit
 //			direction, this parameter specifies the maximum for the instantaneous delay due to the effect of
 //			retransmission only. This delay is defined as the integer value of this attribute multiplied by
-//			1 ms. The valid delay values are given in clause 7.3.2.11 of [ITU-T G.997.1]. (R, W) (mandatory)
-//			(1 bytes)
+//			1-ms. The valid delay values are given in clause 7.3.2.11 of [ITU-T G.997.1]. (R,-W) (mandatory)
+//			(1-bytes)
 //
 //		Minimum Delay For Retransmission Delaymin_Rtx
 //			Minimum delay for retransmission (DELAYMIN_RTX): If retransmission is used in a given transmit
 //			direction, this parameter specifies the minimum for the instantaneous delay due to the effect of
 //			retransmission only. This delay is defined as the integer value of this attribute multiplied by
-//			1 ms. The valid delay values are given in clause 7.3.2.12 of [ITU-T G.997.1]. (R, W) (mandatory)
-//			(1 bytes)
+//			1 ms. The valid delay values are given in clause 7.3.2.12 of [ITU-T G.997.1]. (R,-W) (mandatory)
+//			(1-bytes)
 //
 //		Minimum Impulse Noise Protection Against Single High Impulse Noise Event Shine For Retransmission Inpmin_Shine_Rtx
 //			Minimum impulse noise protection against single high impulse noise event (SHINE) for
 //			retransmission (INPMIN_SHINE_RTX): If retransmission is used in a given transmit direction, this
 //			parameter specifies the minimum INP against a SHINE for the bearer channel if it is transported
-//			over DMT symbols with a subcarrier spacing of 4.3125 kHz. The valid range of values is given in
-//			clause 7.3.2.13 of [ITU-T G.997.1]. (R, W) (mandatory) (1 bytes)
+//			over DMT symbols with a subcarrier spacing of 4.3125-kHz. The valid range of values is given in
+//			clause-7.3.2.13 of [ITU-T G.997.1]. (R,-W) (mandatory) (1-bytes)
 //
 //		Minimum Impulse Noise Protection Against Shine For Retransmission For Systems Using 8.625 Khz Subcarrier Spacing Inpmin8_Shine_Rtx
 //			Minimum impulse noise protection against SHINE for retransmission for systems using 8.625 kHz
 //			subcarrier spacing (INPMIN8_SHINE_RTX): If retransmission is used in a given transmit direction,
 //			this parameter specifies the minimum INP against SHINE for the bearer channel if it is
-//			transported over DMT symbols with a subcarrier spacing of 8.625 kHz. The valid range of values
-//			is given in clause 7.3.2.14 of [ITUT G.997.1]. (R, W) (mandatory) (1 bytes)
+//			transported over DMT symbols with a subcarrier spacing of 8.625-kHz. The valid range of values
+//			is given in clause 7.3.2.14 of [ITUT-G.997.1]. (R,-W) (mandatory) (1-bytes)
 //
 //		Shineratio_Rtx
 //			SHINERATIO_RTX: If retransmission is used in a given transmit direction, this parameter
 //			specifies the SHINE ratio. This ratio is defined as the integer value of this attribute
-//			multiplied by 0.001. The valid range of values is given in clause 7.3.2.15 of [ITU-T G.997.1].
-//			(R, W) (mandatory) (1 bytes)
+//			multiplied by 0.001. The valid range of values is given in clause-7.3.2.15 of [ITU-T G.997.1].
+//			(R,-W) (mandatory) (1-bytes)
 //
 //		Minimum Impulse Noise Protection Against Rein For Retransmission Inpmin_Rein_Rtx
 //			Minimum impulse noise protection against REIN for retransmission (INPMIN_REIN_RTX): If
 //			retransmission is used in a given transmit direction, this parameter specifies the minimum INP
 //			against REIN for the bearer channel if it is transported over DMT symbols with a subcarrier
-//			spacing of 4.3125 kHz. The valid range of values is given in clause 7.3.2.16 of [ITU-T G.997.1].
-//			(R, W) (mandatory) (1 bytes)
+//			spacing of 4.3125 kHz. The valid range of values is given in clause-7.3.2.16 of [ITU-T G.997.1].
+//			(R,-W) (mandatory) (1-bytes)
 //
 //		Minimum Impulse Noise Protection Against Rein For Retransmission For Systems Using 8.625_Khz Subcarrier Spacing Inpmin8_Rein_Rtx
-//			Minimum impulse noise protection against REIN for retransmission for systems using 8.625 kHz
+//			Minimum impulse noise protection against REIN for retransmission for systems using 8.625-kHz
 //			subcarrier spacing (INPMIN8_REIN_RTX): If retransmission is used in a given transmit direction,
 //			this parameter specifies the minimum INP against REIN for the bearer channel if it is
 //			transported over DMT symbols with a subcarrier spacing of 8.625 kHz. The valid range of values
-//			is given in clause 7.3.2.17 of [ITU-T G.997.1]. (R, W) (mandatory) (1 bytes)
+//			is given in clause 7.3.2.17 of [ITU-T G.997.1]. (R,-W) (mandatory) (1-bytes)
 //
 //		Rein Inter_Arrival Time For Retransmission Iat_Rein_Rtx
 //			REIN inter-arrival time for retransmission (IAT_REIN_RTX): If retransmission is used in a given
 //			transmit direction, this parameter specifies the IAT that shall be assumed for REIN protection.
-//			The valid range of values is given in clause 7.3.2.18 of [ITU-T G.997.1]. (R, W) (mandatory)
-//			(1 bytes)
+//			The valid range of values is given in clause 7.3.2.18 of [ITU-T G.997.1]. (R,-W) (mandatory)
+//			(1-bytes)
 //
 //		Target Net Data Rate Target_Ndr
 //			Target net data rate (TARGET_NDR): If retransmission is not used in a given transmit direction,
 //			this parameter specifies the target net data of the bearer channel, in bits per second. See
-//			clause 7.3.2.19.1 of [ITU-T G.997.1]. (R, W) (mandatory) (4 bytes)
+//			clause 7.3.2.19.1 of [ITU-T G.997.1]. (R,-W) (mandatory) (4-bytes)
 //
 //		Target Expected Throughput For Retransmission Target_Etr
 //			Target expected throughput for retransmission (TARGET_ETR): If retransmission is used in a given
 //			transmit direction, this parameter specifies the target expected throughput for the bearer
-//			channel, in bits per second. See clause 7.3.2.19.2 of [ITUT G.997.1]. (R, W) (mandatory)
-//			(4 bytes)
+//			channel, in bits per second. See clause 7.3.2.19.2 of [ITUT-G.997.1]. (R,-W) (mandatory)
+//			(4-bytes)
 //
 type XdslChannelConfigurationProfilePart2 struct {
 	ManagedEntityDefinition
@@ -140,29 +146,31 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFF8,
+		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint32Field("MinimumExpectedThroughputForRetransmissionMinetrRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
-			2:  Uint32Field("MaximumExpectedThroughputForRetransmissionMaxetrRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
-			3:  Uint32Field("MaximumNetDataRateForRetransmissionMaxndrRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
-			4:  ByteField("MaximumDelayForRetransmissionDelaymaxRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
-			5:  ByteField("MinimumDelayForRetransmissionDelayminRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  ByteField("MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  ByteField("MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
-			8:  ByteField("ShineratioRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
-			9:  ByteField("MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 9),
-			10: ByteField("MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 10),
-			11: ByteField("ReinInterArrivalTimeForRetransmissionIatReinRtx", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 11),
-			12: Uint32Field("TargetNetDataRateTargetNdr", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 12),
-			13: Uint32Field("TargetExpectedThroughputForRetransmissionTargetEtr", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 13),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint32Field("MinimumExpectedThroughputForRetransmissionMinetrRtx", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  Uint32Field("MaximumExpectedThroughputForRetransmissionMaxetrRtx", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint32Field("MaximumNetDataRateForRetransmissionMaxndrRtx", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField("MaximumDelayForRetransmissionDelaymaxRtx", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField("MinimumDelayForRetransmissionDelayminRtx", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField("MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField("MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("ShineratioRtx", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField("MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField("MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField("ReinInterArrivalTimeForRetransmissionIatReinRtx", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint32Field("TargetNetDataRateTargetNdr", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			13: Uint32Field("TargetExpectedThroughputForRetransmissionTargetEtr", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewXdslChannelConfigurationProfilePart2 (class ID 412 creates the basic
+// NewXdslChannelConfigurationProfilePart2 (class ID 412) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslChannelConfigurationProfilePart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslchannelconfigurationprofilepart2BME, params...)
+	return NewManagedEntity(*xdslchannelconfigurationprofilepart2BME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/xdslchanneldownstreamstatusdata.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslchanneldownstreamstatusdata.go
similarity index 68%
rename from vendor/github.com/cboling/omci/generated/xdslchanneldownstreamstatusdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdslchanneldownstreamstatusdata.go
index 77c9ba2..0715a85 100644
--- a/vendor/github.com/cboling/omci/generated/xdslchanneldownstreamstatusdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslchanneldownstreamstatusdata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslChannelDownstreamStatusDataClassId ClassID = ClassID(102)
+// XdslChannelDownstreamStatusDataClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL channel downstream status data
+const XdslChannelDownstreamStatusDataClassID ClassID = ClassID(102)
 
 var xdslchanneldownstreamstatusdataBME *ManagedEntityDefinition
 
@@ -29,7 +35,7 @@
 //	This ME contains downstream channel status data for an xDSL UNI. The ONU automatically creates
 //	or deletes instances of this ME upon the creation or deletion of a PPTP xDSL UNI part 1.
 //
-//	NOTE – [ITU-T G.997.1] specifies that bit rate attributes have a granularity of 1000 bit/s. If
+//	NOTE - [ITU-T G.997.1] specifies that bit rate attributes have a granularity of 1000-bit/s. If
 //	ITU-T G.997.1 compliance is required, the ONU should only report values with this granularity.
 //
 //	Relationships
@@ -38,9 +44,9 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The two MSBs of
-//			the first byte are the bearer channel ID. Excluding the first 2 bits of the first byte, the
+//			the first byte are the bearer channel ID. Excluding the first 2-bits of the first byte, the
 //			remaining part of the ME ID is identical to that of this ME's parent PPTP xDSL UNI part 1. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Actual Interleaving Delay
 //			Actual interleaving delay: This attribute is the actual one-way interleaving delay introduced by
@@ -49,21 +55,21 @@
 //			For ADSL, this attribute is derived from the S and D attributes as cap(S*D)/4 ms, where S is the
 //			number of symbols per codeword, D is the interleaving depth and cap() denotes rounding to the
 //			next higher integer. For [ITU-T G.993.2], this attribute is computed according to the formula in
-//			clause 9.7 of [ITUT G.993.2]. The actual interleaving delay is coded in milliseconds, rounded to
-//			the nearest millisecond. (R) (mandatory) (1 byte)
+//			clause 9.7 of [ITUT-G.993.2]. The actual interleaving delay is coded in milliseconds, rounded to
+//			the nearest millisecond. (R) (mandatory) (1-byte)
 //
 //		Actual Data Rate
 //			Actual data rate: This parameter reports the actual net data rate of the bearer channel,
 //			excluding the rate in the L1 and L2 states. In the L1 or L2 state, the parameter contains the
 //			net data rate in the previous L0 state. The data rate is coded in bits per second. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Previous Data Rate
 //			Previous data rate: This parameter reports the previous net data rate of the bearer channel just
 //			before the latest rate change event occurred, excluding transitions between the L0 state and the
 //			L1 or L2 states. A rate change can occur at a power management state transition, e.g., at full
 //			or short initialization, fast retrain or power down, or at a dynamic rate adaptation. The rate
-//			is coded in bits per second (R) (mandatory) (4 bytes)
+//			is coded in bits per second (R) (mandatory) (4-bytes)
 //
 //		Actual Impulse Noise Protection
 //			Actual impulse noise protection: The ACTINP attribute reports the actual INP on the bearer
@@ -71,50 +77,50 @@
 //			L0 state. The value of this attribute is a number of DMT symbols, with a granularity of 0.1
 //			symbols. Its range is from 0 (0.0 symbols) to 254 (25.4 symbols). The special value 255
 //			indicates an ACTINP higher than 25.4. (R) (optional for [ITU-T G.992.1], mandatory for other
-//			xDSL Recommendations that support this attribute) (1 byte)
+//			xDSL Recommendations that support this attribute) (1-byte)
 //
 //		Actual Size Of Reed_Solomon Codeword
 //			Actual size of Reed-Solomon codeword: The NFEC attribute reports the actual Reed-Solomon
 //			codeword size used in the latency path in which the bearer channel is transported. The value is
-//			coded in bytes, and ranges from 0..255. (R) (mandatory for ITUT G.993.2 VDSL2, optional for
-//			others) (1 byte)
+//			coded in bytes, and ranges from 0..255. (R) (mandatory for ITUT-G.993.2 VDSL2, optional for
+//			others) (1-byte)
 //
 //		Actual Number Of Reed_Solomon Redundancy Bytes
 //			Actual number of Reed-Solomon redundancy bytes: The RFEC attribute reports the actual number of
 //			Reed-Solomon redundancy bytes per codeword used in the latency path in which the bearer channel
 //			is transported. The value is coded in bytes, and ranges from 0..16. The value 0 indicates no
-//			Reed-Solomon coding. (R) (mandatory for ITUT G.993.2 VDSL2, optional for others) (1 byte)
+//			Reed-Solomon coding. (R) (mandatory for ITUT-G.993.2 VDSL2, optional for others) (1-byte)
 //
 //		Actual Number Of Bits Per Symbol
 //			Actual number of bits per symbol: The LSYMB attribute reports the actual number of bits per
 //			symbol assigned to the latency path in which the bearer channel is transported, excluding
 //			trellis overhead. The value is coded in bits, and ranges from 0..65535. (R) (mandatory for [TU-T
-//			G.993.2 VDSL2, optional for others) (2 bytes)
+//			G.993.2 VDSL2, optional for others) (2-bytes)
 //
 //		Actual Interleaving Depth
 //			Actual interleaving depth: The INTLVDEPTH attribute reports the actual depth of the interleaver
 //			used in the latency path in which the bearer channel is transported. The value ranges from
 //			1..4096 in steps of 1. The value 1 indicates no interleaving. (R) (mandatory for ITU-T G.993.2
-//			VDSL2, optional for others) (2 bytes)
+//			VDSL2, optional for others) (2-bytes)
 //
 //		Actual Interleaving Block Length
 //			Actual interleaving block length: The INTLVBLOCK attribute reports the actual block length of
 //			the interleaver used in the latency path in which the bearer channel is transported. The value
 //			ranges from 4..255 in steps of 1. (R) (mandatory for ITU-T G.993.2 VDSL2, undefined for others)
-//			(1 byte)
+//			(1-byte)
 //
 //		Actual Latency Path
 //			Actual latency path: The LPATH attribute reports the index of the actual latency path in which
-//			the bearer channel is transported. Valid values are 0..3. In [ITUT G.992.1], the fast path is
+//			the bearer channel is transported. Valid values are 0..3. In [ITUT-G.992.1], the fast path is
 //			mapped to latency index 0; the interleaved path to index 1. (R) (mandatory for ITU-T G.993.2
-//			VDSL2, optional for others) (1 byte)
+//			VDSL2, optional for others) (1-byte)
 //
 //		Actual Impulse Noise Protection Against R Epetitive E Lectrical I Mpulse N Oise Actinp_Rein
 //			Actual impulse noise protection against repetitive electrical impulse noise (ACTINP_REIN): If
 //			retransmission is used in a given transmit direction, this parameter reports the actual INP
 //			against REIN on the bearer channel. The INP of this attribute is equal to the integer value
 //			multiplied by 0.1 symbols. Valid values and usage are given in clause 7.5.2.9 of [ITU-T G.997.1]
-//			(R) (optional) (1 byte)
+//			(R) (optional) (1-byte)
 //
 type XdslChannelDownstreamStatusData struct {
 	ManagedEntityDefinition
@@ -128,27 +134,29 @@
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0XFFE0,
+		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("ActualInterleavingDelay", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint32Field("ActualDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3:  Uint32Field("PreviousDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  ByteField("ActualImpulseNoiseProtection", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  ByteField("ActualSizeOfReedSolomonCodeword", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  ByteField("ActualNumberOfReedSolomonRedundancyBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  Uint16Field("ActualNumberOfBitsPerSymbol", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint16Field("ActualInterleavingDepth", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  ByteField("ActualInterleavingBlockLength", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: ByteField("ActualLatencyPath", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: ByteField("ActualImpulseNoiseProtectionAgainstREpetitiveELectricalIMpulseNOiseActinpRein", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("ActualInterleavingDelay", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint32Field("ActualDataRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint32Field("PreviousDataRate", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField("ActualImpulseNoiseProtection", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField("ActualSizeOfReedSolomonCodeword", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField("ActualNumberOfReedSolomonRedundancyBytes", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field("ActualNumberOfBitsPerSymbol", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field("ActualInterleavingDepth", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField("ActualInterleavingBlockLength", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField("ActualLatencyPath", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: ByteField("ActualImpulseNoiseProtectionAgainstREpetitiveELectricalIMpulseNOiseActinpRein", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewXdslChannelDownstreamStatusData (class ID 102 creates the basic
+// NewXdslChannelDownstreamStatusData (class ID 102) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslChannelDownstreamStatusData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslchanneldownstreamstatusdataBME, params...)
+	return NewManagedEntity(*xdslchanneldownstreamstatusdataBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/xdslchannelupstreamstatusdata.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslchannelupstreamstatusdata.go
similarity index 69%
rename from vendor/github.com/cboling/omci/generated/xdslchannelupstreamstatusdata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdslchannelupstreamstatusdata.go
index 47923d2..1ff3877 100644
--- a/vendor/github.com/cboling/omci/generated/xdslchannelupstreamstatusdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslchannelupstreamstatusdata.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslChannelUpstreamStatusDataClassId ClassID = ClassID(103)
+// XdslChannelUpstreamStatusDataClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL channel upstream status data
+const XdslChannelUpstreamStatusDataClassID ClassID = ClassID(103)
 
 var xdslchannelupstreamstatusdataBME *ManagedEntityDefinition
 
@@ -35,31 +41,31 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The two MSBs of
-//			the first byte are the bearer channel ID. Excluding the first 2 bits of the first byte, the
+//			the first byte are the bearer channel ID. Excluding the first 2-bits of the first byte, the
 //			remaining part of the ME ID is identical to that of this ME's parent PPTP xDSL UNI part 1. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Actual Interleaving Delay
 //			Actual interleaving delay: This attribute is the actual one-way interleaving delay introduced by
 //			the PMS-TC between the alpha and beta reference points, excluding the L1 and L2 states. In the
 //			L1 and L2 states, this attribute contains the interleaving delay in the previous L0 state. For
-//			ADSL, this attribute is derived from the S and D attributes as cap(S*D)/4 ms, where S is the
+//			ADSL, this attribute is derived from the S and D attributes as cap(S*D)/4-ms, where S is the
 //			number of symbols per codeword, D is the interleaving depth and cap() denotes rounding to the
 //			next higher integer. For [ITU-T G.993.2], this attribute is computed according to the formula in
 //			clause 9.7 of [ITUT G.993.2]. The actual interleaving delay is coded in milliseconds, rounded to
-//			the nearest millisecond. (R) (mandatory) (1 byte)
+//			the nearest millisecond. (R) (mandatory) (1-byte)
 //
 //		Actual Data Rate
 //			Actual data rate: This parameter reports the actual net data rate of the bearer channel,
 //			excluding the L1 and L2 states. In the L1 or L2 state, the parameter contains the net data rate
-//			in the previous L0 state. The data rate is coded in bits per second. (R) (mandatory) (4 bytes)
+//			in the previous L0 state. The data rate is coded in bits per second. (R) (mandatory) (4-bytes)
 //
 //		Previous Data Rate
 //			Previous data rate: This parameter reports the previous net data rate of the bearer channel just
 //			before the latest rate change event occurred, excluding transitions between the L0 state and the
 //			L1 or L2 state. A rate change can occur at a power management state transition, e.g., at full or
 //			short initialization, fast retrain or power down, or at a dynamic rate adaptation. The rate is
-//			coded in bits per second. (R) (mandatory) (4 bytes)
+//			coded in bits per second. (R) (mandatory) (4-bytes)
 //
 //		Actual Impulse Noise Protection
 //			Actual impulse noise protection: The ACTINP attribute reports the actual INP on the bearer
@@ -67,49 +73,49 @@
 //			L0 state. The value is coded in fractions of DMT symbols with a granularity of 0.1 symbols. The
 //			range is from 0 (0.0 symbols) to 254 (25.4 symbols). The special value 255 indicates an ACTINP
 //			higher than 25.4. (R) (mandatory for ITU-T G.993.2 VDSL2, optional for other xDSL
-//			Recommendations that support it) (1 byte)
+//			Recommendations that support it) (1-byte)
 //
 //		Impulse Noise Protection Reporting Mode
 //			Impulse noise protection reporting mode: The INPREPORT attribute reports the method used to
 //			compute the ACTINP. If set to 0, the ACTINP is computed according to the INP_no_erasure formula
 //			(clause 9.6 of [ITUT G.993.2]). If set to 1, ACTINP is the value estimated by the xTU receiver.
-//			(R) (mandatory for ITU-T G.993.2 VDSL2) (1 byte)
+//			(R) (mandatory for  ITU-T G.993.2 VDSL2) (1-byte)
 //
 //		Actual Size Of Reed_Solomon Codeword
 //			Actual size of Reed-Solomon codeword: The NFEC attribute reports the actual Reed-Solomon
 //			codeword size used in the latency path in which the bearer channel is transported. Its value is
 //			coded in bytes in the range 0..255. (R) (mandatory for ITU-T G.993.2 VDSL2, optional for others)
-//			(1 byte)
+//			(1-byte)
 //
 //		Actual Number Of Reed_Solomon Redundancy Bytes
 //			Actual number of Reed-Solomon redundancy bytes: The RFEC attribute reports the actual number of
 //			Reed-Solomon redundancy bytes per codeword used in the latency path in which the bearer channel
 //			is transported. Its value is coded in bytes in the range 0..16. The value 0 indicates no Reed-
-//			Solomon coding. (R) (mandatory for ITUT G.993.2 VDSL2, optional for others) (1 byte)
+//			Solomon coding. (R) (mandatory for ITUT-G.993.2 VDSL2, optional for others) (1-byte)
 //
 //		Actual Number Of Bits Per Symbol
 //			Actual number of bits per symbol: The LSYMB attribute reports the actual number of bits per
 //			symbol assigned to the latency path in which the bearer channel is transported, excluding
 //			trellis overhead. Its value is coded in bits in the range 0..65535. (R) (mandatory for
-//			ITUT G.993.2 VDSL2, optional for others) (2 bytes)
+//			ITUT-G.993.2 VDSL2, optional for others) (2-bytes)
 //
 //		Actual Interleaving Depth
 //			Actual interleaving depth: The INTLVDEPTH attribute reports the actual depth of the interleaver
 //			used in the latency path in which the bearer channel is transported. Its value ranges from
 //			1..4096 in steps of 1. The value 1 indicates no interleaving. (R) (mandatory for ITU-T G.993.2
-//			VDSL2, optional for others) (2 bytes)
+//			VDSL2, optional for others) (2-bytes)
 //
 //		Actual Interleaving Block Length
 //			Actual interleaving block length: The INTLVBLOCK attribute reports the actual block length of
 //			the interleaver used in the latency part in which the bearer channel is transported. Its value
 //			ranges from 4..255 in steps of 1. (R) (mandatory forITU-T G.993.2 VDSL2, optional for others)
-//			(1 byte)
+//			(1-byte)
 //
 //		Actual Latency Path
 //			Actual latency path: The LPATH attribute reports the index of the actual latency path in which
-//			the bearer channel is transported. Valid values are 0..3. In [ITUT G.992.1], the fast path is
+//			the bearer channel is transported. Valid values are 0..3. In [ITUT-G.992.1], the fast path is
 //			mapped to latency index 0; the interleaved path to index 1. (R) (mandatory for ITU-T G.993.2
-//			VDSL2, optional for others) (1 byte)
+//			VDSL2, optional for others) (1-byte)
 //
 type XdslChannelUpstreamStatusData struct {
 	ManagedEntityDefinition
@@ -123,27 +129,29 @@
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0XFFE0,
+		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  ByteField("ActualInterleavingDelay", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint32Field("ActualDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3:  Uint32Field("PreviousDataRate", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  ByteField("ActualImpulseNoiseProtection", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  ByteField("ImpulseNoiseProtectionReportingMode", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  ByteField("ActualSizeOfReedSolomonCodeword", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  ByteField("ActualNumberOfReedSolomonRedundancyBytes", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  Uint16Field("ActualNumberOfBitsPerSymbol", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  Uint16Field("ActualInterleavingDepth", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: ByteField("ActualInterleavingBlockLength", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: ByteField("ActualLatencyPath", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField("ActualInterleavingDelay", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint32Field("ActualDataRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint32Field("PreviousDataRate", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField("ActualImpulseNoiseProtection", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField("ImpulseNoiseProtectionReportingMode", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField("ActualSizeOfReedSolomonCodeword", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField("ActualNumberOfReedSolomonRedundancyBytes", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field("ActualNumberOfBitsPerSymbol", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field("ActualInterleavingDepth", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField("ActualInterleavingBlockLength", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: ByteField("ActualLatencyPath", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewXdslChannelUpstreamStatusData (class ID 103 creates the basic
+// NewXdslChannelUpstreamStatusData (class ID 103) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslChannelUpstreamStatusData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslchannelupstreamstatusdataBME, params...)
+	return NewManagedEntity(*xdslchannelupstreamstatusdataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdsldownstreamrfibandsprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/xdsldownstreamrfibandsprofile.go
new file mode 100644
index 0000000..e5a1916
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdsldownstreamrfibandsprofile.go
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslDownstreamRfiBandsProfileClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL downstream RFI bands profile
+const XdslDownstreamRfiBandsProfileClassID ClassID = ClassID(111)
+
+var xdsldownstreamrfibandsprofileBME *ManagedEntityDefinition
+
+// XdslDownstreamRfiBandsProfile (class ID #111)
+//	This ME contains the downstream RFI bands profile for an xDSL UNI. Instances of this ME are
+//	created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME may be associated with zero or more instances of the PPTP xDSL UNI part
+//		1.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
+//			reserved. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Downstream Rfi Bands Table
+//			(R,-W) (mandatory for [ITU-T G.992.5], [ITU-T G.993.2]) (5 * N bytes where N is the number of
+//			RFI bands)
+//
+//		Bands Valid
+//			(R,-W) (mandatory) (1-byte)
+//
+type XdslDownstreamRfiBandsProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdsldownstreamrfibandsprofileBME = &ManagedEntityDefinition{
+		Name:    "XdslDownstreamRfiBandsProfile",
+		ClassID: 111,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetNext,
+			Set,
+		),
+		AllowedAttributeMask: 0xc000,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField("DownstreamRfiBandsTable", TableAttributeType, 0x8000, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField("BandsValid", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewXdslDownstreamRfiBandsProfile (class ID 111) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslDownstreamRfiBandsProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdsldownstreamrfibandsprofileBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..6f725aa
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslImpulseNoiseMonitorPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL impulse noise monitor performance monitoring history data
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryDataClassID ClassID = ClassID(324)
+
+var xdslimpulsenoisemonitorperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData (class ID #324)
+//	This ME collects PM data from the impulse noise monitor function at both near and far ends.
+//	Instances of this ME are created and deleted by the OLT. Note that, unlike most xDSL PM, [ITU-T
+//	G.997.1] only requires current and previous 15-min interval storage; a longer view of this PM is
+//	not expected at 15-min granularity.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME may be associated with an xDSL UNI. This ME is meaningful only for ITUT
+//		G.993.2 VDSL2, [ITUT G.992.3] and [ITUT-G.992.5].
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The ME ID is
+//			identical to that of this ME's parent PPTP xDSL UNI part 1. (R, setbycreate) (mandatory)
+//			(2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: No thresholds are defined for this ME. For uniformity with other PM, the
+//			attribute is retained and shown as mandatory, but it should be set to a null pointer. (R,-W,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Inm Inpeq Histogram Table
+//			INM INPEQ histogram table: INMINPEQ1..17-L is a count of the near-end INMAINPEQi anomalies
+//			occurring on the line during the accumulation period. This parameter is subject to inhibiting -
+//			see clause 7.2.7.13 of [ITUT-G.997.1]. (R) (optional) (2-bytes * 17 entries-= 34-bytes)
+//
+//		Inm Total Measurement
+//			INM total measurement: INMME-L is a count of the near-end INMAME anomalies occurring on the line
+//			during the accumulation period. This parameter is subject to inhibiting - see clause 7.2.7.13 of
+//			[ITUT G.997.1]. (R) (optional) (2-bytes)
+//
+//		Inm Iat Histogram
+//			INM IAT histogram: INMIAT0..7-L is a count of the near-end INMAIATi anomalies occurring on the
+//			line during the accumulation period. This parameter is subject to inhibiting - see clause
+//			7.2.7.13 of [ITUT G.997.1]. (R) (optional) (2-bytes-* 8 entries-= 16-bytes)
+//
+//		Inm Inpeq Histogram Lfe Table
+//			INM INPEQ histogram LFE table: INMINPEQ1..17-LFE is a count of the far-end INMAINPEQi anomalies
+//			occurring on the line during the accumulation period. This parameter is subject to inhibiting -
+//			see clause 7.2.7.13 of [ITUT-G.997.1]. (R) (optional) (2-bytes * 17 entries-= 34-bytes)
+//
+//		Inm Total Measurement Lfe
+//			INM total measurement LFE: INMME-LFE is a count of the far-end INMAME anomalies occurring on the
+//			line during the accumulation period. This parameter is subject to inhibiting - see clause
+//			7.2.7.13 of [ITUT G.997.1]. (R) (optional) (2-bytes)
+//
+//		Inm Iat Histogram Lfe
+//			INM IAT histogram LFE: INMIAT0..7-LFE is a count of the far-end INMAIATi anomalies occurring on
+//			the line during the accumulation period. This parameter is subject to inhibiting - see clause
+//			7.2.7.13 of [ITUT G.997.1]. (R) (optional) (2-bytes-* 8 entries-= 16-bytes)
+//
+type XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdslimpulsenoisemonitorperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData",
+		ClassID: 324,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetNext,
+			Set,
+		),
+		AllowedAttributeMask: 0xff00,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: TableField("InmInpeqHistogramTable", TableAttributeType, 0x2000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint16Field("InmTotalMeasurement", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint16Field("InmIatHistogram", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: TableField("InmInpeqHistogramLfeTable", TableAttributeType, 0x0400, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint16Field("InmTotalMeasurementLfe", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint16Field("InmIatHistogramLfe", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewXdslImpulseNoiseMonitorPerformanceMonitoringHistoryData (class ID 324) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslImpulseNoiseMonitorPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdslimpulsenoisemonitorperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/xdsllineconfigurationprofilepart2.go b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineconfigurationprofilepart2.go
similarity index 62%
rename from vendor/github.com/cboling/omci/generated/xdsllineconfigurationprofilepart2.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdsllineconfigurationprofilepart2.go
index be4d045..f2a62a7 100644
--- a/vendor/github.com/cboling/omci/generated/xdsllineconfigurationprofilepart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineconfigurationprofilepart2.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslLineConfigurationProfilePart2ClassId ClassID = ClassID(105)
+// XdslLineConfigurationProfilePart2ClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL line configuration profile part 2
+const XdslLineConfigurationProfilePart2ClassID ClassID = ClassID(105)
 
 var xdsllineconfigurationprofilepart2BME *ManagedEntityDefinition
 
@@ -37,98 +43,98 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. All xDSL and
 //			VDSL2 line configuration profiles and extensions that pertain to a given PPTP xDSL UNI must
-//			share a common ME ID. (R, setbycreate) (mandatory) (2 bytes)
+//			share a common ME ID. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Downstream Minimum Time Interval For Upshift Rate Adaptation
 //			Downstream minimum time interval for upshift rate adaptation: This parameter defines the
 //			interval during which the downstream noise margin must remain above the downstream upshift noise
 //			margin before the xTU-R attempts to increase the downstream net data rate. Its value ranges from
-//			0 to 16383 s. (R, W, setbycreate) (optional) (2 bytes)
+//			0 to 16383-s. (R,-W, setbycreate) (optional) (2-bytes)
 //
 //		Upstream Minimum Time Interval For Upshift Rate Adaptation
 //			Upstream minimum time interval for upshift rate adaptation: This parameter defines the interval
 //			during which the upstream noise margin must remain above the upstream upshift noise margin
 //			before the xTU-C attempts to increase the upstream net data rate. Its value ranges from 0 to
-//			16383 s. (R, W, setbycreate) (optional) (2 bytes)
+//			16383-s. (R,-W, setbycreate) (optional) (2-bytes)
 //
 //		Downstream Downshift Noise Margin
 //			Downstream downshift noise margin: If the downstream noise margin is below the downstream
 //			downshift noise margin and remains there for more than the downstream minimum time interval for
 //			downshift rate adaptation, the xTU-R attempts to decrease the downstream net data rate. This
-//			attribute's value ranges from 0 (0.0 dB) to 310 (31.0 dB). (R, W, setbycreate) (optional)
-//			(2 bytes)
+//			attribute's value ranges from 0 (0.0 dB) to 310 (31.0 dB). (R,-W, setbycreate) (optional)
+//			(2-bytes)
 //
 //		Upstream Downshift Noise Margin
 //			Upstream downshift noise margin: If the upstream noise margin is below the upstream downshift
 //			noise margin and remains there for more than the upstream minimum time interval for downshift
 //			rate adaptation, the xTUC attempts to decrease the upstream net data rate. This attribute's
-//			value ranges from 0 (0.0 dB) to 310 (31.0 dB). (R, W, setbycreate) (optional) (2 bytes)
+//			value ranges from 0 (0.0 dB) to 310 (31.0 dB). (R,-W, setbycreate) (optional) (2-bytes)
 //
 //		Downstream Minimum Time Interval For Downshift Rate Adaptation
 //			Downstream minimum time interval for downshift rate adaptation: This parameter defines the
 //			interval during which the downstream noise margin must remain below the downstream downshift
 //			noise margin before the xTU-R attempts to decrease the downstream net data rate. Its value
-//			ranges from 0 to 16383 s. (R, W, setbycreate) (optional) (2 bytes)
+//			ranges from 0 to 16383-s. (R,-W, setbycreate) (optional) (2-bytes)
 //
 //		Upstream Minimum Time Interval For Downshift Rate Adaptation
 //			Upstream minimum time interval for downshift rate adaptation: This parameter defines the
 //			interval during which the upstream noise margin must remain below the upstream downshift noise
 //			margin before the xTU-C attempts to decrease the upstream net data rate. Its value ranges from 0
-//			to 16383 s. (R, W, setbycreate) (optional) (2 bytes)
+//			to 16383-s. (R,-W, setbycreate) (optional) (2-bytes)
 //
 //		Xtu Impedance State Forced
-//			(R, W, setbycreate) (optional) (1 byte)
+//			(R,-W, setbycreate) (optional) (1-byte)
 //
 //		L0_Time
 //			L0-time:	This parameter specifies the minimum time between an exit from the L2 state and the
-//			next entry into the L2 state. It is only valid for [ITUT G.992.3], [ITUT G.992.4] and
-//			[ITUT G.992.5]. It ranges from 0 to 255 s. (R, W, setbycreate) (mandatory) (1 byte)
+//			next entry into the L2 state. It is only valid for [ITUT-G.992.3], [ITUT-G.992.4] and
+//			[ITUT-G.992.5]. It ranges from 0 to 255-s. (R,-W, setbycreate) (mandatory) (1 byte)
 //
 //		L2_Time
 //			L2-time:	This parameter specifies the minimum time between an entry into the L2 state and the
 //			first power trim in the L2 state, or between two consecutive power trims in the L2 state. It is
-//			only valid for [ITUT G.992.3], [ITUT G.992.4] and [ITUT G.992.5]. It ranges from 0 to 255 s. (R,
+//			only valid for [ITUT-G.992.3], [ITUT-G.992.4] and [ITUT-G.992.5]. It ranges from 0 to 255-s. (R,
 //			W, setbycreate) (mandatory) (1 byte)
 //
 //		Downstream Maximum Nominal Power Spectral Density
 //			Downstream maximum nominal power spectral density: This attribute specifies the maximum nominal
 //			transmit PSD in the downstream direction during initialization and showtime. A single
 //			MAXNOMPSDds attribute is defined per mode enabled in the xTSE line configuration attribute. It
-//			is only valid for [ITUT G.992.3], [ITUT G.992.4] and [ITUT G.992.5]. Its value ranges from 0
-//			(60.0 dBm/Hz) to 300 (–30 dBm/Hz). (R, W, setbycreate) (mandatory) (2 bytes)
+//			is only valid for [ITUT-G.992.3], [ITUT-G.992.4] and [ITUT-G.992.5]. Its value ranges from 0
+//			(60.0-dBm/Hz) to 300 (-30-dBm/Hz). (R, W, setbycreate) (mandatory) (2 bytes)
 //
 //		Upstream Maximum Nominal Power Spectral Density
 //			Upstream maximum nominal power spectral density: This attribute specifies the maximum nominal
 //			transmit PSD in the upstream direction during initialization and showtime. A single MAXNOMPSDus
 //			attribute is defined per mode enabled in the xTSE line configuration attribute. It is only valid
-//			for [ITUT G.992.3], [ITUT G.992.4] and [ITUT G.993.2]. Its value ranges from 0 (–60.0 dBm/Hz) to
-//			300 (–30 dBm/Hz). (R, W, setbycreate) (mandatory) (2 bytes)
+//			for [ITUT-G.992.3], [ITUT-G.992.4] and [ITUT-G.993.2]. Its value ranges from 0 (-60.0-dBm/Hz) to
+//			300 (-30-dBm/Hz). (R, W, setbycreate) (mandatory) (2 bytes)
 //
 //		Downstream Maximum Nominal Aggregate Transmit Power
 //			Downstream maximum nominal aggregate transmit power: This attribute specifies the maximum
 //			nominal aggregate transmit power in the downstream direction during initialization and showtime.
-//			It is only valid for [ITUT G.992.3], [ITUT G.992.4], [ITUT G.992.5] and [ITUT G.993.2]. Its
-//			value ranges from 0 (0.0 dBm) to 255 (25.5 dBm). (R, W, setbycreate) (mandatory) (1 byte)
+//			It is only valid for [ITUT-G.992.3], [ITUT-G.992.4], [ITUT-G.992.5] and [ITUT-G.993.2]. Its
+//			value ranges from 0 (0.0-dBm) to 255 (25.5-dBm). (R, W, setbycreate) (mandatory) (1-byte)
 //
 //		Upstream Maximum Nominal Aggregate Transmit Power
 //			Upstream maximum nominal aggregate transmit power: This parameter specifies the maximum nominal
 //			aggregate transmit power in the upstream direction during initialization and showtime. It is
-//			only valid for [ITUT G.992.3], [ITUT G.992.4] and [ITUT G.992.5]. Its value ranges from 0
-//			(0.0 dBm) to 255 (25.5 dBm). (R, W, setbycreate) (mandatory) (1 byte)
+//			only valid for [ITUT-G.992.3], [ITUT-G.992.4] and [ITUT-G.992.5]. Its value ranges from 0
+//			(0.0-dBm) to 255 (25.5-dBm). (R, W, setbycreate) (mandatory) (1 byte)
 //
 //		Upstream Maximum Aggregate_Receive Power
-//			Upstream maximum aggregate receive power: This parameter specifies the maximum upstream
+//			Upstream maximum aggregate-receive power: This parameter specifies the maximum upstream
 //			aggregate receive power over a set of subcarriers, as defined in the relevant Recommendation.
 //			The xTU-C requests an upstream power cutback such that the upstream aggregate receive power over
 //			that set of subcarriers is at or below the configured maximum value. It is only valid for
-//			[ITUT G.992.3], [ITUT G.992.4] and [ITUT G.992.5]. This attribute ranges from 0 (25.5 dBm) to
-//			510 (+25.5 dBm). The special value 0xFFFF indicates that no upstream maximum aggregate receive
+//			[ITUT-G.992.3], [ITUT-G.992.4] and [ITUT-G.992.5]. This attribute ranges from 0 (25.5-dBm) to
+//			510 (+25.5-dBm). The special value 0xFFFF indicates that no upstream maximum aggregate receive
 //			power limit is to be applied. (R, W setbycreate) (mandatory) (2 bytes)
 //
 //		Vdsl2 Transmission System Enabling
 //			VDSL2 transmission system enabling: This configuration attribute extends the transmission system
 //			coding types to be allowed by the xTU-C. It is a bit map, defined as octet 8 (bits 57..64) in
-//			Table 9.7.12-1. (R, W, setbycreate) (optional) (1 byte)
+//			Table-9.7.12-1. (R, W, setbycreate) (optional) (1 byte)
 //
 type XdslLineConfigurationProfilePart2 struct {
 	ManagedEntityDefinition
@@ -145,31 +151,33 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFE,
+		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  Uint16Field("DownstreamMinimumTimeIntervalForUpshiftRateAdaptation", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 1),
-			2:  Uint16Field("UpstreamMinimumTimeIntervalForUpshiftRateAdaptation", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 2),
-			3:  Uint16Field("DownstreamDownshiftNoiseMargin", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 3),
-			4:  Uint16Field("UpstreamDownshiftNoiseMargin", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 4),
-			5:  Uint16Field("DownstreamMinimumTimeIntervalForDownshiftRateAdaptation", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 5),
-			6:  Uint16Field("UpstreamMinimumTimeIntervalForDownshiftRateAdaptation", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 6),
-			7:  ByteField("XtuImpedanceStateForced", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 7),
-			8:  ByteField("L0Time", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
-			9:  ByteField("L2Time", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 9),
-			10: Uint16Field("DownstreamMaximumNominalPowerSpectralDensity", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
-			11: Uint16Field("UpstreamMaximumNominalPowerSpectralDensity", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 11),
-			12: ByteField("DownstreamMaximumNominalAggregateTransmitPower", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 12),
-			13: ByteField("UpstreamMaximumNominalAggregateTransmitPower", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 13),
-			14: Uint16Field("UpstreamMaximumAggregateReceivePower", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: ByteField("Vdsl2TransmissionSystemEnabling", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 15),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("DownstreamMinimumTimeIntervalForUpshiftRateAdaptation", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2:  Uint16Field("UpstreamMinimumTimeIntervalForUpshiftRateAdaptation", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  Uint16Field("DownstreamDownshiftNoiseMargin", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  Uint16Field("UpstreamDownshiftNoiseMargin", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  Uint16Field("DownstreamMinimumTimeIntervalForDownshiftRateAdaptation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field("UpstreamMinimumTimeIntervalForDownshiftRateAdaptation", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  ByteField("XtuImpedanceStateForced", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  ByteField("L0Time", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField("L2Time", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: Uint16Field("DownstreamMaximumNominalPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint16Field("UpstreamMaximumNominalPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: ByteField("DownstreamMaximumNominalAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField("UpstreamMaximumNominalAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
+			14: Uint16Field("UpstreamMaximumAggregateReceivePower", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: ByteField("Vdsl2TransmissionSystemEnabling", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewXdslLineConfigurationProfilePart2 (class ID 105 creates the basic
+// NewXdslLineConfigurationProfilePart2 (class ID 105) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslLineConfigurationProfilePart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdsllineconfigurationprofilepart2BME, params...)
+	return NewManagedEntity(*xdsllineconfigurationprofilepart2BME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/xdsllineconfigurationprofilepart3.go b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineconfigurationprofilepart3.go
similarity index 66%
rename from vendor/github.com/cboling/omci/generated/xdsllineconfigurationprofilepart3.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdsllineconfigurationprofilepart3.go
index 9623bed..66fb1d3 100644
--- a/vendor/github.com/cboling/omci/generated/xdsllineconfigurationprofilepart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineconfigurationprofilepart3.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslLineConfigurationProfilePart3ClassId ClassID = ClassID(106)
+// XdslLineConfigurationProfilePart3ClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL line configuration profile part 3
+const XdslLineConfigurationProfilePart3ClassID ClassID = ClassID(106)
 
 var xdsllineconfigurationprofilepart3BME *ManagedEntityDefinition
 
@@ -37,7 +43,7 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. All xDSL and
 //			VDSL2 line configuration profiles and extensions that pertain to a given PPTP xDSL UNI must
-//			share a common ME ID. (R, setbycreate) (mandatory) (2 bytes)
+//			share a common ME ID. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Loop Diagnostics Mode Forced Ldsf
 //			Only while the line power management state is L3 can the line be forced into loop diagnostic
@@ -47,20 +53,20 @@
 //			successfully, attempts are made to do so, until the loop diagnostic mode is no longer forced on
 //			the line through this configuration parameter. If loop diagnostic procedures cannot be completed
 //			successfully after a vendordiscretionary number of retries or within a vendor-discretionary
-//			timeout, then an initialization failure occurs. (R, W, setbycreate) (mandatory) (1 byte)
+//			timeout, then an initialization failure occurs. (R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Automode Cold Start Forced
 //			Automode is defined as the case where multiple operation modes are enabled in xTSE (Table
 //			9.7.12-1) and where the selection of the operation mode to be used for transmission depends, not
 //			only on the common capabilities of both xTUs (as exchanged in [ITU-T G.994.1]), but also on
-//			achievable data rates under given loop conditions. (R, W, setbycreate) (mandatory if automode is
-//			supported) (1 byte)
+//			achievable data rates under given loop conditions. (R,-W, setbycreate) (mandatory if automode is
+//			supported) (1-byte)
 //
 //		L2 Atpr
 //			L2ATPR:	This parameter specifies the maximum aggregate transmit power reduction that can be
 //			performed in the L2 request (i.e., at the transition of L0 to L2 state) or through a single
-//			power trim in the L2 state. It is only valid for [ITUT G.992.3], [ITUT G.992.4] and
-//			[ITUT G.992.5]. This attribute ranges from 0 (0 dB) dB to 31 (31 dB). (R, W, setbycreate)
+//			power trim in the L2 state. It is only valid for [ITUT-G.992.3], [ITUT-G.992.4] and
+//			[ITUT-G.992.5]. This attribute ranges from 0 (0-dB) dB to 31 (31-dB). (R, W, setbycreate)
 //			(mandatory) (1 byte)
 //
 //		L2 Atprt
@@ -87,64 +93,64 @@
 //			Update request flag for near-end test parameters: The UPDATE-TEST-NE attribute forces an update
 //			of all near-end test parameters that can be updated during showtime in [ITU-T G.993.2]. Update
 //			is triggered by setting this attribute to 1, whereupon the near-end test parameters are expected
-//			to be updated within 10 s, and the ONU should reset the attribute value to 0. The update request
+//			to be updated within 10-s, and the ONU should reset the attribute value to 0. The update request
 //			flag is independent of any autonomous update process in the system. The update request attribute
-//			must be prepared to accept another set after a period not to exceed 3 min, a period that starts
-//			when the flag is set via the OMCI or by an autonomous process in the system. (R, W) (optional)
-//			(1 byte)
+//			must be prepared to accept another set after a period not to exceed 3-min, a period that starts
+//			when the flag is set via the OMCI or by an autonomous process in the system. (R,-W) (optional)
+//			(1-byte)
 //
 //		Update Request Flag For Far_End Test Parameters
 //			Update request flag for far-end test parameters: The UPDATE-TEST-FE attribute forces an update
 //			of all far-end test parameters that can be updated during showtime in [ITU-T G.993.2]. Update is
 //			triggered by setting this attribute to 1, whereupon the far-end test parameters are expected to
-//			be updated within 10 s, and the ONU should reset the attribute value to 0. The update request
+//			be updated within 10-s, and the ONU should reset the attribute value to 0. The update request
 //			flag is independent of any autonomous update process in the system. The update request attribute
-//			must be prepared to accept another set after a period not to exceed 3 min, a period that starts
-//			when the flag is set via the OMCI or by an autonomous process in the system. (R, W) (optional)
-//			(1 byte)
+//			must be prepared to accept another set after a period not to exceed 3-min, a period that starts
+//			when the flag is set via the OMCI or by an autonomous process in the system. (R,-W) (optional)
+//			(1-byte)
 //
 //		Inm Inter Arrival Time Offset Upstream
 //			INM inter-arrival time offset upstream: INMIATOus is the inter-arrival time (IAT) offset that
 //			the xTU-C receiver uses to determine in which bin of the IAT histogram the IAT is reported.
 //			Valid values for INMIATO range from 3 to 511 discrete multi-tone (DMT) symbols in steps of 1 DMT
-//			symbol. (R, W) (optional) (2 bytes)
+//			symbol. (R,-W) (optional) (2-bytes)
 //
 //		Inm Inter_Arrival Time Step Upstream
 //			INM inter-arrival time step upstream: INMIATSus is the IAT step that the xTU-C receiver uses to
 //			determine in which bin of the IAT histogram the IAT is reported. Valid values for INMIATS range
-//			from 0 to 7 in steps of 1. (R, W) (optional) (1 byte)
+//			from 0 to 7 in steps of 1. (R,-W) (optional) (1-byte)
 //
 //		Inm Cluster Continuation Value Upstream
 //			INM cluster continuation value upstream: INMCCus is the cluster continuation value that the
 //			xTU-C receiver uses in the cluster indication process described in the applicable
 //			Recommendation. Valid values for INMCC range from 0 to 64 DMT symbols in steps of 1 DMT symbol.
-//			(R, W) (optional) (1 byte)
+//			(R,-W) (optional) (1-byte)
 //
 //		Inm Equivalent Inp Mode Upstream
 //			INM equivalent INP mode upstream: INM_INPEQ_MODEus is the INM equivalent INP mode that the xTU-C
 //			receiver uses in the computation of the equivalent INP, as defined in the applicable
-//			Recommendation. Valid values for INM_INPEQ_MODE are 0..4. (R, W) (optional) (1 byte)
+//			Recommendation. Valid values for INM_INPEQ_MODE are 0..4. (R,-W) (optional) (1-byte)
 //
 //		Inm Inter Arrival Time Offset Downstream
 //			INM inter-arrival time offset downstream: INMIATOds is the IAT offset that the xTU-R receiver
 //			uses to determine in which bin of the IAT histogram the IAT is reported. Valid values for
-//			INMIATO range from 3 to 511 DMT symbols in steps of 1 DMT symbol. (R, W) (optional) (2 bytes)
+//			INMIATO range from 3 to 511 DMT symbols in steps of 1 DMT symbol. (R,-W) (optional) (2-bytes)
 //
 //		Inm Inter_Arrival Time Step Downstream
 //			INM inter-arrival time step downstream: INMIATSds is the IAT step that the xTU-R receiver uses
 //			to determine in which bin of the IAT histogram the IAT is reported. Valid values for INMIATS
-//			range from 0 to 7 in steps of 1. (R, W) (optional) (1 byte)
+//			range from 0 to 7 in steps of 1. (R,-W) (optional) (1-byte)
 //
 //		Inm Cluster Continuation Value Downstream
 //			INM cluster continuation value downstream: INMCCds is the cluster continuation value that the
 //			xTU-R receiver uses in the cluster indication process described in the applicable
 //			Recommendation. Valid values for INMCC range from 0 to 64 DMT symbols in steps of 1 DMT symbol.
-//			(R, W) (optional) (1 byte)
+//			(R,-W) (optional) (1-byte)
 //
 //		Inm Equivalent Inp Mode Downstream
 //			INM equivalent INP mode downstream: INM_INPEQ_MODEds is the INM equivalent INP mode that the
 //			xTU-R receiver uses in the computation of the equivalent INP, as defined in the applicable
-//			Recommendation. Valid values for INM_INPEQ_MODE are 0..4. (R, W) (optional) (1 byte)
+//			Recommendation. Valid values for INM_INPEQ_MODE are 0..4. (R,-W) (optional) (1-byte)
 //
 type XdslLineConfigurationProfilePart3 struct {
 	ManagedEntityDefinition
@@ -161,32 +167,34 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFFFF,
+		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1:  ByteField("LoopDiagnosticsModeForcedLdsf", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
-			2:  ByteField("AutomodeColdStartForced", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3:  ByteField("L2Atpr", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
-			4:  ByteField("L2Atprt", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
-			5:  ByteField("ForceInpDownstream", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
-			6:  ByteField("ForceInpUpstream", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
-			7:  ByteField("UpdateRequestFlagForNearEndTestParameters", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 7),
-			8:  ByteField("UpdateRequestFlagForFarEndTestParameters", 0, mapset.NewSetWith(Read, Write), true, false, true, false, 8),
-			9:  Uint16Field("InmInterArrivalTimeOffsetUpstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
-			10: ByteField("InmInterArrivalTimeStepUpstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 10),
-			11: ByteField("InmClusterContinuationValueUpstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
-			12: ByteField("InmEquivalentInpModeUpstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
-			13: Uint16Field("InmInterArrivalTimeOffsetDownstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 13),
-			14: ByteField("InmInterArrivalTimeStepDownstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 14),
-			15: ByteField("InmClusterContinuationValueDownstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 15),
-			16: ByteField("InmEquivalentInpModeDownstream", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 16),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("LoopDiagnosticsModeForcedLdsf", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField("AutomodeColdStartForced", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField("L2Atpr", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField("L2Atprt", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField("ForceInpDownstream", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField("ForceInpUpstream", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField("UpdateRequestFlagForNearEndTestParameters", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), true, true, false, 7),
+			8:  ByteField("UpdateRequestFlagForFarEndTestParameters", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
+			9:  Uint16Field("InmInterArrivalTimeOffsetUpstream", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField("InmInterArrivalTimeStepUpstream", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField("InmClusterContinuationValueUpstream", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField("InmEquivalentInpModeUpstream", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field("InmInterArrivalTimeOffsetDownstream", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField("InmInterArrivalTimeStepDownstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField("InmClusterContinuationValueDownstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField("InmEquivalentInpModeDownstream", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewXdslLineConfigurationProfilePart3 (class ID 106 creates the basic
+// NewXdslLineConfigurationProfilePart3 (class ID 106) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslLineConfigurationProfilePart3(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdsllineconfigurationprofilepart3BME, params...)
+	return NewManagedEntity(*xdsllineconfigurationprofilepart3BME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart1.go b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart1.go
similarity index 60%
rename from vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart1.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart1.go
index 46346fc..9e22a63 100644
--- a/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart1.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslLineInventoryAndStatusDataPart1ClassId ClassID = ClassID(100)
+// XdslLineInventoryAndStatusDataPart1ClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL line inventory and status data part 1
+const XdslLineInventoryAndStatusDataPart1ClassID ClassID = ClassID(100)
 
 var xdsllineinventoryandstatusdatapart1BME *ManagedEntityDefinition
 
@@ -37,33 +43,33 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Xtu_C G.994.1 Vendor Id
-//			xTU-C G.994.1 vendor ID: This is the vendor ID as inserted by the xTU-C in the ITUT G.994.1 CL
+//			xTU-C G.994.1 vendor ID: This is the vendor ID as inserted by the xTU-C in the ITUT-G.994.1 CL
 //			message. It comprises 8 octets, including a country code followed by a (regionally allocated)
-//			provider code, as defined in [ITUT T.35]. (R) (mandatory) (8 bytes)
+//			provider code, as defined in [ITUT-T.35]. (R) (mandatory) (8-bytes)
 //
 //		Xtu_R G.994.1 Vendor Id
-//			xTU-R G.994.1 vendor ID: This is the vendor ID as inserted by the xTU-R in the ITUT G.994.1 CLR
+//			xTU-R G.994.1 vendor ID: This is the vendor ID as inserted by the xTU-R in the ITUT-G.994.1 CLR
 //			message. It comprises 8 binary octets, with the same format as the xTUC ITUT G.994.1 vendor ID.
-//			(R) (mandatory) (8 bytes)
+//			(R) (mandatory) (8-bytes)
 //
 //		Xtu_C System Vendor Id
 //			xTU-C system vendor ID: This is the vendor ID as inserted by the xTU-C in the overhead messages
 //			of [ITU-T G.992.3] and [ITU-T G.992.4]. It comprises 8 binary octets, with the same format as
-//			the xTU-C ITUT G.994.1 vendor ID. (R) (mandatory) (8 bytes)
+//			the xTU-C ITUT-G.994.1 vendor ID. (R) (mandatory) (8-bytes)
 //
 //		Xtu_R System Vendor Id
 //			xTU-R system vendor ID: This is the vendor ID as inserted by the xTU-R in the embedded
-//			operations channel and overhead messages of [ITU-T G.992.3] and [ITUT G.992.4]. It comprises 8
-//			binary octets, with the same format as the xTU-C ITUT G.994.1 vendor ID. (R) (mandatory)
-//			(8 bytes)
+//			operations channel and overhead messages of [ITU-T G.992.3] and [ITUT-G.992.4]. It comprises 8
+//			binary octets, with the same format as the xTU-C ITUT-G.994.1 vendor ID. (R) (mandatory)
+//			(8-bytes)
 //
 //		Xtu_C Version Number
 //			xTU-C version number: This is the vendorspecific version number as inserted by the xTUC in the
 //			overhead messages of [ITU-T G.992.3] and [ITU-T G.992.4]. It comprises up to 16 binary octets.
-//			(R) (mandatory) (16 bytes)
+//			(R) (mandatory) (16-bytes)
 //
 //		Xtu_R Version Number
 //			xTU-R version number: This is the version number as inserted by the xTUR in the embedded
@@ -73,54 +79,54 @@
 //			is shorter than 16. The string should contain the xTU-R firmware version and the xTU-R model,
 //			encoded in that order and separated by a space character: "<xTU-R firmware version><xTU-R
 //			model>". It is recognized that legacy xTU-Rs may not support this format. (R) (mandatory)
-//			(16 bytes)
+//			(16-bytes)
 //
 //		Xtu_C Serial Number Part 1
 //			xTU-C serial number part 1: The vendorspecific serial number inserted by the xTU-C in the
 //			overhead messages of [ITU-T G.992.3] and [ITU-T G.992.4] comprises up to 32 ASCII characters,
 //			null terminated if it is shorter than 32 characters. This attribute contains the first 16
-//			characters. (R) (mandatory) (16 bytes)
+//			characters. (R) (mandatory) (16-bytes)
 //
 //		Xtu_C Serial Number Part 2
 //			xTU-C serial number part 2: This attribute contains the second 16 characters of the xTU-C serial
-//			number. (R) (mandatory) (16 bytes)
+//			number. (R) (mandatory) (16-bytes)
 //
 //		Xtu_R Serial Number Part 1
 //			xTU-R serial number part 1: The serial number inserted by the xTU-R in the embedded operations
 //			channel of [ITU-T G.992.1] or [ITU-T G.992.2], or the overhead messages of [ITU-T G.992.3],
-//			[ITU-T G.992.4], [ITU-T G.992.5] and [ITUT G.993.2], comprises up to 32 ASCII characters,
+//			[ITU-T G.992.4], [ITU-T G.992.5] and [ITUT-G.993.2], comprises up to 32 ASCII characters,
 //			nullterminated if it is shorter than 32. It is recommended that the equipment serial number, the
 //			equipment model and the equipment firmware version, encoded in that order and separated by space
 //			characters, be contained: "<equipment serial number><equipment model><equipment firmware
 //			version>". It is recognized that legacy xTU-Rs may not support this format. This attribute
-//			contains the first 16 characters. (R) (mandatory) (16 bytes)
+//			contains the first 16 characters. (R) (mandatory) (16-bytes)
 //
 //		Xtu_R Serial Number Part 2
 //			xTU-R serial number part 2: This attribute contains the second 16 characters of the xTU-R serial
-//			number. (R) (mandatory) (16 bytes)
+//			number. (R) (mandatory) (16-bytes)
 //
 //		Xtu_C Self Test Results
 //			xTU-C selftest results: This parameter reports the xTU-C self-test result. It is coded in two
 //			fields. The most significant octet is 0 if the self-test passed and 1 if it failed. The three
 //			least significant octets are a vendor-discretionary integer that can be interpreted in
-//			combination with [ITU-T G.994.1] and the system vendor ID. (R) (mandatory) (4 bytes)
+//			combination with [ITU-T G.994.1] and the system vendor ID. (R) (mandatory) (4-bytes)
 //
 //		Xtu_R Self Test Results
 //			xTU-R selftest results: This parameter defines the xTU-R self-test result. It is coded in two
 //			fields. The most significant octet is 0 if the self-test passed and 1 if it failed. The three
 //			least significant octets are a vendor-discretionary integer that can be interpreted in
-//			combination with [ITU-T G.994.1] and the system vendor ID. (R) (mandatory) (4 bytes)
+//			combination with [ITU-T G.994.1] and the system vendor ID. (R) (mandatory) (4-bytes)
 //
 //		Xtu_C Transmission System Capability
-//			NOTE 1 – This attribute is only 7 bytes long. An eighth byte identifying VDSL2 capabilities is
+//			NOTE 1 - This attribute is only 7-bytes long. An eighth byte identifying VDSL2 capabilities is
 //			defined in the VDSL2 line inventory and status data part 1 ME.
 //
 //		Xtu_R Transmission System Capability
-//			NOTE 2 – This attribute is only 7 bytes long. An eighth byte identifying VDSL2 capabilities is
+//			NOTE 2 - This attribute is only 7-bytes long. An eighth byte identifying VDSL2 capabilities is
 //			defined in the VDSL2 line inventory and status data part 2 ME.
 //
 //		Initialization Success_Failure Cause
-//			(R) (mandatory) (1 byte)
+//			(R) (mandatory) (1-byte)
 //
 type XdslLineInventoryAndStatusDataPart1 struct {
 	ManagedEntityDefinition
@@ -134,31 +140,33 @@
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0XFFFE,
+		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1:  Uint64Field("XtuCG9941VendorId", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2:  Uint64Field("XtuRG9941VendorId", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3:  Uint64Field("XtuCSystemVendorId", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4:  Uint64Field("XtuRSystemVendorId", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5:  MultiByteField("XtuCVersionNumber", 16, nil, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6:  MultiByteField("XtuRVersionNumber", 16, nil, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7:  MultiByteField("XtuCSerialNumberPart1", 16, nil, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8:  MultiByteField("XtuCSerialNumberPart2", 16, nil, mapset.NewSetWith(Read), false, false, false, false, 8),
-			9:  MultiByteField("XtuRSerialNumberPart1", 16, nil, mapset.NewSetWith(Read), false, false, false, false, 9),
-			10: MultiByteField("XtuRSerialNumberPart2", 16, nil, mapset.NewSetWith(Read), false, false, false, false, 10),
-			11: Uint32Field("XtuCSelfTestResults", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
-			12: Uint32Field("XtuRSelfTestResults", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
-			13: MultiByteField("XtuCTransmissionSystemCapability", 7, nil, mapset.NewSetWith(Read), false, false, false, false, 13),
-			14: MultiByteField("XtuRTransmissionSystemCapability", 7, nil, mapset.NewSetWith(Read), false, false, false, false, 14),
-			15: ByteField("InitializationSuccessFailureCause", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint64Field("XtuCG9941VendorId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint64Field("XtuRG9941VendorId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint64Field("XtuCSystemVendorId", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field("XtuRSystemVendorId", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  MultiByteField("XtuCVersionNumber", OctetsAttributeType, 0x0800, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 5),
+			6:  MultiByteField("XtuRVersionNumber", OctetsAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
+			7:  MultiByteField("XtuCSerialNumberPart1", OctetsAttributeType, 0x0200, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
+			8:  MultiByteField("XtuCSerialNumberPart2", OctetsAttributeType, 0x0100, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 8),
+			9:  MultiByteField("XtuRSerialNumberPart1", OctetsAttributeType, 0x0080, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 9),
+			10: MultiByteField("XtuRSerialNumberPart2", OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field("XtuCSelfTestResults", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field("XtuRSelfTestResults", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: MultiByteField("XtuCTransmissionSystemCapability", OctetsAttributeType, 0x0008, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 13),
+			14: MultiByteField("XtuRTransmissionSystemCapability", OctetsAttributeType, 0x0004, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 14),
+			15: ByteField("InitializationSuccessFailureCause", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewXdslLineInventoryAndStatusDataPart1 (class ID 100 creates the basic
+// NewXdslLineInventoryAndStatusDataPart1 (class ID 100) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslLineInventoryAndStatusDataPart1(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdsllineinventoryandstatusdatapart1BME, params...)
+	return NewManagedEntity(*xdsllineinventoryandstatusdatapart1BME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart2.go
new file mode 100644
index 0000000..5676e9e
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart2.go
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslLineInventoryAndStatusDataPart2ClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL line inventory and status data part 2
+const XdslLineInventoryAndStatusDataPart2ClassID ClassID = ClassID(101)
+
+var xdsllineinventoryandstatusdatapart2BME *ManagedEntityDefinition
+
+// XdslLineInventoryAndStatusDataPart2 (class ID #101)
+//	This ME contains part 2 of the line inventory and status data for an xDSL UNI. The ONU
+//	automatically creates or deletes an instance of this ME upon the creation or deletion of a PPTP
+//	xDSL UNI part 1.
+//
+//	NOTE 1 - [ITU-T G.997.1] specifies that bit rate attributes have granularity of 1000-bit/s. If
+//	ITUT-G.997.1 compliance is required, the ONU should only report values with this granularity.
+//
+//	Relationships
+//		An instance of this ME is associated with an xDSL UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R)
+//			(mandatory) (2-bytes)
+//
+//		Xdsl Transmission System
+//			NOTE 2 - This attribute is only 7-bytes long. An eighth byte identifying VDSL2 capabilities in
+//			use is defined in the VDSL2 line inventory and status data part 1 ME.
+//
+//		Line Power Management State
+//			(R) (mandatory) (1-byte)
+//
+//		Downstream Line Attenuation
+//			NOTE 3 - [ITU-T G.993.2] specifies a per-band array to represent this attribute. The array is
+//			defined in the VDSL2 line inventory and status data part 3 ME. In an ITU-T G.993.2 context, the
+//			downstream line attenuation attribute should be set to 0 here, and populated in the VDSL2 line
+//			inventory and status data part 3 ME instead.
+//
+//		Upstream Line Attenuation
+//			NOTE 4 - [ITU-T G.993.2] specifies a per-band array to represent this attribute. The array is
+//			defined in the VDSL2 line inventory and status data part 3 ME. In an ITU-T G.993.2 context, the
+//			upstream line attenuation attribute should be set to 0 here, and populated in the VDSL2 line
+//			inventory and status data part 3 ME instead.
+//
+//		Downstream Signal Attenuation
+//			NOTE 6 - [ITU-T G.993.2] specifies a per-band array to represent this attribute. The array is
+//			defined in the VDSL2 line inventory and status data part 3 ME. In an ITU-T G.993.2 context, the
+//			downstream signal attenuation attribute should be set to 0 here, and populated in the VDSL2 line
+//			inventory and status data part 3 ME instead.
+//
+//		Upstream Signal Attenuation
+//			NOTE 8 - [ITU-T G.993.2] specifies a per-band array to represent this attribute. The array is
+//			defined in the VDSL2 line inventory and status data part 3 ME. In an ITU-T G.993.2 context, the
+//			upstream signal attenuation attribute should be set to 0 here, and populated in the VDSL2 line
+//			inventory and status data part 3 ME instead.
+//
+//		Downstream Snr Ratio Margin
+//			Downstream SNR ratio margin: The downstream SNR margin SNRMds is the maximum increase of noise
+//			power received at the xTUR, such that the BER requirements can still be met for all downstream
+//			bearer channels. The attribute value ranges from 0 (-64.0 dB) to 1270 (+63.0-dB). The special
+//			value 0xFFFF indicates that the attribute is out of range (R) (mandatory) (2-bytes)
+//
+//		Upstream Snr Margin
+//			Upstream SNR margin: The upstream SNR margin SNRMus is the maximum increase of noise power
+//			received at the xTUC, such that the BER requirements can still be met for all upstream bearer
+//			channels. The attribute value ranges from 0 (-64.0 dB) to 1270 (+63.0 dB). The special value
+//			0xFFFF indicates that the attribute is out of range. (R) (mandatory) (2-bytes)
+//
+//		Downstream Maximum Attainable Data Rate
+//			Downstream maximum attainable data rate: The ATTNDRds attribute indicates the maximum downstream
+//			net data rate currently attainable. The rate is coded in bits per second. (R) (mandatory)
+//			(4-bytes)
+//
+//		Upstream Maximum Attainable Data Rate
+//			Upstream maximum attainable data rate: The ATTNDRus attribute indicates the maximum upstream net
+//			data rate currently attainable. The rate is coded in bits per second. (R) (mandatory) (4-bytes)
+//
+//		Downstream Actual Power Spectrum Density
+//			Downstream actual power spectrum density: The ACTPSDds attribute is the average downstream
+//			transmit power spectrum density over the subcarriers in use (subcarriers to which downstream
+//			user data are allocated) delivered by the xTUC at the UC reference point, at the instant of
+//			measurement. The attribute value ranges from 0 (-90.0-dBm/Hz) to 900 (0.0-dBm/Hz). The special
+//			value (0xFFFF) indicates that the parameter is out of range. (R) (mandatory) (2-bytes)
+//
+//		Upstream Actual Power Spectrum Density
+//			Upstream actual power spectrum density: The ACTPSDus attribute is the average upstream transmit
+//			power spectrum density over the subcarriers in use (subcarriers to which upstream user data are
+//			allocated) delivered by the xTUR at the UR reference point, at the instant of measurement. The
+//			attribute value ranges from 0 (-90.0-dBm/Hz) to 900 (0.0-dBm/Hz). The special value 0xFFFF
+//			indicates that the attribute is out of range. (R) (mandatory) (2-bytes)
+//
+//		Downstream Actual Aggregate Transmit Power
+//			NOTE 9 - The downstream nominal aggregate transmit power may be taken as a best estimate of the
+//			parameter.
+//
+//		Upstream Actual Aggregate Transmit Power
+//			NOTE 10 - The upstream nominal aggregate transmit power may be taken as a best estimate of the
+//			parameter.
+//
+//		Initialization _ Last State Transmitted Downstream
+//			(R) (mandatory) (1-byte)
+//
+//		Initialization _ Last State Transmitted Upstream
+//			(R) (mandatory) (1-byte)
+//
+type XdslLineInventoryAndStatusDataPart2 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdsllineinventoryandstatusdatapart2BME = &ManagedEntityDefinition{
+		Name:    "XdslLineInventoryAndStatusDataPart2",
+		ClassID: 101,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField("XdslTransmissionSystem", OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField("LinePowerManagementState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field("DownstreamLineAttenuation", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field("UpstreamLineAttenuation", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field("DownstreamSignalAttenuation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field("UpstreamSignalAttenuation", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field("DownstreamSnrRatioMargin", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field("UpstreamSnrMargin", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field("DownstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("UpstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field("DownstreamActualPowerSpectrumDensity", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint16Field("UpstreamActualPowerSpectrumDensity", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint16Field("DownstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field("UpstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: ByteField("InitializationLastStateTransmittedDownstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: ByteField("InitializationLastStateTransmittedUpstream", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewXdslLineInventoryAndStatusDataPart2 (class ID 101) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslLineInventoryAndStatusDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdsllineinventoryandstatusdatapart2BME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart5.go b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart5.go
new file mode 100644
index 0000000..382da30
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart5.go
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslLineInventoryAndStatusDataPart5ClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL line inventory and status data part 5
+const XdslLineInventoryAndStatusDataPart5ClassID ClassID = ClassID(325)
+
+var xdsllineinventoryandstatusdatapart5BME *ManagedEntityDefinition
+
+// XdslLineInventoryAndStatusDataPart5 (class ID #325)
+//	This ME extends the attributes defined in the xDSL line inventory and status data parts 1..4.
+//	This ME reports FEXT and NEXT attributes, and pertains to Annex C of [ITUT G.992.3] (ADSL2) and
+//	Annex C of [ITUT G.992.5] (ADSL2plus).
+//
+//	Relationships
+//		This is one of the status data MEs associated with an xDSL UNI. The ONU automatically creates or
+//		deletes an instance of this ME upon creation or deletion of a PPTP xDSL UNI part 1 that supports
+//		these attributes.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1 ME. (R)
+//			(mandatory) (2-bytes)
+//
+//		Fext Downstream Snr Margin
+//			FEXT downstream SNR margin: The FEXT SNRMds attribute is the downstream SNR margin measured
+//			during FEXTR duration at the ATU-R. The attribute value ranges from 0 (-64.0-dB) to 1270
+//			(+63.0-dB). The special value 0xFFFF indicates that the attribute is out of range. (R)
+//			(mandatory) (2-bytes)
+//
+//		Next Downstream Snr Margin
+//			NEXT downstream SNR margin: The NEXT SNRMds attribute is the downstream SNR margin measured
+//			during NEXTR duration at the ATU-R. The attribute value ranges from 0 (-64.0-dB) to 1270
+//			(+63.0-dB). The special value 0xFFFF indicates that the attribute is out of range. (R)
+//			(mandatory) (2-bytes)
+//
+//		Fext Upstream Snr Margin
+//			FEXT upstream SNR margin: The FEXT SNRMus attribute is the upstream SNR margin (see clause
+//			7.5.1.16 of [ITUT G.997.1]) measured during FEXTC duration at the ATU-C. The attribute value
+//			ranges from 0 (-64.0-dB) to 1270 (+63.0-dB). The special value 0xFFFF indicates that the
+//			attribute is out of range. (R) (mandatory) (2-bytes)
+//
+//		Next Upstream Snr Margin
+//			NEXT upstream SNR margin: The NEXT SNRMus attribute is the upstream SNR margin (see clause
+//			7.5.1.16 of [ITUT-G.997.1]) measured during NEXTC duration at the ATU-C. The attribute value
+//			ranges from 0 (-64.0-dB) to 1270 (+63.0-dB). The special value 0xFFFF indicates that the
+//			attribute is out of range. (R) (mandatory) (2-bytes)
+//
+//		Fext Downstream Maximum Attainable Data Rate
+//			FEXT downstream maximum attainable data rate: The FEXT ATTNDRds attribute is the maximum
+//			downstream net data rate calculated from FEXT downstream SNR(f) (see clause 7.5.1.28.3.1 of
+//			[ITUT G.997.1]). The rate is coded in bits per second. (R) (mandatory) (4-bytes)
+//
+//		Next Downstream Maximum Attainable Data Rate
+//			NEXT downstream maximum attainable data rate: The NEXT ATTNDRds attribute is the maximum
+//			downstream net data rate calculated from NEXT downstream SNR(f) (see clause 7.5.1.28.3.2 of
+//			[ITUT G.997.1]). The rate is coded in bits per second. (R) (mandatory) (4-bytes)
+//
+//		Fext Upstream Maximum Attainable Data Rate
+//			FEXT upstream maximum attainable data rate: The FEXT ATTNDRus attribute is the maximum upstream
+//			net data rate calculated from FEXT upstream SNR(f) (see clause 7.5.1.28.6.1 of [ITUT G.997.1]).
+//			The rate is coded in bits per second. (R) (mandatory) (4-bytes)
+//
+//		Next Upstream Maximum Attainable Data Rate
+//			NEXT upstream maximum attainable data rate: The NEXT ATTNDRus attribute is the maximum upstream
+//			net data rate calculated from NEXT upstream SNR(f) (see clause 7.5.1.28.6.2 of [ITUT G.997.1]).
+//			The rate is coded in bits per second. (R) (mandatory) (4-bytes)
+//
+//		Fext Downstream Actual Power Spectral Density
+//			FEXT downstream actual power spectral density: The FEXT ACTPSDds attribute is the average
+//			downstream transmit PSD over the used subcarriers (see clause-7.5.1.21.1 of [ITUT G.997.1])
+//			calculated from the REFPSDds and RMSGIds for FEXTR duration. The attribute value ranges from 0
+//			(-90.0-dBm/Hz) to 900 (0.0-dBm/Hz). The special value 0xFFFF indicates that the parameter is out
+//			of range. (R) (mandatory) (2-bytes)
+//
+//		Next Downstream Actual Power Spectral Density
+//			NEXT downstream actual power spectral density: The NEXT ACTPSDds attribute is the average
+//			downstream transmit PSD over the used subcarriers (see clause-7.5.1.21.2 of [ITUT G.997.1])
+//			calculated from the REFPSDds and RMSGIds for NEXTR duration. The attribute value ranges from 0
+//			(-90.0-dBm/Hz) to 900 (0.0-dBm/Hz). The special value 0xFFFF indicates that the parameter is out
+//			of range. (R) (mandatory) (2-bytes)
+//
+//		Fext Upstream Actual Power Spectral Density
+//			FEXT upstream actual power spectral density: The FEXT ACTPSDus attribute is the average upstream
+//			transmit PSD over the used subcarriers (see clause-7.5.1.22.1 of [ITUT G.997.1]) calculated from
+//			the REFPSDus and RMSGIus for FEXTC duration. The attribute value ranges from 0 (-90.0-dBm/Hz) to
+//			900 (0.0-dBm/Hz). The special value 0xFFFF indicates that the parameter is out of range. (R)
+//			(mandatory) (2-bytes)
+//
+//		Next Upstream Actual Power Spectral Density
+//			NEXT upstream actual power spectral density: The NEXT ACTPSDus attribute is the average upstream
+//			transmit PSD over the used subcarriers (see clause-7.5.1.22.2 of [ITUT G.997.1]) calculated from
+//			the REFPSDus and RMSGIus for NEXTC duration. The attribute value ranges from 0 (-90.0-dBm/Hz) to
+//			900 (0.0-dBm/Hz). The special value 0xFFFF indicates that the parameter is out of range. (R)
+//			(mandatory) (2-bytes)
+//
+//		Fext Downstream Actual Aggregate Transmit Power
+//			FEXT downstream actual aggregate transmit power: The FEXT ACTATPds attribute is the total amount
+//			of transmit power (see clause 7.5.1.24.1 of [ITUT G.997.1]) calculated from PSDds measured
+//			during FEXTR duration at the ATU-R. The attribute value ranges from 0 (-31.0-dBm) to 620
+//			(+31.0-dBm). The special value 0xFFFF indicates that the parameter is out of range. (R)
+//			(mandatory) (2-bytes)
+//
+//		Next Downstream Actual Aggregate Transmit Power
+//			NEXT downstream actual aggregate transmit power: The NEXT ACTATPds attribute is the total amount
+//			of transmit power (see clause 7.5.1.24.2 of [ITUT G.997.1]) calculated from PSDds measured
+//			during NEXTR duration at the ATU-R. The attribute value ranges from 0 (-31.0-dBm) to 620
+//			(+31.0-dBm). The special value 0xFFFF indicates that the parameter is out of range. (R)
+//			(mandatory) (2-bytes)
+//
+//		Fext Upstream Actual Aggregate Transmit Power
+//			FEXT upstream actual aggregate transmit power: The FEXT ACTATPus attribute is the total transmit
+//			power (see clause 7.5.1.25.1 of [ITUT G.997.1]) calculated from PSDus measured during FEXTC
+//			duration at the ATU-C. The attribute value ranges from 0 (-31.0-dBm) to 620 (+31.0-dBm). The
+//			special value 0xFFFF indicates that the parameter is out of range. (R) (mandatory) (2-bytes)
+//
+//		Next Upstream Actual Aggregate Transmit Power
+//			NEXT upstream actual aggregate transmit power: The NEXT ACTATPus attribute is the total transmit
+//			power (see clause 7.5.1.25.2 of [ITUT G.997.1]) calculated from PSDus measured during NEXTC
+//			duration at the ATU-C. The attribute value ranges from 0 (-31.0-dBm) to 620 (+31.0-dBm). The
+//			special value 0xFFFF indicates that the parameter is out of range. (R) (mandatory) (2-bytes)
+//
+type XdslLineInventoryAndStatusDataPart5 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdsllineinventoryandstatusdatapart5BME = &ManagedEntityDefinition{
+		Name:    "XdslLineInventoryAndStatusDataPart5",
+		ClassID: 325,
+		MessageTypes: mapset.NewSetWith(
+			Get,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint16Field("FextDownstreamSnrMargin", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("NextDownstreamSnrMargin", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field("FextUpstreamSnrMargin", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field("NextUpstreamSnrMargin", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field("FextDownstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field("NextDownstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("FextUpstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field("NextUpstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field("FextDownstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field("NextDownstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field("FextUpstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint16Field("NextUpstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint16Field("FextDownstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field("NextDownstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint16Field("FextUpstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint16Field("NextUpstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
+	}
+}
+
+// NewXdslLineInventoryAndStatusDataPart5 (class ID 325) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslLineInventoryAndStatusDataPart5(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdsllineinventoryandstatusdatapart5BME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart8.go b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart8.go
similarity index 66%
rename from vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart8.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart8.go
index 2f2966b..19fe01b 100644
--- a/vendor/github.com/cboling/omci/generated/xdsllineinventoryandstatusdatapart8.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdsllineinventoryandstatusdatapart8.go
@@ -1,32 +1,38 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslLineInventoryAndStatusDataPart8ClassId ClassID = ClassID(414)
+// XdslLineInventoryAndStatusDataPart8ClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL line inventory and status data part 8
+const XdslLineInventoryAndStatusDataPart8ClassID ClassID = ClassID(414)
 
 var xdsllineinventoryandstatusdatapart8BME *ManagedEntityDefinition
 
 // XdslLineInventoryAndStatusDataPart8 (class ID #414)
-//	This ME extends the attributes defined in the xDSL line inventory and status data parts 1..4.
+//	This ME extends the attributes defined in the xDSL line inventory and status data parts-1..4.
 //
 //	Relationships
 //		This is one of the status data MEs associated with an xDSL UNI. The ONU automatically creates or
@@ -37,37 +43,37 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1 ME. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Retransmission Used Downstream Rtx_Usedds
 //			Retransmission used downstream (RTX_USEDds): This parameter specifies whether [ITU-T G.998.4]
 //			retransmission is used (i.e., active in showtime) in the downstream transmit direction. The
-//			valid range of values is given in clause 7.5.1.38 of [ITU-T G.997.1]. (R) (mandatory) (1 byte)
+//			valid range of values is given in clause-7.5.1.38 of [ITU-T G.997.1]. (R) (mandatory) (1 byte)
 //
 //		Retransmission Used Upstream Rtx_Usedus
-//			Retransmission used upstream (RTX_USEDus): This parameter specifies whether [ITUT G.998.4]
+//			Retransmission used upstream (RTX_USEDus): This parameter specifies whether  [ITUT G.998.4]
 //			retransmission is used (i.e., active in showtime) in the upstream transmit direction. The valid
 //			range of values is given in clause 7.5.1.38 of [ITU-T G.997.1]. (R) (mandatory) (1 byte)
 //
 //		Date_Time_Stamping Of Near_End Test Parameters Stamp_Test_Ne
-//			(R) (optional) (7 bytes)
+//			(R) (optional) (7-bytes)
 //
 //		Date_Time_Stamping Of Far_End Test Parameters Stamp_Test_Fe
 //			Date/time-stamping of far-end test parameters (STAMP-TEST-FE): This parameter indicates the
 //			date/time when the far-end test parameters that can change during showtime were last updated.
-//			See clause 7.5.1.36.4 of [ITUT G.997.1]. The format of this parameter is the same as STAMP-TEST-
-//			NE. (R) (optional) (7 bytes)
+//			See clause 7.5.1.36.4 of [ITUT-G.997.1]. The format of this parameter is the same as STAMP-TEST-
+//			NE. (R) (optional) (7-bytes)
 //
 //		Date_Time_Stamping Of Last Successful Downstream Olr Operation Stamp_Olr_Ds
 //			Date/time-stamping of last successful downstream OLR operation (STAMP-OLR-ds): This parameter
 //			indicates the date/time of the last successful OLR execution in the downstream direction that
-//			has modified the bits or gains. See clause 7.5.1.37.1 of [ITU-T G.997.1]. The format of this
+//			has modified the bits or gains. See clause-7.5.1.37.1 of [ITU-T G.997.1]. The format of this
 //			parameter is the same as STAMP-TEST-NE. (R) (optional) (7 bytes)
 //
 //		Date_Time_Stamping Of Last Successful Upstream Olr Operation Stamp_Olr_Us
 //			Date/time-stamping of last successful upstream OLR operation (STAMP-OLR-us): This parameter
 //			indicates the date/time of the last successful OLR execution in the upstream direction that has
-//			modified the bits or gains. See clause 7.5.1.37.2 of [ITU-T G.997.1]. The format of this
+//			modified the bits or gains. See clause-7.5.1.37.2 of [ITU-T G.997.1]. The format of this
 //			parameter is the same as STAMP-TEST-NE. (R) (optional) (7 bytes)
 //
 type XdslLineInventoryAndStatusDataPart8 struct {
@@ -82,22 +88,24 @@
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0XFC00,
+		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
-			1: ByteField("RetransmissionUsedDownstreamRtxUsedds", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: ByteField("RetransmissionUsedUpstreamRtxUsedus", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
-			3: MultiByteField("DateTimeStampingOfNearEndTestParametersStampTestNe", 7, nil, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4: MultiByteField("DateTimeStampingOfFarEndTestParametersStampTestFe", 7, nil, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs", 7, nil, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs", 7, nil, mapset.NewSetWith(Read), false, false, true, false, 6),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField("RetransmissionUsedDownstreamRtxUsedds", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField("RetransmissionUsedUpstreamRtxUsedus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: MultiByteField("DateTimeStampingOfNearEndTestParametersStampTestNe", OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
+			4: MultiByteField("DateTimeStampingOfFarEndTestParametersStampTestFe", OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
+			5: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs", OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			6: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs", OctetsAttributeType, 0x0400, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 6),
 		},
+		Access:  CreatedByOnu,
+		Support: UnknownSupport,
 	}
 }
 
-// NewXdslLineInventoryAndStatusDataPart8 (class ID 414 creates the basic
+// NewXdslLineInventoryAndStatusDataPart8 (class ID 414) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslLineInventoryAndStatusDataPart8(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdsllineinventoryandstatusdatapart8BME, params...)
+	return NewManagedEntity(*xdsllineinventoryandstatusdatapart8BME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdslpsdmaskprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslpsdmaskprofile.go
new file mode 100644
index 0000000..a399351
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslpsdmaskprofile.go
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslPsdMaskProfileClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL PSD mask profile
+const XdslPsdMaskProfileClassID ClassID = ClassID(110)
+
+var xdslpsdmaskprofileBME *ManagedEntityDefinition
+
+// XdslPsdMaskProfile (class ID #110)
+//	This ME contains a PSD mask profile for an xDSL UNI. An instance of this ME is created and
+//	deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME may be associated with zero or more instances of the PPTP xDSL UNI part
+//		1.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
+//			reserved. (R, setbycreate) (mandatory) (2-bytes)
+//
+//		Psd Mask Table
+//			(R,-W) (mandatory) (4 * N bytes where N is the number of breakpoints)
+//
+//		Mask Valid
+//			(R,-W) (mandatory) (1-byte)
+//
+type XdslPsdMaskProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdslpsdmaskprofileBME = &ManagedEntityDefinition{
+		Name:    "XdslPsdMaskProfile",
+		ClassID: 110,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetNext,
+			Set,
+		),
+		AllowedAttributeMask: 0xc000,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField("PsdMaskTable", TableAttributeType, 0x8000, TableInfo{nil, 4}, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField("MaskValid", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewXdslPsdMaskProfile (class ID 110) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslPsdMaskProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdslpsdmaskprofileBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdslsubcarriermaskingdownstreamprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslsubcarriermaskingdownstreamprofile.go
new file mode 100644
index 0000000..202351e
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslsubcarriermaskingdownstreamprofile.go
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslSubcarrierMaskingDownstreamProfileClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL subcarrier masking downstream profile
+const XdslSubcarrierMaskingDownstreamProfileClassID ClassID = ClassID(108)
+
+var xdslsubcarriermaskingdownstreamprofileBME *ManagedEntityDefinition
+
+// XdslSubcarrierMaskingDownstreamProfile (class ID #108)
+//	This ME contains the subcarrier masking downstream profile for an xDSL UNI. Instances of this ME
+//	are created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME may be associated with zero or more instances of the PPTP xDSL UNI part
+//		1.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
+//			reserved. (R, set-by-create) (mandatory) (2-bytes)
+//
+//		Downstream Subcarrier Mask 1
+//			Downstream subcarrier mask 1: Subcarriers 1 to 128. (R,-W, set-by-create) (mandatory) (16-bytes)
+//
+//		Downstream Subcarrier Mask 2
+//			Downstream subcarrier mask 2: Subcarriers 129 to 256. (R,-W) (mandatory for modems that support
+//			NSCds-> 128) (16-bytes)
+//
+//		Downstream Subcarrier Mask 3
+//			Downstream subcarrier mask 3: Subcarriers 257 to 384. (R,-W) (mandatory for modems that support
+//			NSCds-> 256) (16-bytes)
+//
+//		Downstream Subcarrier Mask 4
+//			Downstream subcarrier mask 4: Subcarriers 385 to 512. (R,-W) (mandatory for modems that support
+//			NSCds-> 384) (16-bytes)
+//
+//		Mask Valid
+//			(R,-W) (mandatory) (1-byte)
+//
+type XdslSubcarrierMaskingDownstreamProfile struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdslsubcarriermaskingdownstreamprofileBME = &ManagedEntityDefinition{
+		Name:    "XdslSubcarrierMaskingDownstreamProfile",
+		ClassID: 108,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xf800,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField("DownstreamSubcarrierMask1", OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: MultiByteField("DownstreamSubcarrierMask2", OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField("DownstreamSubcarrierMask3", OctetsAttributeType, 0x2000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField("DownstreamSubcarrierMask4", OctetsAttributeType, 0x1000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField("MaskValid", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewXdslSubcarrierMaskingDownstreamProfile (class ID 108) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslSubcarrierMaskingDownstreamProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdslsubcarriermaskingdownstreamprofileBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/xdslsubcarriermaskingupstreamprofile.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslsubcarriermaskingupstreamprofile.go
similarity index 64%
rename from vendor/github.com/cboling/omci/generated/xdslsubcarriermaskingupstreamprofile.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdslsubcarriermaskingupstreamprofile.go
index 76d3dd0..a1c09d6 100644
--- a/vendor/github.com/cboling/omci/generated/xdslsubcarriermaskingupstreamprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslsubcarriermaskingupstreamprofile.go
@@ -1,27 +1,33 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslSubcarrierMaskingUpstreamProfileClassId ClassID = ClassID(109)
+// XdslSubcarrierMaskingUpstreamProfileClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL subcarrier masking upstream profile
+const XdslSubcarrierMaskingUpstreamProfileClassID ClassID = ClassID(109)
 
 var xdslsubcarriermaskingupstreamprofileBME *ManagedEntityDefinition
 
@@ -36,14 +42,14 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The value 0 is
-//			reserved. (R, setbycreate) (mandatory) (2 bytes)
+//			reserved. (R, setbycreate) (mandatory) (2-bytes)
 //
 //		Upstream Subcarrier Mask
 //			Subcarrier number 1 is the lowest, and the number of xDSL subcarriers, upstream (NSCus) is the
-//			highest subcarrier that can be transmitted in the upstream direction. For [ITUT G.992.3],
-//			[ITUT G.992.4] and [ITUT G.992.5], it is defined in the corresponding Recommendation. For Annex
-//			A of [ITUT G.992.1] and [ITUT G.992.2], NSCus = 32 and for Annex B of [ITUT G.992.1], NSCus =
-//			64. (R, W, setbycreate) (mandatory) (8 bytes)
+//			highest subcarrier that can be transmitted in the upstream direction. For [ITUT-G.992.3],
+//			[ITUT-G.992.4] and [ITUT-G.992.5], it is defined in the corresponding Recommendation. For Annex
+//			A of [ITUT-G.992.1] and [ITUT G.992.2], NSCus-= 32 and for Annex B of [ITUT-G.992.1], NSCus-=
+//			64. (R, W, setbycreate) (mandatory) (8-bytes)
 //
 type XdslSubcarrierMaskingUpstreamProfile struct {
 	ManagedEntityDefinition
@@ -60,17 +66,19 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0X8000,
+		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: Uint64Field("UpstreamSubcarrierMask", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint64Field("UpstreamSubcarrierMask", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewXdslSubcarrierMaskingUpstreamProfile (class ID 109 creates the basic
+// NewXdslSubcarrierMaskingUpstreamProfile (class ID 109) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslSubcarrierMaskingUpstreamProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslsubcarriermaskingupstreamprofileBME, params...)
+	return NewManagedEntity(*xdslsubcarriermaskingupstreamprofileBME, params...)
 }
diff --git a/vendor/github.com/cboling/omci/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
similarity index 61%
rename from vendor/github.com/cboling/omci/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
index 0c501ca..2e1b0e5 100644
--- a/vendor/github.com/cboling/omci/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslXtuCChannelPerformanceMonitoringHistoryDataClassId ClassID = ClassID(114)
+// XdslXtuCChannelPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL xTU-C channel performance monitoring history data
+const XdslXtuCChannelPerformanceMonitoringHistoryDataClassID ClassID = ClassID(114)
 
 var xdslxtucchannelperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -38,42 +44,42 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The two MSBs of
-//			the first byte are the bearer channel ID. Excluding the first 2 bits of the first byte, the
+//			the first byte are the bearer channel ID. Excluding the first 2-bits of the first byte, the
 //			remaining part of the ME ID is identical to that of this ME's parent PPTP xDSL UNI part 1. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Corrected Blocks
 //			Corrected blocks: This attribute counts blocks received with errors that were corrected on this
-//			channel. (R) (mandatory) (4 bytes)
+//			channel. (R) (mandatory) (4-bytes)
 //
 //		Uncorrected Blocks
 //			Uncorrected blocks: This attribute counts blocks received with uncorrectable errors on this
-//			channel. (R) (mandatory) (4 bytes)
+//			channel. (R) (mandatory) (4-bytes)
 //
 //		Transmitted Blocks
 //			Transmitted blocks:	This attribute counts encoded blocks transmitted on this channel. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Received Blocks
 //			Received blocks: This attribute counts encoded blocks received on this channel. (R) (mandatory)
-//			(4 bytes)
+//			(4-bytes)
 //
 //		Code Violations
 //			Code violations: This attribute counts CRC-8 anomalies in the bearer channel. (R) (mandatory)
-//			(2 bytes)
+//			(2-bytes)
 //
 //		Forward Error Corrections
 //			Forward error corrections: This attribute counts FEC anomalies in the bearer channel. (R)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 type XdslXtuCChannelPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -90,24 +96,32 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("CorrectedBlocks", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("UncorrectedBlocks", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("TransmittedBlocks", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("ReceivedBlocks", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint16Field("CodeViolations", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: Uint16Field("ForwardErrorCorrections", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("CorrectedBlocks", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("UncorrectedBlocks", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("TransmittedBlocks", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("ReceivedBlocks", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field("CodeViolations", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint16Field("ForwardErrorCorrections", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Corrected blocks",
+			1: "Uncorrected blocks",
+			2: "Code violations",
+			3: "Forward error corrections",
 		},
 	}
 }
 
-// NewXdslXtuCChannelPerformanceMonitoringHistoryData (class ID 114 creates the basic
+// NewXdslXtuCChannelPerformanceMonitoringHistoryData (class ID 114) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslXtuCChannelPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslxtucchannelperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*xdslxtucchannelperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-cperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-cperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..287df45
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-cperformancemonitoringhistorydata.go
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslXtuCPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL xTU-C performance monitoring history data
+const XdslXtuCPerformanceMonitoringHistoryDataClassID ClassID = ClassID(112)
+
+var xdslxtucperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// XdslXtuCPerformanceMonitoringHistoryData (class ID #112)
+//	This ME collects PM data on the xTUC to xTUR path as seen from the xTU-C. Instances of this ME
+//	are created and deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an xDSL UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contain PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Loss Of Frame Seconds
+//			Loss of frame seconds: (R) (mandatory) (2-bytes)
+//
+//		Loss Of Signal Seconds
+//			Loss of signal seconds: (R) (mandatory) (2-bytes)
+//
+//		Loss Of Link Seconds
+//			Loss of link seconds: (R) (mandatory) (2-bytes)
+//
+//		Loss Of Power Seconds
+//			Loss of power seconds: (R) (mandatory) (2-bytes)
+//
+//		Errored Seconds Es
+//			Errored seconds (ES): This attribute counts 1-s intervals with one or more CRC8 anomalies summed
+//			over all received bearer channels, or one or more loss of signal (LOS) defects, or one or more
+//			SEF defects, or one or more LPR defects. (R) (mandatory) (2-bytes)
+//
+//		Severely Errored Seconds
+//			(R) (mandatory) (2-bytes)
+//
+//		Line Initializations
+//			Line initializations: This attribute counts the total number of full initializations attempted
+//			on the line, both successful and failed. (R) (mandatory) (2-bytes)
+//
+//		Failed Line Initializations
+//			Failed line initializations: This attribute counts the total number of failed full
+//			initializations during the accumulation period. A failed full initialization occurs when
+//			showtime is not reached at the end of the full initialization procedure. (R) (mandatory)
+//			(2-bytes)
+//
+//		Short Initializations
+//			Short initializations: This attribute counts the total number of fast retrains or short
+//			initializations attempted on the line, successful and failed. Fast retrain is defined in [ITUT
+//			G.992.2]. Short initialization is defined in [ITUT-G.992.3] and [ITUT G.992.4]. (R) (optional)
+//			(2-bytes)
+//
+//		Failed Short Initializations
+//			(R) (optional) (2-bytes)
+//
+//		Fec Seconds
+//			FEC seconds: This attribute counts seconds during which there was an FEC anomaly. (R)
+//			(mandatory) (2-bytes)
+//
+//		Unavailable Seconds
+//			Unavailable seconds: This attribute counts 1-s intervals during which the xDSL UNI is
+//			unavailable. The line becomes unavailable at the onset of 10 contiguous SES-Ls. The 10 SES-Ls
+//			are included in unavailable time. Once unavailable, the line becomes available at the onset of
+//			10-contiguous seconds that are not severely errored. The 10-s with no SESLs are excluded from
+//			unavailable time. Some attribute counts are inhibited during unavailability - see clause
+//			7.2.7.13 of [ITUT G.997.1]. (R) (mandatory) (2-bytes)
+//
+//		Sos Success Count, Near End
+//			SOS success count, near end: The SOS-SUCCESS-NE attribute is a count of the total number of
+//			successful SOS procedures initiated by the near-end xTU on the line during the accumulation
+//			period. Successful SOS is defined in clause-12.1.4 of [ITUT G.993.2]. (R) (optional) (2-bytes)
+//
+//		Sos Success Count, Far End
+//			SOS success count, far end: The SOS-SUCCESS-FE attribute is a count of the total number of
+//			successful SOS procedures initiated by the far-end xTU on the line during the accumulation
+//			period. Successful SOS is defined in clause 12.1.4 of [ITUT-G.993.2]. (R) (optional) (2-bytes)
+//
+type XdslXtuCPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdslxtucperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "XdslXtuCPerformanceMonitoringHistoryData",
+		ClassID: 112,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field("LossOfFrameSeconds", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field("LossOfSignalSeconds", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field("LossOfLinkSeconds", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field("LossOfPowerSeconds", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field("ErroredSecondsEs", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field("SeverelyErroredSeconds", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field("LineInitializations", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field("FailedLineInitializations", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field("ShortInitializations", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint16Field("FailedShortInitializations", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint16Field("FecSeconds", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field("UnavailableSeconds", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint16Field("SosSuccessCount,NearEnd", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint16Field("SosSuccessCount,FarEnd", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0:  "Loss of frame seconds",
+			1:  "Loss of signal seconds",
+			2:  "Loss of link seconds",
+			3:  "Loss of power seconds",
+			4:  "Errored seconds",
+			5:  "Severely errored seconds",
+			6:  "Line initializations",
+			7:  "Failed line initializations",
+			8:  "Short initializations",
+			9:  "Failed short initializations",
+			10: "FEC seconds",
+			11: "Unavailable seconds",
+		},
+	}
+}
+
+// NewXdslXtuCPerformanceMonitoringHistoryData (class ID 112) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslXtuCPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdslxtucperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
new file mode 100644
index 0000000..eaa7e22
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslXtuCPerformanceMonitoringHistoryDataPart2ClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL xTU-C performance monitoring history data part 2
+const XdslXtuCPerformanceMonitoringHistoryDataPart2ClassID ClassID = ClassID(408)
+
+var xdslxtucperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
+
+// XdslXtuCPerformanceMonitoringHistoryDataPart2 (class ID #408)
+//	This ME collects PM data on the xTUC to xTUR path as seen from the xTU-C. Instances of this ME
+//	are created and deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an xDSL UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
+//			that contain PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Leftr Defect Seconds
+//			"leftr" defect seconds: If retransmission is used, this attribute is a count of the seconds with
+//			a near-end ''leftr'' defect present - see clause 7.2.1.1.6 of [ITU-T G.997.1]. (R) (mandatory)
+//			(2-bytes)
+//
+//		Error_Free Bits Counter
+//			Error-free bits counter: If retransmission is used, this attribute is a count of the number of
+//			error-free bits passed over the B1 reference point, divided by 216 - see clause-7.2.1.1.7 of
+//			[ITU-T G.997.1]. (R) (mandatory) (4-bytes)
+//
+//		Minimum Error_Free Throughput Mineftr
+//			Minimum error-free throughput (MINEFTR): If retransmission is used, this attribute is the
+//			minimum error-free throughput in bits per second - see clause 7.2.1.1.8 of [ITUT-G.997.1]. (R)
+//			(mandatory) (4-bytes)
+//
+type XdslXtuCPerformanceMonitoringHistoryDataPart2 struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdslxtucperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
+		Name:    "XdslXtuCPerformanceMonitoringHistoryDataPart2",
+		ClassID: 408,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xf800,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field("LeftrDefectSeconds", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("ErrorFreeBitsCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("MinimumErrorFreeThroughputMineftr", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "leftr defect seconds",
+		},
+	}
+}
+
+// NewXdslXtuCPerformanceMonitoringHistoryDataPart2 (class ID 408) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslXtuCPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdslxtucperformancemonitoringhistorydatapart2BME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
similarity index 63%
rename from vendor/github.com/cboling/omci/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
index 32f1a01..b1343c6 100644
--- a/vendor/github.com/cboling/omci/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
@@ -1,10 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
@@ -17,11 +20,14 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XdslXtuRChannelPerformanceMonitoringHistoryDataClassId ClassID = ClassID(115)
+// XdslXtuRChannelPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL xTU-R channel performance monitoring history data
+const XdslXtuRChannelPerformanceMonitoringHistoryDataClassID ClassID = ClassID(115)
 
 var xdslxturchannelperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -38,45 +44,45 @@
 //	Attributes
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. The two MSBs of
-//			the first byte are the bearer channel ID. Excluding the first 2 bits of the first byte, the
+//			the first byte are the bearer channel ID. Excluding the first 2-bits of the first byte, the
 //			remaining part of the ME ID is identical to that of this ME's parent PPTP xDSL UNI part 1. (R,
-//			setbycreate) (mandatory) (2 bytes)
+//			setbycreate) (mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
 //			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
-//			data 2 ME is optional. (R, W, setbycreate) (mandatory) (2 bytes)
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Corrected Blocks
 //			Corrected blocks: This attribute counts blocks received with errors that were corrected on this
-//			channel. (R) (mandatory) (4 bytes)
+//			channel. (R) (mandatory) (4-bytes)
 //
 //		Uncorrected Blocks
 //			Uncorrected blocks: This attribute counts blocks received with uncorrectable errors on this
-//			channel. (R) (mandatory) (4 bytes)
+//			channel. (R) (mandatory) (4-bytes)
 //
 //		Transmitted Blocks
 //			Transmitted blocks: This attribute counts encoded blocks transmitted on this channel. (R)
-//			(mandatory) (4 bytes)
+//			(mandatory) (4-bytes)
 //
 //		Received Blocks
 //			Received blocks: This attribute counts encoded blocks received on this channel. (R) (mandatory)
-//			(4 bytes)
+//			(4-bytes)
 //
 //		Code Violations
 //			Code violations: This attribute counts FEBE anomalies reported in the downstream bearer channel.
 //			If the CRC is applied over multiple bearer channels, then each related FEBE anomaly increments
-//			each of the counters related to the individual bearer channels. (R) (mandatory) (2 bytes)
+//			each of the counters related to the individual bearer channels. (R) (mandatory) (2-bytes)
 //
 //		Forward Error Corrections
 //			Forward error corrections: This attribute counts FFEC anomalies reported in the downstream
 //			bearer channel. If FEC is applied over multiple bearer channels, each related FFEC anomaly
 //			increments each of the counters related to the individual bearer channels. (R) (mandatory)
-//			(2 bytes)
+//			(2-bytes)
 //
 type XdslXtuRChannelPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -93,24 +99,32 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("CorrectedBlocks", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
-			4: Uint32Field("UncorrectedBlocks", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
-			5: Uint32Field("TransmittedBlocks", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
-			6: Uint32Field("ReceivedBlocks", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
-			7: Uint16Field("CodeViolations", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
-			8: Uint16Field("ForwardErrorCorrections", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("CorrectedBlocks", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field("UncorrectedBlocks", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field("TransmittedBlocks", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field("ReceivedBlocks", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field("CodeViolations", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint16Field("ForwardErrorCorrections", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Corrected blocks",
+			1: "Uncorrected blocks",
+			2: "Code violations",
+			3: "Forward error corrections",
 		},
 	}
 }
 
-// NewXdslXtuRChannelPerformanceMonitoringHistoryData (class ID 115 creates the basic
+// NewXdslXtuRChannelPerformanceMonitoringHistoryData (class ID 115) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXdslXtuRChannelPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xdslxturchannelperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*xdslxturchannelperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-rperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-rperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..56f8ca5
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xdslxtu-rperformancemonitoringhistorydata.go
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XdslXtuRPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity xDSL xTU-R performance monitoring history data
+const XdslXtuRPerformanceMonitoringHistoryDataClassID ClassID = ClassID(113)
+
+var xdslxturperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// XdslXtuRPerformanceMonitoringHistoryData (class ID #113)
+//	This ME collects PM data of the xTUC to xTUR path as seen from the xTU-R. Instances of this ME
+//	are created and deleted by the OLT.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an xDSL UNI.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1. (R,
+//			setbycreate) (mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Loss Of Frame Seconds
+//			Loss of frame seconds: (R) (mandatory) (2-bytes)
+//
+//		Loss Of Signal Seconds
+//			Loss of signal seconds: (R) (mandatory) (2-bytes)
+//
+//		Loss Of Power Seconds
+//			Loss of power seconds: (R) (mandatory) (2-bytes)
+//
+//		Errored Seconds
+//			Errored seconds: This attribute counts 1-s intervals with one or more far end block error (FEBE)
+//			anomalies summed over all transmitted bearer channels, or one or more LOSFE defects, or one or
+//			more RDI defects, or one or more LPR-FE defects. (R) (mandatory) (2-bytes)
+//
+//		Severely Errored Seconds
+//			(R) (mandatory) (2-bytes)
+//
+//		Fec Seconds
+//			FEC seconds: This attribute counts seconds during which there was an FEC anomaly. (R)
+//			(mandatory) (2-bytes)
+//
+//		Unavailable Seconds
+//			(R) (mandatory) (2-bytes)
+//
+//		Leftr Defect Seconds
+//			"leftr" defect seconds: If retransmission is used, this parameter is a count of the seconds with
+//			a near-end ''leftr'' defect present - see clause 7.2.1.1.6 of [ITUT-G.997.1]. (R) (optional)
+//			(2-bytes)
+//
+//		Error_Free Bits Counter
+//			Error-free bits counter: If retransmission is used, this parameter is a count of the number of
+//			error-free bits passed over the B1 reference point, divided by 216 - see clause 7.2.1.1.7 of
+//			[ITU-T G.997.1]. (R) (optional) (4-bytes)
+//
+//		Minimum Error_Free Throughput Mineftr
+//			Minimum error-free throughput (MINEFTR): If retransmission is used, this parameter is the
+//			minimum error-free throughput in bits per second - see clause 7.2.1.1.8 of [ITUT-G.997.1]. (R)
+//			(optional) (4-bytes)
+//
+type XdslXtuRPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xdslxturperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "XdslXtuRPerformanceMonitoringHistoryData",
+		ClassID: 113,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfff0,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field("LossOfFrameSeconds", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field("LossOfSignalSeconds", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field("LossOfPowerSeconds", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field("ErroredSeconds", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field("SeverelyErroredSeconds", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field("FecSeconds", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field("UnavailableSeconds", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field("LeftrDefectSeconds", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field("ErrorFreeBitsCounter", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field("MinimumErrorFreeThroughputMineftr", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "Loss of frame seconds",
+			1: "Loss of signal seconds",
+			2: "Loss of power seconds",
+			3: "Errored seconds",
+			4: "Severely errored seconds",
+			5: "FEC seconds",
+			6: "Unavailable seconds",
+			7: "leftr defect seconds",
+		},
+	}
+}
+
+// NewXdslXtuRPerformanceMonitoringHistoryData (class ID 113) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXdslXtuRPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xdslxturperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..2371b91
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XgPonDownstreamManagementPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity XG-PON downstream management performance monitoring history data
+const XgPonDownstreamManagementPerformanceMonitoringHistoryDataClassID ClassID = ClassID(345)
+
+var xgpondownstreammanagementperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// XgPonDownstreamManagementPerformanceMonitoringHistoryData (class ID #345)
+//	This ME collects PM data associated with the XG-PON TC layer. It collects counters associated
+//	with downstream PLOAM and OMCI messages.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an ANI-G.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the ANI-G. (R, set-by-create)
+//			(mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. Since no threshold value attribute number exceeds 7, a threshold
+//			data 2 ME is optional. (R,-W, set-by-create) (mandatory) (2-bytes)
+//
+//		Ploam Message Integrity Check Mic Error Count
+//			PLOAM message integrity check (MIC) error count: This attribute counts MIC errors detected in
+//			downstream PLOAM messages, either directed to this ONU or broadcast to all ONUs. (R) (optional)
+//			(4-bytes)
+//
+//		Downstream Ploam Messages Count
+//			Downstream PLOAM messages count: This attribute counts PLOAM messages received, either directed
+//			to this ONU or broadcast to all ONUs. (R) (optional) (4-bytes)
+//
+//		Profile Messages Received
+//			Profile messages received: This attribute counts the number of profile messages received, either
+//			directed to this ONU or broadcast to all ONUs. In [ITU-T G.9807.1], this attribute is used for
+//			received burst_profile message count.  (R) (optional) (4-bytes)
+//
+//		Ranging_Time Messages Received
+//			Ranging_time messages received: This attribute counts the number of ranging_time messages
+//			received, either directed to this ONU or broadcast to all ONUs. (R) (mandatory) (4-bytes)
+//
+//		Deactivate_Onu_Id Messages Received
+//			Deactivate_ONU-ID messages received: This attribute counts the number of deactivate_ONU-ID
+//			messages received, either directed to this ONU or broadcast to all ONUs. Deactivate_ONU-ID
+//			messages do not reset this counter. (R) (optional) (4-bytes)
+//
+//		Disable_Serial_Number Messages Received
+//			Disable_serial_number messages received: This attribute counts the number of
+//			disable_serial_number messages received, whose serial number specified this ONU. (R) (optional)
+//			(4-bytes)
+//
+//		Request_Registration Messages Received
+//			Request_registration messages received: This attribute counts the number of request_registration
+//			messages received. (R) (optional) (4-bytes)
+//
+//		Assign_Alloc_Id Messages Received
+//			Assign_alloc-ID messages received: This attribute counts the number of assign_alloc-ID messages
+//			received. (R) (optional) (4-bytes)
+//
+//		Key_Control Messages Received
+//			Key_control messages received: This attribute counts the number of key_control messages
+//			received, either directed to this ONU or broadcast to all ONUs. (R) (optional) (4-bytes)
+//
+//		Sleep_Allow Messages Received
+//			Sleep_allow messages received: This attribute counts the number of sleep_allow messages
+//			received, either directed to this ONU or broadcast to all ONUs. (R) (optional) (4-bytes)
+//
+//		Baseline Omci Messages Received Count
+//			Baseline OMCI messages received count: This attribute counts the number of OMCI messages
+//			received in the baseline message format. (R) (optional) (4-bytes)
+//
+//		Extended Omci Messages Received Count
+//			Extended OMCI messages received count: This attribute counts the number of OMCI messages
+//			received in the extended message format. (R) (optional) (4-bytes)
+//
+//		Assign_Onu_Id Messages Received
+//			Assign_ONU-ID messages received: This attribute counts the number of assign_ONU-ID messages
+//			received since the last re-boot. (R) (optional) (4-bytes)
+//
+//		Omci Mic Error Count
+//			OMCI MIC error count: This attribute counts MIC errors detected in OMCI messages directed to
+//			this ONU. (R) (optional) (4-bytes)
+//
+type XgPonDownstreamManagementPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xgpondownstreammanagementperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "XgPonDownstreamManagementPerformanceMonitoringHistoryData",
+		ClassID: 345,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xffff,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("PloamMessageIntegrityCheckMicErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field("DownstreamPloamMessagesCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field("ProfileMessagesReceived", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field("RangingTimeMessagesReceived", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("DeactivateOnuIdMessagesReceived", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field("DisableSerialNumberMessagesReceived", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field("RequestRegistrationMessagesReceived", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field("AssignAllocIdMessagesReceived", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field("KeyControlMessagesReceived", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field("SleepAllowMessagesReceived", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field("BaselineOmciMessagesReceivedCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field("ExtendedOmciMessagesReceivedCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field("AssignOnuIdMessagesReceived", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint32Field("OmciMicErrorCount", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "PLOAM MIC error count",
+			2: "OMCI MIC error count",
+		},
+	}
+}
+
+// NewXgPonDownstreamManagementPerformanceMonitoringHistoryData (class ID 345) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXgPonDownstreamManagementPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xgpondownstreammanagementperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xg-pontcperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/xg-pontcperformancemonitoringhistorydata.go
new file mode 100644
index 0000000..e9cf5b0
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xg-pontcperformancemonitoringhistorydata.go
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XgPonTcPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity XG-PON TC performance monitoring history data
+const XgPonTcPerformanceMonitoringHistoryDataClassID ClassID = ClassID(344)
+
+var xgpontcperformancemonitoringhistorydataBME *ManagedEntityDefinition
+
+// XgPonTcPerformanceMonitoringHistoryData (class ID #344)
+//	This ME collects PM data associated with the XG-PON TC layer.
+//
+//	For a complete discussion of generic PM architecture, refer to clause I.4.
+//
+//	Relationships
+//		An instance of this ME is associated with an ANI-G.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the ANI-G. (R, set-by-create)
+//			(mandatory) (2-bytes)
+//
+//		Interval End Time
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
+//
+//		Threshold Data 1_2 Id
+//			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
+//			contains PM threshold values. (R,-W, set-by-create) (mandatory) (2-bytes)
+//
+//		Psbd Hec Error Count
+//			PSBd HEC error count: This attribute counts HEC errors in any of the fields of the downstream
+//			physical sync block. (R) (optional) (4-bytes)
+//
+//		Xgtc Hec Error Count
+//			XGTC HEC error count: This attribute counts HEC errors detected in the XGTC header. In [ITU-T
+//			G.9807.1], this attribute is used for framing sublayer (FS) HEC error count management. (R)
+//			(optional) (4-bytes)
+//
+//		Unknown Profile Count
+//			Unknown profile count: This attribute counts the number of grants received whose specified
+//			profile was not known to the ONU. (R) (optional) (4-bytes)
+//
+//		Transmitted Xg_Pon Encapsulation Method Xgem Frames
+//			Transmitted XG-PON encapsulation method (XGEM) frames: This attribute counts the number of non-
+//			idle XGEM frames transmitted. If a service data unit (SDU) is fragmented, each fragment is an
+//			XGEM frame and is counted as such. (R) (mandatory) (4 bytes)
+//
+//		Fragment Xgem Frames
+//			Fragment XGEM frames: This attribute counts the number of XGEM frames that represent fragmented
+//			SDUs, as indicated by the LF bit-= 0. (R) (optional) (4-bytes)
+//
+//		Xgem Hec Lost Words Count
+//			XGEM HEC lost words count: This attribute counts the number of 4-byte words lost because of an
+//			XGEM frame HEC error. In general, all XGTC payload following the error is lost, until the next
+//			PSBd event. (R) (optional) (4 bytes)
+//
+//		Xgem Key Errors
+//			(R) (mandatory) (4 bytes)
+//
+//		Xgem Hec Error Count
+//			XGEM HEC error count: This attribute counts the number of instances of an XGEM frame HEC error.
+//			(R) (mandatory) (4 bytes)
+//
+//		Transmitted Bytes In Non_Idle Xgem Frames
+//			Transmitted bytes in non-idle XGEM frames: This attribute counts the number of transmitted bytes
+//			in non-idle XGEM frames. (R) (mandatory) (8 bytes)
+//
+//		Received Bytes In Non_Idle Xgem Frames
+//			Received bytes in non-idle XGEM frames: This attribute counts the number of received bytes in
+//			non-idle XGEM frames. (R) (optional) (8 bytes)
+//
+//		Loss Of Downstream Synchronization Lods Event Count
+//			Loss of downstream synchronization (LODS) event count: This attribute counts the number of state
+//			transitions from O5.1 to O6. (R) (optional) (4-bytes)
+//
+//		Lods Event Restored Count
+//			LODS event restored count: This attribute counts the number of LODS cleared events. (R)
+//			(optional) (4-bytes)
+//
+//		Onu Reactivation By Lods Events
+//			ONU reactivation by LODS events: This attribute counts the number of LODS events resulting in
+//			ONU reactivation without synchronization being reacquired. (R) (optional) (4-bytes)
+//
+type XgPonTcPerformanceMonitoringHistoryData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xgpontcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
+		Name:    "XgPonTcPerformanceMonitoringHistoryData",
+		ClassID: 344,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			Set,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("PsbdHecErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field("XgtcHecErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field("UnknownProfileCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field("TransmittedXgPonEncapsulationMethodXgemFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field("FragmentXgemFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field("XgemHecLostWordsCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field("XgemKeyErrors", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field("XgemHecErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint64Field("TransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint64Field("ReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field("LossOfDownstreamSynchronizationLodsEventCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field("LodsEventRestoredCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field("OnuReactivationByLodsEvents", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			1: "PSBd HEC error count",
+			2: "XGTC HEC error count",
+			3: "Unknown profile count",
+			4: "XGEM HEC loss count",
+			5: "XGEM key errors",
+			6: "XGEM HEC error count",
+		},
+	}
+}
+
+// NewXgPonTcPerformanceMonitoringHistoryData (class ID 344) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXgPonTcPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xgpontcperformancemonitoringhistorydataBME, params...)
+}
diff --git a/vendor/github.com/cboling/omci/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
similarity index 61%
rename from vendor/github.com/cboling/omci/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
rename to vendor/github.com/opencord/omci-lib-go/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
index 9c8fda5..be7cccb 100644
--- a/vendor/github.com/cboling/omci/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
@@ -1,27 +1,27 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
  */
-/*
- * NOTE: This file was generated, manual edits will be overwritten!
- *
- * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
- */
+
 package generated
 
 import "github.com/deckarep/golang-set"
 
-const XgPonUpstreamManagementPerformanceMonitoringHistoryDataClassId ClassID = ClassID(346)
+// XgPonUpstreamManagementPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
+// Managed entity XG-PON upstream management performance monitoring history data
+const XgPonUpstreamManagementPerformanceMonitoringHistoryDataClassID ClassID = ClassID(346)
 
 var xgponupstreammanagementperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
@@ -38,41 +38,41 @@
 //		Managed Entity Id
 //			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
 //			identical ID, this ME is implicitly linked to an instance of the ANI-G. (R, set-by-create)
-//			(mandatory) (2 bytes)
+//			(mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
-//			(mandatory) (1 byte)
+//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
+//			(mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: No thresholds are defined for this ME. For uniformity with other PM, the
-//			attribute is retained and shown as mandatory, but it should be set to a null pointer. (R, W,
-//			set-by-create) (mandatory) (2 bytes)
+//			attribute is retained and shown as mandatory, but it should be set to a null pointer. (R,-W,
+//			set-by-create) (mandatory) (2-bytes)
 //
 //		Upstream Ploam Message Count
 //			Upstream PLOAM message count: This attribute counts PLOAM messages transmitted upstream,
-//			excluding acknowledge messages. (R) (optional) (4 bytes)
+//			excluding acknowledge messages. (R) (optional) (4-bytes)
 //
 //		Serial_Number_Onu Message Count
 //			Serial_number_ONU message count: This attribute counts Serial_number_ONU PLOAM messages
-//			transmitted. (R) (optional) (4 bytes)
+//			transmitted. (R) (optional) (4-bytes)
 //
 //		Registration Message Count
 //			Registration message count: This attribute counts Registration PLOAM messages transmitted. (R)
-//			(optional) (4 bytes)
+//			(optional) (4-bytes)
 //
 //		Key_Report Message Count
 //			Key_report message count: This attribute counts key_report PLOAM messages transmitted. (R)
-//			(optional) (4 bytes)
+//			(optional) (4-bytes)
 //
 //		Acknowledge Message Count
 //			Acknowledge message count: This attribute counts acknowledge PLOAM messages transmitted. It
 //			includes all forms of acknowledgement (AK), including those transmitted in response to a PLOAM
-//			grant when the ONU has nothing to send. (R) (optional) (4 bytes)
+//			grant when the ONU has nothing to send. (R) (optional) (4-bytes)
 //
 //		Sleep_Request Message Count
 //			Sleep_request message count: This attribute counts sleep_request PLOAM messages transmitted. (R)
-//			(optional) (4 bytes)
+//			(optional) (4-bytes)
 //
 type XgPonUpstreamManagementPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
@@ -89,24 +89,26 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0XFF00,
+		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
-			1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
-			3: Uint32Field("UpstreamPloamMessageCount", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
-			4: Uint32Field("SerialNumberOnuMessageCount", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
-			5: Uint32Field("RegistrationMessageCount", 0, mapset.NewSetWith(Read), false, false, true, false, 5),
-			6: Uint32Field("KeyReportMessageCount", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
-			7: Uint32Field("AcknowledgeMessageCount", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
-			8: Uint32Field("SleepRequestMessageCount", 0, mapset.NewSetWith(Read), false, false, true, false, 8),
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field("UpstreamPloamMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint32Field("SerialNumberOnuMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint32Field("RegistrationMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: Uint32Field("KeyReportMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint32Field("AcknowledgeMessageCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint32Field("SleepRequestMessageCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
 		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
 	}
 }
 
-// NewXgPonUpstreamManagementPerformanceMonitoringHistoryData (class ID 346 creates the basic
+// NewXgPonUpstreamManagementPerformanceMonitoringHistoryData (class ID 346) creates the basic
 // Managed Entity definition that is used to validate an ME of this type that
-// is received from the wire, about to be sent on the wire.
+// is received from or transmitted to the OMCC.
 func NewXgPonUpstreamManagementPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
-	return NewManagedEntity(xgponupstreammanagementperformancemonitoringhistorydataBME, params...)
+	return NewManagedEntity(*xgponupstreammanagementperformancemonitoringhistorydataBME, params...)
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/xtudatagatheringconfiguration.go b/vendor/github.com/opencord/omci-lib-go/generated/xtudatagatheringconfiguration.go
new file mode 100644
index 0000000..2b5171a
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/generated/xtudatagatheringconfiguration.go
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ */
+ /*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// XtuDataGatheringConfigurationClassID is the 16-bit ID for the OMCI
+// Managed entity xTU data gathering configuration
+const XtuDataGatheringConfigurationClassID ClassID = ClassID(413)
+
+var xtudatagatheringconfigurationBME *ManagedEntityDefinition
+
+// XtuDataGatheringConfiguration (class ID #413)
+//	This ME defines configurations specific to data gathering.
+//
+//	An instance of this ME is created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME may be associated with zero or more instances of the PPTP xDSL UNI part
+//		1.
+//
+//	Attributes
+//		Managed Entity Id
+//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
+//			identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1 ME.
+//			(R,-set-by-create) (mandatory) (2 bytes)
+//
+//		Logging Depth Event Percentage Per Event _ Vtu_O Logging_Depth_Event_Percentage_Oi Table
+//			Logging depth event percentage per event - VTU-O (LOGGING_DEPTH_EVENT_PERCENTAGE_Oi) table: This
+//			parameter is the percentage of the data gathering event buffer assigned to event type i at the
+//			VTU-O. See clause 7.3.6.1 of [ITU-T G.997.1]. Each element in the table consists of 2-bytes,
+//			where the first byte is event type i, and the second byte is the percentage of event type i
+//			defined as the integer value multiplied by 1%. (R, W) (optional) (2- N-bytes for N event types)
+//
+//		Logging Depth Event Percentage Per Event _ Vtu_R Logging_Depth_Event_Percentage_Ri Table
+//			Logging depth event percentage per event - VTU-R (LOGGING_DEPTH_EVENT_PERCENTAGE_Ri) table: This
+//			parameter is the percentage of the data gathering event buffer assigned to event type i at the
+//			VTU-R. See clause 7.3.6.2 of [ITU-T G.997.1]. Each element in the table consists of 2-bytes,
+//			where the first byte is event type i, and the second byte is the percentage of event type i
+//			defined as the integer value multiplied by 1%. (R, W) (optional) (2- N-bytes for N event types)
+//
+//		Logging Depth For Vtu_O Reporting _ Vtu_R Logging_Depth_Reporting_O
+//			Logging depth for VTU-O reporting - VTU-R (LOGGING_DEPTH_REPORTING_O): This parameter is the
+//			logging depth that is requested for reporting the VTU-O event trace buffer in the COMIB, in
+//			number of 6-byte data gathering records. See clause 7.3.6.3 of [ITU-T G.997.1]. (R, W)
+//			(optional) (2-bytes)
+//
+//		Logging Depth For Vtu_R Reporting _ Vtu_R Logging_Depth_Reporting_R
+//			Logging depth for VTU-R reporting - VTU-R (LOGGING_DEPTH_REPORTING_R): This parameter is the
+//			logging depth that is requested for reporting the VTU-R event trace buffer over the embedded
+//			operations channel (eoc), in number of 6-byte data gathering records. See clause 7.3.6.4 of
+//			[ITU-T G.997.1]. (R, W) (optional) (2-bytes)
+//
+//		Logging Data Report Newer Events First _ Vtu_R Logging_Report_Newer_First
+//			Logging data report newer events first - VTU-R (LOGGING_REPORT_NEWER_FIRST): This parameter
+//			determines whether the VTU-R to reports newer events first or older events first. See clause
+//			7.3.6.4 of [ITU-T G.997.1]. False is mapped to 0, true is mapped to 1. (R, W) (optional)
+//			(1-byte)
+//
+type XtuDataGatheringConfiguration struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	xtudatagatheringconfigurationBME = &ManagedEntityDefinition{
+		Name:    "XtuDataGatheringConfiguration",
+		ClassID: 413,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetNext,
+			Set,
+		),
+		AllowedAttributeMask: 0xf800,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField("LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable", TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: TableField("LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable", TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field("LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field("LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: ByteField("LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+	}
+}
+
+// NewXtuDataGatheringConfiguration (class ID 413) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewXtuDataGatheringConfiguration(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*xtudatagatheringconfigurationBME, params...)
+}
diff --git a/vendor/github.com/opencord/omci-lib-go/go.mod b/vendor/github.com/opencord/omci-lib-go/go.mod
new file mode 100644
index 0000000..77a4226
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/go.mod
@@ -0,0 +1,21 @@
+module github.com/opencord/omci-lib-go
+
+go 1.13
+
+require (
+	github.com/aead/cmac v0.0.0-20160719120800-7af84192f0b1
+	github.com/deckarep/golang-set v1.7.1
+	github.com/google/gopacket v1.1.17
+	github.com/stretchr/objx v0.2.0 // indirect
+	github.com/stretchr/testify v1.5.1
+	golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d // indirect
+	golang.org/x/mod v0.2.0 // indirect
+	golang.org/x/net v0.0.0-20200222125558-5a598a2470a0 // indirect
+	golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect
+	golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae // indirect
+	golang.org/x/text v0.3.2 // indirect
+	golang.org/x/tools v0.0.0-20200221224223-e1da425f72fd // indirect
+	golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 // indirect
+	gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
+	gopkg.in/yaml.v2 v2.2.8 // indirect
+)
diff --git a/vendor/github.com/opencord/omci-lib-go/go.sum b/vendor/github.com/opencord/omci-lib-go/go.sum
new file mode 100644
index 0000000..dd264c4
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/go.sum
@@ -0,0 +1,47 @@
+github.com/aead/cmac v0.0.0-20160719120800-7af84192f0b1 h1:+JkXLHME8vLJafGhOH4aoV2Iu8bR55nU6iKMVfYVLjY=
+github.com/aead/cmac v0.0.0-20160719120800-7af84192f0b1/go.mod h1:nuudZmJhzWtx2212z+pkuy7B6nkBqa+xwNXZHL1j8cg=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/deckarep/golang-set v1.7.1 h1:SCQV0S6gTtp6itiFrTqI+pfmJ4LN85S1YzhDf9rTHJQ=
+github.com/deckarep/golang-set v1.7.1/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
+github.com/google/gopacket v1.1.16-0.20190128161349-66eed7fc5258/go.mod h1:UCLx9mCmAwsVbn6qQl1WIEt2SO7Nd2fD0th1TBAsqBw=
+github.com/google/gopacket v1.1.17 h1:rMrlX2ZY2UbvT+sdz3+6J+pp2z+msCq9MxTU6ymxbBY=
+github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
+github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190405154228-4b34438f7a67/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20200211045251-2de505fc5306/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200221224223-e1da425f72fd/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
+gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/vendor/github.com/cboling/omci/layers.go b/vendor/github.com/opencord/omci-lib-go/layers.go
similarity index 98%
rename from vendor/github.com/cboling/omci/layers.go
rename to vendor/github.com/opencord/omci-lib-go/layers.go
index f895f14..f05c34b 100644
--- a/vendor/github.com/cboling/omci/layers.go
+++ b/vendor/github.com/opencord/omci-lib-go/layers.go
@@ -1,24 +1,25 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
- *
  */
+
 package omci
 
 import (
 	"errors"
-	me "github.com/cboling/omci/generated"
+	me "github.com/opencord/omci-lib-go/generated"
 	"github.com/google/gopacket"
 )
 
diff --git a/vendor/github.com/cboling/omci/mebase.go b/vendor/github.com/opencord/omci-lib-go/mebase.go
similarity index 81%
rename from vendor/github.com/cboling/omci/mebase.go
rename to vendor/github.com/opencord/omci-lib-go/mebase.go
index 7692bbf..750233d 100644
--- a/vendor/github.com/cboling/omci/mebase.go
+++ b/vendor/github.com/opencord/omci-lib-go/mebase.go
@@ -1,25 +1,26 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
- *
  */
+
 package omci
 
 import (
 	"encoding/binary"
 	"fmt"
-	me "github.com/cboling/omci/generated"
+	me "github.com/opencord/omci-lib-go/generated"
 	"github.com/google/gopacket"
 	"github.com/google/gopacket/layers"
 )
@@ -38,25 +39,32 @@
 		msg.EntityClass, msg.EntityInstance, msg.EntityInstance)
 }
 
+// CanDecode returns the set of layer types that this DecodingLayer can decode
 func (msg *MeBasePacket) CanDecode() gopacket.LayerClass {
 	return msg.MsgLayerType
 }
 
-// Layer Interface implementations
+// LayerType returns MsgLayerType. It partially satisfies Layer and SerializableLayer
 func (msg *MeBasePacket) LayerType() gopacket.LayerType {
 	return msg.MsgLayerType
 }
+
+// LayerContents returns the bytes of the packet layer.
 func (msg *MeBasePacket) LayerContents() []byte {
 	return msg.Contents
 }
+
+// LayerPayload returns the bytes contained within the packet layer
 func (msg *MeBasePacket) LayerPayload() []byte {
 	return msg.Payload
 }
 
-// layerDecodingLayer Interface implementations
+// NextLayerType returns the layer type contained by this DecodingLayer
 func (msg *MeBasePacket) NextLayerType() gopacket.LayerType {
 	return gopacket.LayerTypeZero
 }
+
+// DecodeFromBytes decodes the given bytes into this layer
 func (msg *MeBasePacket) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Note: Base OMCI frame already checked for frame with at least 10 octets
 	msg.EntityClass = me.ClassID(binary.BigEndian.Uint16(data[0:]))
@@ -64,6 +72,8 @@
 	msg.BaseLayer = layers.BaseLayer{Contents: data[:4], Payload: data[4:]}
 	return nil
 }
+
+// SerializeTo provides serialization of this message layer
 func (msg *MeBasePacket) SerializeTo(b gopacket.SerializeBuffer) error {
 	// Add class ID and entity ID
 	bytes, err := b.PrependBytes(4)
diff --git a/vendor/github.com/cboling/omci/meframe.go b/vendor/github.com/opencord/omci-lib-go/meframe.go
similarity index 94%
rename from vendor/github.com/cboling/omci/meframe.go
rename to vendor/github.com/opencord/omci-lib-go/meframe.go
index c42e091..70edf4f 100644
--- a/vendor/github.com/cboling/omci/meframe.go
+++ b/vendor/github.com/opencord/omci-lib-go/meframe.go
@@ -10,19 +10,20 @@
  * 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.
- */
-/*
+  */
+ /*
  * NOTE: This file was generated, manual edits will be overwritten!
  *
  * Generated by 'goCodeGenerator.py':
- *              https://github.com/cboling/OMCI-parser/README.md
+ *              https://github.com/opencord/omci-lib-go/OMCI-parser/README.md
  */
+
 package omci
 
 import (
 	"errors"
 	"fmt"
-	me "github.com/cboling/omci/generated"
+	me "github.com/opencord/omci-lib-go/generated"
 	"github.com/deckarep/golang-set"
 	"github.com/google/gopacket"
 	"time"
@@ -91,6 +92,7 @@
 	alarm                     AlarmOptions    // Alarm related frames
 	software                  SoftwareOptions // Software image related frames
 	payload                   interface{}     // ME or list of MEs, alarm bitmap, timestamp, ...
+	addDefaults               bool            // Add missing SetByCreate attributes for Create Requests
 }
 
 var defaultFrameOptions = options{
@@ -106,6 +108,7 @@
 	software:                  defaultSoftwareOptions,
 	alarm:                     defaultAlarmOptions,
 	payload:                   nil,
+	addDefaults:               false,
 }
 
 // FrameOption sets options such as frame format, etc.
@@ -254,16 +257,25 @@
 	}
 }
 
+// AddDefaults is used to specify that if a SetByCreate attribute is not
+// specified in the list of attributes for a Create Request, use the attribute
+// defined default
+func AddDefaults(add bool) FrameOption {
+	return func(o *options) {
+		o.addDefaults = add
+	}
+}
+
 // Alarm related frames have a wide variety of settable values. Placing them
 // in a separate struct is mainly to keep the base options simple
 type AlarmOptions struct {
-	AlarmClassId  me.ClassID
+	AlarmClassID  me.ClassID
 	AlarmInstance uint16
 	AlarmBitmap   []byte // Should be up to 58 octets
 }
 
 var defaultAlarmOptions = AlarmOptions{
-	AlarmClassId:  0,
+	AlarmClassID:  0,
 	AlarmInstance: 0,
 	AlarmBitmap:   nil,
 }
@@ -305,7 +317,8 @@
 	// TODO: If AttributesMask option passed in, check for deprecated options. Allow encoding option
 	//       that will ignore deprecated option.   Add additional in the get and set meframe_test,go
 	//       test functions to test this. Also have it test attribute name(s) to see if the attribute
-	//       is deprecated.  The OMCI-Parser will need to decode deprecated for us...
+	//       is deprecated.  The OMCI-Parser now supports detection of deprecated attributes and
+	//       provides that to the code-generator (and currently available in generated golang code).
 	// Note: Transaction ID should be set before frame serialization
 	omci := &OMCI{
 		TransactionID:    opts.transactionID,
@@ -318,7 +331,7 @@
 	if encoder, ok := encoderMap[messageType]; ok {
 		meInfo, err = encoder(m, opts)
 	} else {
-		err = errors.New(fmt.Sprintf("message-type: %v/%#x is not supported", messageType, messageType))
+		err = fmt.Errorf("message-type: %v/%#x is not supported", messageType, messageType)
 	}
 	if err != nil {
 		return nil, nil, err
@@ -358,20 +371,20 @@
 
 func calculateAttributeMask(m *me.ManagedEntity, requestedMask uint16) (uint16, error) {
 	attrDefs := m.GetAttributeDefinitions()
-	var entityIdName string
-	if entry, ok := (*attrDefs)[0]; ok {
-		entityIdName = entry.GetName()
+	var entityIDName string
+	if entry, ok := attrDefs[0]; ok {
+		entityIDName = entry.GetName()
 	} else {
 		panic("unexpected error") // All attribute definition maps have an entity ID
 	}
 	attributeNames := make([]interface{}, 0)
-	for attrName := range *m.GetAttributeValueMap() {
-		if attrName == entityIdName {
+	for attrName := range m.GetAttributeValueMap() {
+		if attrName == entityIDName {
 			continue // No mask for EntityID
 		}
 		attributeNames = append(attributeNames, attrName)
 	}
-	calculatedMask, err := me.GetAttributeBitmap(*attrDefs, mapset.NewSetWith(attributeNames...))
+	calculatedMask, err := me.GetAttributesBitmap(attrDefs, mapset.NewSetWith(attributeNames...))
 
 	if err != nil {
 		return 0, err
@@ -409,7 +422,22 @@
 			EntityClass:    m.GetClassID(),
 			EntityInstance: m.GetEntityID(),
 		},
-		Attributes: *m.GetAttributeValueMap(),
+		Attributes: m.GetAttributeValueMap(),
+	}
+	// Add any missing SetByCreate options if requested
+	if opt.addDefaults {
+		if attrDefs, err := me.GetAttributesDefinitions(m.GetClassID()); err.StatusCode() == me.Success {
+			for index, attr := range attrDefs {
+				if me.SupportsAttributeAccess(attr, me.SetByCreate) {
+					if index == 0 {
+						continue // Skip Entity ID, if it is SetByCreate, they should always specify it
+					}
+					if _, found := meLayer.Attributes[attr.GetName()]; !found {
+						meLayer.Attributes[attr.GetName()] = attr.DefValue
+					}
+				}
+			}
+		}
 	}
 	return meLayer, nil
 }
@@ -420,8 +448,7 @@
 			EntityClass:    m.GetClassID(),
 			EntityInstance: m.GetEntityID(),
 		},
-		Result:                 opt.result,
-		AttributeExecutionMask: opt.attributeMask,
+		Result: opt.result,
 	}
 	if meLayer.Result == me.ParameterError {
 		meLayer.AttributeExecutionMask = opt.attrExecutionMask
@@ -460,8 +487,8 @@
 		return nil, err
 	}
 	meDefinition := m.GetManagedEntityDefinition()
-	attrDefs := *meDefinition.GetAttributeDefinitions()
-	attrMap := *m.GetAttributeValueMap()
+	attrDefs := meDefinition.GetAttributeDefinitions()
+	attrMap := m.GetAttributeValueMap()
 
 	// Get payload space available
 	maxPayload := maxPacketAvailable(m, opt)
@@ -498,8 +525,8 @@
 				// Is space available?
 				if attrDef.Size <= payloadAvailable {
 					// Mark bit handled
-					mask &= ^(1 << (16 - attrIndex))
-					meLayer.AttributeMask |= 1 << (16 - attrIndex)
+					mask &= ^attrDef.Mask
+					meLayer.AttributeMask |= attrDef.Mask
 					meLayer.Attributes[attrDef.Name] = attrValue
 					payloadAvailable -= attrDef.Size
 				} else {
@@ -590,8 +617,8 @@
 		maxPayload := maxPacketAvailable(m, opt)
 		payloadAvailable := int(maxPayload) - 2 - 4 // Less attribute mask and attribute error encoding
 		meDefinition := m.GetManagedEntityDefinition()
-		attrDefs := *meDefinition.GetAttributeDefinitions()
-		attrMap := *m.GetAttributeValueMap()
+		attrDefs := meDefinition.GetAttributeDefinitions()
+		attrMap := m.GetAttributeValueMap()
 
 		if mask != 0 {
 			// Iterate down the attributes (Attribute 0 is the ManagedEntity ID)
@@ -616,8 +643,8 @@
 					// Is space available?
 					if attrDef.Size <= payloadAvailable {
 						// Mark bit handled
-						mask &= ^(1 << (16 - attrIndex))
-						meLayer.AttributeMask |= 1 << (16 - attrIndex)
+						mask &= ^attrDef.Mask
+						meLayer.AttributeMask |= attrDef.Mask
 						meLayer.Attributes[attrDef.Name] = attrValue
 						payloadAvailable -= attrDef.Size
 
@@ -628,7 +655,7 @@
 						return nil, me.NewMessageTruncatedError(msg)
 					} else {
 						// Add to existing 'failed' mask and update result
-						meLayer.FailedAttributeMask |= 1 << (16 - attrIndex)
+						meLayer.FailedAttributeMask |= attrDef.Mask
 						meLayer.Result = me.AttributeFailure
 					}
 				}
@@ -681,7 +708,7 @@
 			EntityClass:    m.GetClassID(),
 			EntityInstance: m.GetEntityID(),
 		},
-		AlarmEntityClass:    opt.alarm.AlarmClassId,
+		AlarmEntityClass:    opt.alarm.AlarmClassID,
 		AlarmEntityInstance: opt.alarm.AlarmInstance,
 	}
 	if len(opt.alarm.AlarmBitmap) > 28 {
@@ -742,7 +769,7 @@
 	if opt.payload == nil {
 		// Shortcut used to specify the request sequence number is out of range, encode
 		// a ME instance with class ID of zero to specify this per ITU G.988
-		meDef := &me.ManagedEntityDefinition{
+		meDef := me.ManagedEntityDefinition{
 			Name:                 "InvalidSequenceNumberManagedEntity",
 			ClassID:              me.ClassID(0),
 			MessageTypes:         nil,
@@ -1201,8 +1228,8 @@
 		maxPayload := maxPacketAvailable(m, opt)
 		payloadAvailable := int(maxPayload) - 3 // Less results and attribute mask
 		meDefinition := m.GetManagedEntityDefinition()
-		attrDefs := *meDefinition.GetAttributeDefinitions()
-		attrMap := *m.GetAttributeValueMap()
+		attrDefs := meDefinition.GetAttributeDefinitions()
+		attrMap := m.GetAttributeValueMap()
 
 		if mask == 0 {
 			return nil, errors.New("no attributes requested for GetNextResponse")
@@ -1230,8 +1257,8 @@
 				// Is space available?
 				if attrDef.Size <= payloadAvailable {
 					// Mark bit handled
-					mask &= ^(1 << (16 - attrIndex))
-					meLayer.AttributeMask |= 1 << (16 - attrIndex)
+					mask &= ^attrDef.Mask
+					meLayer.AttributeMask |= attrDef.Mask
 					meLayer.Attributes[attrDef.Name] = attrValue
 					payloadAvailable -= attrDef.Size
 				} else {
diff --git a/vendor/github.com/cboling/omci/messagetypes.go b/vendor/github.com/opencord/omci-lib-go/messagetypes.go
similarity index 79%
rename from vendor/github.com/cboling/omci/messagetypes.go
rename to vendor/github.com/opencord/omci-lib-go/messagetypes.go
index 8ac4dde..8cca403 100644
--- a/vendor/github.com/cboling/omci/messagetypes.go
+++ b/vendor/github.com/opencord/omci-lib-go/messagetypes.go
@@ -1,27 +1,28 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
- *
  */
+
 package omci
 
 import (
 	"encoding/binary"
 	"errors"
 	"fmt"
-	me "github.com/cboling/omci/generated"
 	"github.com/google/gopacket"
+	me "github.com/opencord/omci-lib-go/generated"
 )
 
 // MessageType is the OMCI Message Type or'ed with the AR/AK flags as appropriate.
@@ -179,6 +180,7 @@
 	return fmt.Sprintf("%v, attributes: %v", omci.MeBasePacket.String(), omci.Attributes)
 }
 
+// DecodeFromBytes decodes the given bytes of a Create Request into this layer
 func (omci *CreateRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
@@ -186,23 +188,22 @@
 		return err
 	}
 	// Create attribute mask for all set-by-create entries
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Create
 	if !me.SupportsMsgType(meDefinition, me.Create) {
 		return me.NewProcessingError("managed entity does not support Create Message-Type")
 	}
 	var sbcMask uint16
-	for index, attr := range *meDefinition.GetAttributeDefinitions() {
+	for index, attr := range meDefinition.GetAttributeDefinitions() {
 		if me.SupportsAttributeAccess(attr, me.SetByCreate) {
 			if index == 0 {
 				continue // Skip Entity ID
 			}
-			sbcMask |= 1 << (15 - uint(index-1))
+			sbcMask |= attr.Mask
 		}
 	}
 	// Attribute decode
@@ -210,7 +211,7 @@
 	if err != nil {
 		return err
 	}
-	if eidDef, eidDefOK := (*meDefinition.GetAttributeDefinitions())[0]; eidDefOK {
+	if eidDef, eidDefOK := meDefinition.GetAttributeDefinitions()[0]; eidDefOK {
 		omci.Attributes[eidDef.GetName()] = omci.EntityInstance
 		return nil
 	}
@@ -223,31 +224,34 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Create Request Message
 func (omci *CreateRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
+	// Create attribute mask of SetByCreate attributes that should be present in the provided
+	// attributes.
 	var sbcMask uint16
-	for index, attr := range *meDefinition.GetAttributeDefinitions() {
+	for index, attr := range meDefinition.GetAttributeDefinitions() {
 		if me.SupportsAttributeAccess(attr, me.SetByCreate) {
 			if index == 0 {
 				continue // Skip Entity ID
 			}
-			sbcMask |= 1 << (15 - uint(index-1))
+			sbcMask |= attr.Mask
 		}
 	}
 	// Attribute serialization
 	// TODO: Only Baseline supported at this time
 	bytesAvailable := MaxBaselineLength - 8 - 8
-	return meDefinition.SerializeAttributes(omci.Attributes, sbcMask, b, byte(CreateRequestType), bytesAvailable)
+	err, _ = meDefinition.SerializeAttributes(omci.Attributes, sbcMask, b, byte(CreateRequestType), bytesAvailable, false)
+	return err
 }
 
 /////////////////////////////////////////////////////////////////////////////
@@ -263,17 +267,17 @@
 		omci.MeBasePacket.String(), omci.Result, omci.Result, omci.AttributeExecutionMask)
 }
 
+// DecodeFromBytes decodes the given bytes of a Create Response into this layer
 func (omci *CreateResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Create
 	if !me.SupportsMsgType(entity, me.Create) {
@@ -293,17 +297,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Create Response message
 func (omci *CreateResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Create
 	if !me.SupportsMsgType(entity, me.Create) {
@@ -333,17 +337,17 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a Delete Request into this layer
 func (omci *DeleteRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Delete
 	if !me.SupportsMsgType(entity, me.Delete) {
@@ -358,17 +362,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Delete Request message
 func (omci *DeleteRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Delete
 	if !me.SupportsMsgType(entity, me.Delete) {
@@ -389,17 +393,17 @@
 		omci.MeBasePacket.String(), omci.Result, omci.Result)
 }
 
+// DecodeFromBytes decodes the given bytes of a Delete Response into this layer
 func (omci *DeleteResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Delete
 	if !me.SupportsMsgType(entity, me.Delete) {
@@ -415,17 +419,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Delete Response message
 func (omci *DeleteResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Delete
 	if !me.SupportsMsgType(entity, me.Delete) {
@@ -452,17 +456,17 @@
 		omci.MeBasePacket.String(), omci.AttributeMask, omci.Attributes)
 }
 
+// DecodeFromBytes decodes the given bytes of a Set Request into this layer
 func (omci *SetRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Set
 	if !me.SupportsMsgType(meDefinition, me.Set) {
@@ -481,12 +485,12 @@
 		if err != nil {
 			return err
 		}
-		if attr.Index != 0 && !me.SupportsAttributeAccess(attr, me.Write) {
+		if attr.Index != 0 && !me.SupportsAttributeAccess(*attr, me.Write) {
 			msg := fmt.Sprintf("attribute '%v' does not support write access", attrName)
 			return me.NewProcessingError(msg)
 		}
 	}
-	if eidDef, eidDefOK := (*meDefinition.GetAttributeDefinitions())[0]; eidDefOK {
+	if eidDef, eidDefOK := meDefinition.GetAttributeDefinitions()[0]; eidDefOK {
 		omci.Attributes[eidDef.GetName()] = omci.EntityInstance
 		return nil
 	}
@@ -499,17 +503,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Set Request message
 func (omci *SetRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Set
 	if !me.SupportsMsgType(meDefinition, me.Set) {
@@ -522,7 +526,7 @@
 			return err
 		}
 		// Do not test for write of Entity ID in the attribute list
-		if attr.Index != 0 && !me.SupportsAttributeAccess(attr, me.Write) {
+		if attr.Index != 0 && !me.SupportsAttributeAccess(*attr, me.Write) {
 			// TODO: Check ITU spec to see if this should be listed as a failed
 			//       attribute and not a processing error.
 			msg := fmt.Sprintf("attribute '%v' does not support write access", attrName)
@@ -539,8 +543,9 @@
 	// TODO: Only Baseline supported at this time
 	bytesAvailable := MaxBaselineLength - 10 - 8
 
-	return meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask, b,
-		byte(SetRequestType), bytesAvailable)
+	err, _ = meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask, b,
+		byte(SetRequestType), bytesAvailable, false)
+	return err
 }
 
 /////////////////////////////////////////////////////////////////////////////
@@ -558,17 +563,17 @@
 		omci.FailedAttributeMask)
 }
 
+// DecodeFromBytes decodes the given bytes of a Set Response into this layer
 func (omci *SetResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Set
 	if !me.SupportsMsgType(entity, me.Set) {
@@ -589,17 +594,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Set Response message
 func (omci *SetResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Set
 	if !me.SupportsMsgType(entity, me.Set) {
@@ -626,17 +631,18 @@
 	return fmt.Sprintf("%v, Mask: %#x",
 		omci.MeBasePacket.String(), omci.AttributeMask)
 }
+
+// DecodeFromBytes decodes the given bytes of a Get Request into this layer
 func (omci *GetRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get
 	if !me.SupportsMsgType(meDefinition, me.Get) {
@@ -652,17 +658,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get Request message
 func (omci *GetRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Set
 	if !me.SupportsMsgType(meDefinition, me.Get) {
@@ -693,17 +699,17 @@
 		omci.UnsupportedAttributeMask, omci.FailedAttributeMask, omci.Attributes)
 }
 
+// DecodeFromBytes decodes the given bytes of a Get Response into this layer
 func (omci *GetResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get
 	if !me.SupportsMsgType(meDefinition, me.Get) {
@@ -719,7 +725,12 @@
 	//                   octets for data if the status code == 0.  So accommodate
 	//                   this behaviour in favor of greater interoperability.
 	lastOctet := 36
-	if omci.Result == me.AttributeFailure {
+
+	switch omci.Result {
+	case me.ProcessingError, me.NotSupported, me.UnknownEntity, me.UnknownInstance, me.DeviceBusy:
+		return nil // Done (do not try and decode attributes)
+
+	case me.AttributeFailure:
 		lastOctet = 32
 	}
 	omci.Attributes, err = meDefinition.DecodeAttributes(omci.AttributeMask, data[7:lastOctet], p, byte(GetResponseType))
@@ -737,12 +748,12 @@
 		if err != nil {
 			return err
 		}
-		if attr.Index != 0 && !me.SupportsAttributeAccess(attr, me.Read) {
+		if attr.Index != 0 && !me.SupportsAttributeAccess(*attr, me.Read) {
 			msg := fmt.Sprintf("attribute '%v' does not support read access", attrName)
 			return me.NewProcessingError(msg)
 		}
 	}
-	if eidDef, eidDefOK := (*meDefinition.GetAttributeDefinitions())[0]; eidDefOK {
+	if eidDef, eidDefOK := meDefinition.GetAttributeDefinitions()[0]; eidDefOK {
 		omci.Attributes[eidDef.GetName()] = omci.EntityInstance
 		return nil
 	}
@@ -755,17 +766,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get Response message
 func (omci *GetResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
-	err := omci.MeBasePacket.SerializeTo(b)
-	if err != nil {
+	if err := omci.MeBasePacket.SerializeTo(b); err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get
 	if !me.SupportsMsgType(meDefinition, me.Get) {
@@ -784,7 +795,7 @@
 		if err != nil {
 			return err
 		}
-		if attr.Index != 0 && !me.SupportsAttributeAccess(attr, me.Read) {
+		if attr.Index != 0 && !me.SupportsAttributeAccess(*attr, me.Read) {
 			msg := fmt.Sprintf("attribute '%v' does not support read access", attrName)
 			return me.NewProcessingError(msg)
 		}
@@ -796,13 +807,36 @@
 
 	case me.Success, me.AttributeFailure:
 		// TODO: Baseline only supported at this time)
-		bytesAvailable := MaxBaselineLength - 11 - 4 - 8
+		available := MaxBaselineLength - 11 - 4 - 8
 
-		err = meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask,
-			b, byte(GetResponseType), bytesAvailable)
+		// Serialize to temporary buffer if we may need to reset values due to
+		// recoverable truncation errors
+		origBuffer := b
+		b := gopacket.NewSerializeBuffer()
+
+		err, failedMask := meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask, b, byte(GetResponseType),
+			available, opts.FixLengths)
+
+		if err == nil && failedMask != 0 && opts.FixLengths {
+			// Not all attributes would fit
+			omci.FailedAttributeMask |= failedMask
+			omci.AttributeMask &= ^failedMask
+			omci.Result = me.AttributeFailure
+
+			// Adjust already recorded values
+			bytes[0] = byte(omci.Result)
+			binary.BigEndian.PutUint16(bytes[1:3], omci.AttributeMask)
+		} else if err != nil {
+			return err
+		}
+		// Copy over attributes to the original serialization buffer
+		newSpace, err := origBuffer.AppendBytes(len(b.Bytes()))
 		if err != nil {
 			return err
 		}
+		copy(newSpace, b.Bytes())
+		b = origBuffer
+
 		// Calculate space left. Max  - msgType header - OMCI trailer - spacedUsedSoFar
 		bytesLeft := MaxBaselineLength - 4 - 8 - len(b.Bytes())
 
@@ -811,6 +845,7 @@
 			return me.NewMessageTruncatedError(err.Error())
 		}
 		copy(remainingBytes, lotsOfZeros[:])
+
 		if omci.Result == me.AttributeFailure {
 			binary.BigEndian.PutUint16(remainingBytes[bytesLeft-4:bytesLeft-2], omci.UnsupportedAttributeMask)
 			binary.BigEndian.PutUint16(remainingBytes[bytesLeft-2:bytesLeft], omci.FailedAttributeMask)
@@ -831,24 +866,24 @@
 		omci.MeBasePacket.String(), omci.AlarmRetrievalMode)
 }
 
+// DecodeFromBytes decodes the given bytes of a Get All Alarms Request into this layer
 func (omci *GetAllAlarmsRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get All Alarms
 	if !me.SupportsMsgType(meDefinition, me.GetAllAlarms) {
 		return me.NewProcessingError("managed entity does not support Get All Alarms Message-Type")
 	}
 	// Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		msg := fmt.Sprintf("invalid Entity Class for Get All Alarms request: %v",
 			omci.EntityClass)
 		return me.NewProcessingError(msg)
@@ -873,17 +908,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get All Alarms Request message
 func (omci *GetAllAlarmsRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get All Alarms
 	if !me.SupportsMsgType(entity, me.GetAllAlarms) {
@@ -909,24 +944,24 @@
 		omci.MeBasePacket.String(), omci.NumberOfCommands)
 }
 
+// DecodeFromBytes decodes the given bytes of a Get All Alarms Response into this layer
 func (omci *GetAllAlarmsResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get All Alarms
 	if !me.SupportsMsgType(meDefinition, me.GetAllAlarms) {
 		return me.NewProcessingError("managed entity does not support Get All Alarms Message-Type")
 	}
 	// Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		msg := fmt.Sprintf("invalid Entity Class for Get All Alarms response: %v",
 			omci.EntityClass)
 		return me.NewProcessingError(msg)
@@ -946,17 +981,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get All Alarms Response message
 func (omci *GetAllAlarmsResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get All Alarms
 	if !me.SupportsMsgType(entity, me.GetAllAlarms) {
@@ -982,24 +1017,24 @@
 		omci.MeBasePacket.String(), omci.CommandSequenceNumber)
 }
 
+// DecodeFromBytes decodes the given bytes of a Get All Alarms Next Request into this layer
 func (omci *GetAllAlarmsNextRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get All Alarms
 	if !me.SupportsMsgType(meDefinition, me.GetAllAlarmsNext) {
 		return me.NewProcessingError("managed entity does not support Get All Alarms Next Message-Type")
 	}
 	// Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		msg := fmt.Sprintf("invalid Entity Class for Get All Alarms Next request: %v",
 			omci.EntityClass)
 		return me.NewProcessingError(msg)
@@ -1019,17 +1054,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get All Alarms Next Request message
 func (omci *GetAllAlarmsNextRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get All Alarms Next
 	if !me.SupportsMsgType(entity, me.GetAllAlarmsNext) {
@@ -1058,24 +1093,24 @@
 		omci.AlarmEntityInstance, omci.AlarmBitMap)
 }
 
+// DecodeFromBytes decodes the given bytes of a Get All Alarms Next Response into this layer
 func (omci *GetAllAlarmsNextResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get All Alarms Next
 	if !me.SupportsMsgType(meDefinition, me.GetAllAlarmsNext) {
 		return me.NewProcessingError("managed entity does not support Get All Alarms Next Message-Type")
 	}
 	// Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		msg := fmt.Sprintf("invalid Entity Class for Get All Alarms Next response: %v",
 			omci.EntityClass)
 		return me.NewProcessingError(msg)
@@ -1098,17 +1133,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get All Alarms Next Response message
 func (omci *GetAllAlarmsNextResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get All Alarms Next
 	if !me.SupportsMsgType(entity, me.GetAllAlarmsNext) {
@@ -1134,21 +1169,24 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a MIB Upload Request into this layer
 func (omci *MibUploadRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
+	}
 	// ME needs to support MIB Upload
 	if !me.SupportsMsgType(meDefinition, me.MibUpload) {
 		return me.NewProcessingError("managed entity does not support MIB Upload Message-Type")
 	}
 	// Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		msg := fmt.Sprintf("invalid Entity Class for  MIB Upload request: %v",
 			omci.EntityClass)
 		return me.NewProcessingError(msg)
@@ -1167,17 +1205,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an MIB Upload Request message
 func (omci *MibUploadRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get
 	if !me.SupportsMsgType(meDefinition, me.MibUpload) {
@@ -1198,24 +1236,24 @@
 		omci.MeBasePacket.String(), omci.NumberOfCommands)
 }
 
+// DecodeFromBytes decodes the given bytes of a MIB Upload Response into this layer
 func (omci *MibUploadResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support MIB Upload
 	if !me.SupportsMsgType(meDefinition, me.MibUpload) {
 		return me.NewProcessingError("managed entity does not support MIB Upload Message-Type")
 	}
 	// Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		msg := fmt.Sprintf("invalid Entity Class for  MIB Upload response: %v",
 			omci.EntityClass)
 		return me.NewProcessingError(msg)
@@ -1235,17 +1273,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an MIB Upload Response message
 func (omci *MibUploadResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support MIB Upload
 	if !me.SupportsMsgType(entity, me.MibUpload) {
@@ -1271,24 +1309,24 @@
 		omci.MeBasePacket.String(), omci.CommandSequenceNumber)
 }
 
+// DecodeFromBytes decodes the given bytes of a MIB Upload Next Request into this layer
 func (omci *MibUploadNextRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get All Alarms
 	if !me.SupportsMsgType(meDefinition, me.MibUploadNext) {
 		return me.NewProcessingError("managed entity does not support MIB Upload Next Message-Type")
 	}
 	// Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		msg := fmt.Sprintf("invalid Entity Class for  MIB Upload Next request: %v",
 			omci.EntityClass)
 		return me.NewProcessingError(msg)
@@ -1308,17 +1346,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an MIB Upload Next Request message
 func (omci *MibUploadNextRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support MIB upload
 	if !me.SupportsMsgType(entity, me.MibUploadNext) {
@@ -1344,24 +1382,24 @@
 		omci.MeBasePacket.String(), omci.ReportedME.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a MIB Upload Next Response into this layer
 func (omci *MibUploadNextResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support MibUploadNext
 	if !me.SupportsMsgType(meDefinition, me.MibUploadNext) {
 		return me.NewProcessingError("managed entity does not support MIB Upload Next Message-Type")
 	}
 	// Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		msg := fmt.Sprintf("invalid Entity Class for  MIB Upload Next response: %v",
 			omci.EntityClass)
 		return me.NewProcessingError(msg)
@@ -1383,17 +1421,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an MIB Upload Next Response message
 func (omci *MibUploadNextResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support MIB Upload
 	if !me.SupportsMsgType(entity, me.MibUploadNext) {
@@ -1402,7 +1440,7 @@
 	// TODO: Only Baseline supported at this time
 	bytesAvailable := MaxBaselineLength - 8 - 8
 
-	return omci.ReportedME.SerializeTo(b, byte(MibUploadNextResponseType), bytesAvailable)
+	return omci.ReportedME.SerializeTo(b, byte(MibUploadNextResponseType), bytesAvailable, opts)
 }
 
 /////////////////////////////////////////////////////////////////////////////
@@ -1415,24 +1453,24 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a MIB Reset Request into this layer
 func (omci *MibResetRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support MIB reset
 	if !me.SupportsMsgType(meDefinition, me.MibReset) {
 		return me.NewProcessingError("managed entity does not support MIB Reset Message-Type")
 	}
 	// Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		msg := fmt.Sprintf("invalid Entity Class for MIB Reset request: %v",
 			omci.EntityClass)
 		return me.NewProcessingError(msg)
@@ -1451,6 +1489,7 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an MIB Reset Request message
 func (omci *MibResetRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Add class ID and entity ID
 	return omci.MeBasePacket.SerializeTo(b)
@@ -1468,17 +1507,17 @@
 		omci.MeBasePacket.String(), omci.Result, omci.Result)
 }
 
+// DecodeFromBytes decodes the given bytes of a MIB Reset Response into this layer
 func (omci *MibResetResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support MIB reset
 	if !me.SupportsMsgType(meDefinition, me.MibReset) {
@@ -1486,7 +1525,7 @@
 	}
 	// MIB Reset Response Entity Class always ONU DATA (2) and
 	// Entity Instance of 0
-	if omci.EntityClass != me.OnuDataClassId {
+	if omci.EntityClass != me.OnuDataClassID {
 		return me.NewProcessingError("invalid Entity Class for MIB Reset Response")
 	}
 	if omci.EntityInstance != 0 {
@@ -1506,17 +1545,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an MIB Reset Response message
 func (omci *MibResetResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Set
 	if !me.SupportsMsgType(entity, me.MibReset) {
@@ -1551,6 +1590,20 @@
 		msg := fmt.Sprintf("invalid alarm number: %v, must be 0..224", alarmNumber)
 		return false, errors.New(msg)
 	}
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
+		me.ParamData{EntityID: omci.EntityInstance})
+	if omciErr.StatusCode() != me.Success {
+		return false, omciErr.GetError()
+	}
+	alarmMap := entity.GetAlarmMap()
+	if alarmMap == nil {
+		msg := "Managed Entity does not support Alarm notifications"
+		return false, errors.New(msg)
+	}
+	if _, ok := alarmMap[alarmNumber]; !ok {
+		msg := fmt.Sprintf("unsupported invalid alarm number: %v", alarmNumber)
+		return false, errors.New(msg)
+	}
 	octet := alarmNumber / 8
 	bit := 7 - (alarmNumber % 8)
 	return omci.AlarmBitmap[octet]>>bit == 1, nil
@@ -1561,6 +1614,19 @@
 		msg := fmt.Sprintf("invalid alarm number: %v, must be 0..224", alarmNumber)
 		return false, errors.New(msg)
 	}
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
+		me.ParamData{EntityID: omci.EntityInstance})
+	if omciErr.StatusCode() != me.Success {
+		return false, omciErr.GetError()
+	}
+	alarmMap := entity.GetAlarmMap()
+	if alarmMap == nil {
+		return false, errors.New("Managed Entity does not support Alarm notifications")
+	}
+	if _, ok := alarmMap[alarmNumber]; !ok {
+		msg := fmt.Sprintf("unsupported invalid alarm number: %v", alarmNumber)
+		return false, errors.New(msg)
+	}
 	octet := alarmNumber / 8
 	bit := 7 - (alarmNumber % 8)
 	return omci.AlarmBitmap[octet]>>bit == 0, nil
@@ -1571,6 +1637,19 @@
 		msg := fmt.Sprintf("invalid alarm number: %v, must be 0..224", alarmNumber)
 		return errors.New(msg)
 	}
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
+		me.ParamData{EntityID: omci.EntityInstance})
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
+	}
+	alarmMap := entity.GetAlarmMap()
+	if alarmMap == nil {
+		return errors.New("Managed Entity does not support Alarm notifications")
+	}
+	if _, ok := alarmMap[alarmNumber]; !ok {
+		msg := fmt.Sprintf("unsupported invalid alarm number: %v", alarmNumber)
+		return errors.New(msg)
+	}
 	octet := alarmNumber / 8
 	bit := 7 - (alarmNumber % 8)
 	omci.AlarmBitmap[octet] |= 1 << bit
@@ -1582,39 +1661,57 @@
 		msg := fmt.Sprintf("invalid alarm number: %v, must be 0..224", alarmNumber)
 		return errors.New(msg)
 	}
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
+		me.ParamData{EntityID: omci.EntityInstance})
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
+	}
+	alarmMap := entity.GetAlarmMap()
+	if alarmMap == nil {
+		return errors.New("Managed Entity does not support Alarm notifications")
+	}
+	if _, ok := alarmMap[alarmNumber]; !ok {
+		msg := fmt.Sprintf("unsupported invalid alarm number: %v", alarmNumber)
+		return errors.New(msg)
+	}
 	octet := alarmNumber / 8
 	bit := 7 - (alarmNumber % 8)
 	omci.AlarmBitmap[octet] &= ^(1 << bit)
 	return nil
 }
 
+// DecodeFromBytes decodes the given bytes of an Alarm Notification into this layer
 func (omci *AlarmNotificationMsg) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	//var meDefinition me.IManagedEntityDefinition
-	//meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
-	//	me.ParamData{EntityID: omci.EntityInstance})
-	//if err != nil {
-	//	return err
-	//}
-	// ME needs to support Alarms
-	// TODO: Add attribute to ME to specify that alarm is allowed
-	//if !me.SupportsMsgType(meDefinition, me.MibReset) {
-	//	return me.NewProcesssingError("managed entity does not support MIB Reset Message-Type")
-	//}
-	for index, octet := range data[4 : (AlarmBitmapSize/8)-4] {
-		omci.AlarmBitmap[index] = octet
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
+		me.ParamData{EntityID: omci.EntityInstance})
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
-	padOffset := 4 + (AlarmBitmapSize / 8)
-	omci.zeroPadding[0] = data[padOffset]
-	omci.zeroPadding[1] = data[padOffset+1]
-	omci.zeroPadding[2] = data[padOffset+2]
+	// Is this an unsupported or vendor specific ME.  If so, it is not an error to decode
+	// the alarms.  We just cannot provide any alarm names.  Handle decode here.
+	classSupport := meDefinition.GetClassSupport()
+	isUnsupported := classSupport == me.UnsupportedManagedEntity ||
+		classSupport == me.UnsupportedVendorSpecificManagedEntity
 
-	omci.AlarmSequenceNumber = data[padOffset+3]
-	return nil
+	// Look for a non-nil/not empty Alarm Map to determine if this ME supports alarms
+	if alarmMap := meDefinition.GetAlarmMap(); isUnsupported || (alarmMap != nil && len(alarmMap) > 0) {
+		for index, octet := range data[4 : (AlarmBitmapSize/8)-4] {
+			omci.AlarmBitmap[index] = octet
+		}
+		padOffset := 4 + (AlarmBitmapSize / 8)
+		omci.zeroPadding[0] = data[padOffset]
+		omci.zeroPadding[1] = data[padOffset+1]
+		omci.zeroPadding[2] = data[padOffset+2]
+
+		omci.AlarmSequenceNumber = data[padOffset+3]
+		return nil
+	}
+	return me.NewProcessingError("managed entity does not support alarm notifications")
 }
 
 func decodeAlarmNotification(data []byte, p gopacket.PacketBuilder) error {
@@ -1623,6 +1720,7 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Alarm Notification message
 func (omci *AlarmNotificationMsg) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
@@ -1668,17 +1766,17 @@
 		omci.MeBasePacket.String(), omci.AttributeMask, omci.Attributes)
 }
 
+// DecodeFromBytes decodes the given bytes of an Attribute Value Change notification into this layer
 func (omci *AttributeValueChangeMsg) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	omci.AttributeMask = binary.BigEndian.Uint16(data[4:6])
 	// Attribute decode
@@ -1704,17 +1802,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Attribute Value Change Notification message
 func (omci *AttributeValueChangeMsg) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// TODO: Add support for attributes that can have an AVC associated with them and then add a check here
 	// Validate all attributes support AVC
@@ -1738,8 +1836,9 @@
 	// TODO: Only Baseline supported at this time
 	bytesAvailable := MaxBaselineLength - 10 - 8
 
-	return meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask, b,
-		byte(AttributeValueChangeType), bytesAvailable)
+	err, _ = meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask, b,
+		byte(AttributeValueChangeType), bytesAvailable, false)
+	return err
 }
 
 /////////////////////////////////////////////////////////////////////////////
@@ -1752,6 +1851,7 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a Test Request into this layer
 func (omci *TestRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
@@ -1767,6 +1867,7 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Test Request message
 func (omci *TestRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
@@ -1786,6 +1887,7 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a Test Response into this layer
 func (omci *TestResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
@@ -1801,6 +1903,7 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Test Response message
 func (omci *TestResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
@@ -1825,32 +1928,31 @@
 		omci.MeBasePacket.String(), omci.WindowSize, omci.ImageSize, omci.NumberOfCircuitPacks)
 }
 
+// DecodeFromBytes decodes the given bytes of a Start Software Download Request into this layer
 func (omci *StartSoftwareDownloadRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Start Software Download
 	if !me.SupportsMsgType(meDefinition, me.StartSoftwareDownload) {
 		return me.NewProcessingError("managed entity does not support Start Software Download Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Start Software Download request")
 	}
 	omci.WindowSize = data[4]
 	omci.ImageSize = binary.BigEndian.Uint32(data[5:9])
 	omci.NumberOfCircuitPacks = data[9]
 	if omci.NumberOfCircuitPacks < 1 || omci.NumberOfCircuitPacks > 9 {
-		msg := fmt.Sprintf("invalid number of Circuit Packs: %v, must be 1..9",
-			omci.NumberOfCircuitPacks)
-		return me.NewAttributeFailureError(msg)
+		return me.NewProcessingError(fmt.Sprintf("invalid number of Circuit Packs: %v, must be 1..9",
+			omci.NumberOfCircuitPacks))
 	}
 	omci.CircuitPacks = make([]uint16, omci.NumberOfCircuitPacks)
 	for index := 0; index < int(omci.NumberOfCircuitPacks); index++ {
@@ -1865,30 +1967,29 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Start Software Download Request message
 func (omci *StartSoftwareDownloadRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Start Software Download
 	if !me.SupportsMsgType(entity, me.StartSoftwareDownload) {
 		return me.NewProcessingError("managed entity does not support the SStart Software Download Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Start Software Download request")
 	}
 	if omci.NumberOfCircuitPacks < 1 || omci.NumberOfCircuitPacks > 9 {
-		msg := fmt.Sprintf("invalid number of Circuit Packs: %v, must be 1..9",
-			omci.NumberOfCircuitPacks)
-		return me.NewAttributeFailureError(msg)
+		return me.NewProcessingError(fmt.Sprintf("invalid number of Circuit Packs: %v, must be 1..9",
+			omci.NumberOfCircuitPacks))
 	}
 	bytes, err := b.AppendBytes(6 + (2 * int(omci.NumberOfCircuitPacks)))
 	if err != nil {
@@ -1928,24 +2029,24 @@
 		omci.MeBasePacket.String(), omci.Result, omci.WindowSize, omci.NumberOfInstances, omci.MeResults)
 }
 
+// DecodeFromBytes decodes the given bytes of a Start Software Download Response into this layer
 func (omci *StartSoftwareDownloadResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Start Software Download
 	if !me.SupportsMsgType(meDefinition, me.StartSoftwareDownload) {
 		return me.NewProcessingError("managed entity does not support Start Software Download Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Start Software Download response")
 	}
 	omci.Result = me.Results(data[4])
@@ -1984,24 +2085,24 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Start Software Download Response message
 func (omci *StartSoftwareDownloadResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Start Software Download
 	if !me.SupportsMsgType(meDefinition, me.StartSoftwareDownload) {
 		return me.NewProcessingError("managed entity does not support Start Software Download Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Start Software Download response")
 	}
 	bytes, err := b.AppendBytes(3 + (3 * int(omci.NumberOfInstances)))
@@ -2050,24 +2151,24 @@
 		omci.MeBasePacket.String(), omci.SectionNumber)
 }
 
+// DecodeFromBytes decodes the given bytes of a Download Section Request into this layer
 func (omci *DownloadSectionRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Download section
 	if !me.SupportsMsgType(meDefinition, me.DownloadSection) {
 		return me.NewProcessingError("managed entity does not support Download Section Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Download Section request")
 	}
 	omci.SectionNumber = data[4]
@@ -2081,24 +2182,24 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Download Section Request message
 func (omci *DownloadSectionRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Download section
 	if !me.SupportsMsgType(meDefinition, me.DownloadSection) {
 		return me.NewProcessingError("managed entity does not support Download Section Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Download Section response")
 	}
 	bytes, err := b.AppendBytes(1 + 29)
@@ -2123,24 +2224,24 @@
 		omci.MeBasePacket.String(), omci.Result, omci.Result, omci.SectionNumber)
 }
 
+// DecodeFromBytes decodes the given bytes of a Download Section Response into this layer
 func (omci *DownloadSectionResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Download section
 	if !me.SupportsMsgType(meDefinition, me.DownloadSection) {
 		return me.NewProcessingError("managed entity does not support Download Section Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Download Section response")
 	}
 	omci.Result = me.Results(data[4])
@@ -2159,24 +2260,24 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Download Section Response message
 func (omci *DownloadSectionResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Download section
 	if !me.SupportsMsgType(meDefinition, me.DownloadSection) {
 		return me.NewProcessingError("managed entity does not support Download Section Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Download Section response")
 	}
 	bytes, err := b.AppendBytes(2)
@@ -2208,24 +2309,24 @@
 		omci.MeBasePacket.String(), omci.CRC32, omci.ImageSize, omci.NumberOfInstances, omci.ImageInstances)
 }
 
+// DecodeFromBytes decodes the given bytes of an End Software Download Request into this layer
 func (omci *EndSoftwareDownloadRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.EndSoftwareDownload) {
 		return me.NewProcessingError("managed entity does not support End Software Download Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for End Software Download request")
 	}
 	omci.CRC32 = binary.BigEndian.Uint32(data[4:8])
@@ -2233,9 +2334,8 @@
 	omci.NumberOfInstances = data[13]
 
 	if omci.NumberOfInstances < 1 || omci.NumberOfInstances > 9 {
-		msg := fmt.Sprintf("invalid number of Instances: %v, must be 1..9",
-			omci.NumberOfInstances)
-		return me.NewAttributeFailureError(msg)
+		return me.NewProcessingError(fmt.Sprintf("invalid number of Instances: %v, must be 1..9",
+			omci.NumberOfInstances))
 	}
 	omci.ImageInstances = make([]uint16, omci.NumberOfInstances)
 
@@ -2251,30 +2351,29 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an End Software Download Request message
 func (omci *EndSoftwareDownloadRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.EndSoftwareDownload) {
 		return me.NewProcessingError("managed entity does not support Start End Download Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for End Software Download response")
 	}
 	if omci.NumberOfInstances < 1 || omci.NumberOfInstances > 9 {
-		msg := fmt.Sprintf("invalid number of Instances: %v, must be 1..9",
-			omci.NumberOfInstances)
-		return me.NewAttributeFailureError(msg)
+		return me.NewProcessingError(fmt.Sprintf("invalid number of Instances: %v, must be 1..9",
+			omci.NumberOfInstances))
 	}
 	bytes, err := b.AppendBytes(9 + (2 * int(omci.NumberOfInstances)))
 	if err != nil {
@@ -2303,24 +2402,24 @@
 		omci.MeBasePacket.String(), omci.Result, omci.Result, omci.NumberOfInstances, omci.MeResults)
 }
 
+// DecodeFromBytes decodes the given bytes of an End Software Download Response into this layer
 func (omci *EndSoftwareDownloadResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.EndSoftwareDownload) {
 		return me.NewProcessingError("managed entity does not support End Software Download Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for End Software Download response")
 	}
 	omci.Result = me.Results(data[4])
@@ -2358,24 +2457,24 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an End Software Download Response message
 func (omci *EndSoftwareDownloadResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.EndSoftwareDownload) {
 		return me.NewProcessingError("managed entity does not support End End Download Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for End Download response")
 	}
 	bytes, err := b.AppendBytes(3 + (3 * int(omci.NumberOfInstances)))
@@ -2422,31 +2521,30 @@
 		omci.MeBasePacket.String(), omci.ActivateFlags)
 }
 
+// DecodeFromBytes decodes the given bytes of an Activate Software Request into this layer
 func (omci *ActivateSoftwareRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.ActivateSoftware) {
 		return me.NewProcessingError("managed entity does not support Activate Software Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Activate Software request")
 	}
 	omci.ActivateFlags = data[4]
 	if omci.ActivateFlags > 2 {
-		msg := fmt.Sprintf("invalid number of Activation flangs: %v, must be 0..2",
-			omci.ActivateFlags)
-		return me.NewAttributeFailureError(msg)
+		return me.NewProcessingError(fmt.Sprintf("invalid number of Activation flangs: %v, must be 0..2",
+			omci.ActivateFlags))
 	}
 	return nil
 }
@@ -2457,24 +2555,24 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Activate Software message
 func (omci *ActivateSoftwareRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.ActivateSoftware) {
 		return me.NewProcessingError("managed entity does not support Activate Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Activate Software request")
 	}
 	bytes, err := b.AppendBytes(1)
@@ -2502,24 +2600,24 @@
 		omci.MeBasePacket.String(), omci.Result, omci.Result)
 }
 
+// DecodeFromBytes decodes the given bytes of an Activate Softwre Response into this layer
 func (omci *ActivateSoftwareResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.ActivateSoftware) {
 		return me.NewProcessingError("managed entity does not support Activate Software Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Activate Software response")
 	}
 	omci.Result = me.Results(data[4])
@@ -2537,24 +2635,24 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Activate Software Response message
 func (omci *ActivateSoftwareResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.ActivateSoftware) {
 		return me.NewProcessingError("managed entity does not support Activate Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Activate Software response")
 	}
 	bytes, err := b.AppendBytes(1)
@@ -2580,24 +2678,24 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a Commit Software Request into this layer
 func (omci *CommitSoftwareRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.CommitSoftware) {
 		return me.NewProcessingError("managed entity does not support Commit Software Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Commit Software request")
 	}
 	return nil
@@ -2609,24 +2707,24 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Commit Software Request message
 func (omci *CommitSoftwareRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.CommitSoftware) {
 		return me.NewProcessingError("managed entity does not support Commit Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Commit Software request")
 	}
 	return nil
@@ -2642,24 +2740,24 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a Commit Softwar Response into this layer
 func (omci *CommitSoftwareResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.CommitSoftware) {
 		return me.NewProcessingError("managed entity does not support Commit Software Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Commit Software response")
 	}
 	return nil
@@ -2671,24 +2769,24 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Commit Software Response message
 func (omci *CommitSoftwareResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support End Software Download
 	if !me.SupportsMsgType(meDefinition, me.CommitSoftware) {
 		return me.NewProcessingError("managed entity does not support Commit Message-Type")
 	}
 	// Software Image Entity Class are always use the Software Image
-	if omci.EntityClass != me.SoftwareImageClassId {
+	if omci.EntityClass != me.SoftwareImageClassID {
 		return me.NewProcessingError("invalid Entity Class for Commit Software response")
 	}
 	return nil
@@ -2711,24 +2809,24 @@
 		omci.MeBasePacket.String(), omci.Year, omci.Month, omci.Day, omci.Hour, omci.Minute, omci.Second)
 }
 
+// DecodeFromBytes decodes the given bytes of a Synchronize Time Request into this layer
 func (omci *SynchronizeTimeRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Synchronize Time
 	if !me.SupportsMsgType(meDefinition, me.SynchronizeTime) {
 		return me.NewProcessingError("managed entity does not support Synchronize Time Message-Type")
 	}
 	// Synchronize Time Entity Class are always ONU-G (256) and Entity Instance of 0
-	if omci.EntityClass != me.OnuGClassId {
+	if omci.EntityClass != me.OnuGClassID {
 		return me.NewProcessingError("invalid Entity Class for Synchronize Time request")
 	}
 	if omci.EntityInstance != 0 {
@@ -2749,17 +2847,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Synchronize Time Request message
 func (omci *SynchronizeTimeRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Synchronize Time
 	if !me.SupportsMsgType(entity, me.SynchronizeTime) {
@@ -2791,24 +2889,24 @@
 		omci.MeBasePacket.String(), omci.Result, omci.Result, omci.SuccessResults)
 }
 
+// DecodeFromBytes decodes the given bytes of a Synchronize Time Response into this layer
 func (omci *SynchronizeTimeResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Synchronize Time
 	if !me.SupportsMsgType(meDefinition, me.SynchronizeTime) {
 		return me.NewProcessingError("managed entity does not support Synchronize Time Message-Type")
 	}
 	// Synchronize Time Entity Class are always ONU-G (256) and Entity Instance of 0
-	if omci.EntityClass != me.OnuGClassId {
+	if omci.EntityClass != me.OnuGClassID {
 		return me.NewProcessingError("invalid Entity Class for Synchronize Time response")
 	}
 	if omci.EntityInstance != 0 {
@@ -2829,20 +2927,20 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Synchronize Time Response message
 func (omci *SynchronizeTimeResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// Synchronize Time Entity Class are always ONU DATA (2) and Entity Instance of 0
-	if omci.EntityClass != me.OnuGClassId {
+	if omci.EntityClass != me.OnuGClassID {
 		return me.NewProcessingError("invalid Entity Class for Synchronize Time response")
 	}
 	if omci.EntityInstance != 0 {
@@ -2879,17 +2977,17 @@
 		omci.MeBasePacket.String(), omci.RebootCondition)
 }
 
+// DecodeFromBytes decodes the given bytes of a Reboot Request into this layer
 func (omci *RebootRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Reboot
 	if !me.SupportsMsgType(meDefinition, me.Reboot) {
@@ -2909,17 +3007,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Reboot Request message
 func (omci *RebootRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Reboot
 	if !me.SupportsMsgType(entity, me.Reboot) {
@@ -2930,8 +3028,8 @@
 		return err
 	}
 	if omci.RebootCondition > 3 {
-		msg := fmt.Sprintf("invalid reboot condition code: %v, must be 0..3", omci.RebootCondition)
-		return me.NewAttributeFailureError(msg)
+		return me.NewProcessingError(fmt.Sprintf("invalid reboot condition code: %v, must be 0..3",
+			omci.RebootCondition))
 	}
 	bytes[0] = omci.RebootCondition
 	return nil
@@ -2944,22 +3042,23 @@
 	Result me.Results
 }
 
+// DecodeFromBytes decodes the given bytes of a Reboot Response into this layer
 func (omci *RebootResponse) String() string {
 	return fmt.Sprintf("%v, Result: %d (%v)",
 		omci.MeBasePacket.String(), omci.Result, omci.Result)
 }
 
+// DecodeFromBytes decodes the given bytes of a Reboot Response into this layer
 func (omci *RebootResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Reboot
 	if !me.SupportsMsgType(meDefinition, me.Reboot) {
@@ -2979,17 +3078,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Reboot Response message
 func (omci *RebootResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var entity me.IManagedEntityDefinition
-	entity, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	entity, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Reboot
 	if !me.SupportsMsgType(entity, me.Reboot) {
@@ -3020,17 +3119,17 @@
 		omci.MeBasePacket.String(), omci.AttributeMask, omci.SequenceNumber)
 }
 
+// DecodeFromBytes decodes the given bytes of a Get Next Request into this layer
 func (omci *GetNextRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support GetNext
 	if !me.SupportsMsgType(meDefinition, me.GetNext) {
@@ -3051,17 +3150,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get Next Message Type Request
 func (omci *GetNextRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support GetNext
 	if !me.SupportsMsgType(meDefinition, me.GetNext) {
@@ -3085,22 +3184,23 @@
 	Attributes    me.AttributeValueMap
 }
 
+// SerializeTo provides serialization of an Get Next Message Type Response
 func (omci *GetNextResponse) String() string {
 	return fmt.Sprintf("%v, Result: %v, Attribute Mask: %#x, Attributes: %v",
 		omci.MeBasePacket.String(), omci.Result, omci.AttributeMask, omci.Attributes)
 }
 
+// DecodeFromBytes decodes the given bytes of a Get Next Response into this layer
 func (omci *GetNextResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Set
 	if !me.SupportsMsgType(meDefinition, me.GetNext) {
@@ -3124,12 +3224,12 @@
 		if err != nil {
 			return err
 		}
-		if attr.Index != 0 && !me.SupportsAttributeAccess(attr, me.Read) {
+		if attr.Index != 0 && !me.SupportsAttributeAccess(*attr, me.Read) {
 			msg := fmt.Sprintf("attribute '%v' does not support read access", attrName)
 			return me.NewProcessingError(msg)
 		}
 	}
-	if eidDef, eidDefOK := (*meDefinition.GetAttributeDefinitions())[0]; eidDefOK {
+	if eidDef, eidDefOK := meDefinition.GetAttributeDefinitions()[0]; eidDefOK {
 		omci.Attributes[eidDef.GetName()] = omci.EntityInstance
 		return nil
 	}
@@ -3142,17 +3242,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get Next Message Type Response
 func (omci *GetNextResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get
 	if !me.SupportsMsgType(meDefinition, me.GetNext) {
@@ -3175,7 +3275,7 @@
 		if err != nil {
 			return err
 		}
-		if attr.Index != 0 && !me.SupportsAttributeAccess(attr, me.Read) {
+		if attr.Index != 0 && !me.SupportsAttributeAccess(*attr, me.Read) {
 			msg := fmt.Sprintf("attribute '%v' does not support read access", attrName)
 			return me.NewProcessingError(msg)
 		}
@@ -3189,8 +3289,8 @@
 		// TODO: Only Baseline supported at this time
 		bytesAvailable := MaxBaselineLength - 11 - 8
 
-		err = meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask, b,
-			byte(GetNextResponseType), bytesAvailable)
+		err, _ = meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask, b,
+			byte(GetNextResponseType), bytesAvailable, false)
 		if err != nil {
 			return err
 		}
@@ -3208,6 +3308,7 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a Test Result Notification into this layer
 func (omci *TestResultMsg) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
@@ -3223,6 +3324,7 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Test Result notification message
 func (omci *TestResultMsg) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
@@ -3244,17 +3346,17 @@
 		omci.MeBasePacket.String(), omci.AttributeMask)
 }
 
+// DecodeFromBytes decodes the given bytes of a Get Current Data Request into this layer
 func (omci *GetCurrentDataRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support GetNext
 	if !me.SupportsMsgType(meDefinition, me.GetCurrentData) {
@@ -3272,17 +3374,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get Current Data Request message
 func (omci *GetCurrentDataRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support GetNext
 	if !me.SupportsMsgType(meDefinition, me.GetCurrentData) {
@@ -3310,17 +3412,17 @@
 		omci.MeBasePacket.String(), omci.Result, omci.Result, omci.AttributeMask, omci.Attributes)
 }
 
+// DecodeFromBytes decodes the given bytes of a Get Current Data Respnse into this layer
 func (omci *GetCurrentDataResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Set
 	if !me.SupportsMsgType(meDefinition, me.GetCurrentData) {
@@ -3328,6 +3430,10 @@
 	}
 	omci.AttributeMask = binary.BigEndian.Uint16(data[4:6])
 
+	switch omci.Result {
+	case me.ProcessingError, me.NotSupported, me.UnknownEntity, me.UnknownInstance, me.DeviceBusy:
+		return nil // Done (do not try and decode attributes)
+	}
 	// Attribute decode
 	omci.Attributes, err = meDefinition.DecodeAttributes(omci.AttributeMask, data[6:], p, byte(GetCurrentDataResponseType))
 	if err != nil {
@@ -3342,17 +3448,17 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Get Current Data Message Type Response
 func (omci *GetCurrentDataResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
 	if err != nil {
 		return err
 	}
-	var meDefinition me.IManagedEntityDefinition
-	meDefinition, err = me.LoadManagedEntityDefinition(omci.EntityClass,
+	meDefinition, omciErr := me.LoadManagedEntityDefinition(omci.EntityClass,
 		me.ParamData{EntityID: omci.EntityInstance})
-	if err != nil {
-		return err
+	if omciErr.StatusCode() != me.Success {
+		return omciErr.GetError()
 	}
 	// ME needs to support Get
 	if !me.SupportsMsgType(meDefinition, me.GetCurrentData) {
@@ -3367,9 +3473,15 @@
 	// Attribute serialization
 	// TODO: Only Baseline supported at this time
 	bytesAvailable := MaxBaselineLength - 9 - 8
+	var failedMask uint16
 
-	err = meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask, b,
-		byte(GetCurrentDataResponseType), bytesAvailable)
+	err, failedMask = meDefinition.SerializeAttributes(omci.Attributes, omci.AttributeMask, b,
+		byte(GetCurrentDataResponseType), bytesAvailable, opts.FixLengths)
+
+	if failedMask != 0 {
+		// TODO: See GetResponse serialization above for the steps here
+		return me.NewMessageTruncatedError("getCurrentData attribute truncation not yet supported")
+	}
 	if err != nil {
 		return err
 	}
@@ -3387,6 +3499,7 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a Set Table Request into this layer
 func (omci *SetTableRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
@@ -3402,6 +3515,7 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Set Table Message Type Request
 func (omci *SetTableRequest) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
@@ -3422,6 +3536,7 @@
 	return fmt.Sprintf("%v", omci.MeBasePacket.String())
 }
 
+// DecodeFromBytes decodes the given bytes of a Set Table Response into this layer
 func (omci *SetTableResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	// Common ClassID/EntityID decode in msgBase
 	err := omci.MeBasePacket.DecodeFromBytes(data, p)
@@ -3437,6 +3552,7 @@
 	return decodingLayerDecoder(omci, data, p)
 }
 
+// SerializeTo provides serialization of an Set Table Message Type Response
 func (omci *SetTableResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
@@ -3453,10 +3569,12 @@
 	Result me.Results
 }
 
+// DecodeFromBytes decodes the given bytes of an Unsupported Message Type Response into this layer
 func (omci *UnsupportedMessageTypeResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	return errors.New("you should never really decode this")
 }
 
+// SerializeTo provides serialization of an Unsupported Message Type Response
 func (omci *UnsupportedMessageTypeResponse) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
 	// Basic (common) OMCI Header is 8 octets, 10
 	err := omci.MeBasePacket.SerializeTo(b)
diff --git a/vendor/github.com/cboling/omci/omci.go b/vendor/github.com/opencord/omci-lib-go/omci.go
similarity index 89%
rename from vendor/github.com/cboling/omci/omci.go
rename to vendor/github.com/opencord/omci-lib-go/omci.go
index f4741b3..7a162d6 100644
--- a/vendor/github.com/cboling/omci/omci.go
+++ b/vendor/github.com/opencord/omci-lib-go/omci.go
@@ -1,19 +1,22 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
- *
+ * Copyright 2020-present Open Networking Foundation
+
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file 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.
- *
  */
+
+// Package omci provides a library of routines to create, manipulate, serialize, and
+// decode ITU-T G.988 OMCI messages/packets
 package omci
 
 import (
@@ -21,13 +24,15 @@
 	"errors"
 	"fmt"
 	"github.com/aead/cmac/aes"
-	me "github.com/cboling/omci/generated"
+	me "github.com/opencord/omci-lib-go/generated"
 	"github.com/google/gopacket"
 	"github.com/google/gopacket/layers"
 )
 
+// DeviceIdent identifies the OMCI message format. Currently either baseline or extended.
 type DeviceIdent byte
 
+// LayerTypeOmci provide a gopacket LayerType for OMCI messages
 var (
 	LayerTypeOMCI gopacket.LayerType
 )
@@ -42,12 +47,16 @@
 
 const (
 	// Device Identifiers
-	_                         = iota
-	BaselineIdent DeviceIdent = 0x0A // All G-PON OLTs and ONUs support the baseline message set
+	_ = iota
+	// BaselineIdent message are composed of a fixed 40 octet packet + 8-octet trailer. All
+	// G-PON OLTs and ONUs support the baseline message set
+	BaselineIdent DeviceIdent = 0x0A
+
+	// ExtendedIdent messager are up to 1920 octets but may not be supported by all ONUs or OLTs.
 	ExtendedIdent DeviceIdent = 0x0B
 )
 
-var OmciIK = []byte{0x18, 0x4b, 0x8a, 0xd4, 0xd1, 0xac, 0x4a, 0xf4,
+var omciIK = []byte{0x18, 0x4b, 0x8a, 0xd4, 0xd1, 0xac, 0x4a, 0xf4,
 	0xdd, 0x4b, 0x33, 0x9e, 0xcc, 0x0d, 0x33, 0x70}
 
 func (di DeviceIdent) String() string {
@@ -80,7 +89,7 @@
 // message contents and does not include the Result Code & Attribute Mask.
 const MaxAttributeGetNextBaselineLength = MaxBaselineLength - 11 - 8
 
-// MaxAttributeMibUploadNextExtendedLength is the maximum payload size for ME
+// MaxManagedEntityMibUploadNextExtendedLength is the maximum payload size for ME
 // entries for an Extended MIB Upload Next message. Extended messages differ from
 // the baseline as multiple MEs can be reported in a single frame, just not multiple
 // attributes.
@@ -125,6 +134,7 @@
 	return LayerTypeOMCI
 }
 
+// LayerContents returns the OMCI specific layer information
 func (omci *OMCI) LayerContents() []byte {
 	b := make([]byte, 8)
 	binary.BigEndian.PutUint16(b, omci.TransactionID)
@@ -133,6 +143,7 @@
 	return b
 }
 
+// CanDecode returns the layers that this class can decode
 func (omci *OMCI) CanDecode() gopacket.LayerClass {
 	return LayerTypeOMCI
 }
@@ -173,9 +184,9 @@
 	var err error
 
 	if (data[2]&me.AK) == me.AK || tid == 0 {
-		sum, err = aes.Sum(append(upstreamCDir[:], data[:44]...), OmciIK, 4)
+		sum, err = aes.Sum(append(upstreamCDir[:], data[:44]...), omciIK, 4)
 	} else {
-		sum, err = aes.Sum(append(downstreamCDir[:], data[:44]...), OmciIK, 4)
+		sum, err = aes.Sum(append(downstreamCDir[:], data[:44]...), omciIK, 4)
 	}
 	if err != nil {
 		return 0, err
@@ -185,8 +196,8 @@
 
 /////////////////////////////////////////////////////////////////////////////
 //   Baseline Message encode / decode
-//
 
+// DecodeFromBytes will decode the OMCI layer of a packet/message
 func (omci *OMCI) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error {
 	if len(data) < 10 {
 		p.SetTruncated()
diff --git a/vendor/github.com/opencord/omci-sim/.gitignore b/vendor/github.com/opencord/omci-sim/.gitignore
deleted file mode 100644
index a9f04a3..0000000
--- a/vendor/github.com/opencord/omci-sim/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-# GoLand
-.idea
diff --git a/vendor/github.com/opencord/omci-sim/CODE_OF_CONDUCT.md b/vendor/github.com/opencord/omci-sim/CODE_OF_CONDUCT.md
deleted file mode 100644
index 626cd61..0000000
--- a/vendor/github.com/opencord/omci-sim/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,3 +0,0 @@
-We expect all ONF employees, member companies, and participants to abide by our [Code of Conduct](https://www.opennetworking.org/wp-content/themes/onf/img/onf-code-of-conduct.pdf).
-
-If you are being harassed, notice that someone else is being harassed, or have any other concerns involving someone’s welfare, please notify a member of the ONF team or email [conduct@opennetworking.org](conduct@opennetworking.org). 
diff --git a/vendor/github.com/opencord/omci-sim/README.md b/vendor/github.com/opencord/omci-sim/README.md
deleted file mode 100644
index c3930c5..0000000
--- a/vendor/github.com/opencord/omci-sim/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Omci-sim
-
-This library is a dump of the OMCI messages reported by an ALPHA device
-and it is currently used by [BBSim](github.com/opencord/bbsim) to 
-emulate OMCI responses during [VOLTHA](docs.voltha.org) scale tests.
diff --git a/vendor/github.com/opencord/omci-sim/VERSION b/vendor/github.com/opencord/omci-sim/VERSION
deleted file mode 100644
index bbdeab6..0000000
--- a/vendor/github.com/opencord/omci-sim/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-0.0.5
diff --git a/vendor/github.com/opencord/omci-sim/go.mod b/vendor/github.com/opencord/omci-sim/go.mod
deleted file mode 100644
index 516906d..0000000
--- a/vendor/github.com/opencord/omci-sim/go.mod
+++ /dev/null
@@ -1,5 +0,0 @@
-module github.com/opencord/omci-sim
-
-go 1.12
-
-require github.com/sirupsen/logrus v1.4.2
diff --git a/vendor/github.com/opencord/omci-sim/go.sum b/vendor/github.com/opencord/omci-sim/go.sum
deleted file mode 100644
index 46e5ef0..0000000
--- a/vendor/github.com/opencord/omci-sim/go.sum
+++ /dev/null
@@ -1,9 +0,0 @@
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
-github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc=
-golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
diff --git a/vendor/github.com/opencord/omci-sim/omci_anig.go b/vendor/github.com/opencord/omci-sim/omci_anig.go
deleted file mode 100644
index 49734a7..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_anig.go
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright 2018-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-
-package core
-
-type AniGAttributes int
-const (
-	_								= iota
-	SRIndication  				AniGAttributes	= 0x8000
-	TotalTcontNumber 			AniGAttributes	= 0x4000
-	GEMBlockLength				AniGAttributes	= 0x2000
-	PiggybackDBAReporting 		AniGAttributes	= 0x1000
-	WholeONTDBAReporting		AniGAttributes	= 0x0800
-	SFThreshold					AniGAttributes	= 0x0400
-	SDThreshold					AniGAttributes	= 0x0200
-	ARC							AniGAttributes	= 0x0100
-	ARCInterval					AniGAttributes	= 0x0080
-	OpticalSignalLevel			AniGAttributes	= 0x0040
-	LowerOpticalThreshold		AniGAttributes	= 0x0020
-	UpperOpticalThreshold		AniGAttributes	= 0x0010
-	ONTResponseTime				AniGAttributes	= 0x0008
-	TransmitOpticalLeval		AniGAttributes	= 0x0004
-	LowerTransmitPowerThreshold	AniGAttributes	= 0x0002
-	UpperTransmitPowerThreshold	AniGAttributes	= 0x0001
-)
-
-type ANIGAttributeHandler func(*uint, []byte) ([]byte, error)
-
-var ANIGAttributeHandlers = map[AniGAttributes]ANIGAttributeHandler{
-	SRIndication: GetSRIndication,
-	OpticalSignalLevel: GetOpticalSignalLevel,
-	LowerOpticalThreshold: GetLowerOpticalThreshold,
-	UpperOpticalThreshold: GetUpperOpticalThreshold,
-	TotalTcontNumber: GetTotalTcontNumber,
-	GEMBlockLength: GetGEMBlockLength,
-	PiggybackDBAReporting: GetPiggybackDBAReporting,
-	WholeONTDBAReporting: GetWholeONTDBAReporting,
-	SFThreshold: GetSFThreshold,
-	SDThreshold: GetSDThreshold,
-	ARC: GetARC,
-	ARCInterval: GetARCInterval,
-	ONTResponseTime: GetONTResponseTime,
-	TransmitOpticalLeval: GetTransmitOpticalLeval,
-	LowerTransmitPowerThreshold: GetLowerTransmitPowerThreshold,
-	UpperTransmitPowerThreshold: GetUpperTransmitPowerThreshold,
-}
-
-
-func GetANIGAttributes(pos *uint, pkt []byte, content OmciContent) ([]byte, error) {
-	AttributesMask := getAttributeMask(content)
-
-	for index := uint(16); index>=1 ; index-- {
-		Attribute := 1 << (index - 1)
-		reqAttribute := Attribute & AttributesMask
-
-		if reqAttribute != 0 {
-			pkt, _ = ANIGAttributeHandlers[AniGAttributes(reqAttribute)](pos, pkt)
-		}
-	}
-
-	pkt[8] = 0x00 // Command Processed Successfully
-	pkt[9] = uint8(AttributesMask >> 8)
-	pkt[10] = uint8(AttributesMask & 0x00FF)
-
-	return pkt, nil
-
-}
-
-
-func GetSRIndication(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x01
-	*pos++
-	return pkt, nil
-}
-
-func GetOpticalSignalLevel(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0xd7
-	*pos++
-	pkt[*pos] = 0xa9
-	*pos++
-	return pkt, nil
-}
-
-func GetTotalTcontNumber(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x08
-	*pos++
-	return pkt, nil
-}
-
-func GetGEMBlockLength(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x00
-	*pos++
-	pkt[*pos] = 0x30
-	return pkt, nil
-}
-
-func GetPiggybackDBAReporting (pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetWholeONTDBAReporting(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetUpperOpticalThreshold(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0xff
-	*pos++
-	return pkt, nil
-}
-
-func GetSFThreshold(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x03
-	*pos++
-	return pkt, nil
-}
-
-func GetSDThreshold(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x05
-	*pos++
-	return pkt, nil
-}
-
-func GetARC(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetARCInterval(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetONTResponseTime(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x00
-	*pos++
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetLowerOpticalThreshold(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0xff
-	*pos++
-	return pkt, nil
-}
-
-func GetTransmitOpticalLeval(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x07
-	*pos++
-	pkt[*pos] = 0x1e
-	*pos++
-	return pkt, nil
-}
-
-func GetLowerTransmitPowerThreshold(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x81
-	*pos++
-	return pkt, nil
-}
-
-func GetUpperTransmitPowerThreshold(pos *uint, pkt []byte) ([]byte, error) {
-	pkt[*pos] = 0x81
-	*pos++
-	return pkt, nil
-}
diff --git a/vendor/github.com/opencord/omci-sim/omci_common.go b/vendor/github.com/opencord/omci-sim/omci_common.go
deleted file mode 100644
index 3fa4408..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_common.go
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2018-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-
-package core
-
-import (
-	"fmt"
-	log "github.com/sirupsen/logrus"
-)
-
-type OmciError struct {
-	Msg string
-}
-
-func (e *OmciError) Error() string {
-	return fmt.Sprintf("%s", e.Msg)
-}
-
-type OnuKey struct {
-	OltId int
-	IntfId, OnuId uint32
-}
-
-func (k OnuKey) String() string {
-	return fmt.Sprintf("Onu {intfid:%d, onuid:%d}", k.IntfId, k.OnuId)
-}
-
-func GetAttributes(class OmciClass, content OmciContent, key OnuKey, pkt []byte) []byte {
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("GetAttributes() invoked")
-
-	switch class {
-	case ANIG:
-		pos := uint(11)
-		pkt, _ = GetANIGAttributes(&pos, pkt, content)
-		return pkt
-
-	case SoftwareImage:
-		pos := uint(11)
-		pkt, _ = GetSoftwareImageAttributes(&pos, pkt, content)
-		return pkt
-
-	case ONUG:
-		pos := uint(11)
-		pkt, _ = GetOnuGAttributes(&pos, pkt, content, key)
-		return pkt
-
-	case ONU2G:
-		pos := uint(11)
-		pkt, _ = GetOnu2GAttributes(&pos, pkt, content)
-		return pkt
-
-	case EthernetPMHistoryData:
-		pos := uint(11)
-		pkt, _ = GetEthernetPMHistoryDataAttributes(&pos, pkt, content)
-		return pkt
-
-	default:
-		// For unimplemented MEs, just fill in the attribute mask and return 0 values for the requested attributes
-		// TODO implement Get for unimplemented MEs as well
-		log.WithFields(log.Fields{
-			"IntfId": key.IntfId,
-			"OnuId": key.OnuId,
-			"class": class,
-		}).Tracef("Unimplemeted GetAttributes for ME Class: %v " +
-		    "Filling with zero value for the requested attributes", class)
-		AttributesMask := getAttributeMask(content)
-		pkt[8] = 0x00 // Command Processed Successfully
-		pkt[9] = uint8(AttributesMask >> 8)
-		pkt[10] = uint8(AttributesMask & 0xFF)
-
-		return pkt
-	}
-}
-
-func getAttributeMask(content OmciContent) int {
-	// mask is present in pkt[8] and pkt[9]
-	log.WithFields(log.Fields{
-		"content[0]": content[0],
-		"content[1]": content[1],
-	}).Tracef("GetAttributeMask() invoked")
-	return (int(content[0]) << 8) | int(content[1])
-}
diff --git a/vendor/github.com/opencord/omci-sim/omci_defs.go b/vendor/github.com/opencord/omci-sim/omci_defs.go
deleted file mode 100644
index 90ea0af..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_defs.go
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright 2018-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-package core
-
-import (
-	"bytes"
-	"encoding/binary"
-	"errors"
-	"fmt"
-	log "github.com/sirupsen/logrus"
-)
-
-// OMCI Sim definitions
-
-type ChMessageType int
-
-const (
-	GemPortAdded ChMessageType = 0
-	UniLinkUp ChMessageType = 1
-	UniLinkDown ChMessageType = 2
-)
-
-func (m ChMessageType) String() string {
-	names := [...]string{
-		"GemPortAdded",
-		"UniLinkUp",
-		"UniLinkDown",
-	}
-	return names[m]
-}
-
-type OmciChMessageData struct {
-	IntfId 	uint32
-	OnuId   uint32
-}
-
-type OmciChMessage struct {
-	Type ChMessageType
-	Data OmciChMessageData
-	Packet []byte
-}
-
-//
-// OMCI definitions
-//
-
-// OmciMsgType represents a OMCI message-type
-type OmciMsgType byte
-
-func (t OmciMsgType) PrettyPrint() string {
-	switch t {
-	case Create:
-		return "Create"
-	case Delete:
-		return "Delete"
-	case Set:
-		return "Set"
-	case Get:
-		return "Get"
-	case GetAllAlarms:
-		return "GetAllAlarms"
-	case GetAllAlarmsNext:
-		return "GetAllAlarmsNext"
-	case MibUpload:
-		return "MibUpload"
-	case MibUploadNext:
-		return "MibUploadNext"
-	case MibReset:
-		return "MibReset"
-	case AlarmNotification:
-		return "AlarmNotification"
-	case AttributeValueChange:
-		return "AttributeValueChange"
-	case Test:
-		return "Test"
-	case StartSoftwareDownload:
-		return "StartSoftwareDownload"
-	case DownloadSection:
-		return "DownloadSection"
-	case EndSoftwareDownload:
-		return "EndSoftwareDownload"
-	case ActivateSoftware:
-		return "ActivateSoftware"
-	case CommitSoftware:
-		return "CommitSoftware"
-	case SynchronizeTime:
-		return "SynchronizeTime"
-	case Reboot:
-		return "Reboot"
-	case GetNext:
-		return "GetNext"
-	case TestResult:
-		return "TestResult"
-	case GetCurrentData:
-		return "GetCurrentData"
-	case SetTable:
-		return "SetTable"
-	default:
-		// FIXME
-		// msg="Cant't convert state 68 to string"
-		// msg="Cant't convert state 72 to string"
-		// msg="Cant't convert state 73 to string"
-		// msg="Cant't convert state 75 to string"
-		// msg="Cant't convert state 76 to string"
-		// msg="Cant't convert state 77 to string"
-		// msg="Cant't convert state 78 to string"
-		// msg="Cant't convert state 79 to string"
-		// msg="Cant't convert state 88 to string"
-
-		log.Tracef("Cant't convert OmciMsgType %v to string", t)
-		return string(t)
-	}
-}
-
-const (
-	// Message Types
-	_                                 = iota
-	Create                OmciMsgType = 4
-	Delete                OmciMsgType = 6
-	Set                   OmciMsgType = 8
-	Get                   OmciMsgType = 9
-	GetAllAlarms          OmciMsgType = 11
-	GetAllAlarmsNext      OmciMsgType = 12
-	MibUpload             OmciMsgType = 13
-	MibUploadNext         OmciMsgType = 14
-	MibReset              OmciMsgType = 15
-	AlarmNotification     OmciMsgType = 16
-	AttributeValueChange  OmciMsgType = 17
-	Test                  OmciMsgType = 18
-	StartSoftwareDownload OmciMsgType = 19
-	DownloadSection       OmciMsgType = 20
-	EndSoftwareDownload   OmciMsgType = 21
-	ActivateSoftware      OmciMsgType = 22
-	CommitSoftware        OmciMsgType = 23
-	SynchronizeTime       OmciMsgType = 24
-	Reboot                OmciMsgType = 25
-	GetNext               OmciMsgType = 26
-	TestResult            OmciMsgType = 27
-	GetCurrentData        OmciMsgType = 28
-	SetTable              OmciMsgType = 29 // Defined in Extended Message Set Only
-)
-
-
-// OMCI Managed Entity Class
-type OmciClass uint16
-
-func (c OmciClass) PrettyPrint() string {
-	switch c {
-	case SoftwareImage:
-		return "SoftwareImage"
-	case EthernetPMHistoryData:
-		return "EthernetPMHistoryData"
-	case ONUG:
-		return "ONUG"
-	case ONU2G:
-		return "ONU2G"
-	case ANIG:
-		return "ANIG"
-	case GEMPortNetworkCTP:
-		return "GEMPortNetworkCTP"
-	default:
-		log.Tracef("Cant't convert OmciClass %v to string", c)
-		return string(c)
-	}
-}
-
-const (
-	// Managed Entity Class values
-	SoftwareImage         OmciClass = 7
-	EthernetPMHistoryData OmciClass = 24
-	ONUG                  OmciClass = 256
-	ONU2G                 OmciClass = 257
-	ANIG                  OmciClass = 263
-	GEMPortNetworkCTP     OmciClass = 268
-)
-
-// OMCI Message Identifier
-type OmciMessageIdentifier struct {
-	Class    OmciClass
-	Instance uint16
-}
-
-type OmciContent [32]byte
-
-type OmciMessage struct {
-	TransactionId uint16
-	MessageType   OmciMsgType
-	DeviceId      uint8
-	MessageId     OmciMessageIdentifier
-	Content       OmciContent
-}
-
-func ParsePkt(pkt []byte) (uint16, uint8, OmciMsgType, OmciClass, uint16, OmciContent, error) {
-	var m OmciMessage
-
-	r := bytes.NewReader(pkt)
-
-	if err := binary.Read(r, binary.BigEndian, &m); err != nil {
-		log.WithFields(log.Fields{
-			"Packet": pkt,
-			"omciMsg": fmt.Sprintf("%x", pkt),
-		}).Errorf("Failed to read packet: %s", err)
-		return 0, 0, 0, 0, 0, OmciContent{}, errors.New("Failed to read packet")
-	}
-	/*    Message Type = Set
-	      0... .... = Destination Bit: 0x0
-	      .1.. .... = Acknowledge Request: 0x1
-	      ..0. .... = Acknowledgement: 0x0
-	      ...0 1000 = Message Type: Set (8)
-	*/
-
-	log.WithFields(log.Fields{
-		"TransactionId": m.TransactionId,
-		"MessageType": m.MessageType.PrettyPrint(),
-		"MeClass": m.MessageId.Class,
-		"MeInstance": m.MessageId.Instance,
-		"Conent": m.Content,
-		"Packet": pkt,
-	}).Tracef("Parsing OMCI Packet")
-
-	return m.TransactionId, m.DeviceId, m.MessageType & 0x1F, m.MessageId.Class, m.MessageId.Instance, m.Content, nil
-}
diff --git a/vendor/github.com/opencord/omci-sim/omci_handlers.go b/vendor/github.com/opencord/omci-sim/omci_handlers.go
deleted file mode 100644
index 5ba28f9..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_handlers.go
+++ /dev/null
@@ -1,605 +0,0 @@
-/*
- * Copyright 2018-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-
-package core
-
-import (
-	"encoding/binary"
-	"errors"
-	"fmt"
-	log "github.com/sirupsen/logrus"
-)
-
-type OmciMsgHandler func(class OmciClass, content OmciContent, key OnuKey) ([]byte, error)
-
-var Handlers = map[OmciMsgType]OmciMsgHandler{
-	MibReset:         mibReset,
-	MibUpload:        mibUpload,
-	MibUploadNext:    mibUploadNext,
-	Set:              set,
-	Create:           create,
-	Get:              get,
-	GetAllAlarms:     getAllAlarms,
-	GetAllAlarmsNext: getAllAlarmsNext,
-	SynchronizeTime:  syncTime,
-	Delete:           delete,
-	Reboot:           reboot,
-	Test: testHandler,
-}
-
-func mibReset(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci MibReset")
-	OnuOmciStateMapLock.RLock()
-	if state, ok := OnuOmciStateMap[key]; ok {
-		log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Reseting OnuOmciState")
-		state.ResetOnuOmciState()
-	}
-	OnuOmciStateMapLock.RUnlock()
-
-	pkt = []byte{
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	return pkt, nil
-}
-
-func mibUpload(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci MibUpload")
-
-	pkt = []byte{
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-	pkt[8] = NumMibUploadsHigherByte
-	pkt[9] = NumMibUploadsLowerByte
-
-	return pkt, nil
-}
-
-func mibUploadNext(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-	OnuOmciStateMapLock.RLock()
-	state := OnuOmciStateMap[key]
-	OnuOmciStateMapLock.RUnlock()
-	// commandNumber is the "Command number" attribute received in "MIB Upload Next" OMCI message
-	commandNumber := (uint16(content[1])) | (uint16(content[0])<<8)
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-		"CommandNumber": commandNumber,
-	}).Tracef("Omci MibUploadNext")
-
-	switch commandNumber {
-	case 0:
-		// ONT Data (2)
-		// log.Println("ONT DATA")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 1:
-		// Circuit Pack (6) - #1
-		// log.Println("Circuit Pack")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x06, 0x01, 0x01, 0xf0, 0x00, 0x2f, 0x04,
-			0x49, 0x53, 0x4b, 0x54, 0x71, 0xe8, 0x00, 0x80,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 2:
-		// Circuit Pack (6) - #2
-		// log.Println("Circuit Pack")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x06, 0x01, 0x01, 0x0f, 0x00, 0x42, 0x52,
-			0x43, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 3:
-		// Circuit Pack (6) - #3
-		// log.Println("Circuit Pack")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x06, 0x01, 0x01, 0x00, 0xf8, 0x20, 0x20,
-			0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-			0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-			0x20, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 4:
-		// Circuit Pack (6) - #4
-		// log.Println("Circuit Pack")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x06, 0x01, 0x01, 0x00, 0x04, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 5:
-		// Circuit Pack (6) - #5
-		// log.Println("Circuit Pack")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x06, 0x01, 0x80, 0xf0, 0x00, 0xee, 0x01,
-			0x49, 0x53, 0x4b, 0x54, 0x71, 0xe8, 0x00, 0x80,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 6:
-		// Circuit Pack (6) - #6
-		// log.Println("Circuit Pack")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x06, 0x01, 0x80, 0x0f, 0x00, 0x42, 0x52,
-			0x43, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 7:
-		// Circuit Pack (6) - #7
-		// log.Println("Circuit Pack")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x06, 0x01, 0x80, 0x00, 0xf8, 0x20, 0x20,
-			0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-			0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-			0x20, 0x20, 0x00, 0x08, 0x40, 0x10, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 8:
-		// Circuit Pack (6) - #8
-		// log.Println("Circuit Pack")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x06, 0x01, 0x80, 0x00, 0x04, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 9, 10, 11, 12:
-		// PPTP (11)
-		// log.Println("PPTP")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x00, 0x0b, 0x01, 0x01, 0xff, 0xfe, 0x00, 0x2f,
-			0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0xee, 0x00,
-			0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-		pkt[11] = state.pptpInstance // ME Instance
-		state.pptpInstance++
-	case 13, 14, 15, 16, 17, 18, 19, 20:
-		// T-CONT (262)
-		// log.Println("T-CONT")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x01, 0x06, 0x80, 0x00, 0xe0, 0x00, 0xff, 0xff,
-			0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-		state.tcontInstance++
-		pkt[11] = state.tcontInstance // TCONT ME Instance
-
-	case 21:
-		// ANI-G (263)
-		// log.Println("ANI-G")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x01, 0x07, 0x80, 0x01, 0xff, 0xff, 0x01, 0x00,
-			0x08, 0x00, 0x30, 0x00, 0x00, 0x05, 0x09, 0x00,
-			0x00, 0xe0, 0x54, 0xff, 0xff, 0x00, 0x00, 0x0c,
-			0x63, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-	case 22, 23, 24, 25:
-		// UNI-G (264)
-		// log.Println("UNI-G")
-		pkt = []byte{
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-			0x01, 0x08, 0x01, 0x01, 0xf8, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-		pkt[11] = state.uniGInstance // UNI-G ME Instance
-		state.uniGInstance++
-
-	case 26,  30,  34,  38,  42, 46, 50, 54,
-	     58,  62,  66,  70,  74, 78, 82, 86,
-	     90,  94,  98,  102, 106, 110, 114, 118,
-	     122, 126, 130, 134, 138, 142, 146, 150,
-	     154, 158, 162, 166, 170, 174, 178, 182,
-	     186, 190, 194, 198, 202, 206, 210, 214,
-	     218, 222, 226, 230, 234, 238, 242, 246,
-	     250, 254, 258, 262, 266, 270, 274, 278:
-		// Prior-Q with mask downstream
-		log.Tracef("Mib-upload for prior-q with mask")
-		// For downstream PQ, pkt[10] is 0x00
-		// So the instanceId will be like 0x0001, 0x0002,... etc
-		pkt = []byte{
-			0x00, 0x42, 0x2e, 0x0a, 0x00, 0x02, 0x00, 0x00,
-			0x01, 0x15, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff,
-			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-			0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		}
-		state.priorQInstance++
-		pkt[11] = state.priorQInstance
-
-	case 27,  31,  35,  39,  43,  47, 51, 55,
-	     59,  63,  67,  71,  75,  79, 83, 87,
-	     91,  95,  99,  103, 107, 111, 115, 119,
-	     123, 127, 131, 135, 139, 143, 147, 151,
-	     155, 159, 163, 167, 171, 175, 179, 183,
-	     187, 191, 195, 199, 203, 207, 211, 215,
-	     219, 223, 227, 231, 235, 239, 243, 247,
-	     251, 255, 259, 263, 267, 271, 275, 279:
-		// Prior-Q with attribute list downstream
-		// log.Println("Mib-upload for prior-q with attribute list")
-		pkt = []byte{
-			0x00, 0x43, 0x2e, 0x0a, 0x00, 0x02, 0x00, 0x00,
-			0x01, 0x15, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x01,
-			0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-			0x20, 0x00, 0x00, 0x01, 0x20, 0x01, 0x00, 0x01,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		}
-
-		pkt[11] = state.priorQInstance
-
-		// Group 8 PriorQ to point to a particular TCONT
-		// Priority for each group of PriorQ is 0 - 7
-		if state.priorQPriority % NumPriorQPerTcont == 0 {
-			state.tcontPointer++
-		}
-
-		// Only for verification. To be removed
-		if state.tcontPointer > state.tcontInstance {
-			log.Tracef("Error: Invalid TcontPointer")
-			break
-		}
-
-		pkt[24] = state.tcontPointer
-		pkt[26] = state.priorQPriority % NumPriorQPerTcont
-		pkt[28] = state.tcontInstance
-
-	case 28,  32,  36,  40,  44, 48, 52, 56,
-	     60,  64,  68,  72,  76, 80, 84, 88,
-	     92,  96,  100, 104, 108, 112, 116, 120,
-	     124, 128, 132, 136, 140, 144, 148, 152,
-	     156, 160, 164, 168, 172, 176, 180, 184,
-	     188, 192, 196, 200, 204, 208, 212, 216,
-	     220, 224, 228, 232, 236, 240, 244, 248,
-	     252, 256, 260, 264, 268, 272, 276, 280:
-		// Prior-Q with mask upstream
-		// log.Println("Mib-upload for prior-q with mask")
-		pkt = []byte{
-			0x00, 0x42, 0x2e, 0x0a, 0x00, 0x02, 0x00, 0x00,
-			0x01, 0x15, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xff,
-			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-			0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		}
-		pkt[11] = state.priorQInstance
-
-	case 29,  33,  37, 41, 45, 49, 53, 57,
-	     61,  65,  69, 73, 77, 81, 85, 89,
-	     93, 97,  101, 105, 109, 113, 117, 121,
-	     125, 129, 133, 137, 141, 145, 149, 153,
-	     157, 161, 165, 169, 173, 177, 181, 185,
-	     189, 193, 197, 201, 205, 209, 213, 217,
-	     221, 225, 229, 233, 237, 241, 245, 249,
-	     253, 257, 261, 265, 269, 273, 277, 281:
-		// Prior-Q with attribute list upstream
-		// log.Println("Mib-upload for prior-q with attribute list")
-		// For upstream pkt[10] is fixed as 80
-		// So for upstream PQ, instanceId will be like 0x8001, 0x8002 ... etc
-		pkt = []byte{
-			0x00, 0x43, 0x2e, 0x0a, 0x00, 0x02, 0x00, 0x00,
-			0x01, 0x15, 0x80, 0x00, 0xff, 0xf0, 0x00, 0x01,
-			0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-			0x20, 0x00, 0x00, 0x80, 0x20, 0x01, 0x00, 0x01,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		}
-
-		pkt[11] = state.priorQInstance
-		pkt[24] = state.tcontPointer
-		pkt[26] = state.priorQPriority % NumPriorQPerTcont // Priority of this PriorQ
-		pkt[28] = state.tcontInstance
-		state.priorQPriority++
-
-
-	case 282, 283, 284, 285, 286, 287, 288, 289:
-		// Traffic Scheduler
-		// log.Println("Traffic Scheduler")
-		pkt = []byte{
-			0x02, 0xa4, 0x2e, 0x0a, 0x00, 0x02, 0x00, 0x00,
-			0x01, 0x16, 0x80, 0x00, 0xf0, 0x00, 0x80, 0x00,
-			0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		}
-
-		pkt[15] = state.tcontInstance
-		state.tcontInstance++
-
-	case 290:
-		// ONT-2G
-		// log.Println("ONT-2G")
-		pkt = []byte{
-			0x00, 0x16, 0x2e, 0x0a, 0x00, 0x02, 0x00, 0x00,
-			0x01, 0x01, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x40,
-			0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x7f, 0x00, 0x00, 0x3f, 0x00, 0x01, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		}
-
-	default:
-		state.extraMibUploadCtr++
-		errstr := fmt.Sprintf("%v - Invalid MibUpload request: %d, extras: %d", key, state.mibUploadCtr, state)
-		return nil, errors.New(errstr)
-	}
-
-	state.mibUploadCtr++
-	return pkt, nil
-}
-
-func set(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-
-	pkt = []byte{
-		0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci Set")
-
-	return pkt, nil
-}
-
-func create(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-
-	if class == GEMPortNetworkCTP {
-		OnuOmciStateMapLock.RLock()
-		defer OnuOmciStateMapLock.RUnlock()
-		if onuOmciState, ok := OnuOmciStateMap[key]; !ok {
-			log.WithFields(log.Fields{
-				"IntfId": key.IntfId,
-				"OnuId": key.OnuId,
-			}).Tracef("ONU Key Error")
-			return nil, errors.New("ONU Key Error")
-		} else {
-			onuOmciState.gemPortId = binary.BigEndian.Uint16(content[:2])
-			log.WithFields(log.Fields{
-				"IntfId": key.IntfId,
-				"OnuId": key.OnuId,
-			}).Tracef("Gem Port Id %d", key, onuOmciState)
-			// FIXME
-			OnuOmciStateMap[key].state = DONE
-			omciCh <- OmciChMessage{
-				Type: GemPortAdded,
-				Data: OmciChMessageData{
-					OnuId: key.OnuId,
-					IntfId: key.IntfId,
-				},
-			}
-		}
-	}
-
-	pkt = []byte{
-		0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x01,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci Create")
-
-	return pkt, nil
-}
-
-func get(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-
-	pkt = []byte{
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x02, 0x01,
-		0x00, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-	pkt = GetAttributes(class, content, key, pkt)
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci Get")
-	return pkt, nil
-}
-
-func getAllAlarms(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-
-	// Report number of commands as 1, basically there is always one alarm to get, the ONU/PPTP locked, link down or up
-	pkt = []byte{
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-		0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci GetAllAlarms")
-
-	return pkt, nil
-}
-
-func syncTime(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-
-	pkt = []byte{
-		0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci syncTime")
-
-	return pkt, nil
-}
-
-func getAllAlarmsNext(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-
-	OnuOmciStateMapLock.Lock()
-	if OnuOmciState, ok := OnuOmciStateMap[key]; ok {
-		// if we are locked then admin down was sent and PPTP 257 is in alarm/locked state, this ensures get alarm
-		// shows that
-		if OnuOmciState.state == LOCKED {
-			// alarm set, alarm spot 0, LAN LOS
-			pkt = []byte{
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-				0x00, 0x0b, 0x01, 0x01, 0x80, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-		} else {
-			// alarm clear
-			pkt = []byte{
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-				0x00, 0x0b, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-		}
-	}
-	OnuOmciStateMapLock.Unlock()
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci GetAllAlarmsNext")
-
-	return pkt, nil
-}
-
-func delete(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-
-	pkt = []byte{
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x0b, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci Delete")
-
-	return pkt, nil
-}
-
-func reboot(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-	pkt = []byte{
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Tracef("Omci Reboot")
-	return pkt, nil
-}
-
-func testHandler(class OmciClass, content OmciContent, key OnuKey) ([]byte, error) {
-	var pkt []byte
-	pkt = []byte{
-		0x20, 0x52, 0x45, 0x43, 0x56, 0x00, 0x20, 0x53,
-		0x45, 0x4e, 0x44, 0x00, 0x88, 0xb5, 0x02, 0x3f,
-		0x1b, 0x0a, 0x01, 0x07, 0x80, 0x01, 0x01, 0x00,
-		0xa5, 0x03, 0xe0, 0x0b, 0x05, 0x0b, 0x2b, 0x09,
-		0x1c, 0xd0, 0x0c, 0x32, 0x80, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-		0x00, 0x28, 0xf8, 0x13, 0x1b, 0x36,}
-
-	log.WithFields(log.Fields{
-		"IntfId": key.IntfId,
-		"OnuId": key.OnuId,
-	}).Trace("Omci Test")
-	return pkt, nil
-}
-
diff --git a/vendor/github.com/opencord/omci-sim/omci_mib.go b/vendor/github.com/opencord/omci-sim/omci_mib.go
deleted file mode 100644
index b8d2cdc..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_mib.go
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2018-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-
-package core
-
-const NumMibUploadsHigherByte byte = 0x01
-const NumMibUploadsLowerByte byte = 0x23
-const NumPriorQPerTcont = 0x08 // NumPriorQPerTcont is the number of priority queues associated with a single tcont
-
diff --git a/vendor/github.com/opencord/omci-sim/omci_onu2g.go b/vendor/github.com/opencord/omci-sim/omci_onu2g.go
deleted file mode 100644
index 0c2329d..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_onu2g.go
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Copyright 2020-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-
-package core
-
-import (
-	"encoding/binary"
-)
-
-type Onu2GAttributes int
-
-const (
-	_                                           = iota
-	EquipmentID                 Onu2GAttributes = 0x8000
-	OmccVersion                 Onu2GAttributes = 0x4000
-	VendorProductCode           Onu2GAttributes = 0x2000
-	SecurityCapability          Onu2GAttributes = 0x1000
-	SecurityMode                Onu2GAttributes = 0x0800
-	TotalPriorityQueueNumber    Onu2GAttributes = 0x0400
-	TotalTrafficSchedulerNumber Onu2GAttributes = 0x0200
-	Mode                        Onu2GAttributes = 0x0100
-	TotalGemPortIDNumber        Onu2GAttributes = 0x0080
-	SysUptime                   Onu2GAttributes = 0x0040
-	ConnectivityCapability      Onu2GAttributes = 0x0020
-	CurrentConnectivityMode     Onu2GAttributes = 0x0010
-	QosConfigurationFlexibility Onu2GAttributes = 0x0008
-	PriorityQueueScaleFactor    Onu2GAttributes = 0x0004
-)
-
-type Onu2GAttributeHandler func(*uint, []byte) ([]byte, error)
-
-var Onu2GAttributeHandlers = map[Onu2GAttributes]Onu2GAttributeHandler{
-	EquipmentID:                 GetEquipmentID,
-	OmccVersion:                 GetOmccVersion,
-	VendorProductCode:           GetVendorProductCode,
-	SecurityCapability:          GetSecurityCapability,
-	SecurityMode:                GetSecurityMode,
-	TotalPriorityQueueNumber:    GetTotalPriorityQueueNumber,
-	TotalTrafficSchedulerNumber: GetTotalTrafficSchedulerNumber,
-	Mode:                        GetMode,
-	TotalGemPortIDNumber:        GetTotalGemPortIDNumber,
-	SysUptime:                   GetSysUptime,
-	ConnectivityCapability:      GetConnectivityCapability,
-	CurrentConnectivityMode:     GetCurrentConnectivityMode,
-	QosConfigurationFlexibility: GetQosConfigurationFlexibility,
-	PriorityQueueScaleFactor:    GetPriorityQueueScaleFactor,
-}
-
-func GetOnu2GAttributes(pos *uint, pkt []byte, content OmciContent) ([]byte, error) {
-	AttributesMask := getAttributeMask(content)
-
-	for index := uint(16); index >= 1; index-- {
-		Attribute := 1 << (index - 1)
-		reqAttribute := Attribute & AttributesMask
-
-		if reqAttribute != 0 {
-			pkt, _ = Onu2GAttributeHandlers[Onu2GAttributes(reqAttribute)](pos, pkt)
-		}
-	}
-
-	pkt[8] = 0x00 // Command Processed Successfully
-	pkt[9] = uint8(AttributesMask >> 8)
-	pkt[10] = uint8(AttributesMask & 0x00FF)
-
-	return pkt, nil
-
-}
-
-func GetEquipmentID(pos *uint, pkt []byte) ([]byte, error) {
-	// 20 bytes
-	equipid := []byte("12345123451234512345")
-	for _, ch := range equipid {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetOmccVersion(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 bytes
-	pkt[*pos] = 0xB4
-	*pos++
-	return pkt, nil
-}
-
-func GetVendorProductCode(pos *uint, pkt []byte) ([]byte, error) {
-	// 2 bytes
-	prodcode := []byte{0x00, 0x00}
-	for _, ch := range prodcode {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetSecurityCapability(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x01
-	*pos++
-	return pkt, nil
-}
-
-func GetSecurityMode(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x01
-	*pos++
-	return pkt, nil
-}
-
-func GetTotalPriorityQueueNumber(pos *uint, pkt []byte) ([]byte, error) {
-	// 2 bytes
-	// report 0 queues because thats what BRCM does...
-	numqueues := 0
-	bs := make([]byte, 2)
-	binary.BigEndian.PutUint16(bs, uint16(numqueues))
-	for _, ch := range bs {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetTotalTrafficSchedulerNumber(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetMode(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x01
-	*pos++
-	return pkt, nil
-}
-
-func GetTotalGemPortIDNumber(pos *uint, pkt []byte) ([]byte, error) {
-	// 2 bytes
-	gemports := 32
-	bs := make([]byte, 2)
-	binary.BigEndian.PutUint16(bs, uint16(gemports))
-	for _, ch := range bs {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetSysUptime(pos *uint, pkt []byte) ([]byte, error) {
-	// 4 byte int
-	uptime := 0
-	bs := make([]byte, 4)
-	binary.BigEndian.PutUint32(bs, uint32(uptime))
-	for _, ch := range bs {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetConnectivityCapability(pos *uint, pkt []byte) ([]byte, error) {
-	// 2 bytes
-	caps := []byte{0x00, 0x7F}
-	for _, ch := range caps {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetCurrentConnectivityMode(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetQosConfigurationFlexibility(pos *uint, pkt []byte) ([]byte, error) {
-	// 2 bytes
-	qosconf := []byte{0x00, 0x30}
-	for _, ch := range qosconf {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetPriorityQueueScaleFactor(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 bytes
-	pkt[*pos] = 0x01
-	*pos++
-	return pkt, nil
-}
diff --git a/vendor/github.com/opencord/omci-sim/omci_onug.go b/vendor/github.com/opencord/omci-sim/omci_onug.go
deleted file mode 100644
index 4a6d6f1..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_onug.go
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright 2020-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-
-package core
-
-type OnuGAttributes int
-
-const (
-	_                                       = iota
-	VendorID                 OnuGAttributes = 0x8000
-	Version                  OnuGAttributes = 0x4000
-	SerialNumber             OnuGAttributes = 0x2000
-	TrafficManagementOptions OnuGAttributes = 0x1000
-	VpVcCrossConnectOptions  OnuGAttributes = 0x0800
-	BatteryBackup            OnuGAttributes = 0x0400
-	AdministrativeState      OnuGAttributes = 0x0200
-	OperationalState         OnuGAttributes = 0x0100
-	OntSurvivalTime          OnuGAttributes = 0x0080
-	LogicalOnuID             OnuGAttributes = 0x0040
-	LogicalPassword          OnuGAttributes = 0x0020
-	CredentialsStatus        OnuGAttributes = 0x0010
-	ExtendedTcLayerOptions   OnuGAttributes = 0x0008
-)
-
-type OnuGAttributeHandler func(*uint, []byte, OnuKey) ([]byte, error)
-
-var OnuGAttributeHandlers = map[OnuGAttributes]OnuGAttributeHandler{
-	VendorID:                 GetVendorID,
-	Version:                  GetVersion,
-	SerialNumber:             GetSerialNumber,
-	TrafficManagementOptions: GetTrafficManagementOptions,
-	VpVcCrossConnectOptions:  GetVpVcCrossConnectOptions,
-	BatteryBackup:            GetBatteryBackup,
-	AdministrativeState:      GetAdministrativeState,
-	OperationalState:         GetOperationalState,
-	OntSurvivalTime:          GetOntSurvivalTime,
-	LogicalOnuID:             GetLogicalOnuID,
-	LogicalPassword:          GetLogicalPassword,
-	CredentialsStatus:        GetCredentialsStatus,
-	ExtendedTcLayerOptions:   GetExtendedTcLayerOptions,
-}
-
-func GetOnuGAttributes(pos *uint, pkt []byte, content OmciContent, key OnuKey) ([]byte, error) {
-	AttributesMask := getAttributeMask(content)
-
-	for index := uint(16); index >= 1; index-- {
-		Attribute := 1 << (index - 1)
-		reqAttribute := Attribute & AttributesMask
-
-		if reqAttribute != 0 {
-			pkt, _ = OnuGAttributeHandlers[OnuGAttributes(reqAttribute)](pos, pkt, key)
-		}
-	}
-
-	pkt[8] = 0x00 // Command Processed Successfully
-	pkt[9] = uint8(AttributesMask >> 8)
-	pkt[10] = uint8(AttributesMask & 0x00FF)
-
-	return pkt, nil
-
-}
-
-func GetVendorID(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 4 bytes
-	vendorid := []byte("BBSM")
-	for _, ch := range vendorid {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetVersion(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 14 bytes
-	for i := 1; i <= 14; i++ {
-		b := byte(' ')
-		pkt[*pos] = b
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetSerialNumber(pos *uint, pkt []byte, key OnuKey) ([]byte, error) {
-	// 8 bytes
-	vendorid := []byte("BBSM")
-	serialhex := []byte{0x00, byte(key.OltId % 256), byte(key.IntfId), byte(key.OnuId)}
-	serialnumber := append(vendorid, serialhex...)
-	for _, ch := range serialnumber {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetTrafficManagementOptions(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetVpVcCrossConnectOptions(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetBatteryBackup(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetAdministrativeState(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetOperationalState(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetOntSurvivalTime(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetLogicalOnuID(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 24 bytes
-	for i := 1; i <= 24; i++ {
-		b := byte(' ')
-		pkt[*pos] = b
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetLogicalPassword(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 24 bytes
-	for i := 1; i <= 24; i++ {
-		b := byte(' ')
-		pkt[*pos] = b
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetCredentialsStatus(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x00
-	*pos++
-	return pkt, nil
-}
-
-func GetExtendedTcLayerOptions(pos *uint, pkt []byte, _ OnuKey) ([]byte, error) {
-	// 2 bytes
-	tcbits := []byte{0x00, 0x00}
-	for _, ch := range tcbits {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
diff --git a/vendor/github.com/opencord/omci-sim/omci_pm_history_data.go b/vendor/github.com/opencord/omci-sim/omci_pm_history_data.go
deleted file mode 100644
index 60ddd80..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_pm_history_data.go
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright 2018-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-
-package core
-
-type PerformanceMonitoringHistoryData int
-
-const (
-	_                                                                = iota
-	IntervalEndTime                 PerformanceMonitoringHistoryData = 0x8000
-	ThresholdDataId                 PerformanceMonitoringHistoryData = 0x4000
-	FCSErrors                       PerformanceMonitoringHistoryData = 0x2000
-	ExcessiveCollisionCounter       PerformanceMonitoringHistoryData = 0x1000
-	LateCollisionCounter            PerformanceMonitoringHistoryData = 0x0800
-	FrameTooLong                    PerformanceMonitoringHistoryData = 0x0400
-	BufferOverflowOnReceive         PerformanceMonitoringHistoryData = 0x0200
-	BufferOverflowOnTransmit        PerformanceMonitoringHistoryData = 0x0100
-	SingleCollisionFrameCounter     PerformanceMonitoringHistoryData = 0x0080
-	MultipleCollisionFrameCounter   PerformanceMonitoringHistoryData = 0x0040
-	SQECounter                      PerformanceMonitoringHistoryData = 0x0020
-	DeferredTransmissionCounter     PerformanceMonitoringHistoryData = 0x0010
-	InternalMACTransmitErrorCounter PerformanceMonitoringHistoryData = 0x0008
-	CarrierSenseErrorCounter        PerformanceMonitoringHistoryData = 0x0004
-	AllignmentErrorCounter          PerformanceMonitoringHistoryData = 0x0002
-	InternalMACReceiveErrorCounter  PerformanceMonitoringHistoryData = 0x0001
-)
-
-type PMHistoryAttributeHandler func(*uint, []byte) ([]byte, error)
-
-var PMHistoryAttributeHandlers = map[PerformanceMonitoringHistoryData]ANIGAttributeHandler{
-	IntervalEndTime :                GetIntervalEndTime,
-	ThresholdDataId:                 GetThresholdDataId,
-	FCSErrors:                       GetFCSErrors,
-	ExcessiveCollisionCounter:       GetExcessiveCollisionCounter,
-	LateCollisionCounter:            GetLateCollisionCounter,
-	FrameTooLong:                    GetFrameTooLong,
-	BufferOverflowOnReceive:         GetBufferOverflowOnReceive,
-	BufferOverflowOnTransmit:        GetBufferOverflowOnTransmit,
-	SingleCollisionFrameCounter:     GetSingleCollisionFrameCounter,
-	MultipleCollisionFrameCounter:   GetMultipleCollisionFrameCounter,
-	SQECounter:                      GetSQECounter,
-	DeferredTransmissionCounter:     GetDeferredTransmissionCounter,
-	InternalMACTransmitErrorCounter: GetInternalMACTransmitErrorCounter,
-	CarrierSenseErrorCounter:        GetCarrierSenseErrorCounter,
-	AllignmentErrorCounter:          GetAllignmentErrorCounter,
-	InternalMACReceiveErrorCounter:  GetInternalMACReceiveErrorCounter,
-}
-
-func GetEthernetPMHistoryDataAttributes(pos *uint, pkt []byte, content OmciContent) ([]byte, error) {
-	AttributesMask := getAttributeMask(content)
-
-	for index := uint(16); index>=1 ; index-- {
-		Attribute := 1 << (index - 1)
-		reqAttribute := Attribute & AttributesMask
-
-		if reqAttribute != 0 {
-			pkt, _ = PMHistoryAttributeHandlers[PerformanceMonitoringHistoryData(reqAttribute)](pos, pkt)
-		}
-	}
-
-	pkt[8] = 0x00 // Command Processed Successfully
-	pkt[9] = uint8(AttributesMask >> 8)
-	pkt[10] = uint8(AttributesMask & 0x00FF)
-
-	return pkt, nil
-
-}
-
-func GetIntervalEndTime(pos *uint, pkt []byte) ([]byte, error) {
-	// With the hardware, it is seen that all attributes are 0x00
-	// Nevertheless these functions are made to provide specific values in future if required
-	*pos++
-	return pkt, nil
-}
-
-func GetThresholdDataId(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetFCSErrors(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetExcessiveCollisionCounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetLateCollisionCounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetFrameTooLong(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetBufferOverflowOnReceive(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetBufferOverflowOnTransmit(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetSingleCollisionFrameCounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetMultipleCollisionFrameCounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetSQECounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetDeferredTransmissionCounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetInternalMACTransmitErrorCounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetCarrierSenseErrorCounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetAllignmentErrorCounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-func GetInternalMACReceiveErrorCounter(pos *uint, pkt []byte) ([]byte, error) {
-	*pos++
-	*pos++
-	*pos++
-	*pos++
-	return pkt, nil
-}
-
-
diff --git a/vendor/github.com/opencord/omci-sim/omci_sim.go b/vendor/github.com/opencord/omci-sim/omci_sim.go
deleted file mode 100644
index e1ea77f..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_sim.go
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright 2018-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-
-package core
-
-import (
-	"fmt"
-	log "github.com/sirupsen/logrus"
-)
-
-var omciCh = make(chan OmciChMessage, 4096)
-
-func GetChannel() chan OmciChMessage {
-	return omciCh
-}
-
-func OmciSim(oltId int, intfId uint32, onuId uint32, request []byte) ([]byte, error) {
-	var resp []byte
-
-	transactionId, deviceId, msgType, class, instance, content, err := ParsePkt(request)
-	if err != nil {
-		log.WithFields(log.Fields{
-			"IntfId": intfId,
-			"OnuId": onuId,
-		}).Errorf("Cannot parse OMCI msg")
-		return resp, &OmciError{"Cannot parse OMCI msg"}
-	}
-
-	log.WithFields(log.Fields{
-		"IntfId": intfId,
-		"OnuId": onuId,
-		"TransactionId": transactionId,
-		"MessageType": msgType.PrettyPrint(),
-		"MeClass": class,
-		"MeInstance": instance,
-		//"Conent": content,
-		"omciMsg": fmt.Sprintf("%x", content),
-	}).Tracef("Processing OMCI packet")
-
-	key := OnuKey{OltId: oltId, IntfId: intfId, OnuId: onuId}
-	OnuOmciStateMapLock.Lock()
-	if _, ok := OnuOmciStateMap[key]; !ok {
-		OnuOmciStateMap[key] = NewOnuOmciState()
-	}
-	OnuOmciStateMapLock.Unlock()
-
-	if _, ok := Handlers[msgType]; !ok {
-		log.WithFields(log.Fields{
-			"IntfId": intfId,
-			"OnuId": onuId,
-			"msgType": msgType,
-		}).Errorf("Ignoring omci msg (msgType %d not handled)", msgType)
-		return resp, &OmciError{"Unimplemented omci msg"}
-	}
-
-	resp, err = Handlers[msgType](class, content, key)
-	if err != nil {
-		log.WithFields(log.Fields{
-			"IntfId": intfId,
-			"OnuId": onuId,
-			"msgType": msgType,
-		}).Errorf("Unable to send a successful response, error: %s", err)
-		return resp, nil
-	}
-
-	// In the OMCI message, first 2-bytes is the Transaction Correlation ID
-	resp[0] = byte(transactionId >> 8)
-	resp[1] = byte(transactionId & 0xFF)
-	resp[2] = 0x2<<4 | byte(msgType) // Upper nibble 0x2 is fixed (0010), Lower nibbles defines the msg type (i.e., mib-upload, mib-upload-next, etc)
-	resp[3] = deviceId
-
-	// for create, get and set
-	if ((msgType & 0xFF) != MibUploadNext) && ((msgType & 0xFF) != MibReset) && ((msgType & 0xFF) != MibUpload) {
-		// Common fields for create, get, and set
-		resp[4] = byte(class >> 8)
-		resp[5] = byte(class & 0xFF)
-		resp[6] = byte(instance >> 8)
-		resp[7] = byte(instance & 0xFF)
-		resp[8] = 0 // Result: Command Processed Successfully
-
-		// Hardcoding class specific values for Get
-		if (class == 0x82) && ((msgType & 0x0F) == Get) {
-			resp[9] = 0
-			resp[10] = 0x78
-
-		} else if (class == 0x2F) && ((msgType & 0x0F) == Get) {
-			resp[9] = 0x0F
-			resp[10] = 0xB8
-		} else if (class == 0x138) && ((msgType & 0x0F) == Get) {
-			resp[9] = content[0] // 0xBE
-			resp[10] = 0x00
-		}
-	}
-
-	if (class == 11 && instance == 257 && msgType == Set) {
-		// This is a set on a PPTP instance 257 (lan port 1)
-		// Determine if its setting admin up or down and alarm appropriately
-
-		// attrmask for what specifically sets/gets is 2 bytes
-		attrmask := content[0:2]
-		// actual content is the rest, as specified by attrmask.  but for this case we are only interested in 1 byte
-		firstattr := content[2:3]
-
-		// attribute bit 5 (admin state) in the PPTP is being set, its value is 1, lock
-		if (attrmask[0] == 0x08 && firstattr[0] == 0x01) {
-			log.Info("Send UNI Link Down Alarm on OMCI Sim channel")
-
-			linkMsgDown := []byte{
-				0x00, 0x00, 0x10, 0x0a, 0x00, 0x0b, 0x01, 0x01,
-				0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-			msg := OmciChMessage{
-				Type: UniLinkDown,
-				Data: OmciChMessageData{
-					OnuId:  key.OnuId,
-					IntfId: key.IntfId,
-				},
-				Packet: linkMsgDown,
-			}
-			omciCh <- msg
-
-			OnuOmciStateMapLock.Lock()
-			if OnuOmciState, ok := OnuOmciStateMap[key]; ok {
-				OnuOmciState.state = LOCKED
-			}
-			OnuOmciStateMapLock.Unlock()
-		}
-
-		// attribute bit 5 (admin state) in the PPTP is being set, its value is 0, unlock
-		if (attrmask[0] == 0x08 && firstattr[0] == 0x00) {
-			log.Info("Send UNI Link Up Alarm on OMCI Sim channel")
-
-			linkMsgUp := []byte{
-				0x00, 0x00, 0x10, 0x0a, 0x00, 0x0b, 0x01, 0x01,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-
-			msg := OmciChMessage{
-				Type: UniLinkUp,
-				Data: OmciChMessageData{
-					OnuId:  key.OnuId,
-					IntfId: key.IntfId,
-				},
-				Packet: linkMsgUp,
-			}
-			omciCh <- msg
-
-			OnuOmciStateMapLock.Lock()
-			if OnuOmciState, ok := OnuOmciStateMap[key]; ok {
-				OnuOmciState.state = DONE
-			}
-			OnuOmciStateMapLock.Unlock()
-		}
-	}
-
-	log.WithFields(log.Fields{
-		"IntfId": intfId,
-		"OnuId": onuId,
-		"msgType": msgType.PrettyPrint(),
-		"omciMsg": fmt.Sprintf("%x", resp),
-	}).Tracef("OMCI-SIM Response")
-
-	return resp, nil
-}
diff --git a/vendor/github.com/opencord/omci-sim/omci_softwareimage.go b/vendor/github.com/opencord/omci-sim/omci_softwareimage.go
deleted file mode 100644
index f0d2f9e..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_softwareimage.go
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright 2020-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-
-package core
-
-type SoftwareImageAttributes int
-
-const (
-	_                                       = iota
-	SoftwareVersion SoftwareImageAttributes = 0x8000
-	IsCommited      SoftwareImageAttributes = 0x4000
-	IsActive        SoftwareImageAttributes = 0x2000
-	IsValid         SoftwareImageAttributes = 0x1000
-	ProductCode     SoftwareImageAttributes = 0x0800
-	ImageHash       SoftwareImageAttributes = 0x0400
-)
-
-type SoftwareImageAttributeHandler func(*uint, []byte) ([]byte, error)
-
-var SoftwareImageAttributeHandlers = map[SoftwareImageAttributes]SoftwareImageAttributeHandler{
-	SoftwareVersion: GetSoftwareVersion,
-	IsCommited:      GetIsCommited,
-	IsActive:        GetIsActive,
-	IsValid:         GetIsValid,
-	ProductCode:     GetProductCode,
-	ImageHash:       GetImageHash,
-}
-
-func GetSoftwareImageAttributes(pos *uint, pkt []byte, content OmciContent) ([]byte, error) {
-	AttributesMask := getAttributeMask(content)
-
-	for index := uint(16); index >= 1; index-- {
-		Attribute := 1 << (index - 1)
-		reqAttribute := Attribute & AttributesMask
-
-		if reqAttribute != 0 {
-			pkt, _ = SoftwareImageAttributeHandlers[SoftwareImageAttributes(reqAttribute)](pos, pkt)
-		}
-	}
-
-	pkt[8] = 0x00 // Command Processed Successfully
-	pkt[9] = uint8(AttributesMask >> 8)
-	pkt[10] = uint8(AttributesMask & 0x00FF)
-
-	return pkt, nil
-
-}
-
-func GetSoftwareVersion(pos *uint, pkt []byte) ([]byte, error) {
-	// 14 bytes
-	version := []byte("00000000000001")
-	for _, ch := range version {
-		pkt[*pos] = ch
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetIsCommited(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 bytes
-	pkt[*pos] = 0x01
-	*pos++
-	return pkt, nil
-}
-
-func GetIsActive(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 bytes
-	pkt[*pos] = 0x01
-	*pos++
-	return pkt, nil
-}
-
-func GetIsValid(pos *uint, pkt []byte) ([]byte, error) {
-	// 1 byte
-	pkt[*pos] = 0x01
-	*pos++
-	return pkt, nil
-}
-
-func GetProductCode(pos *uint, pkt []byte) ([]byte, error) {
-	// 25 bytes
-	// BRCM has 25 nulls
-	for i := 1; i <= 25; i++ {
-		pkt[*pos] = 0x00
-		*pos++
-	}
-	return pkt, nil
-}
-
-func GetImageHash(pos *uint, pkt []byte) ([]byte, error) {
-	// 16 bytes
-	// BRCM has 16 nulls
-	for i := 1; i <= 16; i++ {
-		pkt[*pos] = 0x00
-		*pos++
-	}
-	return pkt, nil
-}
diff --git a/vendor/github.com/opencord/omci-sim/omci_state.go b/vendor/github.com/opencord/omci-sim/omci_state.go
deleted file mode 100644
index d1b4332..0000000
--- a/vendor/github.com/opencord/omci-sim/omci_state.go
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2018-present Open Networking Foundation
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- */
-package core
-
-import (
-	"errors"
-	"fmt"
-	"sync"
-)
-
-type OnuOmciState struct {
-	gemPortId         uint16
-	mibUploadCtr      uint16
-	extraMibUploadCtr uint16 // this is only for debug purposes, will be removed in the future
-	uniGInstance      uint8
-	tcontInstance     uint8
-	pptpInstance      uint8
-	priorQInstance    uint8 // To assign incrementing value to PQ instance-Id
-	priorQPriority	  uint8 // Priority of the PriorityQueueG (0-7)
-	tcontPointer      uint8 // Tcont Pointer for PriorQ
-	state             istate
-}
-
-type istate int
-
-// TODO - Needs to reflect real ONU/OMCI state
-const (
-	INCOMPLETE istate = iota
-	DONE
-	LOCKED
-)
-
-var OnuOmciStateMap = map[OnuKey]*OnuOmciState{}
-var OnuOmciStateMapLock = sync.RWMutex{}
-
-func NewOnuOmciState() *OnuOmciState {
-	return &OnuOmciState{gemPortId: 0, mibUploadCtr: 0, uniGInstance: 1, tcontInstance: 0, pptpInstance: 1}
-}
-func (s *OnuOmciState) ResetOnuOmciState() {
-	// Resetting the counters  
-	s.mibUploadCtr = 0
-	s.extraMibUploadCtr = 0
-	s.gemPortId = 0
-	s.uniGInstance = 1
-	s.tcontInstance = 0
-	s.pptpInstance = 1
-	s.tcontPointer = 0
-	s.priorQPriority = 0
-}
-func GetOnuOmciState(oltId int, intfId uint32, onuId uint32) istate {
-	key := OnuKey{oltId,intfId, onuId}
-	OnuOmciStateMapLock.RLock()
-	defer OnuOmciStateMapLock.RUnlock()
-	if onu, ok := OnuOmciStateMap[key]; ok {
-		return onu.state
-	} else {
-		return INCOMPLETE
-	}
-}
-
-func GetGemPortId(oltId int, intfId uint32, onuId uint32) (uint16, error) {
-	key := OnuKey{oltId, intfId, onuId}
-	OnuOmciStateMapLock.RLock()
-	defer OnuOmciStateMapLock.RUnlock()
-	if OnuOmciState, ok := OnuOmciStateMap[key]; ok {
-		if OnuOmciState.state != DONE {
-			errmsg := fmt.Sprintf("ONU {intfid:%d, onuid:%d} - Not DONE (GemportID is not set)", intfId, onuId)
-			return 0, errors.New(errmsg)
-		}
-		return OnuOmciState.gemPortId, nil
-	}
-	errmsg := fmt.Sprintf("ONU {intfid:%d, onuid:%d} - Failed to find a key in OnuOmciStateMap", intfId, onuId)
-	return 0, errors.New(errmsg)
-}
diff --git a/vendor/github.com/stretchr/testify/assert/assertion_format.go b/vendor/github.com/stretchr/testify/assert/assertion_format.go
index e0364e9..bf89ecd 100644
--- a/vendor/github.com/stretchr/testify/assert/assertion_format.go
+++ b/vendor/github.com/stretchr/testify/assert/assertion_format.go
@@ -32,7 +32,8 @@
 	return Contains(t, s, contains, append([]interface{}{msg}, args...)...)
 }
 
-// DirExistsf checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.
+// DirExistsf checks whether a directory exists in the given path. It also fails
+// if the path is a file rather a directory or there is an error checking whether it exists.
 func DirExistsf(t TestingT, path string, msg string, args ...interface{}) bool {
 	if h, ok := t.(tHelper); ok {
 		h.Helper()
@@ -160,7 +161,8 @@
 	return False(t, value, append([]interface{}{msg}, args...)...)
 }
 
-// FileExistsf checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.
+// FileExistsf checks whether a file exists in the given path. It also fails if
+// the path points to a directory or there is an error when trying to check the file.
 func FileExistsf(t TestingT, path string, msg string, args ...interface{}) bool {
 	if h, ok := t.(tHelper); ok {
 		h.Helper()
@@ -267,7 +269,7 @@
 
 // InDeltaf asserts that the two numerals are within delta of each other.
 //
-// 	 assert.InDeltaf(t, math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01)
+// 	 assert.InDeltaf(t, math.Pi, 22/7.0, 0.01, "error message %s", "formatted")
 func InDeltaf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {
 	if h, ok := t.(tHelper); ok {
 		h.Helper()
@@ -325,14 +327,6 @@
 	return JSONEq(t, expected, actual, append([]interface{}{msg}, args...)...)
 }
 
-// YAMLEqf asserts that two YAML strings are equivalent.
-func YAMLEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool {
-	if h, ok := t.(tHelper); ok {
-		h.Helper()
-	}
-	return YAMLEq(t, expected, actual, append([]interface{}{msg}, args...)...)
-}
-
 // Lenf asserts that the specified object has specific length.
 // Lenf also fails if the object has a type that len() not accept.
 //
@@ -369,6 +363,17 @@
 	return LessOrEqual(t, e1, e2, append([]interface{}{msg}, args...)...)
 }
 
+// Neverf asserts that the given condition doesn't satisfy in waitFor time,
+// periodically checking the target function each tick.
+//
+//    assert.Neverf(t, func() bool { return false; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
+func Neverf(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+	return Never(t, condition, waitFor, tick, append([]interface{}{msg}, args...)...)
+}
+
 // Nilf asserts that the specified object is nil.
 //
 //    assert.Nilf(t, err, "error message %s", "formatted")
@@ -379,6 +384,15 @@
 	return Nil(t, object, append([]interface{}{msg}, args...)...)
 }
 
+// NoDirExistsf checks whether a directory does not exist in the given path.
+// It fails if the path points to an existing _directory_ only.
+func NoDirExistsf(t TestingT, path string, msg string, args ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+	return NoDirExists(t, path, append([]interface{}{msg}, args...)...)
+}
+
 // NoErrorf asserts that a function returned no error (i.e. `nil`).
 //
 //   actualObj, err := SomeFunction()
@@ -392,6 +406,15 @@
 	return NoError(t, err, append([]interface{}{msg}, args...)...)
 }
 
+// NoFileExistsf checks whether a file does not exist in a given path. It fails
+// if the path points to an existing _file_ only.
+func NoFileExistsf(t TestingT, path string, msg string, args ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+	return NoFileExists(t, path, append([]interface{}{msg}, args...)...)
+}
+
 // NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the
 // specified substring or element.
 //
@@ -462,6 +485,19 @@
 	return NotRegexp(t, rx, str, append([]interface{}{msg}, args...)...)
 }
 
+// NotSamef asserts that two pointers do not reference the same object.
+//
+//    assert.NotSamef(t, ptr1, ptr2, "error message %s", "formatted")
+//
+// Both arguments must be pointer variables. Pointer variable sameness is
+// determined based on the equality of both type and value.
+func NotSamef(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+	return NotSame(t, expected, actual, append([]interface{}{msg}, args...)...)
+}
+
 // NotSubsetf asserts that the specified list(array, slice...) contains not all
 // elements given in the specified subset(array, slice...).
 //
@@ -491,6 +527,18 @@
 	return Panics(t, f, append([]interface{}{msg}, args...)...)
 }
 
+// PanicsWithErrorf asserts that the code inside the specified PanicTestFunc
+// panics, and that the recovered panic value is an error that satisfies the
+// EqualError comparison.
+//
+//   assert.PanicsWithErrorf(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
+func PanicsWithErrorf(t TestingT, errString string, f PanicTestFunc, msg string, args ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+	return PanicsWithError(t, errString, f, append([]interface{}{msg}, args...)...)
+}
+
 // PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that
 // the recovered panic value equals the expected panic value.
 //
@@ -557,6 +605,14 @@
 	return WithinDuration(t, expected, actual, delta, append([]interface{}{msg}, args...)...)
 }
 
+// YAMLEqf asserts that two YAML strings are equivalent.
+func YAMLEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+	return YAMLEq(t, expected, actual, append([]interface{}{msg}, args...)...)
+}
+
 // Zerof asserts that i is the zero value for its type.
 func Zerof(t TestingT, i interface{}, msg string, args ...interface{}) bool {
 	if h, ok := t.(tHelper); ok {
diff --git a/vendor/github.com/stretchr/testify/assert/assertion_forward.go b/vendor/github.com/stretchr/testify/assert/assertion_forward.go
index 2683040..75ecdca 100644
--- a/vendor/github.com/stretchr/testify/assert/assertion_forward.go
+++ b/vendor/github.com/stretchr/testify/assert/assertion_forward.go
@@ -53,7 +53,8 @@
 	return Containsf(a.t, s, contains, msg, args...)
 }
 
-// DirExists checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.
+// DirExists checks whether a directory exists in the given path. It also fails
+// if the path is a file rather a directory or there is an error checking whether it exists.
 func (a *Assertions) DirExists(path string, msgAndArgs ...interface{}) bool {
 	if h, ok := a.t.(tHelper); ok {
 		h.Helper()
@@ -61,7 +62,8 @@
 	return DirExists(a.t, path, msgAndArgs...)
 }
 
-// DirExistsf checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.
+// DirExistsf checks whether a directory exists in the given path. It also fails
+// if the path is a file rather a directory or there is an error checking whether it exists.
 func (a *Assertions) DirExistsf(path string, msg string, args ...interface{}) bool {
 	if h, ok := a.t.(tHelper); ok {
 		h.Helper()
@@ -309,7 +311,8 @@
 	return Falsef(a.t, value, msg, args...)
 }
 
-// FileExists checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.
+// FileExists checks whether a file exists in the given path. It also fails if
+// the path points to a directory or there is an error when trying to check the file.
 func (a *Assertions) FileExists(path string, msgAndArgs ...interface{}) bool {
 	if h, ok := a.t.(tHelper); ok {
 		h.Helper()
@@ -317,7 +320,8 @@
 	return FileExists(a.t, path, msgAndArgs...)
 }
 
-// FileExistsf checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.
+// FileExistsf checks whether a file exists in the given path. It also fails if
+// the path points to a directory or there is an error when trying to check the file.
 func (a *Assertions) FileExistsf(path string, msg string, args ...interface{}) bool {
 	if h, ok := a.t.(tHelper); ok {
 		h.Helper()
@@ -521,7 +525,7 @@
 
 // InDelta asserts that the two numerals are within delta of each other.
 //
-// 	 a.InDelta(math.Pi, (22 / 7.0), 0.01)
+// 	 a.InDelta(math.Pi, 22/7.0, 0.01)
 func (a *Assertions) InDelta(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {
 	if h, ok := a.t.(tHelper); ok {
 		h.Helper()
@@ -563,7 +567,7 @@
 
 // InDeltaf asserts that the two numerals are within delta of each other.
 //
-// 	 a.InDeltaf(math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01)
+// 	 a.InDeltaf(math.Pi, 22/7.0, 0.01, "error message %s", "formatted")
 func (a *Assertions) InDeltaf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {
 	if h, ok := a.t.(tHelper); ok {
 		h.Helper()
@@ -639,22 +643,6 @@
 	return JSONEqf(a.t, expected, actual, msg, args...)
 }
 
-// YAMLEq asserts that two YAML strings are equivalent.
-func (a *Assertions) YAMLEq(expected string, actual string, msgAndArgs ...interface{}) bool {
-	if h, ok := a.t.(tHelper); ok {
-		h.Helper()
-	}
-	return YAMLEq(a.t, expected, actual, msgAndArgs...)
-}
-
-// YAMLEqf asserts that two YAML strings are equivalent.
-func (a *Assertions) YAMLEqf(expected string, actual string, msg string, args ...interface{}) bool {
-	if h, ok := a.t.(tHelper); ok {
-		h.Helper()
-	}
-	return YAMLEqf(a.t, expected, actual, msg, args...)
-}
-
 // Len asserts that the specified object has specific length.
 // Len also fails if the object has a type that len() not accept.
 //
@@ -727,6 +715,28 @@
 	return Lessf(a.t, e1, e2, msg, args...)
 }
 
+// Never asserts that the given condition doesn't satisfy in waitFor time,
+// periodically checking the target function each tick.
+//
+//    a.Never(func() bool { return false; }, time.Second, 10*time.Millisecond)
+func (a *Assertions) Never(condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return Never(a.t, condition, waitFor, tick, msgAndArgs...)
+}
+
+// Neverf asserts that the given condition doesn't satisfy in waitFor time,
+// periodically checking the target function each tick.
+//
+//    a.Neverf(func() bool { return false; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
+func (a *Assertions) Neverf(condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return Neverf(a.t, condition, waitFor, tick, msg, args...)
+}
+
 // Nil asserts that the specified object is nil.
 //
 //    a.Nil(err)
@@ -747,6 +757,24 @@
 	return Nilf(a.t, object, msg, args...)
 }
 
+// NoDirExists checks whether a directory does not exist in the given path.
+// It fails if the path points to an existing _directory_ only.
+func (a *Assertions) NoDirExists(path string, msgAndArgs ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return NoDirExists(a.t, path, msgAndArgs...)
+}
+
+// NoDirExistsf checks whether a directory does not exist in the given path.
+// It fails if the path points to an existing _directory_ only.
+func (a *Assertions) NoDirExistsf(path string, msg string, args ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return NoDirExistsf(a.t, path, msg, args...)
+}
+
 // NoError asserts that a function returned no error (i.e. `nil`).
 //
 //   actualObj, err := SomeFunction()
@@ -773,6 +801,24 @@
 	return NoErrorf(a.t, err, msg, args...)
 }
 
+// NoFileExists checks whether a file does not exist in a given path. It fails
+// if the path points to an existing _file_ only.
+func (a *Assertions) NoFileExists(path string, msgAndArgs ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return NoFileExists(a.t, path, msgAndArgs...)
+}
+
+// NoFileExistsf checks whether a file does not exist in a given path. It fails
+// if the path points to an existing _file_ only.
+func (a *Assertions) NoFileExistsf(path string, msg string, args ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return NoFileExistsf(a.t, path, msg, args...)
+}
+
 // NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the
 // specified substring or element.
 //
@@ -913,6 +959,32 @@
 	return NotRegexpf(a.t, rx, str, msg, args...)
 }
 
+// NotSame asserts that two pointers do not reference the same object.
+//
+//    a.NotSame(ptr1, ptr2)
+//
+// Both arguments must be pointer variables. Pointer variable sameness is
+// determined based on the equality of both type and value.
+func (a *Assertions) NotSame(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return NotSame(a.t, expected, actual, msgAndArgs...)
+}
+
+// NotSamef asserts that two pointers do not reference the same object.
+//
+//    a.NotSamef(ptr1, ptr2, "error message %s", "formatted")
+//
+// Both arguments must be pointer variables. Pointer variable sameness is
+// determined based on the equality of both type and value.
+func (a *Assertions) NotSamef(expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return NotSamef(a.t, expected, actual, msg, args...)
+}
+
 // NotSubset asserts that the specified list(array, slice...) contains not all
 // elements given in the specified subset(array, slice...).
 //
@@ -961,6 +1033,30 @@
 	return Panics(a.t, f, msgAndArgs...)
 }
 
+// PanicsWithError asserts that the code inside the specified PanicTestFunc
+// panics, and that the recovered panic value is an error that satisfies the
+// EqualError comparison.
+//
+//   a.PanicsWithError("crazy error", func(){ GoCrazy() })
+func (a *Assertions) PanicsWithError(errString string, f PanicTestFunc, msgAndArgs ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return PanicsWithError(a.t, errString, f, msgAndArgs...)
+}
+
+// PanicsWithErrorf asserts that the code inside the specified PanicTestFunc
+// panics, and that the recovered panic value is an error that satisfies the
+// EqualError comparison.
+//
+//   a.PanicsWithErrorf("crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
+func (a *Assertions) PanicsWithErrorf(errString string, f PanicTestFunc, msg string, args ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return PanicsWithErrorf(a.t, errString, f, msg, args...)
+}
+
 // PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that
 // the recovered panic value equals the expected panic value.
 //
@@ -1103,6 +1199,22 @@
 	return WithinDurationf(a.t, expected, actual, delta, msg, args...)
 }
 
+// YAMLEq asserts that two YAML strings are equivalent.
+func (a *Assertions) YAMLEq(expected string, actual string, msgAndArgs ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return YAMLEq(a.t, expected, actual, msgAndArgs...)
+}
+
+// YAMLEqf asserts that two YAML strings are equivalent.
+func (a *Assertions) YAMLEqf(expected string, actual string, msg string, args ...interface{}) bool {
+	if h, ok := a.t.(tHelper); ok {
+		h.Helper()
+	}
+	return YAMLEqf(a.t, expected, actual, msg, args...)
+}
+
 // Zero asserts that i is the zero value for its type.
 func (a *Assertions) Zero(i interface{}, msgAndArgs ...interface{}) bool {
 	if h, ok := a.t.(tHelper); ok {
diff --git a/vendor/github.com/stretchr/testify/assert/assertions.go b/vendor/github.com/stretchr/testify/assert/assertions.go
index 044da8b..bdd8138 100644
--- a/vendor/github.com/stretchr/testify/assert/assertions.go
+++ b/vendor/github.com/stretchr/testify/assert/assertions.go
@@ -11,6 +11,7 @@
 	"reflect"
 	"regexp"
 	"runtime"
+	"runtime/debug"
 	"strings"
 	"time"
 	"unicode"
@@ -21,7 +22,7 @@
 	yaml "gopkg.in/yaml.v2"
 )
 
-//go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_format.go.tmpl
+//go:generate sh -c "cd ../_codegen && go build && cd - && ../_codegen/_codegen -output-package=assert -template=assertion_format.go.tmpl"
 
 // TestingT is an interface wrapper around *testing.T
 type TestingT interface {
@@ -351,6 +352,19 @@
 
 }
 
+// validateEqualArgs checks whether provided arguments can be safely used in the
+// Equal/NotEqual functions.
+func validateEqualArgs(expected, actual interface{}) error {
+	if expected == nil && actual == nil {
+		return nil
+	}
+
+	if isFunction(expected) || isFunction(actual) {
+		return errors.New("cannot take func type as argument")
+	}
+	return nil
+}
+
 // Same asserts that two pointers reference the same object.
 //
 //    assert.Same(t, ptr1, ptr2)
@@ -362,18 +376,7 @@
 		h.Helper()
 	}
 
-	expectedPtr, actualPtr := reflect.ValueOf(expected), reflect.ValueOf(actual)
-	if expectedPtr.Kind() != reflect.Ptr || actualPtr.Kind() != reflect.Ptr {
-		return Fail(t, "Invalid operation: both arguments must be pointers", msgAndArgs...)
-	}
-
-	expectedType, actualType := reflect.TypeOf(expected), reflect.TypeOf(actual)
-	if expectedType != actualType {
-		return Fail(t, fmt.Sprintf("Pointer expected to be of type %v, but was %v",
-			expectedType, actualType), msgAndArgs...)
-	}
-
-	if expected != actual {
+	if !samePointers(expected, actual) {
 		return Fail(t, fmt.Sprintf("Not same: \n"+
 			"expected: %p %#v\n"+
 			"actual  : %p %#v", expected, expected, actual, actual), msgAndArgs...)
@@ -382,6 +385,42 @@
 	return true
 }
 
+// NotSame asserts that two pointers do not reference the same object.
+//
+//    assert.NotSame(t, ptr1, ptr2)
+//
+// Both arguments must be pointer variables. Pointer variable sameness is
+// determined based on the equality of both type and value.
+func NotSame(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+
+	if samePointers(expected, actual) {
+		return Fail(t, fmt.Sprintf(
+			"Expected and actual point to the same object: %p %#v",
+			expected, expected), msgAndArgs...)
+	}
+	return true
+}
+
+// samePointers compares two generic interface objects and returns whether
+// they point to the same object
+func samePointers(first, second interface{}) bool {
+	firstPtr, secondPtr := reflect.ValueOf(first), reflect.ValueOf(second)
+	if firstPtr.Kind() != reflect.Ptr || secondPtr.Kind() != reflect.Ptr {
+		return false
+	}
+
+	firstType, secondType := reflect.TypeOf(first), reflect.TypeOf(second)
+	if firstType != secondType {
+		return false
+	}
+
+	// compare pointer addresses
+	return first == second
+}
+
 // formatUnequalValues takes two values of arbitrary types and returns string
 // representations appropriate to be presented to the user.
 //
@@ -393,9 +432,11 @@
 		return fmt.Sprintf("%T(%#v)", expected, expected),
 			fmt.Sprintf("%T(%#v)", actual, actual)
 	}
-
-	return fmt.Sprintf("%#v", expected),
-		fmt.Sprintf("%#v", actual)
+	switch expected.(type) {
+	case time.Duration:
+		return fmt.Sprintf("%v", expected), fmt.Sprintf("%v", actual)
+	}
+	return fmt.Sprintf("%#v", expected), fmt.Sprintf("%#v", actual)
 }
 
 // EqualValues asserts that two objects are equal or convertable to the same types
@@ -901,15 +942,17 @@
 type PanicTestFunc func()
 
 // didPanic returns true if the function passed to it panics. Otherwise, it returns false.
-func didPanic(f PanicTestFunc) (bool, interface{}) {
+func didPanic(f PanicTestFunc) (bool, interface{}, string) {
 
 	didPanic := false
 	var message interface{}
+	var stack string
 	func() {
 
 		defer func() {
 			if message = recover(); message != nil {
 				didPanic = true
+				stack = string(debug.Stack())
 			}
 		}()
 
@@ -918,7 +961,7 @@
 
 	}()
 
-	return didPanic, message
+	return didPanic, message, stack
 
 }
 
@@ -930,7 +973,7 @@
 		h.Helper()
 	}
 
-	if funcDidPanic, panicValue := didPanic(f); !funcDidPanic {
+	if funcDidPanic, panicValue, _ := didPanic(f); !funcDidPanic {
 		return Fail(t, fmt.Sprintf("func %#v should panic\n\tPanic value:\t%#v", f, panicValue), msgAndArgs...)
 	}
 
@@ -946,12 +989,34 @@
 		h.Helper()
 	}
 
-	funcDidPanic, panicValue := didPanic(f)
+	funcDidPanic, panicValue, panickedStack := didPanic(f)
 	if !funcDidPanic {
 		return Fail(t, fmt.Sprintf("func %#v should panic\n\tPanic value:\t%#v", f, panicValue), msgAndArgs...)
 	}
 	if panicValue != expected {
-		return Fail(t, fmt.Sprintf("func %#v should panic with value:\t%#v\n\tPanic value:\t%#v", f, expected, panicValue), msgAndArgs...)
+		return Fail(t, fmt.Sprintf("func %#v should panic with value:\t%#v\n\tPanic value:\t%#v\n\tPanic stack:\t%s", f, expected, panicValue, panickedStack), msgAndArgs...)
+	}
+
+	return true
+}
+
+// PanicsWithError asserts that the code inside the specified PanicTestFunc
+// panics, and that the recovered panic value is an error that satisfies the
+// EqualError comparison.
+//
+//   assert.PanicsWithError(t, "crazy error", func(){ GoCrazy() })
+func PanicsWithError(t TestingT, errString string, f PanicTestFunc, msgAndArgs ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+
+	funcDidPanic, panicValue, panickedStack := didPanic(f)
+	if !funcDidPanic {
+		return Fail(t, fmt.Sprintf("func %#v should panic\n\tPanic value:\t%#v", f, panicValue), msgAndArgs...)
+	}
+	panicErr, ok := panicValue.(error)
+	if !ok || panicErr.Error() != errString {
+		return Fail(t, fmt.Sprintf("func %#v should panic with error message:\t%#v\n\tPanic value:\t%#v\n\tPanic stack:\t%s", f, errString, panicValue, panickedStack), msgAndArgs...)
 	}
 
 	return true
@@ -965,8 +1030,8 @@
 		h.Helper()
 	}
 
-	if funcDidPanic, panicValue := didPanic(f); funcDidPanic {
-		return Fail(t, fmt.Sprintf("func %#v should not panic\n\tPanic value:\t%v", f, panicValue), msgAndArgs...)
+	if funcDidPanic, panicValue, panickedStack := didPanic(f); funcDidPanic {
+		return Fail(t, fmt.Sprintf("func %#v should not panic\n\tPanic value:\t%v\n\tPanic stack:\t%s", f, panicValue, panickedStack), msgAndArgs...)
 	}
 
 	return true
@@ -1026,7 +1091,7 @@
 
 // InDelta asserts that the two numerals are within delta of each other.
 //
-// 	 assert.InDelta(t, math.Pi, (22 / 7.0), 0.01)
+// 	 assert.InDelta(t, math.Pi, 22/7.0, 0.01)
 func InDelta(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {
 	if h, ok := t.(tHelper); ok {
 		h.Helper()
@@ -1314,7 +1379,8 @@
 	return true
 }
 
-// FileExists checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.
+// FileExists checks whether a file exists in the given path. It also fails if
+// the path points to a directory or there is an error when trying to check the file.
 func FileExists(t TestingT, path string, msgAndArgs ...interface{}) bool {
 	if h, ok := t.(tHelper); ok {
 		h.Helper()
@@ -1332,7 +1398,24 @@
 	return true
 }
 
-// DirExists checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.
+// NoFileExists checks whether a file does not exist in a given path. It fails
+// if the path points to an existing _file_ only.
+func NoFileExists(t TestingT, path string, msgAndArgs ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+	info, err := os.Lstat(path)
+	if err != nil {
+		return true
+	}
+	if info.IsDir() {
+		return true
+	}
+	return Fail(t, fmt.Sprintf("file %q exists", path), msgAndArgs...)
+}
+
+// DirExists checks whether a directory exists in the given path. It also fails
+// if the path is a file rather a directory or there is an error checking whether it exists.
 func DirExists(t TestingT, path string, msgAndArgs ...interface{}) bool {
 	if h, ok := t.(tHelper); ok {
 		h.Helper()
@@ -1350,6 +1433,25 @@
 	return true
 }
 
+// NoDirExists checks whether a directory does not exist in the given path.
+// It fails if the path points to an existing _directory_ only.
+func NoDirExists(t TestingT, path string, msgAndArgs ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+	info, err := os.Lstat(path)
+	if err != nil {
+		if os.IsNotExist(err) {
+			return true
+		}
+		return true
+	}
+	if !info.IsDir() {
+		return true
+	}
+	return Fail(t, fmt.Sprintf("directory %q exists", path), msgAndArgs...)
+}
+
 // JSONEq asserts that two JSON strings are equivalent.
 //
 //  assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`)
@@ -1439,15 +1541,6 @@
 	return "\n\nDiff:\n" + diff
 }
 
-// validateEqualArgs checks whether provided arguments can be safely used in the
-// Equal/NotEqual functions.
-func validateEqualArgs(expected, actual interface{}) error {
-	if isFunction(expected) || isFunction(actual) {
-		return errors.New("cannot take func type as argument")
-	}
-	return nil
-}
-
 func isFunction(arg interface{}) bool {
 	if arg == nil {
 		return false
@@ -1475,24 +1568,59 @@
 		h.Helper()
 	}
 
+	ch := make(chan bool, 1)
+
 	timer := time.NewTimer(waitFor)
-	ticker := time.NewTicker(tick)
-	checkPassed := make(chan bool)
 	defer timer.Stop()
+
+	ticker := time.NewTicker(tick)
 	defer ticker.Stop()
-	defer close(checkPassed)
-	for {
+
+	for tick := ticker.C; ; {
 		select {
 		case <-timer.C:
 			return Fail(t, "Condition never satisfied", msgAndArgs...)
-		case result := <-checkPassed:
-			if result {
+		case <-tick:
+			tick = nil
+			go func() { ch <- condition() }()
+		case v := <-ch:
+			if v {
 				return true
 			}
-		case <-ticker.C:
-			go func() {
-				checkPassed <- condition()
-			}()
+			tick = ticker.C
+		}
+	}
+}
+
+// Never asserts that the given condition doesn't satisfy in waitFor time,
+// periodically checking the target function each tick.
+//
+//    assert.Never(t, func() bool { return false; }, time.Second, 10*time.Millisecond)
+func Never(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool {
+	if h, ok := t.(tHelper); ok {
+		h.Helper()
+	}
+
+	ch := make(chan bool, 1)
+
+	timer := time.NewTimer(waitFor)
+	defer timer.Stop()
+
+	ticker := time.NewTicker(tick)
+	defer ticker.Stop()
+
+	for tick := ticker.C; ; {
+		select {
+		case <-timer.C:
+			return true
+		case <-tick:
+			tick = nil
+			go func() { ch <- condition() }()
+		case v := <-ch:
+			if v {
+				return Fail(t, "Condition satisfied", msgAndArgs...)
+			}
+			tick = ticker.C
 		}
 	}
 }
diff --git a/vendor/github.com/stretchr/testify/assert/forward_assertions.go b/vendor/github.com/stretchr/testify/assert/forward_assertions.go
index 9ad5685..df189d2 100644
--- a/vendor/github.com/stretchr/testify/assert/forward_assertions.go
+++ b/vendor/github.com/stretchr/testify/assert/forward_assertions.go
@@ -13,4 +13,4 @@
 	}
 }
 
-//go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_forward.go.tmpl -include-format-funcs
+//go:generate sh -c "cd ../_codegen && go build && cd - && ../_codegen/_codegen -output-package=assert -template=assertion_forward.go.tmpl -include-format-funcs"