diff --git a/Dockerfile b/Dockerfile index b043ea9b..5e2fa98a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -77,7 +77,6 @@ ENV VPN_SERVICE_PROVIDER=pia \ VPN_TYPE=openvpn \ # Common VPN options VPN_INTERFACE=tun0 \ - VPN_PMTUD=on \ # OpenVPN OPENVPN_ENDPOINT_IP= \ OPENVPN_ENDPOINT_PORT= \ diff --git a/internal/configuration/settings/vpn.go b/internal/configuration/settings/vpn.go index 2472e76b..aec51543 100644 --- a/internal/configuration/settings/vpn.go +++ b/internal/configuration/settings/vpn.go @@ -18,7 +18,6 @@ type VPN struct { Provider Provider `json:"provider"` OpenVPN OpenVPN `json:"openvpn"` Wireguard Wireguard `json:"wireguard"` - PMTUD *bool `json:"pmtud"` } // TODO v4 remove pointer for receiver (because of Surfshark). @@ -55,7 +54,6 @@ func (v *VPN) Copy() (copied VPN) { Provider: v.Provider.copy(), OpenVPN: v.OpenVPN.copy(), Wireguard: v.Wireguard.copy(), - PMTUD: gosettings.CopyPointer(v.PMTUD), } } @@ -64,7 +62,6 @@ func (v *VPN) OverrideWith(other VPN) { v.Provider.overrideWith(other.Provider) v.OpenVPN.overrideWith(other.OpenVPN) v.Wireguard.overrideWith(other.Wireguard) - v.PMTUD = gosettings.OverrideWithPointer(v.PMTUD, other.PMTUD) } func (v *VPN) setDefaults() { @@ -72,7 +69,6 @@ func (v *VPN) setDefaults() { v.Provider.setDefaults() v.OpenVPN.setDefaults(v.Provider.Name) v.Wireguard.setDefaults(v.Provider.Name) - v.PMTUD = gosettings.DefaultPointer(v.PMTUD, true) } func (v VPN) String() string { @@ -90,8 +86,6 @@ func (v VPN) toLinesNode() (node *gotree.Node) { node.AppendNode(v.Wireguard.toLinesNode()) } - node.Appendf("Path MTU discovery update: %s", gosettings.BoolToYesNo(v.PMTUD)) - return node } @@ -113,10 +107,5 @@ func (v *VPN) read(r *reader.Reader) (err error) { return fmt.Errorf("wireguard: %w", err) } - v.PMTUD, err = r.BoolPtr("VPN_PMTUD") - if err != nil { - return err - } - return nil } diff --git a/internal/vpn/run.go b/internal/vpn/run.go index 1788c79f..65b44fac 100644 --- a/internal/vpn/run.go +++ b/internal/vpn/run.go @@ -47,7 +47,6 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { continue } tunnelUpData := tunnelUpData{ - PMTUD: *settings.PMTUD, serverIP: connection.IP, vpnType: settings.Type, serverName: connection.ServerName, diff --git a/internal/vpn/tunnelup.go b/internal/vpn/tunnelup.go index ec0c4c22..e5c82ce3 100644 --- a/internal/vpn/tunnelup.go +++ b/internal/vpn/tunnelup.go @@ -18,10 +18,6 @@ type tunnelUpData struct { // vpnIntf is the name of the VPN network interface // which is used both for port forwarding and MTU discovery vpnIntf string - // Path MTU discovery fields: - // PMTUD indicates whether to perform Path MTU Discovery and - // adjust the VPN interface MTU accordingly. - PMTUD bool // serverIP is used for path MTU discovery serverIP netip.Addr // vpnType is used for path MTU discovery to find the protocol overhead. @@ -38,14 +34,12 @@ type tunnelUpData struct { func (l *Loop) onTunnelUp(ctx context.Context, data tunnelUpData) { l.client.CloseIdleConnections() - if data.PMTUD { - mtuLogger := l.logger.New(log.SetComponent("MTU discovery")) - mtuLogger.Info("finding maximum MTU, this can take up to 4 seconds") - err := updateToMaxMTU(ctx, data.vpnIntf, data.serverIP, data.vpnType, - l.netLinker, mtuLogger) - if err != nil { - l.logger.Error(err.Error()) - } + mtuLogger := l.logger.New(log.SetComponent("MTU discovery")) + mtuLogger.Info("finding maximum MTU, this can take up to 4 seconds") + err := updateToMaxMTU(ctx, data.vpnIntf, data.serverIP, data.vpnType, + l.netLinker, mtuLogger) + if err != nil { + l.logger.Error(err.Error()) } for _, vpnPort := range l.vpnInputPorts { @@ -64,7 +58,7 @@ func (l *Loop) onTunnelUp(ctx context.Context, data tunnelUpData) { } } - err := l.publicip.RunOnce(ctx) + err = l.publicip.RunOnce(ctx) if err != nil { l.logger.Error("getting public IP address information: " + err.Error()) }