- nbiErr := nbiEngine.Initialize(xapp.Config.GetString("xmurl"), xapp.Config.GetString("nbiurl"), xapp.Config.GetString("rtfile"), xapp.Config.GetString("cfgfile"), xapp.Config.GetString("e2murl"), sdlEngine, rpeEngine, &m)
- if nbiErr != nil {
- xapp.Logger.Error("Failed to initialize nbi due to: " + nbiErr.Error())
- return
- }
-
- err := sbiEngine.Initialize(xapp.Config.GetString("sbiurl"))
- if err != nil {
- xapp.Logger.Info("Failed to open push socket due to: " + err.Error())
- return
- }
- defer nbiEngine.Terminate()
- defer sbiEngine.Terminate()
-
- for {
- sendRoutesToAll()
-
- rtmgr.Rtmgr_ready = true
- time.Sleep(INTERVAL * time.Second)
- xapp.Logger.Debug("Periodic loop timed out. Setting triggerSBI flag to distribute updated routes.")
- }
+ nbiErr := nbiEngine.Initialize(xapp.Config.GetString("xmurl"), xapp.Config.GetString("nbiurl"), xapp.Config.GetString("rtfile"), xapp.Config.GetString("cfgfile"), xapp.Config.GetString("e2murl"), sdlEngine, rpeEngine, &m)
+ if nbiErr != nil {
+ xapp.Logger.Error("Failed to initialize nbi due to: " + nbiErr.Error())
+ return
+ }
+
+ err := sbiEngine.Initialize(xapp.Config.GetString("sbiurl"))
+ if err != nil {
+ xapp.Logger.Info("Failed to open push socket due to: " + err.Error())
+ return
+ }
+ defer nbiEngine.Terminate()
+ defer sbiEngine.Terminate()
+
+ /* used for rtmgr restart case to connect to Endpoints */
+ go updateEp()
+ time.Sleep(5 * time.Second)
+ sendRoutesToAll()
+ /* Sometimes first message fails, retry after 5 sec */
+ time.Sleep(5 * time.Second)
+ sendRoutesToAll()
+
+ for {
+ xapp.Logger.Debug("Periodic Routes value = %s", xapp.Config.GetString("periodicroutes"))
+ if xapp.Config.GetString("periodicroutes") == "enable" {
+ go updateEp()
+ time.Sleep(5 * time.Second)
+ sendRoutesToAll()
+ }
+
+ rtmgr.Rtmgr_ready = true
+ time.Sleep(INTERVAL * time.Second)
+ xapp.Logger.Debug("Periodic loop timed out. Setting triggerSBI flag to distribute updated routes.")
+ }