From owner-freebsd-hackers Sun May 14 03:21:43 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id DAA03437 for hackers-outgoing; Sun, 14 May 1995 03:21:43 -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 DAA03426 for ; Sun, 14 May 1995 03:21:38 -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 DAA01375; Sun, 14 May 1995 03:24:43 -0700 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.11/8.6.5) with SMTP id DAA00807; Sun, 14 May 1995 03:21:38 -0700 Message-Id: <199505141021.DAA00807@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 02:52:34 PDT." <199505140952.CAA03247@gndrsh.aac.dev.com> From: David Greenman Reply-To: davidg@Root.COM Date: Sun, 14 May 1995 03:21:38 -0700 Sender: hackers-owner@FreeBSD.org Precedence: bulk >> >with DOS machines and packet drivers. When I used a client with the Novell ODI >> >drivers it did not work until I changed ETHER_MIN to 60. Now I know that the >> >ODI driver probably have a bug because they shouldn't care what the size of >> >the packet is, but that led me to believe that the minimum packet size was too >> >big. (64 bytes plus 4 for the CRC) >> > >> >One of my standard patches now is to change ETHER_MIN_LEN to 60. >> >> Gack. I think you're right. ETHER_MIN_LEN is used to round up small [IP] >> packets to the minimum size that ethernet supports. This is actually 60 >> bytes of data. At one time this constant was also used in other places (and in >> those places its use was correct). ETHER_MAX_LEN should probably be changed to >> 1514 and then +4 added to it when comparing to "len" (which is header+data). >> I'll check my documentation and investigate further. If the change to 60 is >> indeed correct, I'll commit it to CVS tonight. > >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'. -DG