From owner-freebsd-hackers Tue Dec 5 11:24:33 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id LAA28035 for hackers-outgoing; Tue, 5 Dec 1995 11:24:33 -0800 Received: from zibbi.mikom.csir.co.za (zibbi.mikom.csir.co.za [146.64.24.58]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id LAA28008 ; Tue, 5 Dec 1995 11:23:58 -0800 Received: (from jhay@localhost) by zibbi.mikom.csir.co.za (8.6.12/8.6.9) id VAA11747; Tue, 5 Dec 1995 21:21:39 +0200 From: John Hay Message-Id: <199512051921.VAA11747@zibbi.mikom.csir.co.za> Subject: Re: ipx on 802.3 -Reply To: supervisor@alb.asctmd.com Date: Tue, 5 Dec 1995 21:21:39 +0200 (SAT) Cc: hackers@FreeBSD.ORG (FreeBSD-hackers), wollman@FreeBSD.ORG In-Reply-To: from "supervisor@alb.asctmd.com" at Dec 5, 95 08:40:37 am X-Mailer: ELM [version 2.4 PL24 ME8b] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 3069 Sender: owner-hackers@FreeBSD.ORG Precedence: bulk > > > >>>>>>>>>>>>>>> > Garrett's suggestion: > > > > So, do everyone a favor and re-write them to use the if_phys entry in > > the ifnet struct I added for specifically this purpose. Then you can > > use the IFF_LINK flags for this purpose. (Given that they were called > > IFF_LLC* in Net/2, well, you guess why they were originally added.) > > Terry's suggestion: > > > I believe it is possible to compare the address family in the file > > /sys/net/if.c in the function ifioctl() for "case SIOCSIFFLAGS" > > (at about line 531) to determin if AF_IPX is being used, and if so, > > interpret the values of IFF_LINK[0-2] differently. > > > This would be a simple hack compared to fixing all the code to > > do the right thing for the interface flags. > > > > Having read both Terry's and Garrett's sugestions, here are my thoughts > for Terry's suggestion: > > This does mean that if you want to use the IFF_LINK in a device driver, > you will have to do two ifconfig's, one "ifconfig xxx ipx xxxxx linkx" to set > 802.3 mode and one without the ipx to set a link option inside the device > driver. > > At the moment the only device drivers that use all three IFF_LINK options > are /sys/i386/isa/if_ep.c and /sys/pci/if_vx.c. The rest are only using one > and in some cases two of the IFF_LINK options. So maybe we can > change those that only use one, to use IFF_LINK2 which allready have an > alias > IFF_ALTPHYS in /sys/net/if.c? > > And here are my thoughts to Garrett's suggestion: > > This sounds like the cleanest option, but I would first like to figure out how > much work this will be. I can think of at least one user-level program > ifconfig that will have to be changed. Are there others? And what should > the option for ifconfig be called? > <<<<<<<<<<<<<<< > Sorry, I have not been closely following this thread for a while. I see a bit > of activity has transpired. Just a quick question, does your design > allow running with 802.3 AND Ethernet_II frame types on the same > interface at the same time? This should be possible... Well to be honest, I haven't designed it yet. I have only had a look in the sources especialy if_ethersubr.c and decided that by using one of the IFF_LINK flags it should be easy to add it to if_ethersubr.c. That way wouldn't cater for both frame types on the same interface. > > I was thinking about implementing something like this internal to the kernel > in the if_ethersubr.c module. I was going to extend the IPX structure to > contain a flag that was set on input as to the frame type and then convert > it internally to Ethernet_II. Then on output, I was going to format the packet > correctly and send it out to the ethernet interface. A modification like this > would then let the NS code be "folded" back in and the netns directory > could be eliminated... > If you want to do it, you are most welcome. I only wanted to do it because some of our customers wants it and I thought that I could get the capability into the FreeBSD tree at the same time. John -- John Hay -- John.Hay@csir.co.za