Subject: Unusual socket state on netbsd 3.0
To: None <current-users@netbsd.org>
From: Paul Ripke <stix@stix.id.au>
List: current-users
Date: 02/27/2006 22:36:47
I have a system, with a PPPoE link to the 'net, running apache, and a
bunch of other junk. I've found, after about 20 days of uptime, I can
no longer access my web-server from the local machine's IP address on
the pppoe0 interface. Coming from anywhere else, it works fine. This
happens even when telneting to port 80. I see the socket pairs in the
following state, after issuing a http GET on the web-server root:

Proto Recv-Q Send-Q  Local Address          Foreign Address        State
tcp        0   3905  220.233.66.183.80      220.233.66.183.54061   
FIN_WAIT_1
tcp        0      0  220.233.66.183.54061   220.233.66.183.80      
ESTABLISHED

To me, this looks wrong. The 3905 on the send-q pretty much matches
the size of the text I'd expect apache to return.

The same query to port 80 on localhost works fine. The same query to
the private internal ethernet address also works fine. Likewise
to the wireless address.

I normally have squid running, with an ipnat rule for transparent
proxying, but I've disabled all that after it stopped working.

I do have ipf on the PPPoE interface, but disabling or flushing its
tables makes no difference. I also have altq on the PPPoE interface,
and stopping it doesn't appear to make any difference, either.

Also, my 'net access seems fine, both in and out, NATed and direct,
via PPPoE.

Anyone seen this before, or can give me any hints as to what to look
at? I have a matching netbsd.gdb, so online debugging is possible.

BTW: System is pretty much stock NetBSD 3.0 x86, MULTIPROCESSOR
enabled, but hyperthreading disabled, so only 1 CPU.

--
stix