From owner-freebsd-hackers Wed Jul 26 22:29:12 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id WAA07363 for hackers-outgoing; Wed, 26 Jul 1995 22:29:12 -0700 Received: from tellab5.lisle.tellabs.com (tellab5.lisle.tellabs.com [138.111.243.28]) by freefall.cdrom.com (8.6.11/8.6.6) with SMTP id WAA07357 for ; Wed, 26 Jul 1995 22:29:11 -0700 From: mikebo@tellabs.com Received: from tellabk.tellabs.com by tellab5.lisle.tellabs.com with smtp (Smail3.1.29.1 #4) id m0sbLKJ-000jC5C; Thu, 27 Jul 95 00:17 CDT Received: by tellabk.tellabs.com (4.1/1.9) id AA15478; Thu, 27 Jul 95 00:17:42 CDT Message-Id: <9507270517.AA15478@tellabk.tellabs.com> Subject: FBSD v2.0.5: NFS to multi-homed servers broken To: hackers@freebsd.org Date: Thu, 27 Jul 1995 00:17:42 -0500 (CDT) Cc: mikebo (Mike Borowiec) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1784 Sender: hackers-owner@freebsd.org Precedence: bulk Greetings - A fellow BSDer and myself are both seeing a problem with FreeBSD 2.0.5 clients that attempt to mount partitions from multi-homed servers... It looks like the culprit might be changes made to clnt_udp.c:clntudp_call to create UDP socket connections. It looks like this change was made to quickly figure out whether the other end was actually there without waiting for the timeout. This is different than the Sun method. Unfortunately, it also breaks in a spectacular way. On our boxes, mount_nfs can't talk to the portmapper to even figure out whether NFS is there. Due to the route table on the server, the portmapper reply may come back with a different source address than the destination address associated with the connection. In this case the kernel obligingly drops the packet and sends a port unreachable back to the server. Clearly, this is undesirable behaviour... we don't *know* which interface the reply might come from. Perhaps it would be better to accept the packet regardless of its source address, i.e. if the lookup fails in udp_input and inp_faddr is not INADDR_ANY, try the lookup again with INADDR_ANY, and it would probably work. Comments anyone...? - Mike PS> I appreciate the good intentions of those that wrote suggesting that I try the "noconn" option (aka. the "-c" flag to mount_nfs). Unfortunately, that's *not* the solution to this problem - no effect. -- -------------------------------------------------------------------------- Michael Borowiec Network Operations Tellabs Operations, Inc. mikebo@TELLABS.COM 1000 Remington Blvd. MS109 708-378-6007 FAX: 708-378-6714 Bolingbrook, IL, USA 60440 --------------------------------------------------------------------------