Bug 33972

Summary: Bogus UDP Fragmentation Offload packet generation
Product: Networking Reporter: Leszek Urbanski (tgr.kb)
Component: IPV4Assignee: Stephen Hemminger (stephen)
Status: CLOSED DOCUMENTED    
Severity: high CC: alan, paul.gortmaker
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.32.x Subsystem:
Regression: Yes Bisected commit-id:
Attachments: udp: Fix bogus UFO packet generation

Description Leszek Urbanski 2011-04-26 11:46:04 UTC
Created attachment 55552 [details]
udp: Fix bogus UFO packet generation

The new UFO software fallback path fails under certain conditions with NFS and causes partial connectivity loss due to generation of UFO packets smaller than the MTU, which are then discarded by the software fallback path.

How to reproduce: copy a large file to an NFS mount with UFO enabled and going through the software fallback path, e.g. on a KVM guest with virtio-net and qdev device syntax:

-device virtio-net-pci,netdev=tap1,mac=ab:cd:ef:01:23:45 \
-netdev type=tap,id=tap1,ifname=tap1

All NFS mounts immediately stall and processes go into D state, stuck
on nfs_wait_bit_uninterruptible. There is no further communication between
the client and the server.

It has been fixed in 2.6.35-rc4 by Herbert Xu (patch for net/ipv4/ip_output.c attached). However, it's still not in 2.6.32.x longterm (as of 2.6.32.39).
Comment 1 Paul Gortmaker 2011-04-26 22:16:28 UTC
Upstream commit ID is 26cde9f7e2747b6d254b704594eed87ab959afa5
Comment 2 Alan 2012-05-12 14:34:15 UTC
If it needs pushing to stable trees still please email Herbert and ask him to push it on

commit 26cde9f7e2747b6d254b704594eed87ab959afa5
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Tue Jun 15 01:52:25 2010 +0000