Please, Urgent: Need ideas/help to solve PR bin/51586
Ian Freislich
ianf at za.uu.net
Thu May 8 08:24:11 PDT 2003
Lars =?iso-8859-1?Q?K=F6ller?= wrote:
> > -anf inet |grep -v TIME_WAIT' on machine2 after you get the timeout
> > connecting to machine2? Is the tcp *.514 LISTEN line missing after
>
> No, as you can see above. It's possibe to connect from a third machine
> to machine2 during the timeout/hang.
Hmm, I can't seem to reproduce the inetd service termination any
more so that may be a red herring.
> > you get the timeout. What do you get in your messages file on
> > machine2 (the one running the rsh server)? I suspect that you're
>
> rshd[83865]: connect second port 927: Operation timed out
That is definitely different to what I get, so I guess there is
quite a difference between 4.8-STABLE Sun Apr 27 and 4.8-RELEASE
in the networking code. I've traced where it fails in the -STABLE
code - line 123 of /usr/src/lib/libc/rpc/bindresvport.c (rev 1.12).
It's a bind with sin_addr=INADDR_ANY and ports in IP_PORTRANGE_LOW.
The kernel "Can't assign requested address" because it probably
thinks none are available they're all in TIME_WAIT. Not that that
helps you very much.
Perhaps -STABLE is slightly better because you get an immediate
fail when there are "no" ports and it starts working again when
there are. Also if you set net.inet.tcp.msl=300, the connections
leave TIME_WAIT a lot sooner and where it would die after about 30
seconds, I haven't yet seen had a failure after several minutes.
Ian
More information about the freebsd-net
mailing list