SUN-3s talking to SUN-2s with 3COM boards

Chris Torek chris at umcp-cs.UUCP
Thu May 8 00:12:10 AEST 1986


In article <1359 at umcp-cs.UUCP> steve at maryland.UUCP (Steve D. Miller) writes:
>In article <1428 at unc.unc.UUCP> menges at unc.UUCP (John Menges) writes:
>>  2.  What does it mean to "slow down the ethernet board"? ...
>
>   Cthulhu knows what they mean by this ....

Actually, I suspect they mean something along these lines:

	/*
	 * Start transmission on an ie.
	 */
	ieoutput(sc)
		struct ie_softc *sc;
	{
		...
	#ifdef UGLY_KLUDGE
		if (sc->sc_flags & SF_NEEDDELAY) {
			sc->sc_flags &= ~SF_NEEDDELAY;
			timeout(ieoutput, (caddr_t) sc, 1);
			return;
		}
	#endif
		...
		ie->ie_command_register = IE_DO_A_SEND;
	#ifdef UGLY_KLUDGE
		sc->sc_flags |= SF_NEEDDELAY;
	#endif
	}

This would introduce a two tick delay per packet, which gives a
maximum transmission rate of 25 packets per second (ugh).  It might
work to do timeout(..., 0), giving 50 packets/sec; but that is
still awful.

Another alternative, if you do not mind wasting CPU, is

		ie->ie_command_register = IE_DO_A_SEND;
	#ifdef OTHER_UGLY_KLUDGE
		DELAY(1000);	/* ~1 ms, hope that is long enough */
	#endif

I used something like the latter to get around a microcode bug in
UDA50s (though I no longer need to get around it: I now simply
avoid the situation in which the bug shows up).
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 1415)
UUCP:	seismo!umcp-cs!chris
CSNet:	chris at umcp-cs		ARPA:	chris at mimsy.umd.edu



More information about the Comp.unix.wizards mailing list