blob: 27846e6810dd35887e2ae0cc07b9bec6afcd2907 [file] [log] [blame]
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07001/*
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 */
20package generated
21
22import "github.com/deckarep/golang-set"
23
24const ExtendedVlanTaggingOperationConfigurationDataClassId ClassID = ClassID(171)
25
26var extendedvlantaggingoperationconfigurationdataBME *ManagedEntityDefinition
27
28// ExtendedVlanTaggingOperationConfigurationData (class ID #171)
29// This ME organizes data associated with VLAN tagging. Regardless of its point of attachment, the
30// specified tagging operations refer to the upstream direction. Instances of this ME are created
31// and deleted by the OLT.
32//
33// Relationships
34// Zero or one instance of this ME may exist for an instance of any ME that can terminate or modify
35// an Ethernet stream.//// When this ME is associated with a UNI-side TP, it performs its upstream classification and
36// tagging operations before offering the upstream frame to other filtering, bridging or switching
37// functions. In the downstream direction, the defined inverse operation is the last operation
38// 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
39// tagging operations as the last step before transmission to the OLT, after having received the
40// upstream frame from other filtering, bridging or switching functions. In the downstream
41// direction, the defined inverse operation is the first operation performed on the frame before
42// offering it to possible filter, bridge or switch functions.
43//
44// Attributes
45// Managed Entity Id
46// Managed entity ID: This attribute provides a unique number for each instance of this ME. (R,
47// setbycreate) (mandatory) (2 bytes)
48//
49// Association Type
50// When the extended VLAN tagging ME is associated with the ANI side, it behaves as an upstream
51// egress rule, and as a downstream ingress rule when the downstream mode attribute is equal to 0.
52// When the extended VLAN tagging ME is associated with the UNI side, the extended VLAN tagging ME
53// behaves as an upstream ingress rule, and as a downstream egress rule when the downstream mode
54// attribute is equal to 0.
55//
56// Received Frame Vlan Tagging Operation Table Max Size
57// Received frame VLAN tagging operation table max size: This attribute indicates the maximum
58// number of entries that can be set in the received frame VLAN tagging operation table. (R)
59// (mandatory) (2 bytes)
60//
61// Input Tpid
62// Input TPID: This attribute gives the special TPID value for operations on the input (filtering)
63// side of the table. Typical values include 0x88A8 and 0x9100. (R, W) (mandatory) (2 bytes)
64//
65// Output Tpid
66// Output TPID: This attribute gives the special TPID value for operations on the output (tagging)
67// side of the table. Typical values include 0x88A8 and 0x9100. (R, W) (mandatory) (2 bytes)
68//
69// Downstream Mode
70// All other values are reserved. (R, W) (mandatory) (1 byte)
71//
72// Received Frame Vlan Tagging Operation Table
73// 111 Set TPID = output TPID, DEI = 1
74//
75// Associated Me Pointer
76// NOTE 5 – When the association type is xDSL, the two MSBs may be used to indicate a bearer
77// channel.
78//
79// Dscp To P Bit Mapping
80// NOTE 6 – If certain bits in the DSCP field are to be ignored in the mapping process, the
81// attribute should be provisioned such that all possible values of those bits produce the same
82// P-bit mapping. This can be applied to the case where instead of full DSCP, the operator wishes
83// to adopt the priority mechanism based on IP precedence, which needs only the three MSBs of the
84// DSCP field.
85//
86type ExtendedVlanTaggingOperationConfigurationData struct {
87 ManagedEntityDefinition
88 Attributes AttributeValueMap
89}
90
91func init() {
92 extendedvlantaggingoperationconfigurationdataBME = &ManagedEntityDefinition{
93 Name: "ExtendedVlanTaggingOperationConfigurationData",
94 ClassID: 171,
95 MessageTypes: mapset.NewSetWith(
96 Create,
97 Delete,
98 Get,
99 GetNext,
100 Set,
101 ),
102 AllowedAttributeMask: 0XFF00,
103 AttributeDefinitions: AttributeDefinitionMap{
104 0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
105 1: ByteField("AssociationType", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
106 2: Uint16Field("ReceivedFrameVlanTaggingOperationTableMaxSize", 0, mapset.NewSetWith(Read), false, false, false, false, 2),
107 3: Uint16Field("InputTpid", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 3),
108 4: Uint16Field("OutputTpid", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 4),
109 5: ByteField("DownstreamMode", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
110 6: TableField("ReceivedFrameVlanTaggingOperationTable", TableInfo{nil, 16}, mapset.NewSetWith(Read, Write), false, false, false, 6),
111 7: Uint16Field("AssociatedMePointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 7),
112 8: MultiByteField("DscpToPBitMapping", 24, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
113 },
114 }
115}
116
117// NewExtendedVlanTaggingOperationConfigurationData (class ID 171 creates the basic
118// Managed Entity definition that is used to validate an ME of this type that
119// is received from the wire, about to be sent on the wire.
120func NewExtendedVlanTaggingOperationConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
121 return NewManagedEntity(extendedvlantaggingoperationconfigurationdataBME, params...)
122}