From owner-freebsd-hackers Sun May 14 02:43:10 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id CAA02070 for hackers-outgoing; Sun, 14 May 1995 02:43:10 -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 CAA02057 for ; Sun, 14 May 1995 02:43:00 -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 CAA01320; Sun, 14 May 1995 02:46:02 -0700 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.11/8.6.5) with SMTP id CAA00786; Sun, 14 May 1995 02:42:58 -0700 Message-Id: <199505140942.CAA00786@corbin.Root.COM> To: John Hay cc: seki@sysrap.cs.fujitsu.co.jp, FreeBSD-Hackers@FreeBSD.org Subject: Re: Questions/comments on ed driver In-reply-to: Your message of "Sat, 14 May 95 10:41:50 +0200." <199505140841.KAA20547@zibbi.mikom.csir.co.za> From: David Greenman Reply-To: davidg@Root.COM Date: Sun, 14 May 1995 02:42:52 -0700 Sender: hackers-owner@FreeBSD.org Precedence: bulk >> >I examined the ed driver (of 950412 SNAP.) I found some (essentially >> >2) strangeness in it. I'm not sure I found bugs or just >> >misunderstood. >> > >> >It is appreciated if you hackers give me comments. >> > >> >1. If_ed.c defines ETHER_MAX be 1518 and ETHER_MIN 64. The length >> >includes 4 bytes for CRC. However, it looks like the program compares >> >them against packet lengths *without* CRC. >> >> Actually, the other 4 bytes is for the DS8390 packet header. The comparison >> is correct. >> >I'm not sure that ETHER_MIN is correct. During December I hacked the NETNS code >to do IPX, so that I could use a FreeBSD box to do IPX routing. I worked fine >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. -DG