From owner-freebsd-hackers Mon Nov 23 14:53:59 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA28699 for freebsd-hackers-outgoing; Mon, 23 Nov 1998 14:53:59 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from alive.znep.com (207-178-54-226.go2net.com [207.178.54.226]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA28693 for ; Mon, 23 Nov 1998 14:53:54 -0800 (PST) (envelope-from marcs@znep.com) Received: from localhost (marcs@localhost) by alive.znep.com (8.9.1/8.9.1) with ESMTP id OAA13825; Mon, 23 Nov 1998 14:50:43 -0800 (PST) (envelope-from marcs@znep.com) Date: Mon, 23 Nov 1998 14:50:42 -0800 (PST) From: Marc Slemko To: Dan Strick cc: hackers@FreeBSD.ORG Subject: Re: AMD/NFS problems with 3.0 In-Reply-To: <199811230032.QAA03103@math.berkeley.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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