https://github.com/torvalds/linux
Revision fd6149d332973bafa50f03ddb0ea9513e67f4517 authored by Ilpo Järvinen on 23 October 2008, 21:06:35 UTC, committed by David S. Miller on 23 October 2008, 21:06:35 UTC
This is not our bug! Sadly some devices cannot cope with the change
of TCP option ordering which was a result of the recent rewrite of
the option code (not that there was some particular reason steming
from the rewrite for the reordering) though any ordering of TCP
options is perfectly legal. Thus we restore the original ordering
to allow interoperability with/through such broken devices and add
some warning about this trap. Since the reordering just happened
without any particular reason, this change shouldn't cost us
anything.

There are already couple of known failure reports (within close
proximity of the last release), so the problem might be more
wide-spread than a single device. And other reports which may
be due to the same problem though the symptoms were less obvious.
Analysis of one of the case revealed (with very high probability)
that sack capability cannot be negotiated as the first option
(SYN never got a response).

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Reported-by: Aldo Maggi <sentiniate@tiscali.it>
Tested-by: Aldo Maggi <sentiniate@tiscali.it>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent b63365a
History
Tip revision: fd6149d332973bafa50f03ddb0ea9513e67f4517 authored by Ilpo Järvinen on 23 October 2008, 21:06:35 UTC
tcp: Restore ordering of TCP options for the sake of inter-operability
Tip revision: fd6149d
File Mode Size
9p
adfs
affs
afs
autofs
autofs4
befs
bfs
cifs
coda
configfs
cramfs
debugfs
devpts
dlm
ecryptfs
efs
exportfs
ext2
ext3
ext4
fat
freevxfs
fuse
gfs2
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd
jbd2
jffs2
jfs
lockd
minix
msdos
ncpfs
nfs
nfs_common
nfsd
nls
ntfs
ocfs2
omfs
openpromfs
partitions
proc
qnx4
ramfs
reiserfs
romfs
smbfs
sysfs
sysv
ubifs
udf
ufs
vfat
xfs
Kconfig -rw-r--r-- 54.5 KB
Kconfig.binfmt -rw-r--r-- 6.4 KB
Makefile -rw-r--r-- 4.0 KB
aio.c -rw-r--r-- 45.9 KB
anon_inodes.c -rw-r--r-- 4.9 KB
attr.c -rw-r--r-- 4.8 KB
bad_inode.c -rw-r--r-- 8.0 KB
binfmt_aout.c -rw-r--r-- 14.7 KB
binfmt_elf.c -rw-r--r-- 53.6 KB
binfmt_elf_fdpic.c -rw-r--r-- 48.0 KB
binfmt_em86.c -rw-r--r-- 2.8 KB
binfmt_flat.c -rw-r--r-- 26.6 KB
binfmt_misc.c -rw-r--r-- 15.1 KB
binfmt_script.c -rw-r--r-- 2.8 KB
binfmt_som.c -rw-r--r-- 7.5 KB
bio-integrity.c -rw-r--r-- 19.9 KB
bio.c -rw-r--r-- 34.1 KB
block_dev.c -rw-r--r-- 32.3 KB
buffer.c -rw-r--r-- 87.8 KB
char_dev.c -rw-r--r-- 13.1 KB
compat.c -rw-r--r-- 54.7 KB
compat_binfmt_elf.c -rw-r--r-- 3.4 KB
compat_ioctl.c -rw-r--r-- 81.0 KB
dcache.c -rw-r--r-- 60.0 KB
dcookies.c -rw-r--r-- 6.3 KB
direct-io.c -rw-r--r-- 34.0 KB
dnotify.c -rw-r--r-- 4.6 KB
dquot.c -rw-r--r-- 62.0 KB
drop_caches.c -rw-r--r-- 1.6 KB
eventfd.c -rw-r--r-- 5.3 KB
eventpoll.c -rw-r--r-- 35.8 KB
exec.c -rw-r--r-- 41.9 KB
fcntl.c -rw-r--r-- 13.4 KB
fifo.c -rw-r--r-- 3.2 KB
file.c -rw-r--r-- 12.1 KB
file_table.c -rw-r--r-- 9.8 KB
filesystems.c -rw-r--r-- 5.5 KB
fs-writeback.c -rw-r--r-- 22.4 KB
generic_acl.c -rw-r--r-- 4.2 KB
inode.c -rw-r--r-- 37.7 KB
inotify.c -rw-r--r-- 20.2 KB
inotify_user.c -rw-r--r-- 18.8 KB
internal.h -rw-r--r-- 1.4 KB
ioctl.c -rw-r--r-- 12.1 KB
ioprio.c -rw-r--r-- 5.0 KB
libfs.c -rw-r--r-- 21.1 KB
locks.c -rw-r--r-- 57.2 KB
mbcache.c -rw-r--r-- 18.3 KB
mpage.c -rw-r--r-- 19.8 KB
namei.c -rw-r--r-- 69.8 KB
namespace.c -rw-r--r-- 58.4 KB
nfsctl.c -rw-r--r-- 2.4 KB
no-block.c -rw-r--r-- 663 bytes
open.c -rw-r--r-- 26.3 KB
pipe.c -rw-r--r-- 24.2 KB
pnode.c -rw-r--r-- 8.9 KB
pnode.h -rw-r--r-- 1.1 KB
posix_acl.c -rw-r--r-- 8.5 KB
quota.c -rw-r--r-- 12.2 KB
quota_v1.c -rw-r--r-- 5.9 KB
quota_v2.c -rw-r--r-- 20.2 KB
read_write.c -rw-r--r-- 17.4 KB
read_write.h -rw-r--r-- 542 bytes
readdir.c -rw-r--r-- 6.9 KB
select.c -rw-r--r-- 20.8 KB
seq_file.c -rw-r--r-- 13.0 KB
signalfd.c -rw-r--r-- 7.1 KB
splice.c -rw-r--r-- 38.9 KB
stack.c -rw-r--r-- 1.1 KB
stat.c -rw-r--r-- 10.6 KB
super.c -rw-r--r-- 22.8 KB
sync.c -rw-r--r-- 7.1 KB
timerfd.c -rw-r--r-- 6.8 KB
utimes.c -rw-r--r-- 5.6 KB
xattr.c -rw-r--r-- 15.0 KB
xattr_acl.c -rw-r--r-- 2.3 KB

back to top