devices

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2019 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HexDecode

func HexDecode(pkt []byte) []byte

HexDecode converts the hex encoding to binary

Types

type DyingGaspIndicationMessage

type DyingGaspIndicationMessage struct {
	PonPortID uint32
	OnuID     uint32
	Status    string
}

type Message

type Message struct {
	Type MessageType
	Data interface{}
}

type MessageType

type MessageType int
const (
	OltIndication       MessageType = 0
	NniIndication       MessageType = 1
	PonIndication       MessageType = 2
	OnuDiscIndication   MessageType = 3
	OnuIndication       MessageType = 4
	OMCI                MessageType = 5
	FlowUpdate          MessageType = 6
	StartEAPOL          MessageType = 7
	StartDHCP           MessageType = 8
	DyingGaspIndication MessageType = 9
)

func (MessageType) String

func (m MessageType) String() string

type NniIndicationMessage

type NniIndicationMessage struct {
	OperState OperState
	NniPortID uint32
}

type NniPort

type NniPort struct {
	// BBSIM Internals
	ID uint32

	// PON Attributes
	OperState *fsm.FSM
	Type      string
}

func CreateNNI

func CreateNNI(olt *OltDevice) (NniPort, error)

type OltDevice

type OltDevice struct {
	// BBSIM Internals
	ID            int
	SerialNumber  string
	NumNni        int
	NumPon        int
	NumOnuPerPon  int
	InternalState *fsm.FSM

	Pons []PonPort
	Nnis []NniPort

	// OLT Attributes
	OperState *fsm.FSM
	// contains filtered or unexported fields
}

func CreateOLT

func CreateOLT(seq int, nni int, pon int, onuPerPon int, sTag int, cTagInit int, oltDoneChannel *chan bool, apiDoneChannel *chan bool, group *sync.WaitGroup) OltDevice

func GetOLT

func GetOLT() OltDevice

func (OltDevice) ActivateOnu

func (o OltDevice) ActivateOnu(context context.Context, onu *openolt.Onu) (*openolt.Empty, error)

func (OltDevice) CollectStatistics

func (o OltDevice) CollectStatistics(context.Context, *openolt.Empty) (*openolt.Empty, error)

func (OltDevice) CreateTrafficQueues

func (s OltDevice) CreateTrafficQueues(context.Context, *tech_profile.TrafficQueues) (*openolt.Empty, error)

func (OltDevice) CreateTrafficSchedulers

func (s OltDevice) CreateTrafficSchedulers(context.Context, *tech_profile.TrafficSchedulers) (*openolt.Empty, error)

func (OltDevice) DeactivateOnu

func (o OltDevice) DeactivateOnu(context.Context, *openolt.Onu) (*openolt.Empty, error)

func (OltDevice) DeleteOnu

func (o OltDevice) DeleteOnu(context.Context, *openolt.Onu) (*openolt.Empty, error)

func (OltDevice) DisableOlt

func (o OltDevice) DisableOlt(context.Context, *openolt.Empty) (*openolt.Empty, error)

func (OltDevice) DisablePonIf

func (o OltDevice) DisablePonIf(context.Context, *openolt.Interface) (*openolt.Empty, error)

func (OltDevice) Enable

func (OltDevice) EnableIndication

func (o OltDevice) EnableIndication(_ *openolt.Empty, stream openolt.Openolt_EnableIndicationServer) error

func (OltDevice) EnablePonIf

func (OltDevice) FindOnu

func (o OltDevice) FindOnu(serialNumber string) (*Onu, error)

func (OltDevice) FlowAdd

func (o OltDevice) FlowAdd(ctx context.Context, flow *openolt.Flow) (*openolt.Empty, error)

func (OltDevice) FlowRemove

func (o OltDevice) FlowRemove(context.Context, *openolt.Flow) (*openolt.Empty, error)

func (OltDevice) GetDeviceInfo

func (o OltDevice) GetDeviceInfo(context.Context, *openolt.Empty) (*openolt.DeviceInfo, error)

func (OltDevice) GetOnuInfo

func (o OltDevice) GetOnuInfo(context context.Context, packet *openolt.Onu) (*openolt.OnuIndication, error)

func (OltDevice) GetPonIf

func (o OltDevice) GetPonIf(context context.Context, packet *openolt.Interface) (*openolt.IntfIndication, error)

func (OltDevice) HeartbeatCheck

func (o OltDevice) HeartbeatCheck(context.Context, *openolt.Empty) (*openolt.Heartbeat, error)

func (OltDevice) OmciMsgOut

func (o OltDevice) OmciMsgOut(ctx context.Context, omci_msg *openolt.OmciMsg) (*openolt.Empty, error)

func (OltDevice) OnuPacketOut

func (o OltDevice) OnuPacketOut(ctx context.Context, onuPkt *openolt.OnuPacket) (*openolt.Empty, error)

func (OltDevice) Reboot

func (OltDevice) ReenableOlt

func (o OltDevice) ReenableOlt(context.Context, *openolt.Empty) (*openolt.Empty, error)

func (OltDevice) RemoveTrafficQueues

func (s OltDevice) RemoveTrafficQueues(context.Context, *tech_profile.TrafficQueues) (*openolt.Empty, error)

func (OltDevice) RemoveTrafficSchedulers

func (s OltDevice) RemoveTrafficSchedulers(context.Context, *tech_profile.TrafficSchedulers) (*openolt.Empty, error)

func (OltDevice) UplinkPacketOut

func (o OltDevice) UplinkPacketOut(context context.Context, packet *openolt.UplinkPacket) (*openolt.Empty, error)

type OltIndicationMessage

type OltIndicationMessage struct {
	OperState OperState
}

type OmciMessage

type OmciMessage struct {
	OnuSN *openolt.SerialNumber
	OnuID uint32
	// contains filtered or unexported fields
}

type Onu

type Onu struct {
	ID            uint32
	PonPortID     uint32
	PonPort       PonPort
	STag          int
	CTag          int
	HwAddress     net.HardwareAddr
	InternalState *fsm.FSM

	OperState    *fsm.FSM
	SerialNumber *openolt.SerialNumber

	Channel chan Message // this Channel is to track state changes and OMCI messages
	// contains filtered or unexported fields
}

Devices

func CreateONU

func CreateONU(olt OltDevice, pon PonPort, id uint32, sTag int, cTag int) Onu

func (Onu) NewSN

func (o Onu) NewSN(oltid int, intfid uint32, onuid uint32) *openolt.SerialNumber

func (Onu) Sn

func (o Onu) Sn() string

type OnuDiscIndicationMessage

type OnuDiscIndicationMessage struct {
	OperState OperState
	Onu       Onu
}

type OnuFlowUpdateMessage

type OnuFlowUpdateMessage struct {
	PonPortID uint32
	OnuID     uint32
	Flow      *openolt.Flow
}

type OnuIndicationMessage

type OnuIndicationMessage struct {
	OperState OperState
	PonPortID uint32
	OnuID     uint32
	OnuSN     *openolt.SerialNumber
}

type OperState

type OperState int
const (
	UP   OperState = iota
	DOWN           // The device has been discovered, but not yet activated
)

func (OperState) String

func (m OperState) String() string

type PacketMessage

type PacketMessage struct {
	PonPortID uint32
	OnuID     uint32
}

type PonIndicationMessage

type PonIndicationMessage struct {
	OperState OperState
	PonPortID uint32
}

type PonPort

type PonPort struct {
	// BBSIM Internals
	ID     uint32
	NumOnu int
	Onus   []Onu
	Olt    OltDevice

	// PON Attributes
	OperState *fsm.FSM
	Type      string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL