sadis

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: May 6, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StartRestServer

func StartRestServer(olt *devices.OltDevice, wg *sync.WaitGroup)

StartRestServer starts REST server which returns a SADIS configuration for the currently simulated OLT

Types

type BandwidthProfileEntries

type BandwidthProfileEntries struct {
	Integration SadisIntegration `json:"integration"`
	Entries     []*SadisBWPEntry `json:"entries,omitempty"`
}

type SadisBWPEntry

type SadisBWPEntry struct {
	ID  string `json:"id"`
	AIR int    `json:"air"`
	CBS int    `json:"cbs"`
	CIR int    `json:"cir"`
	EBS int    `json:"ebs"`
	EIR int    `json:"eir"`
}

SADIS BandwithProfile Entry

type SadisConfig

type SadisConfig struct {
	Sadis            SadisEntries            `json:"sadis"`
	BandwidthProfile BandwidthProfileEntries `json:"bandwidthprofile"`
}

SadisConfig is the top-level SADIS configuration struct

func GetSadisConfig

func GetSadisConfig(olt *devices.OltDevice, version string) *SadisConfig

GetSadisConfig returns a full SADIS configuration struct ready to be marshalled into JSON

type SadisEntries

type SadisEntries struct {
	Integration SadisIntegration `json:"integration"`
	Entries     []interface{}    `json:"entries,omitempty"`
}

func GetSadisEntries

func GetSadisEntries(olt *devices.OltDevice, version string) (*SadisEntries, error)

type SadisIntegration

type SadisIntegration struct {
	URL   string `json:"url,omitempty"`
	Cache struct {
		Enabled bool   `json:"enabled"`
		MaxSize int    `json:"maxsize"`
		TTL     string `json:"ttl"`
	} `json:"cache"`
}

type SadisOltEntry

type SadisOltEntry struct {
	ID                 string `json:"id"`
	HardwareIdentifier string `json:"hardwareIdentifier"`
	IPAddress          string `json:"ipAddress"`
	NasID              string `json:"nasId"`
	UplinkPort         int    `json:"uplinkPort"`
}

func GetOltEntry

func GetOltEntry(olt *devices.OltDevice) (*SadisOltEntry, error)

type SadisOnuEntry

type SadisOnuEntry struct {
	ID                         string `json:"id"`
	CTag                       int    `json:"cTag"`
	STag                       int    `json:"sTag"`
	NasPortID                  string `json:"nasPortId"`
	CircuitID                  string `json:"circuitId"`
	RemoteID                   string `json:"remoteId"`
	TechnologyProfileID        int    `json:"technologyProfileId"`
	UpstreamBandwidthProfile   string `json:"upstreamBandwidthProfile"`
	DownstreamBandwidthProfile string `json:"downstreamBandwidthProfile"`
}

func GetOnuEntryV1 added in v0.0.18

func GetOnuEntryV1(olt *devices.OltDevice, onu *devices.Onu, uniId string) (*SadisOnuEntry, error)

type SadisOnuEntryV2 added in v0.0.18

type SadisOnuEntryV2 struct {
	ID         string        `json:"id"`
	NasPortID  string        `json:"nasPortId"`
	CircuitID  string        `json:"circuitId"`
	RemoteID   string        `json:"remoteId"`
	UniTagList []interface{} `json:"uniTagList"` // this can be SadisUniTagAtt, SadisUniTagDt
}

func GetOnuEntryV2 added in v0.0.18

func GetOnuEntryV2(olt *devices.OltDevice, onu *devices.Onu, uniId string) (*SadisOnuEntryV2, error)

type SadisUniTagAtt added in v0.2.0

type SadisUniTagAtt struct {
	PonCTag                    int    `json:"ponCTag, omitempty"`
	PonSTag                    int    `json:"ponSTag, omitempty"`
	TechnologyProfileID        int    `json:"technologyProfileId, omitempty"`
	UpstreamBandwidthProfile   string `json:"upstreamBandwidthProfile, omitempty"`
	DownstreamBandwidthProfile string `json:"downstreamBandwidthProfile, omitempty"`
	IsDhcpRequired             bool   `json:"isDhcpRequired, omitempty"`
	IsIgmpRequired             bool   `json:"isIgmpRequired, omitempty"`
}

type SadisUniTagDt added in v0.2.0

type SadisUniTagDt struct {
	UniTagMatch                int    `json:"uniTagMatch, omitempty"`
	PonCTag                    int    `json:"ponCTag, omitempty"`
	PonSTag                    int    `json:"ponSTag, omitempty"`
	TechnologyProfileID        int    `json:"technologyProfileId, omitempty"`
	UpstreamBandwidthProfile   string `json:"upstreamBandwidthProfile, omitempty"`
	DownstreamBandwidthProfile string `json:"downstreamBandwidthProfile, omitempty"`
}

Jump to

Keyboard shortcuts

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