@@ -63,6 +63,7 @@ func init() {
63
63
upCmd .PersistentFlags ().BoolVarP (& foregroundMode , "foreground-mode" , "F" , false , "start service in foreground" )
64
64
upCmd .PersistentFlags ().StringVar (& interfaceName , interfaceNameFlag , iface .WgInterfaceDefault , "WireGuard interface name" )
65
65
upCmd .PersistentFlags ().Uint16Var (& wireguardPort , wireguardPortFlag , iface .DefaultWgPort , "WireGuard interface listening port" )
66
+ upCmd .PersistentFlags ().Uint16Var (& mtu , mtuFlag , iface .DefaultMTU , "Set MTU (Maximum Transmission Unit) for the WireGuard interface" )
66
67
upCmd .PersistentFlags ().BoolVarP (& networkMonitor , networkMonitorFlag , "N" , networkMonitor ,
67
68
`Manage network monitoring. Defaults to true on Windows and macOS, false on Linux and FreeBSD. ` +
68
69
`E.g. --network-monitor=false to disable or --network-monitor=true to enable.` ,
@@ -357,6 +358,11 @@ func setupSetConfigReq(customDNSAddressConverted []byte, cmd *cobra.Command, pro
357
358
req .WireguardPort = & p
358
359
}
359
360
361
+ if cmd .Flag (mtuFlag ).Changed {
362
+ m := int64 (mtu )
363
+ req .Mtu = & m
364
+ }
365
+
360
366
if cmd .Flag (networkMonitorFlag ).Changed {
361
367
req .NetworkMonitor = & networkMonitor
362
368
}
@@ -436,6 +442,13 @@ func setupConfig(customDNSAddressConverted []byte, cmd *cobra.Command, configFil
436
442
ic .WireguardPort = & p
437
443
}
438
444
445
+ if cmd .Flag (mtuFlag ).Changed {
446
+ if err := iface .ValidateMTU (mtu ); err != nil {
447
+ return nil , err
448
+ }
449
+ ic .MTU = & mtu
450
+ }
451
+
439
452
if cmd .Flag (networkMonitorFlag ).Changed {
440
453
ic .NetworkMonitor = & networkMonitor
441
454
}
@@ -533,6 +546,14 @@ func setupLoginRequest(providedSetupKey string, customDNSAddressConverted []byte
533
546
loginRequest .WireguardPort = & wp
534
547
}
535
548
549
+ if cmd .Flag (mtuFlag ).Changed {
550
+ if err := iface .ValidateMTU (mtu ); err != nil {
551
+ return nil , err
552
+ }
553
+ m := int64 (mtu )
554
+ loginRequest .Mtu = & m
555
+ }
556
+
536
557
if cmd .Flag (networkMonitorFlag ).Changed {
537
558
loginRequest .NetworkMonitor = & networkMonitor
538
559
}
0 commit comments