summaryrefslogtreecommitdiffhomepage
path: root/control/controlknobs/controlknobs.go
diff options
context:
space:
mode:
Diffstat (limited to 'control/controlknobs/controlknobs.go')
-rw-r--r--control/controlknobs/controlknobs.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/control/controlknobs/controlknobs.go b/control/controlknobs/controlknobs.go
index ace56264c..dc24faac2 100644
--- a/control/controlknobs/controlknobs.go
+++ b/control/controlknobs/controlknobs.go
@@ -39,3 +39,19 @@ type Knobs struct {
// running in magicsock, even when idle.
ForceBackgroundSTUN atomic.Bool
}
+
+// AsDebugJSON returns k as something that can be marshalled with json.Marshal
+// for debug.
+func (k *Knobs) AsDebugJSON() map[string]any {
+ if k == nil {
+ return nil
+ }
+ return map[string]any{
+ "DisableUPnP": k.DisableUPnP.Load(),
+ "DisableDRPO": k.DisableDRPO.Load(),
+ "KeepFullWGConfig": k.KeepFullWGConfig.Load(),
+ "RandomizeClientPort": k.RandomizeClientPort.Load(),
+ "OneCGNAT": k.OneCGNAT.Load(),
+ "ForceBackgroundSTUN": k.ForceBackgroundSTUN.Load(),
+ }
+}