Folks, As most people here are aware, the dls kernel module contains a number of functions and data structures which contain the string "vlan" which have little to do with VLANs directly. The dls_vlan_t, for example, is actually the object that represents a datalink, which may not be a VLAN at all, but might be a physical link, an aggregation, an IP tunnel (in Clearview for example), etc... dls_vlan_hold(), for example, is the function used to obtain a reference to a datalink, which may not be a VLAN at all.
It would be to the benefit of all who trudge in that source to do some house cleaning in dls and at least do some renaming of symbols. A related question for the Crossbow project is: Does Crossbow's goal of moving the VLAN implementation out of dls rectify this situation? This would allow us the opportunity of refactoring some of dls's data structures. -Seb
