Documentation ¶
Index ¶
- Constants
- Variables
- func GetIPAddr(ifname string) (string, error)
- func InitializePublisher(NewAsyncProducer func([]string, *sarama.Config) (sarama.AsyncProducer, error), ...) error
- func KafkaPublisher(eventChannel chan Event)
- func LoadConfig()
- func OnuSnToString(sn *openolt.SerialNumber) string
- func SetLogLevel(logger *log.Logger, level string, caller bool)
- type BBRCliOptions
- type BBRConfig
- type BBSimConfig
- type Event
- type GlobalConfig
- type OltConfig
- type ServiceYaml
- type TagAllocation
- type YamlServiceConfig
Constants ¶
View Source
const OltNniLos = "OLT_NNI_LOS"
View Source
const OltPonLos = "OLT_PON_LOS"
Variables ¶
View Source
var OLTAlarms = map[string]bbsim.AlarmType_Types{ OltNniLos: bbsim.AlarmType_LOS, OltPonLos: bbsim.AlarmType_LOS, }
View Source
var ONUAlarms = make(map[string]bbsim.AlarmType_Types)
Functions ¶
func GetIPAddr ¶ added in v0.0.9
GetIPAddr returns the IPv4 address of an interface. 0.0.0.0 is returned if the IP cannot be determined.
func InitializePublisher ¶ added in v0.0.18
func InitializePublisher(NewAsyncProducer func([]string, *sarama.Config) (sarama.AsyncProducer, error), oltID int) error
InitializePublisher initalizes kafka publisher
func KafkaPublisher ¶ added in v0.0.18
func KafkaPublisher(eventChannel chan Event)
KafkaPublisher receives messages on eventChannel and publish them to kafka
func LoadConfig ¶ added in v1.0.0
func LoadConfig()
Load the BBSim configuration. This is a combination of CLI parameters and YAML files We proceed in this order: - Read CLI parameters - Using those we read the yaml files (config and services) - we merge the configuration (CLI has priority over yaml files)
func OnuSnToString ¶
func OnuSnToString(sn *openolt.SerialNumber) string
Types ¶
type BBRCliOptions ¶
type BBRCliOptions struct { *GlobalConfig BBSimIp string BBSimPort string BBSimApiPort string LogFile string }
type BBSimConfig ¶ added in v0.0.8
type BBSimConfig struct { ConfigFile string ServiceConfigFile string DhcpRetry bool `yaml:"dhcp_retry"` AuthRetry bool `yaml:"auth_retry"` LogLevel string `yaml:"log_level"` LogCaller bool `yaml:"log_caller"` Delay int `yaml:"delay"` CpuProfile *string `yaml:"cpu_profile"` OpenOltAddress string `yaml:"openolt_address"` ApiAddress string `yaml:"api_address"` RestApiAddress string `yaml:"rest_api_address"` LegacyApiAddress string `yaml:"legacy_api_address"` LegacyRestApiAddress string `yaml:"legacy_rest_api_address"` SadisRestAddress string `yaml:"sadis_rest_address"` SadisServer bool `yaml:"sadis_server"` KafkaAddress string `yaml:"kafka_address"` Events bool `yaml:"enable_events"` ControlledActivation string `yaml:"controlled_activation"` EnablePerf bool `yaml:"enable_perf"` KafkaEventTopic string `yaml:"kafka_event_topic"` DmiServerAddress string `yaml:"dmi_server_address"` }
type Event ¶ added in v0.0.18
type Event struct { EventType string OnuSerial string OltID int IntfID int32 OnuID int32 EpochTime int64 Timestamp string }
Event defines structure for bbsim events
type GlobalConfig ¶ added in v1.0.0
type GlobalConfig struct { BBSim BBSimConfig Olt OltConfig BBR BBRConfig }
var ( Config *GlobalConfig Services []ServiceYaml )
type OltConfig ¶ added in v0.0.8
type OltConfig struct { Model string `yaml:"model"` Vendor string `yaml:"vendor"` HardwareVersion string `yaml:"hardware_version"` FirmwareVersion string `yaml:"firmware_version"` DeviceId string `yaml:"device_id"` DeviceSerialNumber string `yaml:"device_serial_number"` PonPorts uint32 `yaml:"pon_ports"` NniPorts uint32 `yaml:"nni_ports"` OnusPonPort uint32 `yaml:"onus_per_port"` Technology string `yaml:"technology"` ID int `yaml:"id"` OltRebootDelay int `yaml:"reboot_delay"` PortStatsInterval int `yaml:"port_stats_interval"` }
type ServiceYaml ¶ added in v1.0.0
type ServiceYaml struct { Name string CTag int `yaml:"c_tag"` STag int `yaml:"s_tag"` NeedsEapol bool `yaml:"needs_eapol"` NeedsDchp bool `yaml:"needs_dhcp"` NeedsIgmp bool `yaml:"needs_igmp"` CTagAllocation string `yaml:"c_tag_allocation"` STagAllocation string `yaml:"s_tag_allocation"` TechnologyProfileID int `yaml:"tp_id"` UniTagMatch int `yaml:"uni_tag_match"` ConfigureMacAddress bool `yaml:"configure_mac_address"` UsPonCTagPriority uint8 `yaml:"us_pon_c_tag_priority"` UsPonSTagPriority uint8 `yaml:"us_pon_s_tag_priority"` DsPonCTagPriority uint8 `yaml:"ds_pon_c_tag_priority"` DsPonSTagPriority uint8 `yaml:"ds_pon_s_tag_priority"` }
type TagAllocation ¶ added in v0.2.0
type TagAllocation int
const ( TagAllocationUnique )
func (TagAllocation) String ¶ added in v0.2.0
func (t TagAllocation) String() string
type YamlServiceConfig ¶ added in v1.0.0
type YamlServiceConfig struct { Workflow string Services []ServiceYaml `yaml:"services,flow"` }
func (*YamlServiceConfig) String ¶ added in v1.0.0
func (cfg *YamlServiceConfig) String() string
Click to show internal directories.
Click to hide internal directories.