[Bulk] Re: [Xorp-hackers] Some thoughts

Mike Horn caddisconsulting@yahoo.com
Mon, 7 Nov 2005 20:59:53 -0700


Here a couple of thoughts on the configuration portion of VLAN interfaces.

1. We should have a configuration flag under the master interface indicating
that the interface is configured for 802.1Q tagging.

2. It might be simpler to have a single node with the vlan-id value.

Here's what I'm suggesting:

interfaces {
     interface fxp0 {
         vlan-tagging: true;
         vif fxp0 {
         }
         vif vlan0 {
           vlan-id: 20;
         }
     }
 }

This is similar to how it is done on the Juniper.

-mike

-----Original Message-----
From: xorp-hackers-admin@icir.org [mailto:xorp-hackers-admin@icir.org] On
Behalf Of Mark Handley
Sent: Monday, November 07, 2005 5:19 PM
To: Hasso Tepper
Cc: xorp-hackers@xorp.org
Subject: [Bulk] Re: [Xorp-hackers] Some thoughts

On 11/7/05, Hasso Tepper <hasso@linux.ee> wrote:
> OK. So basically this means that if someone (I'm not saying that this 
> "someone" will be me, but it might happen ;) will implement vlans in 
> linux, configuration will look like something like this?:
>
> interfaces {
>     interface eth0 {
>         vif eth0 {
>         }
>         vif eth0.1 {
>         }
>     }
> }
>
> In *BSD systems this will be something like this:
>
> interfaces {
>     interface fxp0 {
>         vif fxp0 {
>         }
>         vif vlan0 {
>         }
>     }
> }

That's certainly what I was thinking, yes.

> Several small problems/questions:
>
> * BSD's need command to configure vlan tag, in Linux it's already there
>   in vlan name. Mandate command to Linux scheme as well? Maybe it's even
>   good idea to show that it's vlan? ("vlan-id <tag>" command in Junos)

The config should probably have an a vif-type attribute to identify that
this is a tagged VLAN, just to make everything explicit.  And then an
attribute to indicate the tag.  I'm not sure of the precise syntax, but
perhaps:

interfaces {
     interface fxp0 {
         vif fxp0 {
         }
         vif vlan0 {
            type vlan {
               tag: 0
            }
         }
     }
 }

That's a little verbose, but it would avoid namespace clashes with other vif
types such as ATM VCs or various forms of tunnels.  Done right, you might be
able to default the setting of these parameters on some OSes, so you don't
need to type superflous stuff when the FEA can infer that it's a VLAN and
that it has a tag of 0.

> * In BSD's vlans on different interfaces must not conflict, no problem
>   in Linux.

Yes, you'd need some way to prevent commit-time errors.  Not sure what that
would be.

> * Additional command in interface node to show that vif's (except
>   default) will be vlans (vlan-tagging in Junos)?

I'm not quite sure what you mean by this.  Is this what I already wrote
above, or were you talking about operational mode ocommands?

Cheers,
Mark

_______________________________________________
Xorp-hackers mailing list
Xorp-hackers@icir.org
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers