@@ -229,6 +229,10 @@ func ParseConfigYAML(ctx context.Context, path string, data []byte) (Config, err
229229 }
230230 cfg .Routing ().VirtualSubnet = sn
231231 }
232+ if r := cfg .Routing (); r .RecursionBlockDuration > 0 || r .RecursionBlockTreads > 0 {
233+ clog .Warnf (ctx , "routing.recursionBlockDuration and routing.recursionBlockTreads are deprecated and no longer used; " +
234+ "use the route-controller DaemonSet instead (see docs/reference/route-controller.md)" )
235+ }
232236 return cfg , nil
233237}
234238
@@ -991,31 +995,30 @@ func (d *Helm) UnmarshalJSONFrom(in *jsontext.Decoder) error {
991995}
992996
993997type Routing struct {
994- Subnets []netip.Prefix `json:"subnets,omitempty"`
995- AlsoProxy []netip.Prefix `json:"alsoProxySubnets,omitempty"`
996- NeverProxy []netip.Prefix `json:"neverProxySubnets,omitempty"`
997- AllowConflicting []netip.Prefix `json:"allowConflictingSubnets,omitempty"`
998- RecursionBlockDuration time.Duration `json:"recursionBlockDuration,omitempty,format:units"`
999- RecursionBlockTreads int `json:"recursionBlockTreads,omitempty"`
1000- VirtualSubnet netip.Prefix `json:"virtualSubnet"`
1001- AutoResolveConflicts bool `json:"autoResolveConflicts"`
1002- UseTAP bool `json:"useTAP"`
998+ Subnets []netip.Prefix `json:"subnets,omitempty"`
999+ AlsoProxy []netip.Prefix `json:"alsoProxySubnets,omitempty"`
1000+ NeverProxy []netip.Prefix `json:"neverProxySubnets,omitempty"`
1001+ AllowConflicting []netip.Prefix `json:"allowConflictingSubnets,omitempty"`
1002+ VirtualSubnet netip.Prefix `json:"virtualSubnet"`
1003+ AutoResolveConflicts bool `json:"autoResolveConflicts"`
1004+ UseTAP bool `json:"useTAP"`
10031005
10041006 // For backward compatibility.
10051007 OldAlsoProxy []netip.Prefix `json:"alsoProxy,omitempty"`
10061008 OldNeverProxy []netip.Prefix `json:"neverProxy,omitempty"`
10071009 OldAllowConflicting []netip.Prefix `json:"allowConflicting,omitempty"`
1010+
1011+ // Deprecated: no longer used. Use the route-controller DaemonSet instead.
1012+ RecursionBlockDuration time.Duration `json:"recursionBlockDuration,omitempty,format:units"`
1013+ // Deprecated: no longer used. Use the route-controller DaemonSet instead.
1014+ RecursionBlockTreads int `json:"recursionBlockTreads,omitempty"`
10081015}
10091016
1010- const (
1011- defaultAutoResolveConflicts = true
1012- defaultRecursionBlockThreads = 5
1013- )
1017+ const defaultAutoResolveConflicts = true
10141018
10151019var defaultRouting = Routing { //nolint:gochecknoglobals // constant
10161020 VirtualSubnet : defaultVirtualSubnet ,
10171021 AutoResolveConflicts : defaultAutoResolveConflicts ,
1018- RecursionBlockTreads : defaultRecursionBlockThreads ,
10191022}
10201023
10211024func (r * Routing ) defaults () DefaultsAware {
@@ -1041,12 +1044,6 @@ func (r *Routing) merge(o *Routing) {
10411044 if len (o .Subnets ) > 0 {
10421045 r .Subnets = o .Subnets
10431046 }
1044- if o .RecursionBlockDuration > 0 {
1045- r .RecursionBlockDuration = o .RecursionBlockDuration
1046- }
1047- if o .RecursionBlockTreads != defaultRecursionBlockThreads {
1048- r .RecursionBlockTreads = o .RecursionBlockTreads
1049- }
10501047 if o .VirtualSubnet != defaultVirtualSubnet {
10511048 r .VirtualSubnet = o .VirtualSubnet
10521049 }
@@ -1230,15 +1227,13 @@ func LoadConfig(c context.Context) (cfg Config, err error) {
12301227
12311228// RoutingSnake is the same as Routing but with snake_case json/yaml names.
12321229type RoutingSnake struct {
1233- Subnets []netip.Prefix `json:"subnets"`
1234- AlsoProxy []netip.Prefix `json:"also_proxy_subnets"`
1235- NeverProxy []netip.Prefix `json:"never_proxy_subnets"`
1236- AllowConflicting []netip.Prefix `json:"allow_conflicting_subnets"`
1237- RecursionBlockDuration time.Duration `json:"recursion_block_duration,format:units"`
1238- RecursionBlockTreads int `json:"recursion_block_treads"`
1239- VirtualSubnet netip.Prefix `json:"virtual_subnet"`
1240- AutoResolveConflicts bool `json:"auto_resolve_conflicts"`
1241- UseTAP bool `json:"use_tap"`
1230+ Subnets []netip.Prefix `json:"subnets"`
1231+ AlsoProxy []netip.Prefix `json:"also_proxy_subnets"`
1232+ NeverProxy []netip.Prefix `json:"never_proxy_subnets"`
1233+ AllowConflicting []netip.Prefix `json:"allow_conflicting_subnets"`
1234+ VirtualSubnet netip.Prefix `json:"virtual_subnet"`
1235+ AutoResolveConflicts bool `json:"auto_resolve_conflicts"`
1236+ UseTAP bool `json:"use_tap"`
12421237}
12431238
12441239// DNSMapping contains a hostname and its associated alias. When requesting the name, the intended behavior is
@@ -1371,15 +1366,13 @@ func MappingsFromRPC(mappings []*daemon.DNSMapping) DNSMappings {
13711366
13721367func (r * Routing ) ToSnake () * RoutingSnake {
13731368 return & RoutingSnake {
1374- Subnets : r .Subnets ,
1375- AlsoProxy : r .AlsoProxy ,
1376- NeverProxy : r .NeverProxy ,
1377- AllowConflicting : r .AllowConflicting ,
1378- AutoResolveConflicts : r .AutoResolveConflicts ,
1379- RecursionBlockDuration : r .RecursionBlockDuration ,
1380- RecursionBlockTreads : r .RecursionBlockTreads ,
1381- VirtualSubnet : r .VirtualSubnet ,
1382- UseTAP : r .UseTAP ,
1369+ Subnets : r .Subnets ,
1370+ AlsoProxy : r .AlsoProxy ,
1371+ NeverProxy : r .NeverProxy ,
1372+ AllowConflicting : r .AllowConflicting ,
1373+ AutoResolveConflicts : r .AutoResolveConflicts ,
1374+ VirtualSubnet : r .VirtualSubnet ,
1375+ UseTAP : r .UseTAP ,
13831376 }
13841377}
13851378
0 commit comments