From d01c1586b9b1a25965448f9e15a05d94f2b22a5f Mon Sep 17 00:00:00 2001 From: ISHIDA Wataru Date: Sun, 6 Dec 2015 10:20:09 +0900 Subject: config: use viper and support multiple configuration formats // toml by default $ gobgpd -f gobgpd.toml // use -t to change configuration type $ gobgpd -t yaml -f gobgpd.yaml Signed-off-by: ISHIDA Wataru --- table/destination.go | 4 ++-- table/path.go | 2 +- table/policy.go | 6 +++++- table/policy_test.go | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) (limited to 'table') diff --git a/table/destination.go b/table/destination.go index ca3a39f0..2577e7cb 100644 --- a/table/destination.go +++ b/table/destination.go @@ -103,8 +103,8 @@ func NewPeerInfo(g *config.Global, p *config.Neighbor) *PeerInfo { return &PeerInfo{ AS: p.Config.PeerAs, LocalAS: g.Config.As, - LocalID: g.Config.RouterId, - Address: p.Config.NeighborAddress, + LocalID: net.ParseIP(g.Config.RouterId).To4(), + Address: net.ParseIP(p.Config.NeighborAddress), RouteReflectorClient: p.RouteReflector.Config.RouteReflectorClient, RouteReflectorClusterID: id, } diff --git a/table/path.go b/table/path.go index bfc967d2..05144812 100644 --- a/table/path.go +++ b/table/path.go @@ -90,7 +90,7 @@ func (path *Path) UpdatePathAttrs(global *config.Global, peer *config.Neighbor) return } - localAddress := peer.Transport.Config.LocalAddress + localAddress := net.ParseIP(peer.Transport.Config.LocalAddress) if peer.Config.PeerType == config.PEER_TYPE_EXTERNAL { // NEXTHOP handling path.SetNexthop(localAddress) diff --git a/table/policy.go b/table/policy.go index 52d6900c..7148b764 100644 --- a/table/policy.go +++ b/table/policy.go @@ -515,7 +515,11 @@ func NewNeighborSet(c config.NeighborSet) (*NeighborSet, error) { } list := make([]net.IP, 0, len(c.NeighborInfoList)) for _, x := range c.NeighborInfoList { - list = append(list, x.Address) + addr := net.ParseIP(x.Address) + if addr == nil { + return nil, fmt.Errorf("invalid address: %s", x.Address) + } + list = append(list, addr) } return &NeighborSet{ name: name, diff --git a/table/policy_test.go b/table/policy_test.go index c29b15c1..1ab6acce 100644 --- a/table/policy_test.go +++ b/table/policy_test.go @@ -2839,7 +2839,7 @@ func createNeighborSet(name string, addr string) config.NeighborSet { NeighborSetName: name, NeighborInfoList: []config.NeighborInfo{ config.NeighborInfo{ - Address: net.ParseIP(addr), + Address: addr, }}, } return ns -- cgit v1.2.3