From 9f954628e51a25cac82b38a6616014e519d5a489 Mon Sep 17 00:00:00 2001 From: Maxim Merzhanov Date: Tue, 19 Oct 2021 17:02:35 +0300 Subject: [PATCH] net/dns: ignore UnknownMethod error in SetLinkDefaultRoute for resolved manager Signed-off-by: Maxim Merzhanov --- net/dns/resolved.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/net/dns/resolved.go b/net/dns/resolved.go index 5a8fbc116..ace4908a6 100644 --- a/net/dns/resolved.go +++ b/net/dns/resolved.go @@ -176,7 +176,13 @@ func (m *resolvedManager) SetDNS(config OSConfig) error { } if call := m.resolved.CallWithContext(ctx, "org.freedesktop.resolve1.Manager.SetLinkDefaultRoute", 0, m.ifidx, len(config.MatchDomains) == 0); call.Err != nil { - return fmt.Errorf("setLinkDefaultRoute: %w", call.Err) + if dbusErr, ok := call.Err.(dbus.Error); ok && dbusErr.Name == dbus.ErrMsgUnknownMethod.Name { + // on some older systems like Kubuntu 18.04.6 with systemd 237 method SetLinkDefaultRoute is absent, + // but otherwise it's working good + m.logf("[v1] failed to set SetLinkDefaultRoute: %v", call.Err) + } else { + return fmt.Errorf("setLinkDefaultRoute: %w", call.Err) + } } // Some best-effort setting of things, but resolved should do the