diff options
author | Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> | 2018-05-29 15:41:25 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2018-06-13 13:10:24 +0900 |
commit | 4c63ed5d87f28ba2a829cec8cb65c01388a703ed (patch) | |
tree | f672f653d93129fccd2147974f55a72fb7f63757 /api | |
parent | f6d62322eb0ba249d67f4b32ad65c7cb5f209544 (diff) |
config: Change "RedistributeRouteTypeList" to []string
RedistributeRouteTypeList is []InstallProtocolType,
but InstallProtocolType only defines limited number of protocols,
And currently, EnableZebra() in gRPC API validates its request
with the protocols defined by InstallProtocolType,
so the protocols such as "babel" or "lldp" could not be configured
to Zebra, via gRPC API.
This patch fixes RedistributeRouteTypeList to be []string,
and fixes EnableZebra() to validate with the protocols defined
in zapi.go.
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
Diffstat (limited to 'api')
-rw-r--r-- | api/grpc_server.go | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/api/grpc_server.go b/api/grpc_server.go index 0f5167ae..32fc4567 100644 --- a/api/grpc_server.go +++ b/api/grpc_server.go @@ -37,6 +37,7 @@ import ( "github.com/osrg/gobgp/packet/bgp" "github.com/osrg/gobgp/server" "github.com/osrg/gobgp/table" + "github.com/osrg/gobgp/zebra" ) type Server struct { @@ -970,17 +971,14 @@ func (s *Server) GetRoa(ctx context.Context, arg *GetRoaRequest) (*GetRoaRespons } func (s *Server) EnableZebra(ctx context.Context, arg *EnableZebraRequest) (*EnableZebraResponse, error) { - l := make([]config.InstallProtocolType, 0, len(arg.RouteTypes)) for _, p := range arg.RouteTypes { - if err := config.InstallProtocolType(p).Validate(); err != nil { + if _, err := zebra.RouteTypeFromString(p); err != nil { return &EnableZebraResponse{}, err - } else { - l = append(l, config.InstallProtocolType(p)) } } return &EnableZebraResponse{}, s.bgpServer.StartZebraClient(&config.ZebraConfig{ Url: arg.Url, - RedistributeRouteTypeList: l, + RedistributeRouteTypeList: arg.RouteTypes, Version: uint8(arg.Version), NexthopTriggerEnable: arg.NexthopTriggerEnable, NexthopTriggerDelay: uint8(arg.NexthopTriggerDelay), |