diff options
author | ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> | 2016-07-29 08:28:28 +0000 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2016-07-29 16:31:35 +0900 |
commit | f3ae68b9f28e0ddbe33be3ecf09c2015cfba6078 (patch) | |
tree | ca622d7033165c5c842d701caf815f8556e736b0 /config/default.go | |
parent | e97a59c5390fc05ba75673fb4ff7e061c1e73e4f (diff) |
config: curve out code specific to default global config setting
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'config/default.go')
-rw-r--r-- | config/default.go | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/config/default.go b/config/default.go index 6b47806c..e0564c0e 100644 --- a/config/default.go +++ b/config/default.go @@ -148,32 +148,44 @@ func setDefaultNeighborConfigValuesWithViper(v *viper.Viper, n *Neighbor, asn ui return nil } -func SetDefaultConfigValues(b *BgpConfigSet) error { - return setDefaultConfigValuesWithViper(nil, b) -} +func SetDefaultGlobalConfigValues(g *Global) error { + if len(g.AfiSafis) == 0 { + g.AfiSafis = []AfiSafi{} + for k, _ := range AfiSafiTypeToIntMap { + g.AfiSafis = append(g.AfiSafis, defaultAfiSafi(k, true)) + } + } -func setDefaultConfigValuesWithViper(v *viper.Viper, b *BgpConfigSet) error { - if v == nil { - v = viper.New() + if g.Config.Port == 0 { + g.Config.Port = bgp.BGP_PORT } - if b.Zebra.Config.Url == "" { - b.Zebra.Config.Url = "unix:/var/run/quagga/zserv.api" + if len(g.Config.LocalAddressList) == 0 { + g.Config.LocalAddressList = []string{"0.0.0.0", "::"} } - if len(b.Global.AfiSafis) == 0 { - b.Global.AfiSafis = []AfiSafi{} - for k, _ := range AfiSafiTypeToIntMap { - b.Global.AfiSafis = append(b.Global.AfiSafis, defaultAfiSafi(k, true)) - } + if g.MplsLabelRange.MinLabel == 0 { + g.MplsLabelRange.MinLabel = DEFAULT_MPLS_LABEL_MIN + } + + if g.MplsLabelRange.MaxLabel == 0 { + g.MplsLabelRange.MaxLabel = DEFAULT_MPLS_LABEL_MAX } + return nil + +} + +func SetDefaultConfigValues(b *BgpConfigSet) error { + return setDefaultConfigValuesWithViper(nil, b) +} - if b.Global.Config.Port == 0 { - b.Global.Config.Port = bgp.BGP_PORT +func setDefaultConfigValuesWithViper(v *viper.Viper, b *BgpConfigSet) error { + if v == nil { + v = viper.New() } - if len(b.Global.Config.LocalAddressList) == 0 { - b.Global.Config.LocalAddressList = []string{"0.0.0.0", "::"} + if err := SetDefaultGlobalConfigValues(&b.Global); err != nil { + return err } for idx, server := range b.BmpServers { @@ -183,12 +195,8 @@ func setDefaultConfigValuesWithViper(v *viper.Viper, b *BgpConfigSet) error { b.BmpServers[idx] = server } - if b.Global.MplsLabelRange.MinLabel == 0 { - b.Global.MplsLabelRange.MinLabel = DEFAULT_MPLS_LABEL_MIN - } - - if b.Global.MplsLabelRange.MaxLabel == 0 { - b.Global.MplsLabelRange.MaxLabel = DEFAULT_MPLS_LABEL_MAX + if b.Zebra.Config.Url == "" { + b.Zebra.Config.Url = "unix:/var/run/quagga/zserv.api" } list, err := extractArray(v.Get("neighbors")) |