diff options
author | ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> | 2016-03-11 16:10:46 +0900 |
---|---|---|
committer | ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> | 2016-03-17 10:44:44 +0900 |
commit | ee68181ce1be8af7faa4c9ee16a81e513e506499 (patch) | |
tree | 71f7a2ac76154e27110094314463d946daa42124 /server/server.go | |
parent | 304523e48aab7aa7bb0063f63ed61de84a6d0b42 (diff) |
server: minor refactoring of zebra related code
move things to more appropriate place
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'server/server.go')
-rw-r--r-- | server/server.go | 35 |
1 files changed, 3 insertions, 32 deletions
diff --git a/server/server.go b/server/server.go index fc60ef63..a03fd92e 100644 --- a/server/server.go +++ b/server/server.go @@ -30,7 +30,6 @@ import ( "net" "os" "strconv" - "strings" "sync" "time" ) @@ -235,14 +234,12 @@ func (server *BgpServer) Serve() { w, _ := newGrpcIncomingWatcher() server.watchers[WATCHER_GRPC_INCOMING] = w - if g.Zebra.Enabled == true { - if g.Zebra.Url == "" { - g.Zebra.Url = "unix:/var/run/quagga/zserv.api" - } - err := server.NewZclient(g.Zebra.Url, g.Zebra.RedistributeRouteTypeList) + if g.Zebra.Enabled { + cli, err := NewZclient(g.Zebra.Url, g.Zebra.RedistributeRouteTypeList) if err != nil { log.Error(err) } + server.zclient = cli } senderCh := make(chan *SenderMsg, 1<<16) @@ -3059,29 +3056,3 @@ func (server *BgpServer) mkMrtRibMsgs(tbl *table.Table, t uint32) ([]*bgp.MRTMes } return msgs, nil } - -func (server *BgpServer) NewZclient(url string, redistRouteTypes []config.InstallProtocolType) error { - l := strings.SplitN(url, ":", 2) - if len(l) != 2 { - return fmt.Errorf("unsupported url: %s", url) - } - cli, err := zebra.NewClient(l[0], l[1], zebra.ROUTE_BGP) - if err != nil { - return err - } - cli.SendHello() - cli.SendRouterIDAdd() - cli.SendInterfaceAdd() - for _, typ := range redistRouteTypes { - t, err := zebra.RouteTypeFromString(string(typ)) - if err != nil { - return err - } - cli.SendRedistribute(t) - } - if e := cli.SendCommand(zebra.REDISTRIBUTE_DEFAULT_ADD, nil); e != nil { - return e - } - server.zclient = cli - return nil -} |