Subject: Re: HME stuff
To: James Sharp <jsharp@psychoses.org>
From: Paul Kranenburg <pk@cs.few.eur.nl>
List: port-sparc
Date: 03/18/2000 12:52:07
> +/* #define _HME_BUFSZ  1536  More original stuff */
> +#define _HME_BUFSZ     6144    /* Beef up the buffers */

It doesn't make much sense to make the buffer size that large; most of
it will never be used, given the usual packet sizes on the wire.

The original value of 1536 is too low, however, for reasons which
are not completely clear to me, but seem to be related to the burst
sizes used on the bus. See also the extremely vague commentary in
the SunOS 5.x header files.

The constraint on the buffer size mentioned in the manual is that
its size should be a multiple of 64. 1536 is the lowest number
fitting that constraint greater than the maximum expected packet size.
In practice, using this buffer size induces "buffer overflows" errors
on the reception of maximum sized (e.g. 1514 bytes) ethernet packets.

Using a buffer size of 1600 seems to avoid all this. My conjecture is
that somehow the chip's logic requires the buffer to be able to hold
a complete sbus burst beyond the end of the actual data.

-pk