From 945bffddc595755fefe8f3e9c3f1e4c1d42b4ed5 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Thu, 9 Jun 2022 16:51:31 +0900 Subject: [PATCH 1/2] ppp-manager: ip6: fix dns not being used ipv6 DNS received on ppp interface were being ignored because their priority was not set. Fix this by using default priority in impl_ppp_manager_set_ip6_config(), as was done for ip4_config in b2e559fab2fa ("core: initialize l3cd dns-priority for ppp and wwan") Fixes: 58287cbcc0c8 ('core: rework IP configuration in NetworkManager using layer 3 configuration') https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1022 (cherry picked from commit 6991333bc0c40ff08070f43dfb398ed69c8dd2f6) (cherry picked from commit d04eba0c40ed86bb2c8668e0c8fb119b9ab4106a) --- src/core/ppp/nm-ppp-manager.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/ppp/nm-ppp-manager.c b/src/core/ppp/nm-ppp-manager.c index 5761d59d39..6fbe3b9a57 100644 --- a/src/core/ppp/nm-ppp-manager.c +++ b/src/core/ppp/nm-ppp-manager.c @@ -659,6 +659,8 @@ impl_ppp_manager_set_ip6_config(NMDBusObject *obj, priv->ifindex, NM_IP_CONFIG_SOURCE_PPP); + nm_l3_config_data_set_dns_priority(l3cd, AF_INET6, 0); + address = (NMPlatformIP6Address){ .plen = 64, .addr_source = NM_IP_CONFIG_SOURCE_PPP, From 168496db340b41a73195bb1adbf90367fd1cc492 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Thu, 9 Jun 2022 16:54:17 +0900 Subject: [PATCH 2/2] ppp-manager: ip6: set interface mtu based on ppp config impl_ppp_manager_set_ip4_config always has been setting interface mtu based on ppp configuration: do the same for ip6 in case it matters. (cherry picked from commit 4d7b494eb3b39f9ff6d20a862a4487200d3954de) (cherry picked from commit 423e5e50116516cdf88223f389ef6c0d66d4e437) --- src/core/ppp/nm-ppp-manager.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/ppp/nm-ppp-manager.c b/src/core/ppp/nm-ppp-manager.c index 6fbe3b9a57..ea00844e1e 100644 --- a/src/core/ppp/nm-ppp-manager.c +++ b/src/core/ppp/nm-ppp-manager.c @@ -642,6 +642,7 @@ impl_ppp_manager_set_ip6_config(NMDBusObject *obj, nm_auto_unref_l3cd_init NML3ConfigData *l3cd = NULL; NMPlatformIP6Address address; struct in6_addr a; + guint32 mtu; NMUtilsIPv6IfaceId iid = NM_UTILS_IPV6_IFACE_ID_INIT; gboolean has_peer = FALSE; gs_unref_variant GVariant *config_dict = NULL; @@ -652,13 +653,14 @@ impl_ppp_manager_set_ip6_config(NMDBusObject *obj, nm_clear_g_source(&priv->ppp_timeout_handler); - if (!set_ip_config_common(self, config_dict, NULL)) + if (!set_ip_config_common(self, config_dict, &mtu)) goto out; l3cd = nm_l3_config_data_new(nm_platform_get_multi_idx(NM_PLATFORM_GET), priv->ifindex, NM_IP_CONFIG_SOURCE_PPP); + nm_l3_config_data_set_mtu(l3cd, mtu); nm_l3_config_data_set_dns_priority(l3cd, AF_INET6, 0); address = (NMPlatformIP6Address){