diff options
author | Hans Dedecker <dedeckeh@gmail.com> | 2016-09-13 14:33:39 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2016-09-14 13:01:29 +0200 |
commit | 7f6be657e2dabc185417520de4d0d0de2580c27d (patch) | |
tree | 69952ac03877a4f0a2ac7ae90481b725a6a0cb2f /ubus.c | |
parent | 83d3a901d3178a8840092b6e4f7f829b89da4ba0 (diff) |
interface-ip: DNS name server sorting support in resolv.conf.auto
Interface name servers when being written to resolv.conf.auto are sorted
based on the following parameters:
-Primary sorting key is interface dns_metric; name servers having lowest
interface dns_metric are listed first
-Secondary sorting key is interface metric; in case of equal interface
dns_metric name servers having lowest interface metric are listed first
-Finally alphabetical order of the interface names in case of equal
interface dns_metric and metric
In case the resolver queries the multiple servers in the order
listed; sorting is usefull in the following scenarios :
-Name resolving over a main and backup interface
-Assign priority to IPv6 name servers over IPv4 or vice versa
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Diffstat (limited to 'ubus.c')
-rw-r--r-- | ubus.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -687,6 +687,7 @@ netifd_dump_status(struct interface *iface) if (iface->ip6table) blobmsg_add_u32(&b, "ip6table", iface->ip6table); blobmsg_add_u32(&b, "metric", iface->metric); + blobmsg_add_u32(&b, "dns_metric", iface->dns_metric); blobmsg_add_u8(&b, "delegation", !iface->proto_ip.no_delegation); a = blobmsg_open_array(&b, "ipv4-address"); interface_ip_dump_address_list(&iface->config_ip, false, true); |