[libvirt] adding bandwidth control support - new updates

Max Zhen Max.Zhen at Sun.COM
Fri Feb 27 04:52:57 UTC 2009


Hi,

Here are some updates on this work:

It is common that user want to set up backend device for a virtual
interface over a VLAN. So, one more option is added, '--vlanid', to
specify the VLAN ID user want to attach to the backend device supporting
this virtual interface. So that the shell script responsible for setting
up the backend device can do all the configuration for user.

It was pointed out that 'bandwidth control' is not a clear statement. We
can only support setting upper limit of the bandwidth for a virtual
interface for now. We are not able to reserve a specific bandwidth for
it. So, the name of the new option for 'virsh attach-interface' is
changed from '--rate' to '--capped-bandwidth' to remove the ambiguity 
and leave room for reserved bandwidth in the future.

Based on the above changes, the XML format changed from my previous 
proposal:
     <interface type='bridge'>
       <source bridge='e1000g1'/>
       <flowcontrol>
         <rate unit='megabit' period='second' value='100'/>
       </flowcontrol>
     </interface>
to something looks like below:
     <interface type='bridge'>
       <source bridge='e1000g1'/>
       <networkresource>
         <capped-bandwidth unit='megabit' period='second' value='100'/>
       </networkresource>
       <vlan id='1'/>
     </interface>
Note that we also change the element name from 'flowcontrol' to
'networkresource' so that we can add more QoS related (not just related
to bandwidth) parameters into this element in the future, if needed.

There are also changes in virt-install command line options.
Like '--disk' option, I also grouped network related optioins into 
properties of -w/--network option.  So, instead of adding 
'--capped-bandwidth' and '--vlanid' options, I choose to add two 
properties for -w/--network option. Now, we have:
# virt-install ... --network 
bridge=eth0,vlanid=2,mac=aa:0:1:2:3:4,capped-bandwidth=200M. Old style 
of syntax is still supported, but should be obsoleted.

Any comment?

Thanks,
Max






More information about the libvir-list mailing list