Subject: Re: 802.1Q tagged VLAN for NetBSD
To: Andy Doran <ad@netbsd.org>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-net
Date: 10/08/1999 12:57:53
On Fri, Oct 08, 1999 at 09:10:24AM +0100, Andy Doran wrote:
> On 8 Oct 1999, Michael Graff wrote:
> 
> > I've poked around at the idea of supporting 802.1Q tagged VLAN
> > interfaces for NetBSD, but have yet to get very far past thinking
> > about it.  
> 
> Same here (aside from defining ETHERTYPE_VLAN :).
> 
> > I believe the best way is to once again broach the subject
> > of subinterfaces, where there is a parent "physical" interface and any
> > number of children which have only per-logical-link attributes.
> 
> FreeBSD's 'vlan' interface does something similiar - have you looked at
> the code? AFAIK, the userland code never got committed, but following from
> your example would do something like:
> 
> ifconfig vlan0 inet 10.1.2.3 netmask 0xffffff00 vlan 42 vlanif fxp0

Yeah, here's the "stackable interfaces" idea again.  erh and I were
working on this once because we needed it to cleanly support multiple
link-layer protocols (one of which did not use HDLC!) on the same
sync serial card.  This would solve a myriad of problems, and the 
if_input change Jason made to support PPPoE makes implementing it not
so hard.

It does require a little bit of a change of mindset.  Done right, any
link-layer protocol (e.g. Ethernet) would just stack on top of a
hardware protocol driver, so for example you'd usually have sppp0
stacked on top of ntwo0 or lmc0, or eth0 stacked on top of fxp0.  With
no stack, you get no link-layer processing.  With an appropriate
stack, you could get vlan, "bonding" schemes like Fast Etherchannel,
MP, or the like.

BSD basically doesn't *have* an abstract layer for link-layer processing
and when you start to look at things like PPPoE or VLANs or EtherChannel
it really shows.