diff options
author | Ed Swierk <eswierk@aristanetworks.com> | 2009-08-20 19:00:31 -0700 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-08-27 20:46:58 -0500 |
commit | df7a86ed735eafefbd046c8cad7134652fe3f600 (patch) | |
tree | 585563918d17462f707cebdae337d5fcde45d927 /slirp/libslirp.h | |
parent | ce0bd027df9c62766a5417521d0f08f27359d43f (diff) | |
download | qemu-df7a86ed735eafefbd046c8cad7134652fe3f600.zip qemu-df7a86ed735eafefbd046c8cad7134652fe3f600.tar.gz qemu-df7a86ed735eafefbd046c8cad7134652fe3f600.tar.bz2 |
slirp: Read host DNS config on demand
Currently the qemu user-mode networking stack reads the host DNS
configuration (/etc/resolv.conf or the Windows equivalent) only once
when qemu starts. This causes name lookups in the guest to fail if the
host is moved to a different network from which the original DNS servers
are unreachable, a common occurrence when the host is a laptop.
This patch changes the slirp code to read the host DNS configuration on
demand, caching the results for at most 1 second to avoid unnecessary
overhead if name lookups occur in rapid succession. On non-Windows
hosts, /etc/resolv.conf is re-read only if the file has been replaced or
if its size or mtime has changed.
Signed-off-by: Ed Swierk <eswierk@aristanetworks.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'slirp/libslirp.h')
-rw-r--r-- | slirp/libslirp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/slirp/libslirp.h b/slirp/libslirp.h index 93087ed..67c70e3 100644 --- a/slirp/libslirp.h +++ b/slirp/libslirp.h @@ -8,6 +8,8 @@ struct Slirp; typedef struct Slirp Slirp; +int get_dns_addr(struct in_addr *pdns_addr); + Slirp *slirp_init(int restricted, struct in_addr vnetwork, struct in_addr vnetmask, struct in_addr vhost, const char *vhostname, const char *tftp_path, |