VOL-4265: Fix for improperly code generated 802.1ag MEs

Change-Id: Iaf26b743e10d587cf6ec6b6482cd51676b5ae823
diff --git a/VERSION b/VERSION
index 1892b92..31e5c84 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.2
+1.3.3
diff --git a/generated/dot1agchassis-managementinfo.go b/generated/dot1agchassis-managementinfo.go
index b636cb8..bfdf25b 100644
--- a/generated/dot1agchassis-managementinfo.go
+++ b/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/generated/dot1agmaintenanceassociation.go b/generated/dot1agmaintenanceassociation.go
index 3715a25..acb599f 100644
--- a/generated/dot1agmaintenanceassociation.go
+++ b/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/generated/dot1agmaintenancedomain.go b/generated/dot1agmaintenancedomain.go
index ec2560d..aefb298 100644
--- a/generated/dot1agmaintenancedomain.go
+++ b/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/generated/version.go b/generated/version.go
index 8ec3ae6..c59c631 100644
--- a/generated/version.go
+++ b/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",
 		})