- m.Lock()
- data, err := sdlEngine.ReadAll(xapp.Config.GetString("rtfile"))
- m.Unlock()
- if err != nil || data == nil {
- return errors.New("Cannot get data from sdl interface due to: " + err.Error())
- }
- sbiEngine.UpdateEndpoints(data)
- policies := rpeEngine.GeneratePolicies(rtmgr.Eps, data)
- err = sbiEngine.DistributeAll(policies)
- if err != nil {
- return errors.New("Routing table cannot be published due to: " + err.Error())
- }
+ m.Lock()
+ data, err := sdlEngine.ReadAll(xapp.Config.GetString("rtfile"))
+ //fmt.Printf("data = %v,%v,%v",data,sdlEngine,sbiEngine)
+ m.Unlock()
+ if data == nil {
+ if err != nil {
+ return errors.New("Cannot get data from sdl interface due to: " + err.Error())
+ } else {
+ xapp.Logger.Debug("Cannot get data from sdl interface, data is null")
+ return errors.New("Cannot get data from sdl interface")
+ }
+ }
+
+ /* if sbiEngine == nil {
+ fmt.Printf("SBI is nil")
+ }*/
+ sbiEngine.UpdateEndpoints(data)
+ policies := rpeEngine.GeneratePolicies(rtmgr.Eps, data)
+ err = sbiEngine.DistributeAll(policies)
+ if err != nil {
+ return errors.New("Routing table cannot be published due to: " + err.Error())
+ }