[libvirt] [PATCH 1/1] Add vlantag parameter for openvswitch ports
Laine Stump
laine at laine.org
Fri Aug 10 21:44:16 UTC 2012
On 08/10/2012 03:59 PM, Dennis Jenkins wrote:
> On Fri, Aug 10, 2012 at 10:21 AM, Kyle Mestery (kmestery)
> <kmestery at cisco.com> wrote:
>> Those cases both look good. I think the formatting works just fine for
>> virtualport type=openvswitch as well, something like this:
>>
>> Single VLAN (no trunk):
>> <interface type='bridge'>
>> <mac address='52:54:00:30:23:a6'/>
>> <source bridge='data-br'/>
>> <vlan tag='70'/>
>> <virtualport type='openvswitch'>
>> <parameters interfaceid='cdbbbc31-b7fe-16ca-a715-cc7cc76e18b2'>
>> </virtualport>
>> <model type='virtio'/>
>> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
>> </interface>
>>
>> Single VLAN (trunk):
>> <interface type='bridge'>
>> <mac address='52:54:00:30:23:a6'/>
>> <source bridge='data-br'/>
>> <vlan tag='70'/ trunk=yes>
>> <virtualport type='openvswitch'>
>> <parameters interfaceid='cdbbbc31-b7fe-16ca-a715-cc7cc76e18b2'>
>> </virtualport>
>> <model type='virtio'/>
>> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
>> </interface>
>>
>> Multiple VLANs (trunk):
>> <interface type='bridge'>
>> <mac address='52:54:00:30:23:a6'/>
>> <source bridge='data-br'/>
>> <vlan trunk='yes'>
>> <tag id='70'>
>> <tag id='71'>
>> </vlan>
>> <virtualport type='openvswitch'>
>> <parameters interfaceid='cdbbbc31-b7fe-16ca-a715-cc7cc76e18b2'>
>> </virtualport>
>> <model type='virtio'/>
>> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
>> </interface>
>>
>
> I think that making "tag id=" an XML attribute in one case and an
> element in another is problematic. May I suggest just using:
>
> <vlan [trunk='yes|no']> <!-- if unspecified, trunk defaults to 'no' -->
> <tag id='nn'/>
> [<tag id='nn'/> ...]
> </vlan>
Yeah, I think you're right. It's sad though that it makes the config
longer even for the 99% of uses where people just want a single vlan tag
(that's what blinded me).
One last try before I give up:
How about allowing multiple <vlan tag='n' [trunk='yes|no']/> at the
toplevel? Then you could have:
<vlan tag='42'/>
in the simplest case, or:
<vlan tag='42' trunk='yes'/>
if you wanted a trunk with a single tag, or:
<vlan tag='42'/>
<vlan tag='43'/>
<vlan tag='44'/>
if you want a trunk with multiple tags (trunk='yes' would be implicit).
For either of these cases, the data definition can remain the same (as
long as we don't require that superfluous "trunk='yes|no'" attributes be
preserved across an iteration of parse/format.)
I got stuck with other stuff during the day, so I'll get back to this
later tonight.
More information about the libvir-list
mailing list