[long] Network stack -> NIC flow (was Re: MQ Patch.)

Julian Elischer julian at freebsd.org
Sat Nov 2 19:50:54 UTC 2013

On 10/30/13, 2:30 PM, Andre Oppermann wrote:
> Now ifnet has become very complex and large and should be brought
> back to its original purpose of the being the logical layer 3 interface
> abstraction.  There isn't necessarily a 1:1 mapping from one ifnet
> instance to one hardware interface.  In fact there are pure logical
> ifnets (gre, tun, ...), direct hardware ifnets (simple network 
> interfaces
> like fxp(4)), and multiple logic interfaces on top a single hardware
> (vlan, lagg, ...).  Depending on the ifnets purpose the backend can
> be very different.  Thus I want to decouple the current implicit
> notion of ifnet==hardware with associated queuing and such. Instead
> it should become a layer 3 abstraction inside the kernel again and
> delegate all lower layers to appropriate protocol, layer 2, and
> hardware specific implementations.

I have thought for a long time that the 'if' should be split in two..

the top half really is just common for everything..
it is basically what tun is.. (or ng_iface for that matter)

More information about the freebsd-net mailing list