diff --git a/VERSION b/VERSION
index 17e63e7..90a7f60 100755
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.11
+1.3.12
diff --git a/go.mod b/go.mod
index c19105f..5a001ff 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.2
+	github.com/opencord/omci-lib-go v1.3.3
 	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 21e234f..4b6ca32 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.2 h1:KTYC2McRK6AYN0FsakJKnplPkwUmfi26TxFGc1mIHC4=
-github.com/opencord/omci-lib-go v1.3.2/go.mod h1:moNk4j00XaM3olsu4a8lRAqGmcZJoyIbxtSr+VERLq4=
+github.com/opencord/omci-lib-go v1.3.3 h1:BzywkXVHSphhpl9hHHOJxc9IQ7MrzIB3aY3LG1wbwuk=
+github.com/opencord/omci-lib-go v1.3.3/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 1892b92..31e5c84 100644
--- a/vendor/github.com/opencord/omci-lib-go/VERSION
+++ b/vendor/github.com/opencord/omci-lib-go/VERSION
@@ -1 +1 @@
-1.3.2
+1.3.3
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
index b636cb8..bfdf25b 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/dot1agchassis-managementinfo.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1agchassis-managementinfo.go
@@ -52,44 +52,61 @@
 //
 //	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)
+//			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)
+//			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
+//			The format of the chassis ID attribute, default value 7, as defined in [IEEE 802.1AB]:
+//
 //			(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)
+//		Chassis ID Part 1
+//			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)
+//
+//		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)
+//			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 Domain 1
+//			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 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)
+//			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)
+//		Management Address 1
+//			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)
+//
+//		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
@@ -104,16 +121,19 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0xfe00,
+		AllowedAttributeMask: 0xffc0,
 		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),
+			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("ChassisIdPart1", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  MultiByteField("ChassisIdPart2", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField("ManagementAddressDomainLength", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  MultiByteField("ManagementAddressDomain1", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  MultiByteField("ManagementAddressDomain2", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField("ManagementAddressLength", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  MultiByteField("ManagementAddress1", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: MultiByteField("ManagementAddress2", OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 10),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenanceassociation.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenanceassociation.go
index 3715a25..acb599f 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenanceassociation.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenanceassociation.go
@@ -46,47 +46,88 @@
 //
 //	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)
+//			This attribute uniquely identifies an instance of this ME. The values 0 and 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)
+//			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)
 //
 //		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)
+//			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)
 //
-//		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
-//			value is the left-justified MA name. Because the MA name may or may not be a printable character
-//			string, an octet string is the appropriate representation. If the short MA name format specifies
-//			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)
+//		Short MA Name 1
+//			These two attributes may be regarded as an octet string whose value is the left-justified MA
+//			name. Because the MA name may or may not be a printable character string, an octet string is the
+//			appropriate representation. If the short MA name format specifies 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)
+//
+//		Short MA Name 2
+//			These two attributes may be regarded as an octet string whose value is the left-justified MA
+//			name. Because the MA name may or may not be a printable character string, an octet string is the
+//			appropriate representation. If the short MA name format specifies 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)
 //
 //		Continuity Check Message Ccm Interval
+//			3:	100 ms
+//
+//			4:	1 s
+//
+//			5:	10 s
+//
+//			6:	1 min
+//
+//			7:	10 min
+//
 //			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)
 //
+//			Continuity check message (CCM) interval: If CCMs are enabled on an MEP, the CCM interval
+//			attribute specifies the rate at which they are generated. The MEP also expects to receive CCMs
+//			from each of the other MEPs in its CC database at this rate.
+//
+//			0:	CCM transmission disabled
+//
+//			1:	3.33 ms
+//
+//			2:	10 ms
+//
 //		Associated Vlans
-//			Associated VLANs: This attribute is a list of up to 12 VLAN IDs with which this MA is
-//			associated. Once a set of VLANs is defined, the ONU should deny operations to other dot1ag MAs
-//			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)
+//			This attribute is a list of up to 12 VLAN IDs with which this MA is associated. Once a set of
+//			VLANs is defined, the ONU should deny operations to other dot1ag MAs 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)
 //
 //		Mhf Creation
-//			(R,-W, setbycreate) (mandatory) (1-byte)
+//			This attribute determines whether the bridge creates an MHF, under circumstances defined in
+//			clause 22.2.3 of [IEEE 802.1ag]. This attribute is an enumeration with the following values:
 //
-//		Sender Id Permission
+//			1	None. No MHFs are created on this bridge for this MA.
+//
+//			2	Default (IEEE 802.1ag term). The bridge can create MHFs on this VID on any port through which
+//			the VID can pass.
+//
+//			3	Explicit. The bridge can create MHFs on this VID on any port through which the VID can pass,
+//			but only if an MEP exists at some lower maintenance level.
+//
+//			4	Defer. This value causes the ONU to use the setting of the parent MD. This is recommended to
+//			be the default value.
+//
 //			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 type Dot1AgMaintenanceAssociation struct {
@@ -109,11 +150,11 @@
 			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),
+			3: MultiByteField("ShortMaName1", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField("ShortMaName2", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField("ContinuityCheckMessageCcmInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field("AssociatedVlans", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: ByteField("MhfCreation", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenancedomain.go b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenancedomain.go
index ec2560d..aefb298 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenancedomain.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/dot1agmaintenancedomain.go
@@ -45,32 +45,72 @@
 //
 //	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)
+//			This attribute uniquely identifies an instance of this ME. The values 0 and 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)
+//			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)
 //
 //		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)
+//			This attribute specifies one of several possible formats for the MD name 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
-//			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
-//			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)
+//		MD Name 1
+//			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 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)
+//
+//		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 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)
 //
 //		Maintenance Domain Intermediate Point Half Function Mhf Creation
+//			Maintenance domain intermediate point half function (MHF) creation: This attribute determines
+//			whether an associated bridge creates an MHF for this MD, under circumstances defined in
+//			clause-22.2.3 of [IEEE 802.1ag]. This attribute is an enumeration with the following values.
+//
+//			1	None
+//
+//			2	Default (IEEE 802.1ag term). The bridge can create MHFs on an associated VID on any port
+//			through which the VID can pass, where: i) there are no lower active MD levels or ii) there is a
+//			maintenance association end point (MEP) at the next lower active MD level on the port.
+//
+//			3	Explicit. The bridge can create MHFs on an associated VID on any port through which the VID
+//			can pass, but only if an MEP exists at some lower maintenance level.
+//
 //			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 //		Sender Id Permission
+//			This attribute determines the contents of the sender ID type-length-value (TLV) included in CFM
+//			messages transmitted by maintenance points (MPs) controlled by this MD. Chassis ID and
+//			management address information is available from the dot1ag chassismanagement info ME. The
+//			attribute is an enumeration with the following values.
+//
+//			1	None: the sender ID TLV is not to be sent.
+//
+//			2	Chassis: the chassis ID length, chassis ID subtype, and chassis ID fields of the sender ID TLV
+//			are to be sent, but not the management address fields.
+//
+//			3	Manage: the management address fields of the sender ID TLV are to be sent, but the chassis ID
+//			length is to be transmitted with the value 0, and the chassis ID subtype, and chassis ID fields
+//			are not to be sent.
+//
+//			4	ChassisManage: all chassis ID and management address fields are to be sent.
+//
 //			(R,-W, setbycreate) (mandatory) (1-byte)
 //
 type Dot1AgMaintenanceDomain struct {
@@ -88,14 +128,15 @@
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0xf800,
+		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
 			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),
+			3: MultiByteField("MdName1", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField("MdName2", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField("MaintenanceDomainIntermediatePointHalfFunctionMhfCreation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: ByteField("SenderIdPermission", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/generated/version.go b/vendor/github.com/opencord/omci-lib-go/generated/version.go
index 8ec3ae6..c59c631 100644
--- a/vendor/github.com/opencord/omci-lib-go/generated/version.go
+++ b/vendor/github.com/opencord/omci-lib-go/generated/version.go
@@ -46,8 +46,8 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "parser",
-			Version:    "0.15.8",
-			CreateTime: 1613579234.3730865,
+			Version:    "0.15.11",
+			CreateTime: 1628604119.344936,
 			ItuDocName: "T-REC-G.988-201711-I!!MSW-E.docx",
 			SHA256:     "96ffc8bca6f70175c8e281e87e1cf21662d07a7502ebf595c5c3180a9972b9ac",
 		})
@@ -55,8 +55,8 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "pre-parser",
-			Version:    "0.15.8",
-			CreateTime: 1613579104.450186,
+			Version:    "0.15.9",
+			CreateTime: 1626359259.9888368,
 			ItuDocName: "T-REC-G.988-201711-I!!MSW-E.docx",
 			SHA256:     "96ffc8bca6f70175c8e281e87e1cf21662d07a7502ebf595c5c3180a9972b9ac",
 		})
@@ -64,8 +64,8 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "code-generator",
-			Version:    "0.15.8",
-			CreateTime: 1613579245.5924196,
+			Version:    "0.15.11",
+			CreateTime: 1628606750.5555656,
 			ItuDocName: "T-REC-G.988-201711-I!!MSW-E.docx",
 			SHA256:     "96ffc8bca6f70175c8e281e87e1cf21662d07a7502ebf595c5c3180a9972b9ac",
 		})
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 0e3242e..9fcc410 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.2
+# github.com/opencord/omci-lib-go v1.3.3
 ## explicit
 github.com/opencord/omci-lib-go
 github.com/opencord/omci-lib-go/generated
