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

Patrick Marc Preuss deathdealer@gmx.net
Tue, 08 Nov 2005 19:04:58 +0100


Kristian Larsson wrote:

>On Tue, Nov 08, 2005 at 10:14:56AM +0000, Mark Handley wrote:
>  
>
>>On 11/8/05, Kristian Larsson <kristian@juniks.net> wrote:
>>    
>>
>>>Shouldn't you enable vlan-tagging on the physical
>>>interface instead of on a vif?
>>>
>>>interfaces {
>>>  interface fxp0 {
>>>    vlan-tagging: true;
>>>    vif fxp0 {
>>>      bla bla
>>>    }
>>>    vif vlan0 {
>>>      vlan-tag: 20;
>>>    }
>>>  }
>>>}
>>>      
>>>
>>Yes, this is what Mike also suggested.
>>    
>>
>Sorry for repeating.
>  
>
>>    
>>
>>>though I'd still rather go with
>>>interfaces {
>>>  interface fxp0 {
>>>    vlan-tagging: true;
>>>    vif 0 {
>>>      description: "this is untagged";
>>>    }
>>>    vif 20 {
>>>      description: "this is tagged with tag 20";
>>>      perhaps including vlan-tag 20;
>>>    }
>>>  }
>>>}
>>>
>>>I like the skip superflous stuff like "vlan" :)
>>>      
>>>
>>The issue is that you really want vif names to be something that has
>>direct meaning to the kernel or it gets really hard to integrate any
>>non-XORP software (eg dhcpd, etc).
>>    
>>
>We could store the actual interface in a variable somewhere :)
>  
>
>>    
>>
>>>I'm not sure how you intend that "vlan0" in your
>>>example should be handled. Is it like
>>>FreeBSD-vlan0 ie you can only have one per system,
>>>if so the user would have to keep track of all the
>>>vlan interfaces. not good.
>>>Or is it per interface, would the following work?
>>>      
>>>
>>On FreeBSD you can create as many vlan virtual interfaces as you need.
>> But there's only on namespace.  For example (trimmed a little to
>>remove IP addresses, etc):
>>
>>vulture 107 # ifconfig
>>sk0: flags=8802<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>        ether 00:11:d8:71:0f:d1
>>dc0: flags=108843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>        options=8<VLAN_MTU>
>>        ether 00:a0:cc:39:95:1c
>>vlan0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>        ether 00:a0:cc:39:95:1c
>>        vlan: 33 parent interface: dc0
>>vlan1: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>        ether 00:a0:cc:39:95:1c
>>        vlan: 34 parent interface: dc0
>>vlan2: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1496
>>        ether 00:11:d8:71:0f:d1
>>        vlan: 33 parent interface: sk0
>>
>>This machine has two physical interfaces (sk0 and dc0), and three vlan
>>vifs configured, vlan0, vlan1, vlan2.  vlan- and vlan 1 are on dc0. 
>>vlan2 is on sk0.  Both vlan0 and vlan2 are using vlan tag 33.
>>
>>This would then map to a XORP config of:
>>
>>interfaces {
>> interface sk0 {
>>   vlan-tagging: true
>>   vif sk0 {
>>   }
>>   vif vlan0 {
>>      vlan-tag: 33
>>   }
>>   vif vlan1 {
>>      vlan-tag: 34
>>   }
>> }
>> interface dc0 {
>>   vlan-tagging: true
>>   vif dc0 {
>>   }
>>   vif vlan2 {
>>     vlan-tag: 33
>>   }
>>}
>>
>>Thus the vif namespace maps directly to the kernel namespace on FreeBSD.
>>    
>>
>This would have to be done automatically. We have
>boxes here with close to or perhaps even beyond
>thousand VLANs spread on different interfaces,
>although we're not running FreeBSD I bet there are
>people out there who do. You can't keep track of
>the vlan interfaces therefore I thought that the
>user specifys:
>interfaces {
>  interface fxp0 {
>    vif 0 {
>    }
>    vif 3 {
>    }
>  }
>  interface fxp1 {
>    vif 0 {
>    }
>    vif 3 {
>    }
>  }
>}
>
>Which would result in
> xorp> show interfaces
> fxp0/0: Flags:<NO-CARRIER,ENABLED,BROADCAST,MULTICAST> mtu 1500
>        inet 1.3.3.7 subnet 1.3.3.0/24 broadcast 1.3.3.255
>	vlan: untagged, interface fxp0
>        physical index 6
>        ether 0:80:c8:cd:20:8c
> fxp0/3: Flags:<NO-CARRIER,ENABLED,BROADCAST,MULTICAST> mtu 1500
>        inet 1.3.3.7 subnet 1.3.3.0/24 broadcast 1.3.3.255
>	vlan: 3, interface vlan0
>        physical index 6
>        ether 0:80:c8:cd:20:8c
> fxp1/0: Flags:<NO-CARRIER,ENABLED,BROADCAST,MULTICAST> mtu 1500
>        inet 1.3.3.7 subnet 1.3.3.0/24 broadcast 1.3.3.255
>	vlan: untagged, interface fxp1
>        physical index 6
>        ether 0:80:c8:cd:20:8c
> fxp1/3: Flags:<NO-CARRIER,ENABLED,BROADCAST,MULTICAST> mtu 1500
>        inet 1.3.3.7 subnet 1.3.3.0/24 broadcast 1.3.3.255
>	vlan: 3, interface vlan1
>        physical index 6
>        ether 0:80:c8:cd:20:8c
>  
>
Greate, but i would suggest the result will be a dot and not a slash, i 
would suggest to uses slashes for different hardware buses or somthing 
like that:

 fxp1.3: Flags:<NO-CARRIER,ENABLED,BROADCAST,MULTICAST> mtu 1500
        inet 1.3.3.7 subnet 1.3.3.0/24 broadcast 1.3.3.255
	vlan: 3, interface vlan1
        physical index 6
        ether 0:80:c8:cd:20:8c



>I realise this might be harder to program but if xorp is going for 
>production environments I beleive there is little choice.
>  
>
Patrick

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