Bug 8361
Summary: | eth1394 unreliable with peers with moderate CPU power (or IP fragmentation?) | ||
---|---|---|---|
Product: | Drivers | Reporter: | Stefan Richter (stefanr) |
Component: | IEEE1394 | Assignee: | drivers_ieee1394 |
Status: | REJECTED WILL_NOT_FIX | ||
Severity: | normal | CC: | protasnb |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | all | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 10046 |
Description
Stefan Richter
2007-04-22 12:37:11 UTC
Bug status: Still present with the latest eth1394 fixes. Due to time constraints I am inclined to put eth1394 debugging on hold for now because we also still have to implement IP over 1394 for the new alternative/replacement firewire driver stack. If/when that project succeeds, we either learned what is necessary to fix the old eth1394, or we do a WILL_NOT_FIX here. Note to self: Need to retest under 2.6.23. Different eth1394 troubles reportedly vanished due to unidentified changes between .22 and .23. Tested again with "C" (400 MHz G4 with OS X 10.3.9) and 2.33 GHz Linux dual core PC: Bug still exists in 2.6.24-rc3. Same symptoms: - scp from OS X to Linux fails after a few MB with "disconnect from UNKNOWN: 2: Corrupted MAC on input". (The sshd on Linux killed the connection and logged "Disconnecting: Corrupted MAC on input" to syslog.) - vncviewer on Linux showing an animated preview of the screensaver prefs pane of OS X aborts after a while with "zlib inflate returned error: -3, msg: invalid stored block length". There are currently no resources to fix this in drivers/ieee1394/. drivers/firewire/ does not feature this problem. Another cause for this issue could be that system C's FireWire controller is a CardBus card with maximum asynchronous payload limited to 1024 bytes. Since the standard MTU (and the only standardized MTU) is 1500, IP datagrams are being fragmented when sent to and from such a CardBus controller. So, perhaps Mac OS X and Linux don't interoperate correctly when IP fragmentation is involved. Linux to Linux through a CardBus controller worked though when I tested the last time.
I wrote:
> There are currently no resources to fix this in drivers/ieee1394/.
> drivers/firewire/ does not feature this problem.
A lame sentence... (copy and paste syndrome). It's true but only because drivers/firewire/ still does not have IP over 1394 support at all.
When we reimplement IP over 1394 for drivers/firewire/ or port eth1394 to drivers/firewire/, we should take care not to port possible bugs in IP fragments handling. I reopen this bug for better visibility.
It is unlikely that anybody will take care of this bug before an IP over 1394 implementation for the new firewire driver stack emerges. |