Rob Walker wrote:
> Why should VLANs not be fake devices? How are they different from
> aliased interfaces?
I think most of us are in violent agreement that they should be devices,
Alexey and Jamal seem to be the main dissenters, and at least IMO,
they have not offered a reason good enough to make me consider trying
to make VLANs anything other than devices...
On this account, my vlan implementation, and Lenert and Gleb's are almost
identical. Other than some internal issues, I believe the only user-visible
difference between my imp and theirs is that they re-write the packet header
on the way up the stack so that it looks **exactly** like an ethernet pkt,
where as I just leave the header alone and pull 4 extra bytes off of the SKB
before giving it to the higher levels.
I like their idea, but it means they have to move the header around for
each pkt. In mine, the packet is not modified, *BUT*, programs such as dhcpd
which expect to be reading the raw ethernet pkt have to be modified.
I think I'll implement a compile-time switch to have their copy behavior,
but will also retain the (slightly?) faster non-copy method, which seems
to work with most programs which obey the stack layering...
I would welcome more discussion on the relative strengths and weaknesses of
the two VLAN implementations, especially as the VLANs scale from 1, to 10, to
and to 1000+.
Ben Greear (greearb@xxxxxxxxxxxxxxx) http://www.candelatech.com
Author of ScryMUD: scry.wanfear.com 4444 (Released under GPL)