Bug in 2.2.1 3c59x Tx code!?

Olle Segerdahl (olle@nxs.se)
Mon, 22 Feb 1999 10:20:22 +0100 (MET)


My stock 2.2.1 has trouble transmitting large packets on my 3c590.

demonstrated with:
ping -c <#packs> -s <payload> <ip> while pinging an external ip.

Bouncing the if down and up again remedies the symptoms.

ping -c 1 -s 20000 :
--------------snip----------------
64 bytes from xxx.xxx.x.x: icmp_seq=1 ttl=128 time=0.7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=2 ttl=128 time=0.7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=3 ttl=128 time=3.9 ms
64 bytes from xxx.xxx.x.x: icmp_seq=4 ttl=128 time=1.2 ms
64 bytes from xxx.xxx.x.x: icmp_seq=5 ttl=128 time=3.7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=6 ttl=128 time=3.7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=7 ttl=128 time=27.0 ms
64 bytes from xxx.xxx.x.x: icmp_seq=8 ttl=128 time=6.9 ms
64 bytes from xxx.xxx.x.x: icmp_seq=9 ttl=128 time=156.1 ms
64 bytes from xxx.xxx.x.x: icmp_seq=10 ttl=128 time=28.2 ms
64 bytes from xxx.xxx.x.x: icmp_seq=11 ttl=128 time=1003.6 ms
64 bytes from xxx.xxx.x.x: icmp_seq=12 ttl=128 time=1000.9 ms
64 bytes from xxx.xxx.x.x: icmp_seq=13 ttl=128 time=325.1 ms
64 bytes from xxx.xxx.x.x: icmp_seq=14 ttl=128 time=1005.5 ms
64 bytes from xxx.xxx.x.x: icmp_seq=15 ttl=128 time=1002.3 ms
64 bytes from xxx.xxx.x.x: icmp_seq=16 ttl=128 time=505.3 ms
64 bytes from xxx.xxx.x.x: icmp_seq=17 ttl=128 time=1028.7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=18 ttl=128 time=28.8 ms
64 bytes from xxx.xxx.x.x: icmp_seq=19 ttl=128 time=1006.2 ms
64 bytes from xxx.xxx.x.x: icmp_seq=20 ttl=128 time=12.4 ms
64 bytes from xxx.xxx.x.x: icmp_seq=21 ttl=128 time=1028.2 ms
64 bytes from xxx.xxx.x.x: icmp_seq=22 ttl=128 time=28.5 ms
64 bytes from xxx.xxx.x.x: icmp_seq=23 ttl=128 time=1006.2 ms
--------------snip----------------
and continuing irregularites....

ping -c 2 -s 20000 :
--------------snip----------------
64 bytes from xxx.xxx.x.x: icmp_seq=0 ttl=128 time=0.8 ms
64 bytes from xxx.xxx.x.x: icmp_seq=1 ttl=128 time=6.0 ms
64 bytes from xxx.xxx.x.x: icmp_seq=2 ttl=128 time=0.7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=3 ttl=128 time=0..7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=4 ttl=128 time=0.7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=5 ttl=128 time=6.2 ms
64 bytes from xxx.xxx.x.x: icmp_seq=6 ttl=128 time=4030.1 ms
64 bytes from xxx.xxx.x.x: icmp_seq=7 ttl=128 time=4000.9 ms
64 bytes from xxx.xxx.x.x: icmp_seq=8 ttl=128 time=4000.9 ms
64 bytes from xxx.xxx.x.x: icmp_seq=9 ttl=128 time=4001.1 ms
64 bytes from xxx.xxx.x.x: icmp_seq=10 ttl=128 time=3129.9 ms
64 bytes from xxx.xxx.x.x: icmp_seq=11 ttl=128 time=4000.9 ms
64 bytes from xxx.xxx.x.x: icmp_seq=12 ttl=128 time=3403.5 ms
64 bytes from xxx.xxx.x.x: icmp_seq=13 ttl=128 time=2602.2 ms
64 bytes from xxx.xxx.x.x: icmp_seq=14 ttl=128 time=2800.7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=15 ttl=128 time=2009.6 ms
64 bytes from xxx.xxx.x.x: icmp_seq=16 ttl=128 time=2592.5 ms
64 bytes from xxx.xxx.x.x: icmp_seq=17 ttl=128 time=1947.5 ms
64 bytes from xxx.xxx.x.x: icmp_seq=18 ttl=128 time=1027.7 ms
64 bytes from xxx.xxx.x.x: icmp_seq=19 ttl=128 time=6000.6 ms
64 bytes from xxx.xxx.x.x: icmp_seq=20 ttl=128 time=8000.9 ms
64 bytes from xxx.xxx.x.x: icmp_seq=21 ttl=128 time=8000.9 ms
--------------snip----------------
and continuing delays.....

ping -c 2 -s 65400 :
--------------snip----------------
64 bytes from 151.156.1.2: icmp_seq=0 ttl=128 time=51.4 ms
64 bytes from 151.156.1.2: icmp_seq=1 ttl=128 time=2.9 ms
64 bytes from 151.156.1.2: icmp_seq=2 ttl=128 time=0.7 ms
64 bytes from 151.156.1.2: icmp_seq=3 ttl=128 time=0.7 ms
64 bytes from 151.156.1.2: icmp_seq=4 ttl=128 time=1.2 ms
64 bytes from 151.156.1.2: icmp_seq=5 ttl=128 time=1.2 ms
64 bytes from 151.156.1.2: icmp_seq=6 ttl=128 time=1.2 ms
64 bytes from 151.156.1.2: icmp_seq=7 ttl=128 time=3.7 ms
64 bytes from 151.156.1.2: icmp_seq=8 ttl=128 time=2.5 ms
64 bytes from 151.156.1.2: icmp_seq=9 ttl=128 time=2.6 ms
64 bytes from 151.156.1.2: icmp_seq=10 ttl=128 time=1.2 ms
64 bytes from 151.156.1.2: icmp_seq=11 ttl=128 time=7.3 ms
^C
--- ping statistics ---
39 packets transmitted, 12 packets received, 69% packet loss
--------------snip----------------
and the ip-stack seems more or less deprived of network traffic...

/olle

----
God is real, until declared integer.

-
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/