Bug 71229

Summary: Device sk0 hands up when data transfering [6-CURRENT]
Product: Base System Reporter: hunreal
Component: kernAssignee: Bjoern A. Zeeb <bz>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 6.0-CURRENT   
Hardware: Any   
OS: Any   

Description hunreal 2004-09-01 08:10:26 UTC
       I cvsup the src to the lastest.
But still got sk0 error when data transfering,

Aug 30 20:32:01 tv kernel: sk0: discard frame w/o leading ethernet
header (len 0 pkt len 0)
Aug 30 20:32:01 tv kernel: sk0: discard oversize frame (ether type
7201 flags 3 len 1738 > max 1514)

How-To-Repeat:       When data transfering. Apear often in large data transfer
Comment 1 Ceri Davies 2004-09-01 11:34:36 UTC
See also kern/69879.
Comment 2 Jeremy Chadwick 2004-11-05 10:50:09 UTC
I can confirm this exact behaviour on other vendors' motherboards,
particularly Gigabyte.  The chipset in question:

===
skc0: <Marvell Gigabit Ethernet> port 0xa000-0xa0ff mem 0xf9044000-0xf9047fff irq 20 at device 9.0 on pci1
skc0: Yukon Gigabit Ethernet 10/100/1000Base-T Adapter
sk0: <Marvell Semiconductor, Inc. Yukon> on skc0
sk0: Ethernet address: 00:0f:ea:31:f0:ee
miibus1: <MII bus> on sk0
e1000phy0: <Marvell 88E1000 Gigabit PHY> on miibus1
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto

skc0@pci1:9:0:  class=0x020000 card=0xe0001458 chip=0x432011ab rev=0x13 hdr=0x00
    vendor   = 'Marvell Semiconductor (Was: Galileo Technology Ltd)'
    device   = '88E8001 Gigabit 32-bit Ethernet Controller with Integrated PHY'
    class    = network
    subclass = ethernet
===

The errors in question when doing large transfers:

===
Nov  4 23:51:57 icarus kernel: sk0: discard frame w/o leading ethernet header (len 0 pkt len 0)
Nov  4 23:51:57 icarus kernel: sk0: discard oversize frame (ether type 0 flags 3 len 9022 > max 1514)
Nov  4 23:51:57 icarus kernel: sk0: discard oversize frame (ether type 0 flags 3 len 1556 > max 1514)
Nov  4 23:51:57 icarus kernel: sk0: discard frame w/o leading ethernet header (len 0 pkt len 0)
Nov  4 23:51:57 icarus kernel: sk0: discard oversize frame (ether type 0 flags 3 len 9022 > max 1514)
Nov  4 23:51:57 icarus kernel: sk0: discard oversize frame (ether type 0 flags 3 len 7524 > max 1514)
Nov  4 23:51:57 icarus kernel: sk0: discard oversize frame (ether type e889 flags 3 len 9022 > max 1514)
Nov  4 23:51:57 icarus kernel: sk0: discard oversize frame (ether type eb3a flags 3 len 3840 > max 1514)
...and so on...
===

Operating system is 5.3-RELEASE (as of Nov 5 2004 -- today).

I have managed to circumvent this problem by forcing the sk0 interface
to 100baseTX + full-duplex instead of autodetect (which normally picks up
1000baseTX + full-duplex, since it's connected to a GbE switch).

This is definitely looking to be some sort-of driver problem, and IMHO
has very little to do with motherboard BIOS revisions as implied in the
aforementioned PR (kern/69879).  kern/69789, IMHO, should have never
been closed.

-- 
| Jeremy Chadwick                                 jdc at parodius.com |
| Parodius Networking                        http://www.parodius.com/ |
| UNIX Systems Administrator                   Mountain View, CA, USA |
| Making life hard for others since 1977.                             |
Comment 3 Bjoern A. Zeeb freebsd_committer freebsd_triage 2004-11-20 13:01:32 UTC
State Changed
From-To: open->feedback

Patches have been committed to HEAD which should help. 
Please give them a try and let us know if the probelms are gone? 


Comment 4 Bjoern A. Zeeb freebsd_committer freebsd_triage 2004-11-20 13:01:32 UTC
Responsible Changed
From-To: freebsd-bugs->bz

mine...
Comment 5 knockefreebsd 2004-12-13 22:25:54 UTC
I confirm that it happens also on FreeBSD RELENG_5_3 (p2 from Dec 8 =
2004) Gigabyte and ASUS P4P800 SE motherboards (Intel 865PE chipset and =
on-board Marvell 88E8001 NIC). I've noticed that only the following =
messages appers in the messages system log:


Dec 13 21:24:10 myhost kernel: sk0: discard frame w/o leading ethernet =
header (len 0 pkt len 0)


and only on tcp sender doing massive bulk data transfer when NIC is set =
to 1000baseTX (other options:=20


sk0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        (...)
        media: Ethernet autoselect (1000baseTX =
<full-duplex,flag0,flag1>)



Heinz Knocke
Comment 6 Bjoern A. Zeeb freebsd_committer freebsd_triage 2004-12-25 09:57:46 UTC
State Changed
From-To: feedback->closed

A patch has been applied to if_sk.c in HEAD and MFCed to RELENG_5 
and Heinz Knocke confirmed that jumbo frame support now works. 
Thanks for reporting and testing.