Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 May 1995 04:10:07 -0700 (PDT)
From:      "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com>
To:        davidg@Root.COM
Cc:        jhay@mikom.csir.co.za, seki@sysrap.cs.fujitsu.co.jp, FreeBSD-Hackers@FreeBSD.org
Subject:   Re: Questions/comments on ed driver
Message-ID:  <199505141110.EAA03438@gndrsh.aac.dev.com>
In-Reply-To: <199505141103.EAA00854@corbin.Root.COM> from "David Greenman" at May 14, 95 04:03:48 am

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> >> >To maintain full compatibility with all old Ethernet systems we should never
> >> >generate a packet on the wire shorter than 64 bytes (the new standard) but
> >> >should accept packets of 60 bytes.  This was changed 8 years ago or something
> >> >like that and I just find it amazing that people still have not fixed there
> >> >broken code :-(.
> >> 
> >>    Ummm, according to the "DEC 21140" and the "WD83C690" specifications, the
> >> minimum 802.3 frame consists of 12 bytes of address (6 src + 6 dst), 2 byte
> >> type/length, 46 bytes of data, and 4 byte CRC. This is 64 bytes. However, the
> >> "length" is in terms of what the host puts into the buffer and doesn't include
> >> the CRC if automatic CRC generation is enabled on the card (it is). So from
> >> this perspective, the proper value as I read it is '60'.
> >
> >And both chips are designed to Ethernet II, aka 802.3 standards.  The older
> >Ethernet I standard did not state the number of data bytes, it just said
> >the packet size should be 60 bytes.  Some folks interpreted that to mean
> >the packet with CRC, some interpreted it to mean without CRC.  That is
> >one of the reasons we ever got an Ethernet II/802.3 specification,
> >as the original was ambiguous.
> >
> >Trust me, I have seen enough 60 byte packets come down a wire in my
> >life time that it makes me sick, this are 42 data byte packets and
> >it is the reason I always program the 825X6 chips with this config
> >byte:
> >        cb_conf->byte[10] = 60;         /* minimum number of bytes is a frame */
> >
> >Note that Intel's default (and 802.3 table) value for this register is
> >64.
> 
>    I wasn't doubting you, but was mearly pointing out that despite what you
> were saying, that there was a bug in the driver after all. The way it was, the
> minimum data portion was 50 bytes rather than 46 (for a total frame length of
> 68 bytes).

Understood, but is what I am trying to ascertain is:

	Will the ed driver properly receive and pass up to the upper
	layers a packet with 42 data bytes???  If not, you should fix
	it to do that as well for compatibility with some really really
	old junk.

-- 
Rod Grimes                                      rgrimes@gndrsh.aac.dev.com
Accurate Automation Company                   Custom computers for FreeBSD



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199505141110.EAA03438>