From owner-freebsd-hackers Sun May 14 04:03:50 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id EAA06274 for hackers-outgoing; Sun, 14 May 1995 04:03:50 -0700 Received: from Root.COM (implode.Root.COM [198.145.90.1]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id EAA06268 for ; Sun, 14 May 1995 04:03:47 -0700 Received: from corbin.Root.COM (corbin.Root.COM [198.145.90.18]) by Root.COM (8.6.8/8.6.5) with ESMTP id EAA01446; Sun, 14 May 1995 04:06:53 -0700 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.11/8.6.5) with SMTP id EAA00854; Sun, 14 May 1995 04:03:49 -0700 Message-Id: <199505141103.EAA00854@corbin.Root.COM> To: "Rodney W. Grimes" cc: jhay@mikom.csir.co.za, seki@sysrap.cs.fujitsu.co.jp, FreeBSD-Hackers@FreeBSD.org Subject: Re: Questions/comments on ed driver In-reply-to: Your message of "Sun, 14 May 95 03:48:01 PDT." <199505141048.DAA03372@gndrsh.aac.dev.com> From: David Greenman Reply-To: davidg@Root.COM Date: Sun, 14 May 1995 04:03:48 -0700 Sender: hackers-owner@FreeBSD.org Precedence: bulk >> >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