blob: e1ccdea8cbc2759377d4801c42934204a4cb4cb3 [file] [log] [blame]
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07001/*
2 * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
Matteo Scandolof9d43412021-01-12 11:11:34 -08003 * Copyright 2020-present Open Networking Foundation
4
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07005 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
Matteo Scandolof9d43412021-01-12 11:11:34 -08008
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07009 * http://www.apache.org/licenses/LICENSE-2.0
Matteo Scandolof9d43412021-01-12 11:11:34 -080010
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070011 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
Girish Gowdra161d27a2021-05-05 12:01:44 -070017/*
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070018 * NOTE: This file was generated, manual edits will be overwritten!
19 *
20 * Generated by 'goCodeGenerator.py':
21 * https://github.com/cboling/OMCI-parser/README.md
22 */
Matteo Scandolof9d43412021-01-12 11:11:34 -080023
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070024package generated
25
26import "github.com/deckarep/golang-set"
27
Matteo Scandolof9d43412021-01-12 11:11:34 -080028// FastChannelConfigurationProfileClassID is the 16-bit ID for the OMCI
29// Managed entity FAST channel configuration profile
30const FastChannelConfigurationProfileClassID ClassID = ClassID(432)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070031
32var fastchannelconfigurationprofileBME *ManagedEntityDefinition
33
34// FastChannelConfigurationProfile (class ID #432)
35// This ME contains the FAST channel configuration profile for an xDSL UNI. An instance of this ME
36// is created and deleted by the OLT.
37//
38// Relationships
39// An instance of this ME may be associated with zero or more instances of the PPTP xDSL UNI part
40// 1.
41//
42// Attributes
43// Maximum Net Data Rate Maxndr
44// Maximum net data rate (MAXNDR): This attribute specifies the value of the maximum net data rate.
Matteo Scandolof9d43412021-01-12 11:11:34 -080045// See clause 11.4.2.2 of [ITU-T G.9701]. Valid values range from 0 (0-kbit/s) to 4294967295
46// (2^32-1-kbit/s). See clause 7.2.1.1 of [ITUT-G.997.2]. (R, W) (mandatory) (4 bytes)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070047//
48// Minimum Expected Throughput Minetr
49// Minimum expected throughput (MINETR): This attribute specifies the value of the minimum expected
Matteo Scandolof9d43412021-01-12 11:11:34 -080050// throughput. See clause 11.4.2.1 of [ITU-T G.9701]. Valid values range from 0 (0-kbit/s) to
51// 4294967295 (2^32-1-kbit/s). See clause-7.2.1.2 of [ITU-T G.997.2]. (R, W) (mandatory) (4 bytes)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070052//
53// Maximum Gamma Data Rate Maxgdr
54// Maximum gamma data rate (MAXGDR): This attribute specifies the maximum value of the GDR (see
55// clause 7.11.1.3). The GDR shall not exceed MAXGDR at the start of showtime and during showtime.
Matteo Scandolof9d43412021-01-12 11:11:34 -080056// Valid values range from 0 (0-kbit/s) to 4294967295 (2^32-1-kbit/s). See clause 7.2.1.3 of [ITU-T
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070057// G.997.2]. (R, W) (mandatory) (4 bytes)
58//
59// Minimum Gamma Data Rate Mingdr
60// Minimum gamma data rate (MINGDR): This attribute specifies the minimum value of the GDR (see
61// clause 7.11.1.3). The GDR may be lower than MINGDR. If the GDR is lower than MINGDR at
62// initialization or when GDR becomes lower than MINGDR during showtime, a TCA occurs. Valid values
Matteo Scandolof9d43412021-01-12 11:11:34 -080063// 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].
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070064// (R, W) (mandatory) (4 bytes)
65//
66// Maximum Delay Delaymax
67// Maximum delay (DELAYMAX): This attribute specifies the maximum allowed delay for retransmission.
Matteo Scandolof9d43412021-01-12 11:11:34 -080068// See clause 9.8 of [ITU-T G.9701]. The ITUT-G.9701 control parameter delay_max is set to the same
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070069// value as the maximum delay. See clause 11.4.2.3 of [ITU-T G.9701]. Valid values range from 4
Matteo Scandolof9d43412021-01-12 11:11:34 -080070// (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)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070071// (mandatory) (4 bytes)
72//
73// Minimum Impulse Noise Protection Against Shine Inpmin_Shine
74// Minimum impulse noise protection against SHINE (INPMIN_SHINE): This attribute specifies the
75// minimum INP against SHINE. See clause 9.8 of [ITU-T G.9701]. The ITU-T G.9701 control parameter
76// INP_min_shine is set to the same value as the minimum INP against SHINE. See clause 11.4.2.4 of
77// [ITU-T G.9701]. Valid values range from 0 to 520 (520 symbol periods). See clause 7.2.2.2 of
Matteo Scandolof9d43412021-01-12 11:11:34 -080078// [ITUT G.997.2]. (R, W) (mandatory) (2-bytes)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070079//
80// Shine Ratio Shineratio
81// SHINE ratio (SHINERATIO): This attribute specifies the SHINE ratio that is used in the
Matteo Scandolof9d43412021-01-12 11:11:34 -080082// definition of the expected throughput rate (ETR). See clause 9.8 of [ITUT-G.9701]. The ITU-T
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070083// G.9701 control parameter SHINEratio is set to the same value as the SHINE ratio. See clause
84// 11.4.2.5 of [ITU-T G.9701]. The value is expressed in units of 0.001, Valid values range from 0
85// to 100 (0.01) in steps of 0.001. See clause 7.2.2.3 of [ITU-T G.997.2]. (R, W) (mandatory)
Matteo Scandolof9d43412021-01-12 11:11:34 -080086// (1-byte)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070087//
88// Minimum Impulse Noise Protection Against Rein Inpmin_Rein
89// Minimum impulse noise protection against REIN (INPMIN_REIN): This attribute specifies the
90// minimum INP against REIN. See clause 9.8 of [ITU-T G.9701]. The ITU-T G.9701 control parameter
91// INP_min_rein is set to the same value as the minimum INP against REIN. See clause 11.4.2.6 of
Matteo Scandolof9d43412021-01-12 11:11:34 -080092// [ITU-T G.9701]. Valid values range from 0 to 63 (63-symbol periods). See clause 7.2.2.4 of
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070093// [ITU-T G.997.2]. (R, W) (mandatory) (1 byte)
94//
95// Rein Inter_Arrival Time Iat_Rein
96// (R, W) (mandatory) (1 byte)
97//
98// Minimum Reed_Solomon Rfec_Nfec Ratio Rnratio
99// Minimum Reed-Solomon RFEC/NFEC ratio (RNRATIO): This attribute specifies the minimal required
100// ratio, RFEC/NFEC, of Reed-Solomon code parameters. The ITU-T G.9701 control parameter rnratio is
101// set to the same value as the minimum Reed-Solomon RFEC/NFEC ratio. See clause 11.4.2.8 of
Matteo Scandolof9d43412021-01-12 11:11:34 -0800102// [ITUT-G.9701]. The value is expressed in units of 1/32, Valid values range from 0 to 8 (1/4).
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700103// See clause 7.2.2.6 of [ITU-T G.997.2]. (R, W) (mandatory) (1 byte)
104//
105// Rtx_Tc Testmode Rtx_Testmode
106// RTX-TC testmode (RTX_TESTMODE): This Boolean attribute specifies whether the retransmission test
Matteo Scandolof9d43412021-01-12 11:11:34 -0800107// mode defined in clause 9.8.3.1.2 [ITU-T G.9701] is enabled-(true) or disabled (disabled). See
108// clause 7.2.2.7 of [ITU-T G.997.2]. (R,-W) (optional) (1 byte)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700109//
110type FastChannelConfigurationProfile struct {
111 ManagedEntityDefinition
112 Attributes AttributeValueMap
113}
114
115func init() {
116 fastchannelconfigurationprofileBME = &ManagedEntityDefinition{
117 Name: "FastChannelConfigurationProfile",
118 ClassID: 432,
119 MessageTypes: mapset.NewSetWith(
120 Create,
121 Delete,
122 Get,
123 Set,
124 ),
Matteo Scandolof9d43412021-01-12 11:11:34 -0800125 AllowedAttributeMask: 0xffc0,
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700126 AttributeDefinitions: AttributeDefinitionMap{
Matteo Scandolof9d43412021-01-12 11:11:34 -0800127 0: Uint32Field("MaximumNetDataRateMaxndr", UnknownAttributeType, 0x0000, 0, mapset.NewSetWith(Read, Write), false, false, false, 0),
128 1: Uint32Field("MinimumExpectedThroughputMinetr", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
129 2: Uint32Field("MaximumGammaDataRateMaxgdr", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
130 3: Uint32Field("MinimumGammaDataRateMingdr", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
131 4: Uint32Field("MaximumDelayDelaymax", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
132 5: Uint16Field("MinimumImpulseNoiseProtectionAgainstShineInpminShine", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
133 6: ByteField("ShineRatioShineratio", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
134 7: ByteField("MinimumImpulseNoiseProtectionAgainstReinInpminRein", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
135 8: ByteField("ReinInterArrivalTimeIatRein", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
136 9: ByteField("MinimumReedSolomonRfecNfecRatioRnratio", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
137 10: ByteField("RtxTcTestmodeRtxTestmode", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700138 },
Matteo Scandolof9d43412021-01-12 11:11:34 -0800139 Access: CreatedByOlt,
140 Support: UnknownSupport,
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700141 }
142}
143
Matteo Scandolof9d43412021-01-12 11:11:34 -0800144// NewFastChannelConfigurationProfile (class ID 432) creates the basic
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700145// Managed Entity definition that is used to validate an ME of this type that
Matteo Scandolof9d43412021-01-12 11:11:34 -0800146// is received from or transmitted to the OMCC.
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700147func NewFastChannelConfigurationProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
Matteo Scandolof9d43412021-01-12 11:11:34 -0800148 return NewManagedEntity(*fastchannelconfigurationprofileBME, params...)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700149}