X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=cmd%2Fvpp-proxy%2Fmain.go;h=639f6ccca06fe29de0715d17f61c7e1ffec2f4b8;hb=67cea0df30f7ef348e265c9326f7a9f15ba26240;hp=7aea8852a2b97be9ed11e7e324e1c33741ab5cca;hpb=454aff1907d87c79ffb11e151e25953241c7f1be;p=govpp.git diff --git a/cmd/vpp-proxy/main.go b/cmd/vpp-proxy/main.go index 7aea885..639f6cc 100644 --- a/cmd/vpp-proxy/main.go +++ b/cmd/vpp-proxy/main.go @@ -15,18 +15,18 @@ package main import ( - "context" "encoding/gob" "flag" - "io" "log" - "git.fd.io/govpp.git/adapter/socketclient" - "git.fd.io/govpp.git/adapter/statsclient" - "git.fd.io/govpp.git/api" - "git.fd.io/govpp.git/examples/binapi/interfaces" - "git.fd.io/govpp.git/examples/binapi/vpe" - "git.fd.io/govpp.git/proxy" + "go.fd.io/govpp/adapter/socketclient" + "go.fd.io/govpp/adapter/statsclient" + "go.fd.io/govpp/api" + interfaces "go.fd.io/govpp/binapi/interface" + "go.fd.io/govpp/binapi/vlib" + "go.fd.io/govpp/binapi/vpe" + _ "go.fd.io/govpp/core" + "go.fd.io/govpp/proxy" ) var ( @@ -36,8 +36,10 @@ var ( ) func init() { - for _, msg := range api.GetRegisteredMessages() { - gob.Register(msg) + for _, msgList := range api.GetRegisteredMessages() { + for _, msg := range msgList { + gob.Register(msg) + } } } @@ -84,35 +86,27 @@ func runClient() { if err != nil { log.Fatalln(err) } + log.Println("checking compatibility") + var msgs []api.Message + msgs = append(msgs, interfaces.AllMessages()...) + msgs = append(msgs, vpe.AllMessages()...) + if err := binapiChannel.CheckCompatiblity(msgs...); err != nil { + panic(err) + } - // - using binapi message directly - req := &vpe.CliInband{Cmd: "show version"} - reply := new(vpe.CliInbandReply) + req := &vlib.CliInband{Cmd: "show version"} + reply := new(vlib.CliInbandReply) if err := binapiChannel.SendRequest(req).ReceiveReply(reply); err != nil { log.Fatalln("binapi request failed:", err) } log.Printf("VPP version: %+v", reply.Reply) - - // - or using generated rpc service - svc := interfaces.NewServiceClient(binapiChannel) - stream, err := svc.DumpSwInterface(context.Background(), &interfaces.SwInterfaceDump{}) - if err != nil { - log.Fatalln("binapi request failed:", err) - } - for { - iface, err := stream.Recv() - if err == io.EOF { - break - } - if err != nil { - log.Fatalln(err) - } - log.Printf("- interface: %+v", iface) - } } func runServer() { - p := proxy.NewServer() + p, err := proxy.NewServer() + if err != nil { + log.Fatalln(err) + } statsAdapter := statsclient.NewStatsClient(*statsSocket) binapiAdapter := socketclient.NewVppClient(*binapiSocket) @@ -127,5 +121,7 @@ func runServer() { } defer p.DisconnectBinapi() - p.ListenAndServe(*proxyAddr) + if err := p.ListenAndServe(*proxyAddr); err != nil { + log.Fatalln(err) + } }