From owner-freebsd-net Tue Nov 17 08:42:23 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id IAA03357 for freebsd-net-outgoing; Tue, 17 Nov 1998 08:42:23 -0800 (PST) (envelope-from owner-freebsd-net@FreeBSD.ORG) Received: from sasami.jurai.net (sasami.jurai.net [207.153.65.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id IAA03344 for ; Tue, 17 Nov 1998 08:42:19 -0800 (PST) (envelope-from winter@jurai.net) Received: from localhost (winter@localhost) by sasami.jurai.net (8.8.8/8.8.7) with SMTP id LAA03445; Tue, 17 Nov 1998 11:41:53 -0500 (EST) Date: Tue, 17 Nov 1998 11:41:53 -0500 (EST) From: "Matthew N. Dodd" To: Jeroen Ruigrok/Asmodai cc: freebsd-net@FreeBSD.ORG, John Hay Subject: Re: Frametypes (was: Re: Netware client for FreeBSD) In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, 17 Nov 1998, Jeroen Ruigrok/Asmodai wrote: > On 16-Nov-98 Matthew N. Dodd wrote: > > On Mon, 16 Nov 1998, Jeroen Ruigrok/Asmodai wrote: > >> Well there has to be a nice idea how to solve it. Most likely as an > >> extension to rc.conf to the interfaces. > > > > How about something like this: > > > > ed0: flags=8843 mtu 1500 > > frame 0: Ethernet_II > > inet 10.0.1.60 netmask 0xffffff00 broadcast 10.0.1.255 > > ipx d3343.e8c4a06f > > frame 1: Ethernet_802.2 > > inet 10.5.1.20 netmask 0xffffff00 broadcast 10.5.1.255 > > ipx dead3.beef0000 > > ether 00:00:e8:c4:a0:6f > > > > ifconfig ed0 frame 2 ethernet_802.3 > > > > By default, the first frame type allocated would be Ethernet_II (no > > changes would be required for existing systems; ifconfig ed0 inet ... > > would work as normal.) > > In my opinion that would be great, and simple to extend to the > ifconfig source afaik. > > Simple, elegant and workable ;) Very 'Netware' ish. :) The problem is not extending ifconfig but creating a new structure to hang off of the struct ifnet that would contain the various ifaddr structs. struct ifframe { int frame; /* frame type */ struct ifaddr *if_addrlist; /* address of interface */ struct ifnet *ifa_ifp; /* back-pointer to interface */ struct ifframe *iff_next; /* next frame type */ }; Of course this means that a great deal of code has to be changed; code that expects fp->if_addrlist to be the list of addresses, and won't know how to deal with parsing addresses out of the above struct. In addition, how would routing b/t different frame types on a single board work? In my example I showed an IP address on an Ethernet_II frame and an Ethernet_802.2 frame; would routing work as normal? I'm guessing it would jsut dow the right thing but I'm not positive (not having looked at the code in question yet.) Anyhow, someone with more time should look at this as I've got to make progress on other things before I can divert my attention to this. -- | Matthew N. Dodd | 78 280Z | 75 164E | 84 245DL | FreeBSD/NetBSD/Sprite/VMS | | winter@jurai.net | This Space For Rent | ix86,sparc,m68k,pmax,vax | | http://www.jurai.net/~winter | Are you k-rad elite enough for my webpage? | To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message