On Thu, Feb 23, 2023 at 06:07:58PM +0100, Stefano Brivio wrote: > Instead of the address of the first resolver we advertise to > the guest or namespace. > > This was one of the intentions behind commit 3a2afde87dd1 ("conf, > udp: Drop mostly duplicated dns_send arrays, rename related fields"), > but I forgot to implement this part. In practice, they are usually > the same thing, unless /etc/resolv.conf points to a loopback address. > > Fixes: 3a2afde87dd1 ("conf, udp: Drop mostly duplicated dns_send arrays, rename related fields") > Signed-off-by: Stefano Brivio Reviewed-by: David Gibson > --- > udp.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/udp.c b/udp.c > index c913d27..1d65559 100644 > --- a/udp.c > +++ b/udp.c > @@ -867,7 +867,7 @@ int udp_tap_handler(struct ctx *c, int af, const void *addr, > } else if (IN4_ARE_ADDR_EQUAL(&s_in.sin_addr, > &c->ip4.dns_match) && > ntohs(s_in.sin_port) == 53) { > - s_in.sin_addr = c->ip4.dns[0]; > + s_in.sin_addr = c->ip4.dns_host; > } > } else { > s_in6 = (struct sockaddr_in6) { > @@ -890,7 +890,7 @@ int udp_tap_handler(struct ctx *c, int af, const void *addr, > s_in6.sin6_addr = c->ip6.addr_seen; > } else if (IN6_ARE_ADDR_EQUAL(addr, &c->ip6.dns_match) && > ntohs(s_in6.sin6_port) == 53) { > - s_in6.sin6_addr = c->ip6.dns[0]; > + s_in6.sin6_addr = c->ip6.dns_host; > } else if (IN6_IS_ADDR_LINKLOCAL(&s_in6.sin6_addr)) { > bind_addr = &c->ip6.addr_ll; > } -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson