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