Date: Sun, 2 Jul 1995 14:36:51 +1000 From: Bruce Evans <bde@zeta.org.au> To: current@freebsd.org Cc: bde@zeta.org.au Subject: serial ip congestion Message-ID: <199507020436.OAA32241@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
The system seems to be unable to handle more than one active line at 115200 bps. With 2 lines at 11500 bps, each line takes turns transmitting. There seems to be a problem with lost or delayed acks. tcpdump usually shows output something like this: 02:40:35.300351 a0.1023 > a4.cmd: . 0:1440(1440) ack 1 win 17280 <nop,nop,timestamp 89586 89566,nop,nop,cc 7> [tos 0x8] 02:40:35.503441 a4.cmd > a0.1023: . ack 1440 win 15840 <nop,nop,timestamp 89587 89586,nop,nop,cc 8> 02:40:35.503892 a0.1023 > a4.cmd: . 1440:2880(1440) ack 1 win 17280 <nop,nop,timestamp 89587 89587,nop,nop,cc 7> [tos 0x8] 02:40:35.512789 a0.1023 > a4.cmd: . 2880:4320(1440) ack 1 win 17280 <nop,nop,timestamp 89587 89587,nop,nop,cc 7> [tos 0x8] 02:40:35.696198 a4.cmd > a0.1023: . ack 2880 win 15840 <nop,nop,timestamp 89587 89587,nop,nop,cc 8> 02:40:35.696636 a0.1023 > a4.cmd: . 4320:5760(1440) ack 1 win 17280 <nop,nop,timestamp 89587 89587,nop,nop,cc 7> [tos 0x8] 02:40:35.696895 a0.1023 > a4.cmd: . 5760:7200(1440) ack 1 win 17280 <nop,nop,timestamp 89587 89587,nop,nop,cc 7> [tos 0x8] 02:40:35.862330 a4.cmd > a0.1023: . ack 4320 win 15840 <nop,nop,timestamp 89588 89587,nop,nop,cc 8> 02:40:35.862889 a0.1023 > a4.cmd: . 7200:8640(1440) ack 1 win 17280 <nop,nop,timestamp 89588 89588,nop,nop,cc 7> [tos 0x8] 02:40:35.863073 a0.1023 > a4.cmd: . 8640:9120(480) ack 1 win 17280 <nop,nop,timestamp 89588 89588,nop,nop,cc 7> [tos 0x8] 02:40:36.020688 a4.cmd > a0.1023: . ack 5760 win 15840 <nop,nop,timestamp 89588 89587,nop,nop,cc 8> 02:40:36.021168 a0.1023 > a4.cmd: . 9120:10560(1440) ack 1 win 17280 <nop,nop,timestamp 89588 89588,nop,nop,cc 7> [tos 0x8] dup acks: 02:40:36.343629 a4.cmd > a0.1023: . ack 5760 win 17280 <nop,nop,timestamp 89589 89587,nop,nop,cc 8> 02:40:36.390202 a4.cmd > a0.1023: . ack 5760 win 17280 <nop,nop,timestamp 89589 89587,nop,nop,cc 8> long pause send again: 02:40:39.800301 a0.1023 > a4.cmd: . 5760:7200(1440) ack 1 win 17280 <nop,nop,timestamp 89595 89589,nop,nop,cc 7> [tos 0x8] 02:40:39.987871 a4.cmd > a0.1023: . ack 10080 win 12960 <nop,nop,timestamp 89596 89595,nop,nop,cc 8> OK now 02:40:39.988292 a0.1023 > a4.cmd: . 10080:11520(1440) ack 1 win 17280 <nop,nop,timestamp 89596 89596,nop,nop,cc 7> [tos 0x8] 02:40:39.992211 a0.1023 > a4.cmd: . 11520:12960(1440) ack 1 win 17280 <nop,nop,timestamp 89596 89596,nop,nop,cc 7> [tos 0x8] 02:40:39.992540 a4.cmd > a0.1023: . ack 10080 win 16416 <nop,nop,timestamp 89596 89595,nop,nop,cc 8> 02:40:40.289384 a4.cmd > a0.1023: . ack 12960 win 16608 <nop,nop,timestamp 89596 89596,nop,nop,cc 8> 02:40:40.289799 a0.1023 > a4.cmd: . 12960:14400(1440) ack 1 win 17280 <nop,nop,timestamp 89596 89596,nop,nop,cc 7> [tos 0x8] 02:40:40.296508 a0.1023 > a4.cmd: . 14400:15840(1440) ack 1 win 17280 <nop,nop,timestamp 89596 89596,nop,nop,cc 7> [tos 0x8] 02:40:40.296762 a0.1023 > a4.cmd: . 15840:17280(1440) ack 1 win 17280 <nop,nop,timestamp 89596 89596,nop,nop,cc 7> [tos 0x8] 02:40:40.531287 a4.cmd > a0.1023: . ack 14400 win 17280 <nop,nop,timestamp 89597 89596,nop,nop,cc 8> 02:40:40.531670 a0.1023 > a4.cmd: . 17280:18720(1440) ack 1 win 17280 <nop,nop,timestamp 89597 89597,nop,nop,cc 7> [tos 0x8] 02:40:40.722439 a4.cmd > a0.1023: . ack 15840 win 17280 <nop,nop,timestamp 89597 89596,nop,nop,cc 8> 02:40:40.722852 a0.1023 > a4.cmd: . 18720:20160(1440) ack 1 win 17280 <nop,nop,timestamp 89597 89597,nop,nop,cc 7> [tos 0x8] 02:40:40.931900 a4.cmd > a0.1023: . ack 17280 win 17280 <nop,nop,timestamp 89598 89596,nop,nop,cc 8> 02:40:40.932352 a0.1023 > a4.cmd: . 20160:21600(1440) ack 1 win 17280 <nop,nop,timestamp 89598 89598,nop,nop,cc 7> [tos 0x8] 02:40:41.132582 a4.cmd > a0.1023: . ack 18720 win 17280 <nop,nop,timestamp 89598 89597,nop,nop,cc 8> 02:40:41.133029 a0.1023 > a4.cmd: . 21600:23040(1440) ack 1 win 17280 <nop,nop,timestamp 89598 89598,nop,nop,cc 7> [tos 0x8] 02:40:41.133325 a0.1023 > a4.cmd: . 23040:24480(1440) ack 1 win 17280 <nop,nop,timestamp 89598 89598,nop,nop,cc 7> [tos 0x8] 02:40:41.331971 a4.cmd > a0.1023: . ack 20160 win 17280 <nop,nop,timestamp 89599 89597,nop,nop,cc 8> 02:40:41.332444 a0.1023 > a4.cmd: . 24480:25920(1440) ack 1 win 17280 <nop,nop,timestamp 89599 89599,nop,nop,cc 7> [tos 0x8] short pause dup ack: 02:40:41.807865 a4.cmd > a0.1023: . ack 20160 win 17280 <nop,nop,timestamp 89599 89597,nop,nop,cc 8> long pause send again: 02:40:44.300298 a0.1023 > a4.cmd: . 20160:21600(1440) ack 1 win 17280 <nop,nop,timestamp 89604 89599,nop,nop,cc 7> [tos 0x8] --- Configuration: -current all on one system my new cy driver 8 ports on connected in pairs, 2 pairs active default mtu (1500) speed 115200 bps test: rcp /kernel a4:/tmp/k4 & rcp /kernel a5:/tmp/k5 & The following variations don't help: cslip instead of ppp 2 systems sio driver on one system, cy driver on other 2 ports on each system, both pairs active mtu = mru = 16384 The following variation helps: speed 57600 (even with 4 active pairs, there are no long pauses, although there are short pauses when the disk is written to, and throughput is on 4 * 4.4K/sec). No errors were reported by the drivers or by pppstats. I noticed many bugs in the man pages: pppstats.8: The `ip' field isn't documented. The `ip' field seems to be backwards. It seems to count udp packets. `connection' is spelled `connectoin' in one place. `pppstats' should be named `pppstat' slstat.8: `slstat' calls itself `vmstat' in one place. The documented default fields are in out pack comp uncomp unknwn toss other err search miss coll but the actual default fields are in pack comp uncomp unknwn out pack comp uncomp other. There is no cross reference to `pppstats'. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199507020436.OAA32241>