Re: On Network Drivers......

Alan Cox
2001-08-20T12:34:21Z

> A driver of layered one.., in which one layer
> communicates with another. But overall there should be
> only one driver . (Just like Stream's drivers, but we
> don't want Stream Drivers).
> Is there any support in Linux to implement Network
> Drivers as multi layered in a single driver .If so,
> please let me know where I can get good information?

We have a single layer between the network stack and the drivers. However
nothing stops drivers from implementing multiple layers internally or
calling back into other drivers. shaper is an example of a driver that
calls other drivers.

The basic attitude is layering is slow, and generally poor for the cache
behaviour. You want to do a single pass of the packet (or less if possible
when using DMA). However the interface is flexible and if a driver wants
to be layered or has reason for it - sure it can do it internally