blob: c4878047a2a436ac79caf1189caf87474099f71c [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 */
Matteo Scandolof9d43412021-01-12 11:11:34 -080017 /*
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// ExtendedVlanTaggingOperationConfigurationDataClassID is the 16-bit ID for the OMCI
29// Managed entity Extended VLAN tagging operation configuration data
30const ExtendedVlanTaggingOperationConfigurationDataClassID ClassID = ClassID(171)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070031
32var extendedvlantaggingoperationconfigurationdataBME *ManagedEntityDefinition
33
34// ExtendedVlanTaggingOperationConfigurationData (class ID #171)
35// This ME organizes data associated with VLAN tagging. Regardless of its point of attachment, the
36// specified tagging operations refer to the upstream direction. Instances of this ME are created
37// and deleted by the OLT.
38//
39// Relationships
40// Zero or one instance of this ME may exist for an instance of any ME that can terminate or modify
41// an Ethernet stream.//// When this ME is associated with a UNI-side TP, it performs its upstream classification and
42// tagging operations before offering the upstream frame to other filtering, bridging or switching
43// functions. In the downstream direction, the defined inverse operation is the last operation
44// 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
45// tagging operations as the last step before transmission to the OLT, after having received the
46// upstream frame from other filtering, bridging or switching functions. In the downstream
47// direction, the defined inverse operation is the first operation performed on the frame before
48// offering it to possible filter, bridge or switch functions.
49//
50// Attributes
51// Managed Entity Id
52// Managed entity ID: This attribute provides a unique number for each instance of this ME. (R,
Matteo Scandolof9d43412021-01-12 11:11:34 -080053// setbycreate) (mandatory) (2-bytes)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070054//
55// Association Type
56// When the extended VLAN tagging ME is associated with the ANI side, it behaves as an upstream
57// egress rule, and as a downstream ingress rule when the downstream mode attribute is equal to 0.
58// When the extended VLAN tagging ME is associated with the UNI side, the extended VLAN tagging ME
59// behaves as an upstream ingress rule, and as a downstream egress rule when the downstream mode
60// attribute is equal to 0.
61//
62// Received Frame Vlan Tagging Operation Table Max Size
63// Received frame VLAN tagging operation table max size: This attribute indicates the maximum
64// number of entries that can be set in the received frame VLAN tagging operation table. (R)
Matteo Scandolof9d43412021-01-12 11:11:34 -080065// (mandatory) (2-bytes)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070066//
67// Input Tpid
68// Input TPID: This attribute gives the special TPID value for operations on the input (filtering)
Matteo Scandolof9d43412021-01-12 11:11:34 -080069// side of the table. Typical values include 0x88A8 and 0x9100. (R,-W) (mandatory) (2-bytes)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070070//
71// Output Tpid
72// Output TPID: This attribute gives the special TPID value for operations on the output (tagging)
Matteo Scandolof9d43412021-01-12 11:11:34 -080073// side of the table. Typical values include 0x88A8 and 0x9100. (R,-W) (mandatory) (2-bytes)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070074//
75// Downstream Mode
76// All other values are reserved. (R, W) (mandatory) (1 byte)
77//
78// Received Frame Vlan Tagging Operation Table
Matteo Scandolof9d43412021-01-12 11:11:34 -080079// 111 Set TPID-=-output TPID, DEI = 1
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070080//
81// Associated Me Pointer
Matteo Scandolof9d43412021-01-12 11:11:34 -080082// NOTE 5 - When the association type is xDSL, the two MSBs may be used to indicate a bearer
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070083// channel.
84//
85// Dscp To P Bit Mapping
Matteo Scandolof9d43412021-01-12 11:11:34 -080086// NOTE 6 - If certain bits in the DSCP field are to be ignored in the mapping process, the
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070087// attribute should be provisioned such that all possible values of those bits produce the same
88// P-bit mapping. This can be applied to the case where instead of full DSCP, the operator wishes
89// to adopt the priority mechanism based on IP precedence, which needs only the three MSBs of the
90// DSCP field.
91//
92type ExtendedVlanTaggingOperationConfigurationData struct {
93 ManagedEntityDefinition
94 Attributes AttributeValueMap
95}
96
97func init() {
98 extendedvlantaggingoperationconfigurationdataBME = &ManagedEntityDefinition{
99 Name: "ExtendedVlanTaggingOperationConfigurationData",
100 ClassID: 171,
101 MessageTypes: mapset.NewSetWith(
102 Create,
103 Delete,
104 Get,
105 GetNext,
106 Set,
107 ),
Matteo Scandolof9d43412021-01-12 11:11:34 -0800108 AllowedAttributeMask: 0xff00,
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700109 AttributeDefinitions: AttributeDefinitionMap{
Matteo Scandolof9d43412021-01-12 11:11:34 -0800110 0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
111 1: ByteField("AssociationType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
112 2: Uint16Field("ReceivedFrameVlanTaggingOperationTableMaxSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
113 3: Uint16Field("InputTpid", UnsignedIntegerAttributeType, 0x2000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 3),
114 4: Uint16Field("OutputTpid", UnsignedIntegerAttributeType, 0x1000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 4),
115 5: ByteField("DownstreamMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
116 6: TableField("ReceivedFrameVlanTaggingOperationTable", TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read, Write), false, false, false, 6),
117 7: Uint16Field("AssociatedMePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
118 8: MultiByteField("DscpToPBitMapping", OctetsAttributeType, 0x0100, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 8),
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700119 },
Matteo Scandolof9d43412021-01-12 11:11:34 -0800120 Access: CreatedByOlt,
121 Support: UnknownSupport,
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700122 }
123}
124
Matteo Scandolof9d43412021-01-12 11:11:34 -0800125// NewExtendedVlanTaggingOperationConfigurationData (class ID 171) creates the basic
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700126// Managed Entity definition that is used to validate an ME of this type that
Matteo Scandolof9d43412021-01-12 11:11:34 -0800127// is received from or transmitted to the OMCC.
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700128func NewExtendedVlanTaggingOperationConfigurationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
Matteo Scandolof9d43412021-01-12 11:11:34 -0800129 return NewManagedEntity(*extendedvlantaggingoperationconfigurationdataBME, params...)
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700130}