Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!ames!amdahl!rtech!wrs!hwajin From: hwajin@wrs.wrs.com (Hwajin Bae) Newsgroups: comp.protocols.tcp-ip Subject: Re: Number of TCP retries Message-ID: <779@wrs.wrs.com> Date: 17 Oct 89 23:32:35 GMT References: <8910131437.AA06523@ucbvax.Berkeley.EDU> Reply-To: hwajin@wrs.wrs.com (Hwajin Bae) Organization: Wind River Systems, Emeryville, CA Lines: 19 In article <8910131437.AA06523@ucbvax.Berkeley.EDU> craig@NNSC.NSF.NET (Craig Partridge) writes: >> 4) When programming an Ethernet controller (e.g. Lance chip), how many >> times should the controller retransmit the packet when it detects >> collisions and other errors before giving up and reporting an error >> to the driver? When transmission fails due to the collision LANCE will attempt to retry up to 15 times. The famous "truncated binary exponential backoff" algorithm comes in to play between retries. When collision jam signal is subsided, LANCE will recalculate a delay before transmitting as an integral multiple of the slot time (512 bit). The number of slot times to delay before the nth retransmission is chosen as a uniformly distributed random integer in the range: 0 <= r <= 2^k where k = min (n, 10) according to the LANCE manual. If all 16 attempts fail, RTRY bit in TMD3 will be set. You can't control this logical from your driver so it's a given; you write your driver to conform to this feature. -- Hwajin Bae Wind River Systems, Emeryville, CA