VLAN support in rcNG [PATCH]

Brooks Davis brooks at one-eyed-alien.net
Sun Apr 18 11:34:46 PDT 2004

On Sun, Apr 18, 2004 at 01:02:55AM -0400, Adam C. Migus wrote:
> The software that I've seen that accepts `<interface>.<tag>' but can't
> deal with it internally usually uses an `_' and it's pretty standard
> however that's not going to work too well here either without
> complicating parsing inside rcNG which is one of the reasons I avoided
> the whole issue by going with the `vlan<tag>' naming scheme on the my
> other boxes and specifying the physical device.  Having said that and
> glancing at my keyboard I'm not sure I can think of other delimiter
> that's not going to offend someone, if not sh(1).
> So I guess in summary I'm suggesting if the complexity of dealing with:
> ifconfig_xl0_2="DHCP" # -> ifconfig xl0.2 vlandev xl0 vlantag 2
> in rcNG is worth it then I think that's the only way this type naming
> scheme is going to work.  I'd be happy to write the parsing for it if
> you like.

There is little or no complexity depending on how you solve the problem.
My proposal was to let the kernel support <interface>_<tag> which would
require no modifications to the rc system.  If you wanted to do it in
the rc system, the equivalent of "tr . _" would have to be applied to
the name before using the pseudo associative array lookup hack, that's
it.  The only difficulty is that you have to do it without anything in

> But also, given there's that other defacto-standard naming scheme of
> `vlan<tag>' it would be nice to support it and the only way to do it,
> since specifiying the physical device explicitly is required, is
> something like my patch, on the surface.
> I couldn't comment much more without seeing your code which I'd like to
> do if possible but all the same I'm guessing that it would be fairly
> trivial to allow:
> cloned_interfaces="vlan2" # -> ifconfig <ifn>.2 vlandev <ifn> vlantag 2
> cloned_interface_vlan2_dev="xl0" # -> <ifn> required above
> Hmmm, this thread is making me wonder if it's time to think about some
> kind of more functional, general abstraction for cloned interfaces in
> rcNG which allows all the fun things people would want to do with them,
> like DHCP just for starters, now.  After-all whether or not you do want
> to honor the `vlan<tag>' naming scheme this already looks like it has
> to potential to get a little mucky too me...  :-)

Any attempt to make vlan# mean vlan<tag> by default will result in much
pain and suffering.  It would be a major POLA violation and it would be
making the degenerate case of a single parent interface the default
which would break a whole lot of other valid configurations.

-- Brooks

Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040418/a25dbecb/attachment.bin

More information about the freebsd-current mailing list