[Xorp-hackers] Doubt on VLAN implementation

Bruce M Simpson bms at incunabulum.net
Tue Mar 25 01:09:00 PDT 2008


Suresh Kannan wrote:
> Hi Bruce & all,
>
> interface foo {
> vif vlan 10.200 {
> }
> }
>
> Is the above syntax makes clear view for QinQ support ?.
>

That was on the tip of my tongue, but I didn't dare speak it, because in 
some implementations, fooXX.YY can be used to mean "VLAN YY on interface 
fooXX".

So I've been wary of using a period as a delimiter for the vlan term, 
given that overloaded meanings quickly lead to problems for network 
engineers during deployment, and it makes sense to make things easier 
for your user base.

(Yes, I'd like to just get the damn bikeshed painted so the code can 
happen...)

Even once we solve this simple problem of how to invoke a thing, we are 
left with the problem of the manifestation of the thing. Currently XORP 
knows how to make VLANs for Linux and FreeBSD, and to deal with that in 
the FEA block's syntax.

Juniper has a very specific syntax for dual-tagging:
 http://www.juniper.net/techpubs/software/junos/junos90/swconfig-network-interfaces/flexible-vlan-tagging.html#id-13039477

I can see why they've done this. It is easier IMHO to treat dual-tagging 
as a special case, because it's not the default, and most open source 
forwarding plane implementations out there are geared towards dealing 
with a single VLAN tag.

I left Q-in-Q as an exercise for the reader in FreeBSD; my refactoring 
there was just so that I could use 802.1p. At the moment the way to 
accomplish Q-in-Q there is to use Netgraph. obviously this is purely 
software plane and thus isn't optimal, and I wager newer cards are 
actually able to support Q-in-Q in ASIC, so it makes sense to go about 
solving the VLAN problem in a way which is able to capture these new 
MPLS/Metro Ethernet oriented use cases.

cheers
BMS



More information about the Xorp-hackers mailing list