diff options
Diffstat (limited to 'internal/pkg')
-rw-r--r-- | internal/pkg/config/bgp_configs.go | 15 | ||||
-rw-r--r-- | internal/pkg/config/util.go | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/internal/pkg/config/bgp_configs.go b/internal/pkg/config/bgp_configs.go index f5a8215b..8dee732d 100644 --- a/internal/pkg/config/bgp_configs.go +++ b/internal/pkg/config/bgp_configs.go @@ -2020,6 +2020,12 @@ type RouteServerState struct { // gobgp:route-server-client's original type is boolean. // Configure the neighbor as a route server client. RouteServerClient bool `mapstructure:"route-server-client" json:"route-server-client,omitempty"` + // original -> gobgp:secondary-route + // gobgp:secondary-route's original type is boolean. + // if an export policy rejects a selected route, try the next route in + // order until one that is accepted is found or all routes for the peer + // are rejected. + SecondaryRoute bool `mapstructure:"secondary-route" json:"secondary-route,omitempty"` } // struct for container gobgp:config. @@ -2030,6 +2036,12 @@ type RouteServerConfig struct { // gobgp:route-server-client's original type is boolean. // Configure the neighbor as a route server client. RouteServerClient bool `mapstructure:"route-server-client" json:"route-server-client,omitempty"` + // original -> gobgp:secondary-route + // gobgp:secondary-route's original type is boolean. + // if an export policy rejects a selected route, try the next route in + // order until one that is accepted is found or all routes for the peer + // are rejected. + SecondaryRoute bool `mapstructure:"secondary-route" json:"secondary-route,omitempty"` } func (lhs *RouteServerConfig) Equal(rhs *RouteServerConfig) bool { @@ -2039,6 +2051,9 @@ func (lhs *RouteServerConfig) Equal(rhs *RouteServerConfig) bool { if lhs.RouteServerClient != rhs.RouteServerClient { return false } + if lhs.SecondaryRoute != rhs.SecondaryRoute { + return false + } return true } diff --git a/internal/pkg/config/util.go b/internal/pkg/config/util.go index 2c2a78c8..78a0e713 100644 --- a/internal/pkg/config/util.go +++ b/internal/pkg/config/util.go @@ -522,6 +522,7 @@ func NewPeerFromConfigStruct(pconf *Neighbor) *api.Peer { }, RouteServer: &api.RouteServer{ RouteServerClient: pconf.RouteServer.Config.RouteServerClient, + SecondaryRoute: pconf.RouteServer.Config.SecondaryRoute, }, GracefulRestart: &api.GracefulRestart{ Enabled: pconf.GracefulRestart.Config.Enabled, @@ -587,6 +588,7 @@ func NewPeerGroupFromConfigStruct(pconf *PeerGroup) *api.PeerGroup { }, RouteServer: &api.RouteServer{ RouteServerClient: pconf.RouteServer.Config.RouteServerClient, + SecondaryRoute: pconf.RouteServer.Config.SecondaryRoute, }, GracefulRestart: &api.GracefulRestart{ Enabled: pconf.GracefulRestart.Config.Enabled, |