Date: Sun, 14 May 1995 04:03:48 -0700 From: David Greenman <davidg@Root.COM> To: "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.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: <199505141103.EAA00854@corbin.Root.COM> In-Reply-To: Your message of "Sun, 14 May 95 03:48:01 PDT." <199505141048.DAA03372@gndrsh.aac.dev.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>> >To maintain full compatibilty 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 interpretted that to mean >the packet with CRC, some interpretted 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). -DG
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199505141103.EAA00854>