On Wed, 2 Aug 2006 11:02:20 +0200
Christophe Devriese <[EMAIL PROTECTED]> wrote:

> On Tuesday 01 August 2006 19:21, you wrote:
> > John W. Linville wrote:
> > >>>I'm just not sure that cleverness is worth the headache, especially
> > >>>since the most clever things usually only work by accident...
> > >>
> > >>Or, work by solid, modular design and small tweaks!
> > >
> > > Point taken.  But stashing little hacks in the networking core for
> > > specific virtual drivers isn't totally modular either.  And even if
> > > it were, "modular design" probably belongs on the list of "things
> > > that can be taken too far", like "everything in userland", "never
> > > use ioctl", and "microkernels are superior". :-)
> >
> > To be honest, I'm not over-joyed to see bridging hooks included
> > in the VLAN code..but if that is what it takes to get bridging
> > and VLANs to play well and be flexible, I think it is a fair price.
> >
> > It certainly wouldn't hurt to have someone take a holistic view of the
> > various L2 device interactions.  Just documenting current functionality
> > on, say, the netdev wiki would be a good first step.
> 
> Ultimate flexibility could be provided by making the netif_rx routine (and 
> the 
> others, including vlan etc), a "virtual" routine.
> 
> That way a list of "filters" could be defined that allow any processing to be 
> done on the packet before it is handed of to the linux kernel's higher 
> layers, including not delivering it on that interface, or delivering it on 
> another interface.
> 
> This would allow very complex implementations including stuff like a 
> high-level l2 bridge, with vlan support, and a number of protocols like rstp, 
> pvst+, ... with relatively simple code, that could be isolated from the main 
> kernel.
> 
> Would anyone be interested in signing off on such a patch ? (which basically 
> creates netif_rx and vlan_acc_netif_rx lists in the net_device structure, and 
> then modify bridging and bonding drivers to just use this) 

I have thought about this, but you end up reinventing System V streams.
The problem is for simple up/down call, the stacking model works fine but
once you add flow-control and multiplexing issues the problem becomes complex.
It is hard to think of a good general solution where the performance wouldn't
end up sucking.

-- 
Stephen Hemminger <[EMAIL PROTECTED]>
"And in the Packet there writ down that doome"
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to