Lower WWAN DNS Priority

The current DNS priority settings for WWAN were set far too low. Most
connections (including WiFi) do not set DNS priority (set to 0) and per
https://developer.gnome.org/NetworkManager/stable/nm-settings.html :

"A lower value is better (higher priority). Zero selects a globally
configured default value. If the latter is missing or zero too, it
defaults to 50 for VPNs and 100 for other connections."

By setting both the "low" and "high" settings to 15 and 20 respectively,
the WWAN DNS servers were always appearing above WiFi, even though WiFi
had routing priority. This caused latency and other problems when the
wwan connection was slow because the system would query those DNS
servers before WiFi ones. Beyond that, it would even cause WWAN to
override VPN DNS settings which isn't what we want.

This change puts the "low priority" setting above the default 100 that
connections get when they don't otherwise set a priority, and the "high
priority" slightly below 100. I did this instead of setting the values
to 0 because I noticed that NM doesn't seem to be aware it should
prioritize WiFi in that case so WWAN DNS servers were still sometimes
taking precedence.
This commit is contained in:
Kyle Rankin 2020-02-21 01:28:13 +00:00 committed by Georges Basile Stavracas Neto
parent 169f537e4b
commit 585fe8c94a

View file

@ -47,9 +47,20 @@
* of #CcWwanData changes when SIM is changed. * of #CcWwanData changes when SIM is changed.
*/ */
/* Priority for connections. larger the number, lower the priority */ /*
#define CC_WWAN_DNS_PRIORITY_LOW (20) * Priority for connections. The larger the number, the lower the priority
#define CC_WWAN_DNS_PRIORITY_HIGH (15) * https://developer.gnome.org/NetworkManager/stable/nm-settings.html:
*
* A lower value is better (higher priority). Zero selects a globally
* configured default value. If the latter is missing or zero too, it
* defaults to 50 for VPNs and 100 for other connections.
*
* Since WiFi and other network connections will likely get the default
* setting of 100, set WWAN DNS priorities higher than the default, with
* room to allow multiple modems to set priority above/below each other.
*/
#define CC_WWAN_DNS_PRIORITY_LOW (120)
#define CC_WWAN_DNS_PRIORITY_HIGH (115)
/* These are to be set as route metric */ /* These are to be set as route metric */
#define CC_WWAN_ROUTE_PRIORITY_LOW (1050) #define CC_WWAN_ROUTE_PRIORITY_LOW (1050)