From 2c27fbca2d88214bd305272308a370a962818f1e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 1 Aug 2014 18:09:07 +0200 Subject: resolved: flush cache each time we change to a different DNS server --- src/resolve/resolved-link.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/resolve/resolved-link.c') diff --git a/src/resolve/resolved-link.c b/src/resolve/resolved-link.c index 7418ea1ed9..2c02f09473 100644 --- a/src/resolve/resolved-link.c +++ b/src/resolve/resolved-link.c @@ -248,7 +248,7 @@ DnsServer* link_find_dns_server(Link *l, int family, const union in_addr_union * return NULL; } -static DnsServer* link_set_dns_server(Link *l, DnsServer *s) { +DnsServer* link_set_dns_server(Link *l, DnsServer *s) { assert(l); if (l->current_dns_server == s) @@ -259,10 +259,13 @@ static DnsServer* link_set_dns_server(Link *l, DnsServer *s) { in_addr_to_string(s->family, &s->address, &ip); log_info("Switching to DNS server %s for interface %s.", strna(ip), l->name); - } else - log_info("No DNS server set for interface %s.", l->name); + } l->current_dns_server = s; + + if (l->unicast_scope) + dns_cache_flush(&l->unicast_scope->cache); + return s; } -- cgit v1.2.3-54-g00ecf