Subject: Re: netatalk support
To: Tom T. Thai <tomthai@future.net>
From: Bill Studenmund <skippy@macro.stanford.edu>
List: current-users
Date: 09/03/1997 11:39:35
On Wed, 3 Sep 1997, Tom T. Thai wrote:

> On Wed, 3 Sep 1997, Bill Studenmund wrote:
> 
> > > I couldn't access fugue so I tried to dl the current unpatched beta.
> 
> it's strange, but ftping to fogue from netscape timed out, but from shell
> it works fine..
> 
> another thing.. I hate recompiling my kernel and reboot just to add
> options NETATALK.. what happend to LKM?

We don't support protocol lkm's right now. Two changes would have to
happen. First, we'd need to change how protocol interrupts get processed.
Right now, they are dispatched in M.D. code. Basically the dispath is a
set of things like:

#ifdef NETATALK
        if (netisr & (1 << NETISR_ATALK)) {
                netisr &= ~(1 << NETISR_ATALK);
                atintr();
        }
#endif
#ifdef NS
        if (netisr & (1 << NETISR_NS)) {
                netisr &= ~(1 << NETISR_NS);
                nsintr();
        }
#endif

We need to generalize that to look at slots in a jump table. We also need
to generalize the input and output routines in if_ethersubr.c to handle
added-on-the-fly routines.

Then, we need to re-vamp things so that we can remove a protocol cleanly.
I'm working on changes to permit removing interfaces, and it's turned into
a lot of work, because the current networking code just isn't make with
disapearing ifnet's in mind. I think we'd run into the same thing with
protocols (though probably not as bad).

I'm not saying we shouldn't do this, it's just we have a bit to do first.

Take care,

Bill