Thread (44 messages) 44 messages, 10 authors, 2006-08-20

Re: Stackable devices.

From: Ben Greear <hidden>
Date: 2006-08-08 16:36:44

Christophe Devriese wrote:
On Wed, Aug 02, 2006 at 10:50:08AM -0700, Ben Greear wrote:
quoted
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.
Well, it isn't actually needed for VLANs since VLAN's hook is a protocol
handler....

Ben

-- 
Ben Greear [off-list ref]
Candela Technologies Inc  http://www.candelatech.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help