Subject: Re: Stackable devices.

From: Christophe Devriese <[email-masked]>
Date: Tue, 8 Aug 2006 14:03:07 +0200

On Wed, Aug 02, 2006 at 10:50:08AM -0700, Ben Greear wrote:
> Currently, the bridge hook logic is something like:
> 
> if (bridge-consumed-pkt) {
> 	return
> }
> 
> // drop through to other layers
> 
> 
> There are several other hooks I'd like to see added (pktgen receive 
> processing,
> mac-vlans, etc).  Each of these hooks are logically similar to the bridge 
> hook,
> ie if it consumes the pkt, return, else, drop through to the next hook 
> untill
> we get to the regular protocol processing logic.
> 
> I would like to be able to chain layer-2 handlers, such as bridge, mac-vlan,
> pktgen such that if one consumed, you break out of the handling, else, you
> try the next handler.  The handlers can be dynamically registered and 
> inserted
> in any order, controllable by user-space and/or module load/unload.
> 
> For many of the handlers, the logic will re-insert the packet by re-calling 
> the
> netif-rx logic, so there would need to be some protection to keep loops from
> occurring that would recurse too much and overflow the stack.

I'm also a big fan of a generalized system like this. It would need to
catch both the vlan accelerated path and the normal path.

-- 
-----------------------------------------------------------------------
Christophe Devriese                                               EURiD
Network Adminstrator / Developer
[email-masked]
---------------------------- http://www.eth1.org ----------------------