summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--api/grpc_server.go8
-rw-r--r--config/bgp_configs.go4
-rw-r--r--tools/pyang_plugins/gobgp.yang4
3 files changed, 6 insertions, 10 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),
diff --git a/config/bgp_configs.go b/config/bgp_configs.go
index 062ef8f7..8268769e 100644
--- a/config/bgp_configs.go
+++ b/config/bgp_configs.go
@@ -1114,7 +1114,7 @@ type ZebraState struct {
// Configure url for zebra.
Url string `mapstructure:"url" json:"url,omitempty"`
// original -> gobgp:redistribute-route-type
- RedistributeRouteTypeList []InstallProtocolType `mapstructure:"redistribute-route-type-list" json:"redistribute-route-type-list,omitempty"`
+ RedistributeRouteTypeList []string `mapstructure:"redistribute-route-type-list" json:"redistribute-route-type-list,omitempty"`
// original -> gobgp:version
// Configure version of zebra protocol. Default is 2. Supported up to 3.
Version uint8 `mapstructure:"version" json:"version,omitempty"`
@@ -1135,7 +1135,7 @@ type ZebraConfig struct {
// Configure url for zebra.
Url string `mapstructure:"url" json:"url,omitempty"`
// original -> gobgp:redistribute-route-type
- RedistributeRouteTypeList []InstallProtocolType `mapstructure:"redistribute-route-type-list" json:"redistribute-route-type-list,omitempty"`
+ RedistributeRouteTypeList []string `mapstructure:"redistribute-route-type-list" json:"redistribute-route-type-list,omitempty"`
// original -> gobgp:version
// Configure version of zebra protocol. Default is 2. Supported up to 3.
Version uint8 `mapstructure:"version" json:"version,omitempty"`
diff --git a/tools/pyang_plugins/gobgp.yang b/tools/pyang_plugins/gobgp.yang
index 053ef0a0..639edd10 100644
--- a/tools/pyang_plugins/gobgp.yang
+++ b/tools/pyang_plugins/gobgp.yang
@@ -1191,9 +1191,7 @@ module gobgp {
"Configure url for zebra.";
}
leaf-list redistribute-route-type {
- type identityref {
- base ptypes:install-protocol-type;
- }
+ type string;
}
leaf version {
type uint8;