blob: 5764757cbbd6a163f852b8855d79cd4c8fef581d [file] [log] [blame]
/*
* Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
* Copyright 2020-present Open Networking Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* NOTE: This file was generated, manual edits will be overwritten!
*
* Generated by 'goCodeGenerator.py':
* https://github.com/cboling/OMCI-parser/README.md
*/
package generated
import "github.com/deckarep/golang-set"
// MacBridgePortDesignationDataClassID is the 16-bit ID for the OMCI
// Managed entity MAC bridge port designation data
const MacBridgePortDesignationDataClassID = ClassID(48) // 0x0030
var macbridgeportdesignationdataBME *ManagedEntityDefinition
// MacBridgePortDesignationData (Class ID: #48 / 0x0030)
// This ME records data associated with a bridge port. The ONU automatically creates or deletes an
// instance of this managed entity upon the creation or deletion of a MAC bridge port configuration
// data ME.
//
// Relationships
// An instance of this managed entity is associated with one MAC bridge port configuration data ME.
//
// Attributes
// Managed Entity Id
// This attribute uniquely identifies each instance of this ME. Through an identical ID, this ME is
// implicitly linked to an instance of the MAC bridge port configuration data. (R) (mandatory)
// (2-bytes)
//
// Designated Bridge Root Cost Port
// This attribute contains the designated root, designated cost, designated bridge and designated
// port, which are some of the outputs of the read port parameters operation defined in clause
// 14.8.2.1 of [IEEE-802.1D]:
//
// o identifier of the designated bridge for the port's segment (8-bytes);
//
// o bridge identifier of the root transmitted by the designated bridge for the segment (8-bytes);
//
// o port number of the designated port on the designated bridge considered to be part of this
// port's segment (4-bytes);
//
// o path cost contribution of the designated port to this port's segment (4-bytes).
//
// Upon ME instantiation, the ONU sets this attribute to 0. (R) (mandatory) (24-bytes)
//
// Port State
// This attribute provides status information on the port. Valid values include the following.
//
// 0 Disabled
//
// 1 Listening
//
// 2 Learning
//
// 3 Forwarding
//
// 4 Blocking
//
// 5 Linkdown
//
// 6 (R)Stp_off
//
// in accordance with [IEEE 802.1D]. (R) (mandatory) (1-byte)
//
// NOTE - The value linkdown is introduced to denote the port status when the Ethernet link state
// is down. This value distinguishes the case where Ethernet is physically down from the case where
// Ethernet is administratively locked, the latter being denoted by disabled. Be aware that this
// terminology violates the ITUT convention that disabled is an operational state, not
// administrative.
//
// The value (R)stp_off is introduced to denote the port status where the (rapid) spanning tree
// protocol has been disabled by setting the port spanning tree ind attribute of the MAC bridge
// port configuration data to false, and the Ethernet link state is up. This value distinguishes
// whether frame forwarding is under the control of (R)STP.
//
type MacBridgePortDesignationData struct {
ManagedEntityDefinition
Attributes AttributeValueMap
}
// Attribute name constants
const MacBridgePortDesignationData_DesignatedBridgeRootCostPort = "DesignatedBridgeRootCostPort"
const MacBridgePortDesignationData_PortState = "PortState"
func init() {
macbridgeportdesignationdataBME = &ManagedEntityDefinition{
Name: "MacBridgePortDesignationData",
ClassID: MacBridgePortDesignationDataClassID,
MessageTypes: mapset.NewSetWith(
Get,
),
AllowedAttributeMask: 0xc000,
AttributeDefinitions: AttributeDefinitionMap{
0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
1: MultiByteField(MacBridgePortDesignationData_DesignatedBridgeRootCostPort, OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
2: ByteField(MacBridgePortDesignationData_PortState, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
},
Access: CreatedByOnu,
Support: UnknownSupport,
}
}
// NewMacBridgePortDesignationData (class ID 48) creates the basic
// Managed Entity definition that is used to validate an ME of this type that
// is received from or transmitted to the OMCC.
func NewMacBridgePortDesignationData(params ...ParamData) (*ManagedEntity, OmciErrors) {
return NewManagedEntity(*macbridgeportdesignationdataBME, params...)
}