Bug 22309

Summary: NFS client code blocks when reading a 2828 byte file via NFSv3
Product: Base System Reporter: brandt <brandt>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.0-CURRENT   
Hardware: Any   
OS: Any   

Description brandt 2000-10-26 11:20:01 UTC
	When reading a file of size 2828, 2829 (and probably a little longer)
	from the NFS server, the read blocks and the NFS files system appears
	blocked (other file systems from the same server may work).

	Tcpdump shows, that the read reply is fragmented into three IP
	fragments of size 1480, 1480 and 4. nfsstat shows that the client
	code is retrying the read. netstat -p ip shows that fragments are
	dropped because of timeouts. netstat -I xl0 shows no drops.

	It seems, that the IP code fails to reassemble the IP packet. When
	mounting the file system with NFSv2 everything works probably because
	now there are only two fragments instead of two.

	The problem appeared somewhere around the first decade of september.
	A generic kernel from beginning of september works ok.

Fix: 

None.

	Using NFSv2 for the time beeing is at least a work-around.
How-To-Repeat: 
	Mount a NFS file system via NFSv3 from an Auspex server (another
	server will probably do it also). Create a file of size 2828 and
	try to read it.
Comment 1 ru freebsd_committer freebsd_triage 2000-10-27 08:22:50 UTC
State Changed
From-To: open->closed

Fixed in src/sys/netinet/ip_fw.c,v 1.147, thanks for the diagnosis!