Documentation ¶
Overview ¶
* Copyright (c) 2019 - present. Boling Consulting Solutions (bcsw.net) * * 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. *
Index ¶
- Constants
- Variables
- func NewEnhancedFECStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
- func NewEnhancedTcPMStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
- func NewFECStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
- func NewGalPM(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
- func NewGemPortNetworkCtpPM(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
- func NewTcPMStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
- func NewXGPonDownstreamStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
- func NewXGPonUpstreamStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
- type ANI
- func (ani *ANI) AddTimers(timer *time.Timer)
- func (ani *ANI) AniGHandler(request *me.ManagedEntity, existing *interfaces.MeDbEntry, mt omci.MessageType) gopacket.SerializableLayer
- func (ani *ANI) AniPerformanceMonitoringHistoryDataHandler(request *me.ManagedEntity, existing *interfaces.MeDbEntry, mt omci.MessageType) gopacket.SerializableLayer
- func (ani *ANI) Configuration() interface{}
- func (ani *ANI) Disable() error
- func (ani *ANI) Enable() error
- func (ani *ANI) ID() uint
- func (ani *ANI) Input() chan<- interface{}
- func (ani *ANI) IsEnabled() bool
- func (ani *ANI) Name() string
- func (ani *ANI) Parent() interfaces.ICommon
- func (ani *ANI) RxFrame(packet gopacket.Packet, sender interface{})
- func (ani *ANI) State() fsm.State
- func (ani *ANI) StateTransitionCallback(state fsm.State) error
- func (ani *ANI) String() string
- type GemInternetworkingTP
- func (gem *GemInternetworkingTP) Get(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
- func (gem *GemInternetworkingTP) RxFrame(packet gopacket.Packet, sender interface{})
- func (gem *GemInternetworkingTP) Set(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
- type GemPortNetworkCtp
- func (gemPort *GemPortNetworkCtp) Get(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
- func (gemPort *GemPortNetworkCtp) RxFrame(packet gopacket.Packet, sender interface{})
- func (gemPort *GemPortNetworkCtp) Set(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
- type Ieee8021pMapper
- func (mapper *Ieee8021pMapper) Get(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
- func (mapper *Ieee8021pMapper) RxFrame(packet gopacket.Packet, sender interface{})
- func (mapper *Ieee8021pMapper) Set(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
- type TCont
Constants ¶
const AniDisabledState fsm.State = "disabled" // Initial state
const AniEnabledState fsm.State = "enabled" // ANI has be activated, normal state
const AniImpairedState fsm.State = "impaired" // ANI has some type of fault
const InitialState fsm.State = "initial" // State after creation of ANI
Variables ¶
var EnhancedFecPMNameToIndex map[string]uint
var EnhancedTcPmNameToIndex map[string]uint
var GalPMToIndex map[string]uint
var GemNetworkNameToIndex map[string]uint
var TcPmNameToIndex map[string]uint
var XgsPonDownstreamNameToIndex map[string]uint
var XgsPonUpstreamNameToIndex map[string]uint
Functions ¶
func NewEnhancedFECStatistics ¶
func NewEnhancedFECStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
func NewEnhancedTcPMStatistics ¶
func NewEnhancedTcPMStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
func NewFECStatistics ¶
func NewFECStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
func NewGalPM ¶
func NewGalPM(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
func NewGemPortNetworkCtpPM ¶
func NewGemPortNetworkCtpPM(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
func NewTcPMStatistics ¶
func NewTcPMStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
func NewXGPonDownstreamStatistics ¶
func NewXGPonDownstreamStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
func NewXGPonUpstreamStatistics ¶
func NewXGPonUpstreamStatistics(instanceID uint16, control *interfaces.PMControlBlock, intervalEndTime uint8) *interfaces.Statistics
Types ¶
type ANI ¶
type ANI struct { Onu interfaces.IOnu // Associated ONU PortNumber uint16 // Port number FSM *fsm.Machine // Finite state machine // contains filtered or unexported fields }
ANI is used to model the ANI/PON interface of an ONU
func NewANI ¶
func NewANI(onu interfaces.IOnu, portNumber uint16) *ANI
NewANI is used to construct a new ANI/PON port for an ONU
func (*ANI) AniGHandler ¶
func (ani *ANI) AniGHandler(request *me.ManagedEntity, existing *interfaces.MeDbEntry, mt omci.MessageType) gopacket.SerializableLayer
func (*ANI) AniPerformanceMonitoringHistoryDataHandler ¶
func (ani *ANI) AniPerformanceMonitoringHistoryDataHandler(request *me.ManagedEntity, existing *interfaces.MeDbEntry, mt omci.MessageType) gopacket.SerializableLayer
func (*ANI) Configuration ¶
func (ani *ANI) Configuration() interface{}
func (*ANI) IsEnabled ¶
IsEnabled returns the current ANI enable state. An enabled ANI is activated and able to pass OMCI messages
func (*ANI) Parent ¶
func (ani *ANI) Parent() interfaces.ICommon
Parent returns the parent object of this ANI (an ONU)
func (*ANI) RxFrame ¶
RxFrame handles frame reception from the PON and is responsible for looking up a matching GEM Port to forward the packet to while updating approprate statistics
func (*ANI) StateTransitionCallback ¶
StateTransitionCallback is called after transition to the new state and when the FSM mutex is locked. If synchronous, it will call directly into method. If async, uses a go routine to call the callback
type GemInternetworkingTP ¶
type GemInternetworkingTP struct { EntityID uint16 GemPortNetworkCtp uint16 InterworkingOption byte ServiceProfilePointer uint16 InterworkingTP uint16 GalProfilePointer uint16 ExtendedPM *interfaces.Statistics ExtendedPM64Bit *interfaces.Statistics // contains filtered or unexported fields }
func NewGemInternetworkingTP ¶
func NewGemInternetworkingTP(onu interfaces.IOnu, request *me.ManagedEntity) (*GemInternetworkingTP, me.OmciErrors)
func (*GemInternetworkingTP) Get ¶
func (gem *GemInternetworkingTP) Get(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
Get is responsible for parsing the attribute values to pulling the data from the MIB
func (*GemInternetworkingTP) RxFrame ¶
func (gem *GemInternetworkingTP) RxFrame(packet gopacket.Packet, sender interface{})
RxFrame handles frame reception from the PON and is responsible for looking up a matching GEM Port to forward the packet to while updating approprate statistics
func (*GemInternetworkingTP) Set ¶
func (gem *GemInternetworkingTP) Set(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
Set is responsible for parsing the attribute values to set and after validation, updating both the cached struct and the MIB database
type GemPortNetworkCtp ¶
type GemPortNetworkCtp struct { EntityID uint16 PortId uint16 TContPointer uint16 Direction byte UpstreamTrafficManagement uint16 UpstreamTD uint16 DownStreamPriorityQueue uint16 DownstreamTD uint16 Statistics *interfaces.Statistics // TODO: Enforce referential integrity // contains filtered or unexported fields }
func NewGemPortNetworkCtp ¶
func NewGemPortNetworkCtp(onu interfaces.IOnu, request *me.ManagedEntity) (*GemPortNetworkCtp, me.OmciErrors)
func (*GemPortNetworkCtp) Get ¶
func (gemPort *GemPortNetworkCtp) Get(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
Get is responsible for parsing the attribute values to pulling the data from the MIB
func (*GemPortNetworkCtp) RxFrame ¶
func (gemPort *GemPortNetworkCtp) RxFrame(packet gopacket.Packet, sender interface{})
RxFrame handles frame reception from the PON and is responsible for looking up a matching GEM Port to forward the packet to while updating approprate statistics
func (*GemPortNetworkCtp) Set ¶
func (gemPort *GemPortNetworkCtp) Set(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
Set is responsible for parsing the attribute values to set and after validation, updating both the cached struct and the MIB database
type Ieee8021pMapper ¶
type Ieee8021pMapper struct { EntityID uint16 // contains filtered or unexported fields }
func NewIeee8021pMapper ¶
func NewIeee8021pMapper(onu interfaces.IOnu, request *me.ManagedEntity) (*Ieee8021pMapper, me.OmciErrors)
func (*Ieee8021pMapper) Get ¶
func (mapper *Ieee8021pMapper) Get(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
Get is responsible for parsing the attribute values to pulling the data from the MIB
func (*Ieee8021pMapper) RxFrame ¶
func (mapper *Ieee8021pMapper) RxFrame(packet gopacket.Packet, sender interface{})
RxFrame handles frame reception from the PON and is responsible for looking up a matching GEM Port to forward the packet to while updating appropriate statistics
func (*Ieee8021pMapper) Set ¶
func (mapper *Ieee8021pMapper) Set(request *me.ManagedEntity, existing *interfaces.MeDbEntry) gopacket.SerializableLayer
Set is responsible for parsing the attribute values to set and after validation, updating both the cached struct and the MIB database
type TCont ¶
type TCont struct { EntityID uint16 AllocID uint16 Policy uint8 // contains filtered or unexported fields }
TCont wraps a TCont Entity ID and is allocated on the first set operation to the AllocID attribute when it does not equal the Free Entity ID.
func NewTCont ¶
func NewTCont(onu interfaces.IOnu, eid uint16, attributes me.AttributeValueMap) (*TCont, me.OmciErrors)
func (*TCont) GetSetHandler ¶
func (tCont *TCont) GetSetHandler(request *me.ManagedEntity, existing *interfaces.MeDbEntry, mt omci.MessageType) gopacket.SerializableLayer