diff --git a/VERSION b/VERSION
index c3f0d2b..88c5fb8 100755
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.4.0-dev
+1.4.0
diff --git a/go.mod b/go.mod
index 84fc9cd..c19105f 100644
--- a/go.mod
+++ b/go.mod
@@ -9,7 +9,7 @@
 	github.com/golang/protobuf v1.3.2
 	github.com/google/gopacket v1.1.17
 	github.com/looplab/fsm v0.2.0
-	github.com/opencord/omci-lib-go v1.3.1
+	github.com/opencord/omci-lib-go v1.3.2
 	github.com/opencord/voltha-lib-go/v5 v5.0.5
 	github.com/opencord/voltha-protos/v4 v4.2.0
 	github.com/stretchr/testify v1.6.1
diff --git a/go.sum b/go.sum
index 4bb0c97..21e234f 100644
--- a/go.sum
+++ b/go.sum
@@ -150,8 +150,8 @@
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/gomega v1.4.2 h1:3mYCb7aPxS/RU7TI1y4rkEn1oKmPRjNJLNEXgw7MH2I=
 github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/opencord/omci-lib-go v1.3.1 h1:1fzWpfwdWemjzmQf5oZRwN71xYOGn+WXsSKFiZTm0yk=
-github.com/opencord/omci-lib-go v1.3.1/go.mod h1:moNk4j00XaM3olsu4a8lRAqGmcZJoyIbxtSr+VERLq4=
+github.com/opencord/omci-lib-go v1.3.2 h1:KTYC2McRK6AYN0FsakJKnplPkwUmfi26TxFGc1mIHC4=
+github.com/opencord/omci-lib-go v1.3.2/go.mod h1:moNk4j00XaM3olsu4a8lRAqGmcZJoyIbxtSr+VERLq4=
 github.com/opencord/voltha-lib-go/v5 v5.0.5 h1:S3m984EaHNGJY68Hrv9LOf0rwd92UiVLFBBbTaL+fNg=
 github.com/opencord/voltha-lib-go/v5 v5.0.5/go.mod h1:i1fwPMicFccG38L200+IQAlfHSbszWg//jF1pDQxTPQ=
 github.com/opencord/voltha-protos/v4 v4.2.0 h1:QJZqHPRKa1E1xh40F3UA4xSjBI+6EmW7OfIcJqPNc4A=
diff --git a/vendor/github.com/opencord/omci-lib-go/VERSION b/vendor/github.com/opencord/omci-lib-go/VERSION
index 3a3cd8c..1892b92 100644
--- a/vendor/github.com/opencord/omci-lib-go/VERSION
+++ b/vendor/github.com/opencord/omci-lib-go/VERSION
@@ -1 +1 @@
-1.3.1
+1.3.2
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/classidmap.go b/vendor/github.com/opencord/omci-lib-go/generated/classidmap.go
index b074c11..71abb89 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/classidmap.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/classidmap.go
@@ -208,14 +208,14 @@
 	classToManagedEntityMap[412] = NewXdslChannelConfigurationProfilePart2
 	classToManagedEntityMap[413] = NewXtuDataGatheringConfiguration
 	classToManagedEntityMap[414] = NewXdslLineInventoryAndStatusDataPart8
-	classToManagedEntityMap[419] = NewEfmBondingGroup
-	classToManagedEntityMap[420] = NewEfmBondingLink
-	classToManagedEntityMap[421] = NewEfmBondingGroupPerformanceMonitoringHistoryData
-	classToManagedEntityMap[422] = NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2
-	classToManagedEntityMap[423] = NewEfmBondingLinkPerformanceMonitoringHistoryData
-	classToManagedEntityMap[424] = NewEfmBondingPortPerformanceMonitoringHistoryData
-	classToManagedEntityMap[425] = NewEfmBondingPortPerformanceMonitoringHistoryDataPart2
-	classToManagedEntityMap[426] = NewEthernetFrameExtendedPm64Bit
+	classToManagedEntityMap[418] = NewEfmBondingGroup
+	classToManagedEntityMap[419] = NewEfmBondingLink
+	classToManagedEntityMap[420] = NewEfmBondingGroupPerformanceMonitoringHistoryData
+	classToManagedEntityMap[421] = NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2
+	classToManagedEntityMap[422] = NewEfmBondingLinkPerformanceMonitoringHistoryData
+	classToManagedEntityMap[423] = NewEfmBondingPortPerformanceMonitoringHistoryData
+	classToManagedEntityMap[424] = NewEfmBondingPortPerformanceMonitoringHistoryDataPart2
+	classToManagedEntityMap[425] = NewEthernetFrameExtendedPm64Bit
 	classToManagedEntityMap[432] = NewFastChannelConfigurationProfile
 	classToManagedEntityMap[433] = NewFastDataPathConfigurationProfile
 	classToManagedEntityMap[434] = NewFastVectoringLineConfigurationExtensions
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroup.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroup.go
index 93df527..299f00d 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroup.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroup.go
@@ -27,11 +27,11 @@
 
 // EfmBondingGroupClassID is the 16-bit ID for the OMCI
 // Managed entity EFM bonding group
-const EfmBondingGroupClassID ClassID = ClassID(419)
+const EfmBondingGroupClassID ClassID = ClassID(418)
 
 var efmbondinggroupBME *ManagedEntityDefinition
 
-// EfmBondingGroup (class ID #419)
+// EfmBondingGroup (class ID #418)
 //	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.
@@ -73,7 +73,7 @@
 func init() {
 	efmbondinggroupBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingGroup",
-		ClassID: 419,
+		ClassID: 418,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -100,7 +100,7 @@
 	}
 }
 
-// NewEfmBondingGroup (class ID 419) creates the basic
+// NewEfmBondingGroup (class ID 418) 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) {
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydata.go
index a73c150..6157d8f 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydata.go
@@ -27,11 +27,11 @@
 
 // EfmBondingGroupPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
 // Managed entity EFM bonding group performance monitoring history data
-const EfmBondingGroupPerformanceMonitoringHistoryDataClassID ClassID = ClassID(421)
+const EfmBondingGroupPerformanceMonitoringHistoryDataClassID ClassID = ClassID(420)
 
 var efmbondinggroupperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
-// EfmBondingGroupPerformanceMonitoringHistoryData (class ID #421)
+// EfmBondingGroupPerformanceMonitoringHistoryData (class ID #420)
 //	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
 //	the OLT.
 //
@@ -94,7 +94,7 @@
 func init() {
 	efmbondinggroupperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingGroupPerformanceMonitoringHistoryData",
-		ClassID: 421,
+		ClassID: 420,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -129,7 +129,7 @@
 	}
 }
 
-// NewEfmBondingGroupPerformanceMonitoringHistoryData (class ID 421) creates the basic
+// NewEfmBondingGroupPerformanceMonitoringHistoryData (class ID 420) 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) {
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
index b8f00fa..e7d9c7e 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
@@ -27,11 +27,11 @@
 
 // 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)
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2ClassID ClassID = ClassID(421)
 
 var efmbondinggroupperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
 
-// EfmBondingGroupPerformanceMonitoringHistoryDataPart2 (class ID #422)
+// EfmBondingGroupPerformanceMonitoringHistoryDataPart2 (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.
 //
@@ -108,7 +108,7 @@
 func init() {
 	efmbondinggroupperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "EfmBondingGroupPerformanceMonitoringHistoryDataPart2",
-		ClassID: 422,
+		ClassID: 421,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -139,7 +139,7 @@
 	}
 }
 
-// NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2 (class ID 422) creates the basic
+// NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2 (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 NewEfmBondingGroupPerformanceMonitoringHistoryDataPart2(params ...ParamData) (*ManagedEntity, OmciErrors) {
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglink.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglink.go
index 34db557..089195e 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglink.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglink.go
@@ -27,11 +27,11 @@
 
 // EfmBondingLinkClassID is the 16-bit ID for the OMCI
 // Managed entity EFM bonding link
-const EfmBondingLinkClassID ClassID = ClassID(420)
+const EfmBondingLinkClassID ClassID = ClassID(419)
 
 var efmbondinglinkBME *ManagedEntityDefinition
 
-// EfmBondingLink (class ID #420)
+// EfmBondingLink (class ID #419)
 //	The EFM bonding link represents a link that can be bonded with other links to form a group. In
 //	[IEEE 802.3], a bonding group is known as a PAF and a link is known as a PME. Instances of this
 //	ME are created and deleted by the OLT.
@@ -62,7 +62,7 @@
 func init() {
 	efmbondinglinkBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingLink",
-		ClassID: 420,
+		ClassID: 419,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -83,7 +83,7 @@
 	}
 }
 
-// NewEfmBondingLink (class ID 420) creates the basic
+// NewEfmBondingLink (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 NewEfmBondingLink(params ...ParamData) (*ManagedEntity, OmciErrors) {
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglinkperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglinkperformancemonitoringhistorydata.go
index ec48e2f..d80c83f 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglinkperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondinglinkperformancemonitoringhistorydata.go
@@ -27,11 +27,11 @@
 
 // EfmBondingLinkPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
 // Managed entity EFM bonding link performance monitoring history data
-const EfmBondingLinkPerformanceMonitoringHistoryDataClassID ClassID = ClassID(423)
+const EfmBondingLinkPerformanceMonitoringHistoryDataClassID ClassID = ClassID(422)
 
 var efmbondinglinkperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
-// EfmBondingLinkPerformanceMonitoringHistoryData (class ID #423)
+// EfmBondingLinkPerformanceMonitoringHistoryData (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.
 //
@@ -84,7 +84,7 @@
 func init() {
 	efmbondinglinkperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingLinkPerformanceMonitoringHistoryData",
-		ClassID: 423,
+		ClassID: 422,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -111,7 +111,7 @@
 	}
 }
 
-// NewEfmBondingLinkPerformanceMonitoringHistoryData (class ID 423) creates the basic
+// NewEfmBondingLinkPerformanceMonitoringHistoryData (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 NewEfmBondingLinkPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydata.go
index fe99125..4186478 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydata.go
@@ -27,11 +27,11 @@
 
 // EfmBondingPortPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
 // Managed entity EFM bonding port performance monitoring history data
-const EfmBondingPortPerformanceMonitoringHistoryDataClassID ClassID = ClassID(424)
+const EfmBondingPortPerformanceMonitoringHistoryDataClassID ClassID = ClassID(423)
 
 var efmbondingportperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
-// EfmBondingPortPerformanceMonitoringHistoryData (class ID #424)
+// EfmBondingPortPerformanceMonitoringHistoryData (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.
 //
@@ -83,7 +83,7 @@
 func init() {
 	efmbondingportperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingPortPerformanceMonitoringHistoryData",
-		ClassID: 424,
+		ClassID: 423,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -108,7 +108,7 @@
 	}
 }
 
-// NewEfmBondingPortPerformanceMonitoringHistoryData (class ID 424) creates the basic
+// NewEfmBondingPortPerformanceMonitoringHistoryData (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 NewEfmBondingPortPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydatapart2.go
index 4bbb56e..947e454 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/efmbondingportperformancemonitoringhistorydatapart2.go
@@ -27,11 +27,11 @@
 
 // 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)
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2ClassID ClassID = ClassID(424)
 
 var efmbondingportperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
 
-// EfmBondingPortPerformanceMonitoringHistoryDataPart2 (class ID #425)
+// EfmBondingPortPerformanceMonitoringHistoryDataPart2 (class ID #424)
 //	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
 //	the OLT.
 //
@@ -109,7 +109,7 @@
 func init() {
 	efmbondingportperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "EfmBondingPortPerformanceMonitoringHistoryDataPart2",
-		ClassID: 425,
+		ClassID: 424,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -140,7 +140,7 @@
 	}
 }
 
-// NewEfmBondingPortPerformanceMonitoringHistoryDataPart2 (class ID 425) creates the basic
+// NewEfmBondingPortPerformanceMonitoringHistoryDataPart2 (class ID 424) 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) {
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm64-bit.go b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm64-bit.go
index c3cbae7..580319c 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm64-bit.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/ethernetframeextendedpm64-bit.go
@@ -27,11 +27,11 @@
 
 // EthernetFrameExtendedPm64BitClassID is the 16-bit ID for the OMCI
 // Managed entity Ethernet frame extended PM 64-bit
-const EthernetFrameExtendedPm64BitClassID ClassID = ClassID(426)
+const EthernetFrameExtendedPm64BitClassID ClassID = ClassID(425)
 
 var ethernetframeextendedpm64bitBME *ManagedEntityDefinition
 
-// EthernetFrameExtendedPm64Bit (class ID #426)
+// EthernetFrameExtendedPm64Bit (class ID #425)
 //	This ME collects some of the PM data at a point where an Ethernet flow can be observed. It is
 //	based on the Etherstats group of [IETF RFC 2819] and [IETF RFC 2863]. Instances of this ME are
 //	created and deleted by the OLT. References to received frames are to be interpreted as the
@@ -122,7 +122,7 @@
 func init() {
 	ethernetframeextendedpm64bitBME = &ManagedEntityDefinition{
 		Name:    "EthernetFrameExtendedPm64Bit",
-		ClassID: 426,
+		ClassID: 425,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -161,7 +161,7 @@
 	}
 }
 
-// NewEthernetFrameExtendedPm64Bit (class ID 426) creates the basic
+// NewEthernetFrameExtendedPm64Bit (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 NewEthernetFrameExtendedPm64Bit(params ...ParamData) (*ManagedEntity, OmciErrors) {
diff --git a/vendor/modules.txt b/vendor/modules.txt
index df0f5a4..0e3242e 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -61,7 +61,7 @@
 # github.com/looplab/fsm v0.2.0
 ## explicit
 github.com/looplab/fsm
-# github.com/opencord/omci-lib-go v1.3.1
+# github.com/opencord/omci-lib-go v1.3.2
 ## explicit
 github.com/opencord/omci-lib-go
 github.com/opencord/omci-lib-go/generated
