diff --git a/cmd/ipfs/kubo/daemon.go b/cmd/ipfs/kubo/daemon.go index 0fcd0e55623..ab034b20a14 100644 --- a/cmd/ipfs/kubo/daemon.go +++ b/cmd/ipfs/kubo/daemon.go @@ -424,7 +424,7 @@ func daemonFunc(req *cmds.Request, re cmds.ResponseEmitter, env cmds.Environment case routingOptionNoneKwd: ncfg.Routing = libp2p.NilRouterOption case routingOptionCustomKwd: - if cfg.Routing.AcceleratedDHTClient { + if cfg.Routing.AcceleratedDHTClient.WithDefault(config.DefaultAcceleratedDHTClient) { return fmt.Errorf("Routing.AcceleratedDHTClient option is set even tho Routing.Type is custom, using custom .AcceleratedDHTClient needs to be set on DHT routers individually") } ncfg.Routing = libp2p.ConstructDelegatedRouting( diff --git a/config/routing.go b/config/routing.go index 60faa605cce..f8941f84877 100644 --- a/config/routing.go +++ b/config/routing.go @@ -6,6 +6,10 @@ import ( "runtime" ) +var ( + DefaultAcceleratedDHTClient = false +) + // Routing defines configuration options for libp2p routing. type Routing struct { // Type sets default daemon routing mode. @@ -15,7 +19,7 @@ type Routing struct { // When "custom" is set, user-provided Routing.Routers is used. Type *OptionalString `json:",omitempty"` - AcceleratedDHTClient bool + AcceleratedDHTClient Flag `json:",omitempty"` Routers Routers diff --git a/core/node/groups.go b/core/node/groups.go index c0270bbe15f..3df945fd2cc 100644 --- a/core/node/groups.go +++ b/core/node/groups.go @@ -286,7 +286,7 @@ func Online(bcfg *BuildCfg, cfg *config.Config, userResourceOverrides rcmgr.Part cfg.Experimental.StrategicProviding, cfg.Reprovider.Strategy.WithDefault(config.DefaultReproviderStrategy), cfg.Reprovider.Interval.WithDefault(config.DefaultReproviderInterval), - cfg.Routing.AcceleratedDHTClient, + cfg.Routing.AcceleratedDHTClient.WithDefault(config.DefaultAcceleratedDHTClient), ), ) } diff --git a/core/node/libp2p/routing.go b/core/node/libp2p/routing.go index 98234f5ceda..697bf0f2e6a 100644 --- a/core/node/libp2p/routing.go +++ b/core/node/libp2p/routing.go @@ -90,7 +90,7 @@ func BaseRouting(cfg *config.Config) interface{} { } } - if dualDHT != nil && cfg.Routing.AcceleratedDHTClient { + if dualDHT != nil && cfg.Routing.AcceleratedDHTClient.WithDefault(config.DefaultAcceleratedDHTClient) { cfg, err := in.Repo.Config() if err != nil { return out, err diff --git a/docs/config.md b/docs/config.md index 0fa5000ac45..d9addc7134a 100644 --- a/docs/config.md +++ b/docs/config.md @@ -1610,7 +1610,7 @@ them Default: `false` -Type: `bool` (missing means `false`) +Type: `flag` ### `Routing.Routers`