mirror of
https://github.com/qdm12/gluetun.git
synced 2026-05-09 05:20:12 +02:00
hotfix(pmtud/ip): handle network is unreachable silently
This commit is contained in:
@@ -4,7 +4,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/netip"
|
"net/netip"
|
||||||
"syscall"
|
"strings"
|
||||||
|
|
||||||
"github.com/jsimonetti/rtnetlink"
|
"github.com/jsimonetti/rtnetlink"
|
||||||
"github.com/qdm12/gluetun/internal/pmtud/constants"
|
"github.com/qdm12/gluetun/internal/pmtud/constants"
|
||||||
@@ -54,8 +54,7 @@ func srcIP(dst netip.Addr) (netip.Addr, error) {
|
|||||||
}
|
}
|
||||||
messages, err := conn.Route.Get(requestMessage)
|
messages, err := conn.Route.Get(requestMessage)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
var sysErr syscall.Errno
|
if strings.Contains(err.Error(), "network is unreachable") {
|
||||||
if errors.As(err, &sysErr) && sysErr == syscall.ENETUNREACH {
|
|
||||||
err = ErrNetworkUnreachable
|
err = ErrNetworkUnreachable
|
||||||
}
|
}
|
||||||
return netip.Addr{}, fmt.Errorf("getting routes to %s: %w", dst, err)
|
return netip.Addr{}, fmt.Errorf("getting routes to %s: %w", dst, err)
|
||||||
|
|||||||
Reference in New Issue
Block a user