Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Dec 1995 21:21:39 +0200 (SAT)
From:      John Hay <jhay@mikom.csir.co.za>
To:        supervisor@alb.asctmd.com
Cc:        hackers@FreeBSD.ORG (FreeBSD-hackers), wollman@FreeBSD.ORG
Subject:   Re: ipx on 802.3 -Reply
Message-ID:  <199512051921.VAA11747@zibbi.mikom.csir.co.za>
In-Reply-To: <s0c405b9.015@alb.asctmd.com> from "supervisor@alb.asctmd.com" at Dec 5, 95 08:40:37 am

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> 
> >>>>>>>>>>>>>>>
> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512051921.VAA11747>