blob: d4c2527aef9bef442480be68a75b208aeb0ab4a4 [file] [log] [blame]
Chip Boling6e27b352020-02-14 09:10:01 -06001/*
2 * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
8 * Unless required by applicable law or agreed to in writing, software
9 * distributed under the License is distributed on an "AS IS" BASIS,
10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
13 */
14/*
15 * NOTE: This file was generated, manual edits will be overwritten!
16 *
17 * Generated by 'goCodeGenerator.py':
18 * https://github.com/cboling/OMCI-parser/README.md
19 */
20
21package generated
22
23import "github.com/deckarep/golang-set"
24
25// ExtendedVlanTaggingOperationConfigurationDataClassID is the 16-bit ID for the OMCI
26// Managed entity Extended VLAN tagging operation configuration data
27const ExtendedVlanTaggingOperationConfigurationDataClassID ClassID = ClassID(171)
28
29var extendedvlantaggingoperationconfigurationdataBME *ManagedEntityDefinition
30
31// ExtendedVlanTaggingOperationConfigurationData (class ID #171)
32// This ME organizes data associated with VLAN tagging. Regardless of its point of attachment, the
33// specified tagging operations refer to the upstream direction. Instances of this ME are created
34// and deleted by the OLT.
35//
36// Relationships
37// Zero or one instance of this ME may exist for an instance of any ME that can terminate or modify
38// an Ethernet stream.//// When this ME is associated with a UNI-side TP, it performs its upstream classification and
39// tagging operations before offering the upstream frame to other filtering, bridging or switching
40// functions. In the downstream direction, the defined inverse operation is the last operation
41// performed on the frame before offering it to the UNI-side termination.//// When this ME is associated with an ANI-side TP, it performs its upstream classification and
42// tagging operations as the last step before transmission to the OLT, after having received the
43// upstream frame from other filtering, bridging or switching functions. In the downstream
44// direction, the defined inverse operation is the first operation performed on the frame before
45// offering it to possible filter, bridge or switch functions.
46//
47// Attributes
48// Managed Entity Id
49// Managed entity ID: This attribute provides a unique number for each instance of this ME. (R,
50// setbycreate) (mandatory) (2-bytes)
51//
52// Association Type
53// When the extended VLAN tagging ME is associated with the ANI side, it behaves as an upstream
54// egress rule, and as a downstream ingress rule when the downstream mode attribute is equal to 0.
55// When the extended VLAN tagging ME is associated with the UNI side, the extended VLAN tagging ME
56// behaves as an upstream ingress rule, and as a downstream egress rule when the downstream mode
57// attribute is equal to 0.
58//
59// Received Frame Vlan Tagging Operation Table Max Size
60// Received frame VLAN tagging operation table max size: This attribute indicates the maximum
61// number of entries that can be set in the received frame VLAN tagging operation table. (R)
62// (mandatory) (2-bytes)
63//
64// Input Tpid
65// Input TPID: This attribute gives the special TPID value for operations on the input (filtering)
66// side of the table. Typical values include 0x88A8 and 0x9100. (R,-W) (mandatory) (2-bytes)
67//
68// Output Tpid
69// Output TPID: This attribute gives the special TPID value for operations on the output (tagging)
70// side of the table. Typical values include 0x88A8 and 0x9100. (R,-W) (mandatory) (2-bytes)
71//
72// Downstream Mode
73// All other values are reserved. (R, W) (mandatory) (1 byte)
74//
75// Received Frame Vlan Tagging Operation Table
76// 111 Set TPID-=-output TPID, DEI = 1
77//
78// Associated Me Pointer
79// NOTE 5 - When the association type is xDSL, the two MSBs may be used to indicate a bearer
80// channel.
81//
82// Dscp To P Bit Mapping
83// NOTE 6 - If certain bits in the DSCP field are to be ignored in the mapping process, the
84// attribute should be provisioned such that all possible values of those bits produce the same
85// P-bit mapping. This can be applied to the case where instead of full DSCP, the operator wishes
86// to adopt the priority mechanism based on IP precedence, which needs only the three MSBs of the
87// DSCP field.
88//
89type ExtendedVlanTaggingOperationConfigurationData struct {
90 ManagedEntityDefinition
91 Attributes AttributeValueMap
92}
93
94func init() {
95 extendedvlantaggingoperationconfigurationdataBME = &ManagedEntityDefinition{
96 Name: "ExtendedVlanTaggingOperationConfigurationData",
97 ClassID: 171,
98 MessageTypes: mapset.NewSetWith(
99 Create,
100 Delete,
101 Get,
102 GetNext,
103 Set,
104 ),
105 AllowedAttributeMask: 0xff00,
106 AttributeDefinitions: AttributeDefinitionMap{
107 0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
108 1: ByteField("AssociationType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
109 2: Uint16Field("ReceivedFrameVlanTaggingOperationTableMaxSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
110 3: Uint16Field("InputTpid", UnsignedIntegerAttributeType, 0x2000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 3),
111 4: Uint16Field("OutputTpid", UnsignedIntegerAttributeType, 0x1000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 4),
112 5: ByteField("DownstreamMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
113 6: TableField("ReceivedFrameVlanTaggingOperationTable", TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read, Write), false, false, false, 6),
114 7: Uint16Field("AssociatedMePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
115 8: MultiByteField("DscpToPBitMapping", OctetsAttributeType, 0x0100, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 8),
116 },
117 Access: CreatedByOlt,
118 Support: UnknownSupport,
119 }
120}
121
122// NewExtendedVlanTaggingOperationConfigurationData (class ID 171) creates the basic
123// Managed Entity definition that is used to validate an ME of this type that
124// is received from or transmitted to the OMCC.
125func NewExtendedVlanTaggingOperationConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
126 return NewManagedEntity(*extendedvlantaggingoperationconfigurationdataBME, params...)
127}