diff --git a/pkg/config/config.go b/pkg/config/config.go index 46cb224..9983e28 100755 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -20,3 +20,7 @@ func GetNetwork(name string) *Network { } return nil } + +func Reload() { + Manager.Switch.Reload() +} diff --git a/pkg/config/network.go b/pkg/config/network.go index 89cb361..bba7816 100755 --- a/pkg/config/network.go +++ b/pkg/config/network.go @@ -136,3 +136,13 @@ func (n *Network) SaveLink() { libol.Error("Network.SaveLink %s %s", n.Name, err) } } + +func (n *Network) Reload() { + switch n.Provider { + case "esp": + spec := n.Specifies + if obj, ok := spec.(*ESPSpecifies); ok { + obj.Correct() + } + } +} diff --git a/pkg/config/switch.go b/pkg/config/switch.go index 2735d6a..79c670b 100755 --- a/pkg/config/switch.go +++ b/pkg/config/switch.go @@ -280,3 +280,9 @@ func (s *Switch) SaveNets() { obj.Save() } } + +func (s *Switch) Reload() { + for _, obj := range s.Network { + obj.Reload() + } +} diff --git a/pkg/switch/switch.go b/pkg/switch/switch.go index 2965e41..2055444 100755 --- a/pkg/switch/switch.go +++ b/pkg/switch/switch.go @@ -758,6 +758,7 @@ func (v *Switch) Firewall() *network.FireWall { } func (v *Switch) Reload() { + co.Reload() cache.Reload() for _, w := range v.worker { w.Reload(v)