First version,
OLT is activated and enabled.
ONU are in discovery state, OMCI state machine is still missing.
Change-Id: I6dddd4fd3460ee73b44226a546318acb2545d64d
diff --git a/internal/bbsim/bbsim.go b/internal/bbsim/bbsim.go
new file mode 100644
index 0000000..d0acc14
--- /dev/null
+++ b/internal/bbsim/bbsim.go
@@ -0,0 +1,56 @@
+package main
+
+import (
+ "flag"
+ "gerrit.opencord.org/bbsim/internal/bbsim/devices"
+ log "github.com/sirupsen/logrus"
+ "sync"
+)
+
+func getOpts() *CliOptions {
+
+ olt_id := flag.Int("olt_id", 0, "Number of OLT devices to be emulated (default is 1)")
+ nni := flag.Int("nni", 1, "Number of NNI ports per OLT device to be emulated (default is 1)")
+ pon := flag.Int("pon", 1, "Number of PON ports per OLT device to be emulated (default is 1)")
+ onu := flag.Int("onu", 1, "Number of ONU devices per PON port to be emulated (default is 1)")
+ flag.Parse()
+
+ o := new(CliOptions)
+
+ o.OltID = int(*olt_id)
+ o.NumNniPerOlt = int(*nni)
+ o.NumPonPerOlt = int(*pon)
+ o.NumOnuPerPon = int(*onu)
+
+ return o
+}
+
+func init() {
+ log.SetLevel(log.DebugLevel)
+ //log.SetReportCaller(true)
+}
+
+func main() {
+
+ options := getOpts()
+
+ log.WithFields(log.Fields{
+ "OltID": options.OltID,
+ "NumNniPerOlt": options.NumNniPerOlt,
+ "NumPonPerOlt": options.NumPonPerOlt,
+ "NumOnuPerPon": options.NumOnuPerPon,
+ }).Info("BroadBand Simulator is on")
+
+ wg := sync.WaitGroup{}
+ wg.Add(1)
+
+
+ go devices.CreateOLT(options.OltID, options.NumNniPerOlt, options.NumPonPerOlt, options.NumOnuPerPon)
+ log.Debugf("Created OLT with id: %d", options.OltID)
+
+ wg.Wait()
+
+ defer func() {
+ log.Info("BroadBand Simulator is off")
+ }()
+}
\ No newline at end of file