Date: Mon, 23 Nov 1998 14:50:42 -0800 (PST) From: Marc Slemko <marcs@znep.com> To: Dan Strick <dan@math.berkeley.edu> Cc: hackers@FreeBSD.ORG Subject: Re: AMD/NFS problems with 3.0 Message-ID: <Pine.BSF.4.05.9811231445580.19474-100000@alive.znep.com> In-Reply-To: <199811230032.QAA03103@math.berkeley.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 22 Nov 1998, Dan Strick wrote:
> (Please ignore my previous posting. I somehow neglected to rewrite the
> temporary mail message file after editing it into this:)
>
> > > At first I though this might be related to these messages that went
> > > to the log the first time I started amd:
> > >
> > > noconn option exists, and was turned OFF! (May cause NFS hangs
> > > on some systems...)
> >
> > These are always printed out. I guess I should comment them out, or
> > determine if we really can use the optimization. The comments in the
> > code by the Columbia people are often out of date with respect to
> > FreeBSD-CURRENT.
>
> I have often wondered what this was really about. Can someone explain?
I have no idea what this is really about, but...
>
> At first I thought the issue was tcp versus udp, but this turns out to
> be wrong. The issue seems to be if the BSD connect() system call is used
> to associate the local BSD datagram (i.e. UDP) "socket" with the remote nfs
> server datagram "socket". The alternative would be to skip the connect()
> and specify the destination address every time a packet is sent and
> examine the source address every time a packet is received.
>
> I don't really understand the issue here. UDP is essentially a
> connectionless protocol. I don't understand the function of the BSD
> connect() system call other than as a programming convenience.
The issue is that if you don't do a connect(), then there is a lot more
processing that that the kernel has to do. It doesn't have a pcb with
info about the sender/recipient without a connect(), it has to figure out
stuff about the source and destination each time, etc. See udp_output(),
especially the in_pcb{connect|disconnect} calls that are done if an
address is passed instead of being connect()ed.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9811231445580.19474-100000>
