Network code/ADSL bug

Henrik Olsen (renec@zorro.adsl.pangea.ca)
Sat, 30 Jan 1999 10:22:12 -0600 (CST)


My machine is a Intel Pentium 233 w/64 megs ram, connected to the internet
via a Pulsecom ADSL-8000 and standard NE2000 PCI ethernet card.
ne2k-pci.c: PCI NE2000 clone 'RealTek RTL-8029' at I/O 0xeec0, IRQ 10.

My linux 2.2.1 box will not communicate to -some- sites via port 80
(perhaps others) when the MTU is set to 1500, while it would when running
2.0.36 with the same setup.

If I set my MTU to 1464 or lower via ifconfig, it will communicate just
fine. The site I have used in my tcpdumps and while testing it was
www.hotmail.com (port 80), although other sites (www.linuxhq.com,
www.linux.org.uk) would not work as well.

With www.linuxhq.com, and most others, I could get the data by attempting
to connect, stopping, then attempting again. With hotmail, and
linux.org.uk, this would not work.

I confirmed there was a network-related problem and not a netscape problem
by using telnet to connect to port 80 or of the above sites. Issuing a
'GET /' reliably produced nothing, although it would connect ok.

I confirmed it was a problem peculiar to the 2.2.x kernel, by connecting
succesfully in the exact same method with not only a similar machine with
2.0.36, but also with this machine with the older kernel. They both
connected reliably.

I performed a tcpdump on that port when it did not work, and again when I
got it to work (by lowering the MTU), which I have pasted in below.

Other network activity such as ftp/irc/ssh/smb seemed to work properly,
and I had no problems with anything other than http.

As I have not encountered any others with the same problem, I assume that
it has something to do with my setup. One of the things that I could not
change in regards to my network setup was that I am connected via a
Pulsecom ADSL-8000 to the internet.

The Pulsecom ADSL-8000 does 'address translation'. As in, my Linux box is
192.168.100.101, and address ADSL box (the gateway) as 192.168.100.100.

The internet sees the ADSL box as 206.45.92.94, and does the translation
from addresses on the 192.168 side to the 206.45 side automatically.

I suspect there is some way in which the ADSL box interprets what is sent
by the 2.2.x kernel with a higher MTU which causes the information not to
be sent, or sent unreliably. This is not my area of expertise, and I am
just guessing.

I probably spent 12 hours trying to get this to work, and recompiled the
kernel at least 10 times. I am not sure what else I can provide as to
debugging information, but if you need anything else from me please email
me at renec@zorro.pangea.ca.

I am very interested in knowing what causes this.

Sincerely,
Rene Chaddock

P.S. Although most sites seem to work, I still can't access say,
www.pangea.ca, which the 2.0.36 box can. however, I'm cutting my losses
and saying changing the mtu fixes it in any case (perhaps its a netscape
problem..)

----------------TCPDUMP PORT 80, MTU 1500, UNSUCCESFULL---------------
10:16:07.087708 zeus.pangea.ca.1129 > law-entrance.hotmail.com.http: S
371996306:371996306(0) win 32120 <mss 1460,sackOK,timestamp 1021905[|tcp]>
(DF) [tos 0x10]
10:16:07.321972 law-entrance.hotmail.com.http > zeus.pangea.ca.1129: S
983818691:983818691(0) ack 371996307 win 17376 <mss 1460,nop,wscale
0,nop,nop,timestamp[|tcp]> (DF)
10:16:07.322138 zeus.pangea.ca.1129 > law-entrance.hotmail.com.http: . ack
1 win 32120 <nop,nop,timestamp 1021928 745669> (DF) [tos 0x10]
10:16:08.530013 zeus.pangea.ca.1129 > law-entrance.hotmail.com.http: P
1:8(7) ack 1 win 32120 <nop,nop,timestamp 1022049 745669> (DF) [tos 0x10]
10:16:08.808903 law-entrance.hotmail.com.http > zeus.pangea.ca.1129: P
1449:2049(600) ack 8 win 17376 <nop,nop,timestamp 745672 1022049> (DF)
10:16:08.809080 zeus.pangea.ca.1129 > law-entrance.hotmail.com.http: . ack
1 win 32120 <nop,nop,timestamp 1022077 745672> (DF) [tos 0x10]

--------------TCP DUMP PORT 80 MTU 1464 SUCCESSFUL---------------------
10:06:38.841525 zeus.pangea.ca.1123 > law-entrance.hotmail.com.http: S
4076209216:4076209216(0) win 32752 <mss 1424,sackOK,times
tamp 965080[|tcp]> (DF) [tos 0x10]
10:06:39.079919 law-entrance.hotmail.com.http > zeus.pangea.ca.1123: S
1376353237:1376353237(0) ack 4076209217 win 16944 <mss 14
60,nop,wscale 0,nop,nop,timestamp[|tcp]> (DF)
10:06:39.080119 zeus.pangea.ca.1123 > law-entrance.hotmail.com.http: . ack
1 win 32752 <nop,nop,timestamp 965104 5410> (DF) [tos
0x10]
10:06:39.931676 zeus.pangea.ca.1123 > law-entrance.hotmail.com.http: P
1:8(7) ack 1 win 32752 <nop,nop,timestamp 965189 5410> (D
F) [tos 0x10]
10:06:40.221374 law-entrance.hotmail.com.http > zeus.pangea.ca.1123: .
1:1413(1412) ack 8 win 16944 <nop,nop,timestamp 5412 9651
89> (DF)
10:06:40.221559 zeus.pangea.ca.1123 > law-entrance.hotmail.com.http: . ack
1413 win 31340 <nop,nop,timestamp 965218 5412> (DF) [
tos 0x10]
10:06:40.222239 law-entrance.hotmail.com.http > zeus.pangea.ca.1123: P
1413:2049(636) ack 8 win 16944 <nop,nop,timestamp 5412 96
5189> (DF)
10:06:40.237208 zeus.pangea.ca.1123 > law-entrance.hotmail.com.http: . ack
2049 win 32752 <nop,nop,timestamp 965220 5412> (DF) [
tos 0x10]
10:06:40.509113 law-entrance.hotmail.com.http > zeus.pangea.ca.1123: .
2049:3461(1412) ack 8 win 16944 <nop,nop,timestamp 5413 9
65218> (DF)
10:06:40.516677 law-entrance.hotmail.com.http > zeus.pangea.ca.1123: .
3461:4873(1412) ack 8 win 16944 <nop,nop,timestamp 5413 9
65218> (DF)
10:06:40.516808 zeus.pangea.ca.1123 > law-entrance.hotmail.com.http: . ack
4873 win 31064 <nop,nop,timestamp 965247 5413> (DF) [
tos 0x10]
10:06:40.521059 law-entrance.hotmail.com.http > zeus.pangea.ca.1123: FP
4873:5862(989) ack 8 win 16944 <nop,nop,timestamp 5413 9
65220> (DF)
10:06:40.521196 zeus.pangea.ca.1123 > law-entrance.hotmail.com.http: . ack
5863 win 31064 <nop,nop,timestamp 965248 5413> (DF) [
tos 0x10]
10:06:40.580445 zeus.pangea.ca.1123 > law-entrance.hotmail.com.http: F
8:8(0) ack 5863 win 32476 <nop,nop,timestamp 965254 5413>
(DF) [tos 0x10]
10:06:40.810059 law-entrance.hotmail.com.http > zeus.pangea.ca.1123: . ack
9 win 16944 <nop,nop,timestamp 5414 965254> (DF)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/