Bug 212269

Summary: mount with UDP, nfs with TCP
Product: [Fedora] Fedora Reporter: Jeff Bastian <jmbastia>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: CLOSED WONTFIX QA Contact: Ben Levenson <benl>
Severity: medium Docs Contact:
Priority: medium    
Version: 6CC: mattdm, tao
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-07-17 20:35:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 232667    

Description Jeff Bastian 2006-10-25 22:21:16 UTC
Description of problem:
An earlier patch to the mount command in the util-linux package allowed mount
requests to use UDP and NFS traffic to over TCP (similar to Solaris).  This
fixes the problem of running out of reserved ports if automounting lots of
directories very quickly due to the TCP TIME_WAIT state.

However, if the NFS option 'proto=tcp' is specified, then the mount request
still happens over TCP.  All of our automount maps have proto=tcp,vers=3 in them
to make sure that we're using NFSv3 over TCP instead of v2 over UDP, so we still
have the bindresvport error.

Please allow mount to use UDP even if proto=tcp is specified for NFS traffic.

Version-Release number of selected component (if applicable):
nfs-utils-1.0.9-8.fc6

How reproducible:
Every time.

Steps to Reproduce:
1. mount -t nfs -o proto=tcp,vers=3 server:/some/dir /mnt
2. netstat -an | perl -n -e 'if($_ =~ m/.*TIME_WAIT.*/){$port=(split(/:/,(split
/\s+/)[3]))[1]; print $_ if $port<=1024;}'
  
Actual results:
netstat reports one port in the TIME_WAIT state

Expected results:
no ports should be in TIME_WAIT state

Additional info:
See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=169042 for earlier patch.

Comment 2 Steve Dickson 2006-11-01 14:40:30 UTC
Question:  Why isn't removing the 'proto=tcp' a valid option? The default
protocol for both Solaris and Linux is TCP,  so I'm a bit confused as to
why that mount option is even needed.... 

Comment 3 Jeff Bastian 2006-11-01 15:32:04 UTC
It's in our maps for our legacy systems.  We still have some Red Hat 7.2 systems
to run old software and the default is to mount UDP on those.

Jeff

Comment 4 Jeff Bastian 2006-11-01 15:40:26 UTC
Also, on Solaris, mount requests happen over UDP even when proto=tcp is specified.

(I've tested and verified this on both Solaris 8 and 10.)

Comment 7 Matthew Miller 2007-04-06 17:21:54 UTC
Fedora Core 5 and Fedora Core 6 are, as we're sure you've noticed, no longer
test releases. We're cleaning up the bug database and making sure important bug
reports filed against these test releases don't get lost. It would be helpful if
you could test this issue with a released version of Fedora or with the latest
development / test release. Thanks for your help and for your patience.

[This is a bulk message for all open FC5/FC6 test release bugs. I'm adding
myself to the CC list for each bug, so I'll see any comments you make after this
and do my best to make sure every issue gets proper attention.]


Comment 8 Jeff Layton 2007-07-17 20:35:49 UTC
Per our discussion in the RHEL-equivalent BZ, I'm going to close this WONTFIX.
Changing this is non-trivial, and would break people who are running NFS across
firewalls that block UDP. My suggestion is to use separate automount maps and
only use the tcp option on hosts that really need it.