kern/116330: network problems under -current,
nfe(4) and jumbo packets
Michael Reifenberger
mike at reifenberger.com
Thu Sep 13 04:20:02 PDT 2007
>Number: 116330
>Category: kern
>Synopsis: network problems under -current, nfe(4) and jumbo packets
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Sep 13 11:20:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Michael Reifenberger
>Release: FreeBSD 7.0-CURRENT amd64
>Organization:
>Environment:
System: FreeBSD fs.reifenberger.com 7.0-CURRENT FreeBSD 7.0-CURRENT #3: Mon Sep
10 23:21:52 CEST 2007 root at fs.reifenberger.com:/usr/obj/usr/src/sys/fs amd64
>Description:
I have two identical Asus N2M32WS Motherboards with builtin
NVIDIA nForce MCP55 Networking Adapter NIC's and Marvell 88E1116 Gigabit PHY's.
both nfe0's are connected via GB-switch, nfe1's are connected directly (for testing purposes).
One machine acts as a samba and NFS fileserver.
After turning on a MTU of 9000 on the NIC's of the fileserver I found that
various clients (Linux SLES10, Gentoo, FreeBSD) with various applications
(NFS over TCP/UDP, iSCSI) where producing errors and corruptions when
transferring from/to the fileserver.
So for further testing I switched to use the direct connected NIC's of the
two computers.
When using benchmarks/netpipe the integrity check hangs using
packetsizes greater 1500, later terminates with error:
(fs)(root) NPtcp -i -h 10.0.1.2
Doing an integrity check instead of measuring performance
Send and receive buffers are 1048576 and 1048576 bytes
(A bug in Linux doubles the requested buffer sizes)
Now starting the main loop
0: 5 bytes 2758 times --> Integrity check passed
1: 7 bytes 2838 times --> Integrity check passed
2: 9 bytes 1978 times --> Integrity check passed
3: 13 bytes 2381 times --> Integrity check passed
4: 17 bytes 2015 times --> Integrity check passed
5: 25 bytes 2585 times --> Integrity check passed
6: 33 bytes 1759 times --> Integrity check passed
7: 49 bytes 2406 times --> Integrity check passed
8: 65 bytes 2172 times --> Integrity check passed
9: 97 bytes 3138 times --> Integrity check passed
10: 129 bytes 2055 times --> Integrity check passed
11: 193 bytes 2842 times --> Integrity check passed
12: 257 bytes 1774 times --> Integrity check passed
13: 385 bytes 2583 times --> Integrity check passed
14: 513 bytes 1667 times --> Integrity check passed
15: 769 bytes 2298 times --> Integrity check passed
16: 1025 bytes 1341 times --> Integrity check passed
17: 1537 bytes 1765 times --> NetPIPE: read: error encountered, errno=60
- How to debug this issue?
- Is this a known problem?
my /etc/sysctl.conf:
#security.bsd.see_other_uids=0
compat.linux.osrelease=2.6.16
#kern.maxvnodes=400000
vfs.lookup_shared=1
kern.coredump=0
#net.inet.tcp.path_mtu_discovery=0
net.inet.udp.recvspace=65536
net.inet.raw.recvspace=16384
#hw.pci.enable_msix=0
#hw.pci.enable_msi=0
kern.ipc.nmbclusters=50000
#kern.timecounter.hardware=ACPI-fast
kern.ipc.maxsockbuf=16777216
net.inet.tcp.rfc1323=1
net.inet.tcp.sendspace=1048576
net.inet.tcp.recvspace=1048576
net.inet.tcp.log_debug=0
NFS mountoptions are:
.. rw,noatime,bg,soft,-i,-3,-T,async,-r=32768,-w=32768
dmesg and kernel config is available on request.
>How-To-Repeat:
Use NFS with big send/receive blocksizes or benchmarks/netpipe integrity check.
>Fix:
The only known workaround is to lower the MTU to 1500.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list