Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net) |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 3 | * Copyright 2020-present Open Networking Foundation |
| 4 | |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 5 | * 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 Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 8 | |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 9 | * http://www.apache.org/licenses/LICENSE-2.0 |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 10 | |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 11 | * 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 Gowdra | 161d27a | 2021-05-05 12:01:44 -0700 | [diff] [blame] | 17 | /* |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 18 | * 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 Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 23 | |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 24 | package generated |
| 25 | |
| 26 | import "github.com/deckarep/golang-set" |
| 27 | |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 28 | // FastChannelConfigurationProfileClassID is the 16-bit ID for the OMCI |
| 29 | // Managed entity FAST channel configuration profile |
Andrea Campanella | 10426e2 | 2021-10-15 17:58:04 +0200 | [diff] [blame] | 30 | const FastChannelConfigurationProfileClassID = ClassID(432) // 0x01b0 |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 31 | |
| 32 | var fastchannelconfigurationprofileBME *ManagedEntityDefinition |
| 33 | |
Andrea Campanella | 10426e2 | 2021-10-15 17:58:04 +0200 | [diff] [blame] | 34 | // FastChannelConfigurationProfile (Class ID: #432 / 0x01b0) |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 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 Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 45 | // 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 Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 47 | // |
| 48 | // Minimum Expected Throughput Minetr |
| 49 | // Minimum expected throughput (MINETR): This attribute specifies the value of the minimum expected |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 50 | // 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 Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 52 | // |
| 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 Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 56 | // 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 Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 57 | // 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 Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 63 | // 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 Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 64 | // (R, W) (mandatory) (4 bytes) |
| 65 | // |
| 66 | // Maximum Delay Delaymax |
| 67 | // Maximum delay (DELAYMAX): This attribute specifies the maximum allowed delay for retransmission. |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 68 | // See clause 9.8 of [ITU-T G.9701]. The ITUT-G.9701 control parameter delay_max is set to the same |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 69 | // value as the maximum delay. See clause 11.4.2.3 of [ITU-T G.9701]. Valid values range from 4 |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 70 | // (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 Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 71 | // (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 Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 78 | // [ITUT G.997.2]. (R, W) (mandatory) (2-bytes) |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 79 | // |
| 80 | // Shine Ratio Shineratio |
| 81 | // SHINE ratio (SHINERATIO): This attribute specifies the SHINE ratio that is used in the |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 82 | // definition of the expected throughput rate (ETR). See clause 9.8 of [ITUT-G.9701]. The ITU-T |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 83 | // 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 Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 86 | // (1-byte) |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 87 | // |
| 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 Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 92 | // [ITU-T G.9701]. Valid values range from 0 to 63 (63-symbol periods). See clause 7.2.2.4 of |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 93 | // [ITU-T G.997.2]. (R, W) (mandatory) (1 byte) |
| 94 | // |
| 95 | // Rein Inter_Arrival Time Iat_Rein |
Andrea Campanella | 10426e2 | 2021-10-15 17:58:04 +0200 | [diff] [blame] | 96 | // REIN Inter-arrival time (IAT_REIN): This attribute specifies the REIN IAT. See clause 9.8 of |
| 97 | // [ITU-T G.9701]. The ITU-T G.9701 control parameter iat_rein_flag is set to the same value as the |
| 98 | // REIN IAT. See clause 11.4.2.7 of [ITU-T G.9701]. |
| 99 | // |
| 100 | // The REIN IAT is specified via the following values: |
| 101 | // |
| 102 | // 1 100 Hz; |
| 103 | // |
| 104 | // 2 120 Hz; |
| 105 | // |
| 106 | // 3 360 Hz. |
| 107 | // |
| 108 | // See clause 7.2.2.5 of [ITU-T G.997.2]. |
| 109 | // |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 110 | // (R, W) (mandatory) (1 byte) |
| 111 | // |
| 112 | // Minimum Reed_Solomon Rfec_Nfec Ratio Rnratio |
| 113 | // Minimum Reed-Solomon RFEC/NFEC ratio (RNRATIO): This attribute specifies the minimal required |
| 114 | // ratio, RFEC/NFEC, of Reed-Solomon code parameters. The ITU-T G.9701 control parameter rnratio is |
| 115 | // set to the same value as the minimum Reed-Solomon RFEC/NFEC ratio. See clause 11.4.2.8 of |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 116 | // [ITUT-G.9701]. The value is expressed in units of 1/32, Valid values range from 0 to 8 (1/4). |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 117 | // See clause 7.2.2.6 of [ITU-T G.997.2]. (R, W) (mandatory) (1 byte) |
| 118 | // |
| 119 | // Rtx_Tc Testmode Rtx_Testmode |
| 120 | // RTX-TC testmode (RTX_TESTMODE): This Boolean attribute specifies whether the retransmission test |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 121 | // mode defined in clause 9.8.3.1.2 [ITU-T G.9701] is enabled-(true) or disabled (disabled). See |
| 122 | // clause 7.2.2.7 of [ITU-T G.997.2]. (R,-W) (optional) (1 byte) |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 123 | // |
| 124 | type FastChannelConfigurationProfile struct { |
| 125 | ManagedEntityDefinition |
| 126 | Attributes AttributeValueMap |
| 127 | } |
| 128 | |
| 129 | func init() { |
| 130 | fastchannelconfigurationprofileBME = &ManagedEntityDefinition{ |
| 131 | Name: "FastChannelConfigurationProfile", |
| 132 | ClassID: 432, |
| 133 | MessageTypes: mapset.NewSetWith( |
| 134 | Create, |
| 135 | Delete, |
| 136 | Get, |
| 137 | Set, |
| 138 | ), |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 139 | AllowedAttributeMask: 0xffc0, |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 140 | AttributeDefinitions: AttributeDefinitionMap{ |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 141 | 0: Uint32Field("MaximumNetDataRateMaxndr", UnknownAttributeType, 0x0000, 0, mapset.NewSetWith(Read, Write), false, false, false, 0), |
| 142 | 1: Uint32Field("MinimumExpectedThroughputMinetr", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1), |
| 143 | 2: Uint32Field("MaximumGammaDataRateMaxgdr", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2), |
| 144 | 3: Uint32Field("MinimumGammaDataRateMingdr", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3), |
| 145 | 4: Uint32Field("MaximumDelayDelaymax", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4), |
| 146 | 5: Uint16Field("MinimumImpulseNoiseProtectionAgainstShineInpminShine", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5), |
| 147 | 6: ByteField("ShineRatioShineratio", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6), |
| 148 | 7: ByteField("MinimumImpulseNoiseProtectionAgainstReinInpminRein", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7), |
| 149 | 8: ByteField("ReinInterArrivalTimeIatRein", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8), |
| 150 | 9: ByteField("MinimumReedSolomonRfecNfecRatioRnratio", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9), |
| 151 | 10: ByteField("RtxTcTestmodeRtxTestmode", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10), |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 152 | }, |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 153 | Access: CreatedByOlt, |
| 154 | Support: UnknownSupport, |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 155 | } |
| 156 | } |
| 157 | |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 158 | // NewFastChannelConfigurationProfile (class ID 432) creates the basic |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 159 | // Managed Entity definition that is used to validate an ME of this type that |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 160 | // is received from or transmitted to the OMCC. |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 161 | func NewFastChannelConfigurationProfile(params ...ParamData) (*ManagedEntity, OmciErrors) { |
Matteo Scandolo | f9d4341 | 2021-01-12 11:11:34 -0800 | [diff] [blame] | 162 | return NewManagedEntity(*fastchannelconfigurationprofileBME, params...) |
Matteo Scandolo | a6a3aee | 2019-11-26 13:30:14 -0700 | [diff] [blame] | 163 | } |