Subject: Re: Dynamic registry of ehternet frame types
To: Martin Husemann <martin@duskware.de>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: tech-kern
Date: 11/12/2003 12:04:54
On Wed, Nov 12, 2003 at 08:49:33AM +0100, Martin Husemann wrote:
> Hi folks,
> 
> apparently there are strange PPPoE implementations out there (I bet you knew
> that already). Some use different ethernet frame types.
> 
> In userland PPPoE implementations it is easy to change this on the command
> line, so I thought we could support that with our in-kernel stuff to. It
> is easy to make the frame types configurable via pppoectl - but it has
> some impact on the kernel ethernet input path.
> 
> Currently there is a big switch statement in ether_input that dispatches
> the frame type. Obviously the case labels need to be constant ;-)
> 
> For the above application we would need a dynamic registry (a list of
> ethernet frame types and callback function to pass the mbuf), which ether_input
> would use in the default: case.
> 
> This has the additional advantage that it enables LKMs to register and handler
> additional ethernet frame types. It would not affect the efficiency of 
> hardwired frame types.
> 
> Do you think this is worth the effort?

I think it's worth the effort, independantly from the problem you're trying
to solve. It would be nice to be able to support LKM for network protocol
stacks.

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 23 ans d'experience feront toujours la difference
--