blob: 7ff04912db9dd5044547f90d89c111337b6062fd [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 Dot1XPortExtensionPackageClassId ClassID = ClassID(290)
25
26var dot1xportextensionpackageBME *ManagedEntityDefinition
27
28// Dot1XPortExtensionPackage (class ID #290)
29// An instance of this ME represents a set of attributes that control a port's IEEE 802.1X
30// operation. It is created and deleted autonomously by the ONU upon the creation or deletion of a
31// PPTP that supports [IEEE 802.1X] authentication of customer premises equipment (CPE).
32//
33// Relationships
34// An instance of this ME is associated with a PPTP that performs IEEE 802.1X authentication of CPE
35// (e.g., Ethernet or DSL).
36//
37// Attributes
38// Managed Entity Id
39// Managed entity ID: This attribute provides a unique number for each instance of this ME. Its
40// value is the same as that of its associated PPTP (i.e., slot and port number). (R) (mandatory)
41// (2 bytes)
42//
43// Dot1X Enable
44// Dot1x enable: If true, this Boolean attribute forces the associated port to authenticate via
45// [IEEE 802.1X] as a precondition of normal service. The default value false does not impose IEEE
46// 802.1X authentication on the associated port. (R, W) (mandatory) (1 byte)
47//
48// Action Register
49// (W) (mandatory) (1 byte)
50//
51// Authenticator Pae State
52// (R) (optional) (1 byte)
53//
54// Backend Authentication State
55// (R) (optional) (1 byte)
56//
57// Admin Controlled Directions
58// Admin controlled directions: This attribute controls the directionality of the port's
59// authentication requirement. The default value 0 indicates that control is imposed in both
60// directions. The value 1 indicates that control is imposed only on traffic from the subscriber
61// towards the network. (R, W) (optional) (1 byte)
62//
63// Operational Controlled Directions
64// Operational controlled directions: This attribute indicates the directionality of the port's
65// current authentication state. The value 0 indicates that control is imposed in both directions.
66// The value 1 indicates that control is imposed only on traffic from the subscriber towards the
67// network. (R) (optional) (1 byte)
68//
69// Authenticator Controlled Port Status
70// Authenticator controlled port status: This attribute indicates whether the controlled port is
71// currently authorized (1) or unauthorized (2). (R) (optional) (1 byte)
72//
73// Quiet Period
74// Quiet period: This attribute specifies the interval between EAP request/identity invitations
75// sent to the peer. Other events such as carrier present or EAPOL start frames from the peer may
76// trigger an EAP request/identity frame from the ONU at any time; this attribute controls the
77// ONU's periodic behaviour in the absence of these other inputs. It is expressed in seconds.
78// (R, W) (optional) (2 bytes)
79//
80// Server Timeout Period
81// Server timeout period: This attribute specifies the time the ONU will wait for a response from
82// the radius server before timing out. Within this maximum interval, the ONU may initiate several
83// retransmissions with exponentially increasing delay. Upon timeout, the ONU may try another
84// radius server if there is one, or invoke the fallback policy, if no alternate radius servers are
85// available. Server timeout is expressed in seconds, with a default value of 30 and a maximum
86// value of 65535. (R, W) (optional) (2 bytes)
87//
88// Re_Authentication Period
89// Re-authentication period: This attribute records the re-authentication interval specified by the
90// radius authentication server. It is expressed in seconds. The attribute is only meaningful after
91// a port has been authenticated. (R) (optional) (2 bytes)
92//
93// Re_Authentication Enabled
94// Re-authentication enabled: This Boolean attribute records whether the radius authentication
95// server has enabled re-authentication on this service (true) or not (false). The attribute is
96// only meaningful after a port has been authenticated. (R) (optional) (1 byte)
97//
98// Key Transmission Enabled
99// Key transmission enabled: This Boolean attribute indicates whether key transmission is enabled
100// (true) or not (false). This feature is not required; the parameter is listed here for
101// completeness vis-à-vis [IEEE 802.1X]. (R, W) (optional) (1 byte)
102//
103type Dot1XPortExtensionPackage struct {
104 ManagedEntityDefinition
105 Attributes AttributeValueMap
106}
107
108func init() {
109 dot1xportextensionpackageBME = &ManagedEntityDefinition{
110 Name: "Dot1XPortExtensionPackage",
111 ClassID: 290,
112 MessageTypes: mapset.NewSetWith(
113 Get,
114 Set,
115 ),
116 AllowedAttributeMask: 0XFFF0,
117 AttributeDefinitions: AttributeDefinitionMap{
118 0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
119 1: ByteField("Dot1XEnable", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 1),
120 2: ByteField("ActionRegister", 0, mapset.NewSetWith(Write), false, false, false, false, 2),
121 3: ByteField("AuthenticatorPaeState", 0, mapset.NewSetWith(Read), false, false, true, false, 3),
122 4: ByteField("BackendAuthenticationState", 0, mapset.NewSetWith(Read), false, false, true, false, 4),
123 5: ByteField("AdminControlledDirections", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 5),
124 6: ByteField("OperationalControlledDirections", 0, mapset.NewSetWith(Read), false, false, true, false, 6),
125 7: ByteField("AuthenticatorControlledPortStatus", 0, mapset.NewSetWith(Read), false, false, true, false, 7),
126 8: Uint16Field("QuietPeriod", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 8),
127 9: Uint16Field("ServerTimeoutPeriod", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
128 10: Uint16Field("ReAuthenticationPeriod", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
129 11: ByteField("ReAuthenticationEnabled", 0, mapset.NewSetWith(Read), false, false, true, false, 11),
130 12: ByteField("KeyTransmissionEnabled", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
131 },
132 }
133}
134
135// NewDot1XPortExtensionPackage (class ID 290 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 NewDot1XPortExtensionPackage(params ...ParamData) (*ManagedEntity, OmciErrors) {
139 return NewManagedEntity(dot1xportextensionpackageBME, params...)
140}