The Linux Networking Project

Non Linux Problems To Note

Slow FTP Linux<->Solaris 2.4 or 2.5
Solaris has some very bad TCP problems over slow links. Sun have now released a patch set for Solaris 2.5
*103447-03 and 103169-06
NCSA Telnet doesn't work
See the Linux documentation with the kernel. Some versions of NCSA telnet will not talk to Linux or Solaris boxes due to bugs in the NCSA code.
Either use a fixed NCSA telnet or disable MTU discovery.
Emulex NetJet Printservers hang
The Emulex NetJet as of writing has a buggy TCP implementation. Request new firmware from Emulex. Linux 2.0.17 adds a workaround to work with the faulty Emulex kit.
Kermit sessions reset after a while unused
The current kermit TCP/IP has buggy TCP keepalive handling.
Use an older kermit or hopefully by now newer one.
Sessions work but the first large output hangs the link
This is often seen over SLIP links when path MTU discovery is used. Previously you could normally get away with mismatched MTU's at each end of a slip link to Linux boxes. With Path MTU this is no longer true.
Fix the MTU's. Also beware of some very old terminal servers that mishandle MTU discovery. If so turn MTU discovery off or use 1500 byte+ MTU's on the slip link.

Known Problems with 2.0 Networking

Baycom 9600 baud modem driver is faulty
Trying to use the Baycom 9600 baud parallel port modem support does not work.
Fixed in 2.0.1.
Further improvements for 2.0.4.
Ethernet MTU can be set over 1500 bytes
This is not serious as only the superuser can make this mistake.
Fixed in 2.0.1.
NFS RPC problems especially with Solaris 2.5
Certain RPC events didn't retry quite the way desired. In addition a Solaris 2.5 quirk upset the caching on NFS
Fixed in 2.0.1
Firewall won't pass frames with less than 8 bytes of data
A Check for TCP/UDP port handling accidentally got extended to all frame types. Not serious as nothing normally generates such frames.
Fixed in 2.0.1
Masquerading fails over PPP
Various fields were not handled properly for specific masquerading events, notably FTP masquerade and tripped up masquerade over PPP
Fixed in 2.0.1
Panic: skb_push
A race condition in the TCP code caused by incorrect handling of devices with no physical headers could in theory cause a panic.
Fixed in 2.0.1
TCP: **bug** "copy" < = 0
Two races in the MTU discovery code could cause this non fatal error.
Fixed in 2.0.1
TCP ack deadlock under extreme load
A theoretical conditional that could lock the machine.
Fixed in 2.0.1
Socket accounting fix for accept()
The owner of an accepted socket could be reported wrongly in very limited circumstances.
Fixed in 2.0.1
Multicast routing fails
The experimental classified multicast route support was hit by an obscure bug in the handling of RAW IP datagrams to multicast/broadcast addresses in the case where the IP_HDRINCL option was set.
Fixed in 2.0.1
Hangs with the tunnel device
Some people report problems using the unicast IP tunneling facility and hanging sessions.
Fixed in 2.0.8
Crashes in get_hash_table() and in the TCP code
Erratic Oopses and kernel memory corruption. This seems to be occuring only on machines with an AHA154x SCSI controller and over 16Mb of main memory.
Belived not to be a networking layer bug
Urgent data may be read both as urgent and normal
Specific traffic patterns can cause a byte to be read twice, once as urgent data and once as normal data if a new urgent frame arrives afterwards.
Currently being investigated
SMBfs misbehaves
SMB long filename support can cause mysterious errors and problems.
Fixed in 2.0.2
Multicast loop errors
Multicast packets to "all hosts" may not always be looped locally. Multicast packets over MTU size are looped back with the wrong id. Multicast frames looped back with TTL 0 may upset the machine.
Fixed in 2.0.1
TCP loopback fight
A condition in which the kernel could get into a loop of ack frames
Fixed in 2.0.2
Secure TCP sequence numbers
MD5 secure TCP sequence numbering is now standard
Added in 2.0.2
Gratutious ARP handling
This is changed to support Metricom STRIP better
Added for 2.0.4
Problems with FTP daemon behaviour
A bug was introduced in 2.0.1 and fixed in 2.0.2 released the same day.
Fixed in 2.0.2
Bridging Disabled
The experimental bridging code for 2.0 was disabled as it was not completed in time. Patches to provide bridging as an experimental feature are now complete
Fixed in 2.0.5
Bridging Fault
A specific bridging case is handled wrongly causing excess traffic
Fixed in 2.0.8
Sendto() semantics
Sendto used with a NULL address parameter doesn't behave as BSD
Fixed in 2.0.7
Multicast Routing
Experimental multicast router now has full functionality
Fixed in 2.0.8
PPP fragmentation bugs
PPP and the AX.25 drivers can misfragment packets due to a bug in the fragment engine.
Fixes in 2.0.8
IPX sockets
O_NDELAY for AF_IPX sockets is incorrectly implemented
Fixed in 2.0.8
Multicast sometimes being lost
Bugs in the IGMP v1/v2 switching and IGMP handling.
Fixed in 2.0.10
MSS == 0
A small bug when a remote host offers no initial window and the user process queues data before the next ACK opens the window
Fixed in 2.0.11
TCP hang with obscure buffer allocation patterns
Potentially nasty as it could hang the machine. Very unlikely to ever occur in real life.
Fixed in 2.0.11
EtherExpress Pro crash
Very fast pentiums can crash under very high load.
Fixed in 2.0.12, performance also improved
PLIP didn't work on 64bit machines
Fixed in 2.0.12
AX.25 segmentation bug
Segmented AX.25 could cause misbehaviour
Fixed in 2.0.12
DE4x5 obscure overflow bugs
Obscure bugs in the RX handling and EISA probe
Fixed in 2.0.14
DEPCA module load
Module loadable depca didn't work.
Fixed in 2.0.14
Token Ring
Fixed a bug that could overwrite a transmit SRB during transmit cycle.
Fixed in 2.0.15
Lance Driver
Some early 7990 based cards could fail to auto-irq and need hand setup.
Fixed in 2.0.15
ICMP with odd TOS values
Some ICMP errors came out with a strange TOS value.
Fixed in 2.0.18
SIGPIPE oddities
Some obscure cases where networking did not send SIGPIPE.
Fixed in 2.0.18
Bridge memory leak
Experimental bridge option leaks memory.
Fixed in 2.0.21
Improved Frame Relay
IPX is now supported over Frame Relay.
Added in 2.0.20
Minor fixes to EQL driver
Some small and basically harmless bugs removed.
Fixed in 2.0.21
PCI NE2000 fails for some cards
Code added to driver to cope with broken NE2000 PCI cards.
Added in 2.0.21
Can OOPS in user modifying arp entries
Small fix added
Fixed in 2.0.21
RFC 1812 support
Added support for the newer ICMP messages.
Added in 2.0.21
Obscure AF_UNIX potential hang
Only likely to occur under extreme load and hang one process.
Fixed in 2.0.21
PPP obscure Oops
Code was added to prevent the problem occuring
Fixed in 2.0.22
Tulip multicast bug
Obscure tulip bug handling mulicasting
Fixed in 2.0.22
Initial tcp behaviour slightly too slow
Initial ssthresh setup wrong
Fixed in 2.0.22
Signal handling occasionally delayed in TCP
Small bug fix added
Fixed in 2.0.23
Route cache leak
Obscure route cache leak when running some firewall rule patterns
Fixed in 2.0.23
3c509 autodetect
Some 3c509 cards appear to need vastly longer delays than the spec.
Fixed in 2.0.24
3c59x as module reports wrongly if it finds no devices
Error return corrected
Fixed in 2.0.24
FDDI Support
Support for FDDI and Digital FDDI cards
Added in 2.0.24
NI65 as module
Added module support for NI65 series cards
Added in 2.0.24
SLHC bug fix
There is a bug in the SLHC code quoted in the RFC.
Fixed in 2.0.24
'Big Ping Bug'
A couple of problems related to overrunning 16bit variables.
Fixed in 2.0.24
Obscure race could hang an IPX or AF_UNIX socket
Code adjusted to remove race
Fixed in 2.0.24
IGMP errors
Minor IGMP protocol errors
Fixed in 2.0.24 , one more queued in 2.0.26
IP multicast
Faster performance and trivial fixes backported from development tree
Added in 2.0.24
Spurious connection reset
When talking to KA9Q derived stacks with some options set connections could get reset
Fixed in 2.0.24
Very obscure urg handling bug
Data could be read twice in very unusual cases
Fixed in 2.0.24
3c501 as module
Basically this didn't work.
Fixed in 2.0.25
Tulip broken in 2.0.24
Corrupted patch due to MIME damage
Fixed in 2.0.25
Slow AF_UNIX performance in 2.0.24
Caused by the ping fix.
Fixed in 2.0.25
Off by one error in bridge
Small error in the 802.1 implementation
Fixed in 2.0.25
'Nuke' protection
Check IP and error packet both have correct source address
Fixed in 2.0.25
Multicast Routing & FDDI
Support added
Submitted for 2.0.26
Stealth Scanning
Phrack #49 includes a clever technique for scanning ports using obscure differences in returned packets.
The ACK based (and hard to log) trick is fixed in Linux 2.0.26.

Patches Available

Return to the NetNews page