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>