Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Nov 2002 17:22:13 -0800 (PST)
From:      Kelly Yancey <kbyanc@posi.net>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>, Doug Barton <DougB@FreeBSD.org>, <freebsd-current@FreeBSD.org>, <kbyanc@FreeBSD.org>
Subject:   Re: Can't resolve hosts via dns on the command line with latest-current
Message-ID:  <20021104171257.G50723-100000@gateway.posi.net>
In-Reply-To: <3DC70B18.2217E01F@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 4 Nov 2002, Terry Lambert wrote:

> Kelly Yancey wrote:
> >   It doesn't matter.  It isn't just DNS lookups, mountd fails to run too
> > because it cannot connect to portmap via localhost.  Oddly, in both cases
> > sendto() is returning with errno = 49 (EADDRNOTAVAIL).  I've tracked it down
> > to this code in sys/netinet/ip_output.c:
> >
> >   /* 127/8 must not appear on wire - RFC1122. */
> >   if ((ntohl(ip->ip_dst.s_addr) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET ||
> >       (ntohl(ip->ip_src.s_addr) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET) {
> >           if ((ifp->if_flags & IFF_LOOPBACK) == 0) {
> >                   ipstat.ips_badaddr++;
> >                   error = EADDRNOTAVAIL;
> >                   goto bad;
> >           }
> >   }
> >
> >   Which was last modified in revision 1.150 back in February.  However, I
> > still don't see how adding an extra counter to the sockbuf could possibly
> > change the set of events required to get to this code, but it is certainly
> > what is causing EADDRNOTAVAIL to be returned.  Needless to say, I'm still
> > researching it.
>
> Pretty clear, I should think:
>
> 	IF the source address is a loopback address
> 	OR the destination address is a loopback address
> 	THEN
> 		IF the interface does not have the IFF_LOOBACK flag
> 			return EADDRNOTAVAIL
>
> ...pretty clearly, the new loopback interface doe not set the flag
> IFF_LOOPBACK on the interface, as it is supposed to do.
>
> -- Terry
>

  No, it turns out I'm an idiot: somehow the address on loopback got deleted
so it was trying to use my default route.  So I was on a wild goose chase. :|
Oddly enough, though, once I re-added 127.0.0.1/8 to my localhost:

	# cat resolv.conf
	search nttmcl.com
	nameserver 127.0.0.1

	# ps auwwwx | grep named
	root     320  0.0  0.8  2600 2160  ??  Is    5:11PM   0:00.03 named

	# ping www.freebsd.org
	PING www.freebsd.org (216.136.204.117): 56 data bytes
	64 bytes from 216.136.204.117: icmp_seq=0 ttl=50 time=16.343 ms
	64 bytes from 216.136.204.117: icmp_seq=1 ttl=50 time=8.764 ms
	^C
	--- www.freebsd.org ping statistics ---
	2 packets transmitted, 2 packets received, 0% packet loss
	round-trip min/avg/max/stddev = 8.764/12.553/16.343/3.789 ms

	# ping www.yahoo.com
	<blocks forever>

  Go figure.  I've said it before and I'll say it again...I'm working on it.
:|

  Kelly

--
Kelly Yancey -- kbyanc@{posi.net,FreeBSD.org}
"Though [the people] may acquiesce, they cannot approve what they do not
 understand." --Thomas Jefferson, 1792.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021104171257.G50723-100000>