From owner-freebsd-hackers Sun May 14 04:10:47 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id EAA06331 for hackers-outgoing; Sun, 14 May 1995 04:10:47 -0700 Received: from gndrsh.aac.dev.com (gndrsh.aac.dev.com [198.145.92.241]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id EAA06325 for ; Sun, 14 May 1995 04:10:43 -0700 Received: (from rgrimes@localhost) by gndrsh.aac.dev.com (8.6.11/8.6.9) id EAA03438; Sun, 14 May 1995 04:10:07 -0700 From: "Rodney W. Grimes" Message-Id: <199505141110.EAA03438@gndrsh.aac.dev.com> Subject: Re: Questions/comments on ed driver To: davidg@Root.COM Date: Sun, 14 May 1995 04:10:07 -0700 (PDT) Cc: jhay@mikom.csir.co.za, seki@sysrap.cs.fujitsu.co.jp, FreeBSD-Hackers@FreeBSD.org In-Reply-To: <199505141103.EAA00854@corbin.Root.COM> from "David Greenman" at May 14, 95 04:03:48 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2307 Sender: hackers-owner@FreeBSD.org Precedence: bulk > > >> >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