blob: 57471eb157f4b0a28b004c177707e96c5ba91161 [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// PseudowireTerminationPointClassID is the 16-bit ID for the OMCI
26// Managed entity Pseudowire termination point
27const PseudowireTerminationPointClassID ClassID = ClassID(282)
28
29var pseudowireterminationpointBME *ManagedEntityDefinition
30
31// PseudowireTerminationPoint (class ID #282)
32// The pseudowire TP supports packetized (rather than TDM) transport of TDM services, transported
33// either directly over Ethernet, over UDP/IP or over MPLS. Instances of this ME are created and
34// deleted by the OLT.
35//
36// Relationships
37// One pseudowire TP ME exists for each distinct TDM service that is mapped to a pseudowire.
38//
39// Attributes
40// Managed Entity Id
41// Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
42// (mandatory) (2-bytes)
43//
44// Underlying Transport
45// (R,-W, setbycreate) (mandatory) (1-byte)
46//
47// Service Type
48// (R,-W, setbycreate) (mandatory) (1-byte)
49//
50// Signalling
51// (R,-W, setbycreate) (mandatory for structured service type) (1-byte)
52//
53// Tdm Uni Pointer
54// TDM UNI pointer: If service type-= structured, this attribute points to a logical N-* 64-kbit/s
55// subport CTP. Otherwise, this attribute points to a PPTP CES UNI. (R,-W, setbycreate) (mandatory)
56// (2-bytes)
57//
58// North_Side Pointer
59// North-side pointer: When the pseudowire service is transported via IP, as indicated by the
60// underlying transport attribute, the northside pointer attribute points to an instance of the
61// TCP/UDP config data ME. When the pseudowire service is transported directly over Ethernet, the
62// north-side pointer attribute is not used - the linkage to the Ethernet flow TP is implicit in
63// the ME IDs. When the pseudowire service is transported over MPLS, the northside pointer
64// attribute points to an instance of the MPLS PW TP. (R, W, setbycreate) (mandatory) (2 bytes)
65//
66// Far_End Ip Info
67// A null pointer is appropriate if the pseudowire is not transported via IP. (R,-W, setbycreate)
68// (mandatory for IP transport) (2-bytes)
69//
70// Payload Size
71// (R,-W, setbycreate) (mandatory for unstructured service) (2-bytes)
72//
73// Payload Encapsulation Delay
74// (R,-W, setbycreate) (mandatory for structured service) (1-byte)
75//
76// Timing Mode
77// (R,-W) (mandatory) (1-byte)
78//
79// Transmit Circuit Id
80// (R,-W) (mandatory for MEF 8 transport) (8-bytes)
81//
82// Expected Circuit Id
83// (R,-W) (optional for MEF 8 transport) (8-bytes)
84//
85// Received Circuit Id
86// Received circuit ID: This attribute indicates the actual ECID(s) received on the payload and
87// signalling channels, respectively. It may be used for diagnostic purposes. (R) (optional for MEF
88// 8 transport) (8-bytes)
89//
90// Exception Policy
91// Exception policy: This attribute points to an instance of the pseudowire maintenance profile ME.
92// If the pointer has its default value 0, the ONU's internal defaults apply. (R,-W) (optional)
93// (2-bytes)
94//
95// Arc
96// ARC: See clause A.1.4.3. (R,-W) (optional) (1-byte)
97//
98// Arc Interval
99// ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
100//
101type PseudowireTerminationPoint struct {
102 ManagedEntityDefinition
103 Attributes AttributeValueMap
104}
105
106func init() {
107 pseudowireterminationpointBME = &ManagedEntityDefinition{
108 Name: "PseudowireTerminationPoint",
109 ClassID: 282,
110 MessageTypes: mapset.NewSetWith(
111 Create,
112 Delete,
113 Get,
114 Set,
115 ),
116 AllowedAttributeMask: 0xfffe,
117 AttributeDefinitions: AttributeDefinitionMap{
118 0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
119 1: ByteField("UnderlyingTransport", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
120 2: ByteField("ServiceType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
121 3: ByteField("Signalling", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
122 4: Uint16Field("TdmUniPointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
123 5: Uint16Field("NorthSidePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
124 6: Uint16Field("FarEndIpInfo", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
125 7: Uint16Field("PayloadSize", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
126 8: ByteField("PayloadEncapsulationDelay", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
127 9: ByteField("TimingMode", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
128 10: Uint64Field("TransmitCircuitId", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
129 11: Uint64Field("ExpectedCircuitId", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
130 12: Uint64Field("ReceivedCircuitId", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
131 13: Uint16Field("ExceptionPolicy", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
132 14: ByteField("Arc", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), true, true, false, 14),
133 15: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
134 },
135 Access: CreatedByOlt,
136 Support: UnknownSupport,
137 }
138}
139
140// NewPseudowireTerminationPoint (class ID 282) creates the basic
141// Managed Entity definition that is used to validate an ME of this type that
142// is received from or transmitted to the OMCC.
143func NewPseudowireTerminationPoint(params ...ParamData) (*ManagedEntity, OmciErrors) {
144 return NewManagedEntity(*pseudowireterminationpointBME, params...)
145}