Date: Wed, 10 Jan 2007 00:04:03 +0100 From: Juergen Lock <nox@jelal.kn-bremen.de> To: qemu-devel@nongnu.org, freebsd-emulation@FreeBSD.org Subject: Re: weird slirp problems (dns lookups stopped working, and maybe more) Message-ID: <20070109230403.GA4552@saturn.kn-bremen.de> In-Reply-To: <20070109204740.GA98620@saturn.kn-bremen.de> References: <20070109204740.GA98620@saturn.kn-bremen.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 09, 2007 at 09:47:40PM +0100, Juergen Lock wrote: > Hi! > > I'm not sure why I didn't notice signs of this earlier (using the > Dec 25 snapshot, I'm on FreeBSD), maybe I really only talked to the host > (10.0.2.2) from inside guests. Anyway, after I first saw it yesterday > night, today I sniffed on the external interface and saw dns requests > of a `host google.com' going out to 224.0.0.251, port 5353, instead > of the dns in resolv.conf. [...] > In between I see these which I'm not sure where they are coming from: > > ... > m_get... > m = 9bd7800 > ip_input... > m = 9bd7800 > m_len = 74 > udp_input... > m = 9bd7800 > iphlen = 20 > udp_input(), ip_dst.s_addr=0xe00000fb, uh_dport=5353 > sosendto... > so = 9b39b80 > m = 9bd7800 > sendto()ing, addr.sin_port=5353, addr.sin_addr.s_addr=224.0.0.251 > m_free... > m = 9bd7000 > ip_slowtimo... > tcp_slowtimo... > ... Ok, garrison on irc just helped solve this mystery: This (the same) one actually goes out first, before the 10.0.2.3 one (I didn't notice at first), and since slirp reuses the socket because the source ip and port hasnt changed (slirp/udp.c lines 172 and up, it doesn't check the dest ip), the second packet with the 10.0.2.3 dest ip (which gets replaced with the hosts's dns) goes out wrong. And the reason this worked previously with the same guest is multicast started working only recently... (Now why tcp stopped working for the other guy I still don't know...) Thanx, Juergen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070109230403.GA4552>