Hi Vivien,<div><br></div><div>first of all thanks a lot for your ideas and for your patch. This feature seems quite interesting, we have created a new feature issue in Redmine:</div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://dev.opennebula.org/issues/673">http://dev.opennebula.org/issues/673</a></div>

<div><br></div><div>As for the RAW section under an attribute, that's actually a very good idea, and with xen it's easily achievable, but adding support for it with libvirt should be a little bit trickier, since it needs to be rendered as XML (a libvirt domain file). We will study this further to see how could we support it.</div>

<div><br></div><div>cheers,</div><div>Jaime<br><br><div class="gmail_quote">On Tue, Jun 7, 2011 at 2:00 PM, Vivien Bernet-Rollande <span dir="ltr"><<a href="mailto:vivien.bernet-rollande@nexen.alterway.fr" target="_blank">vivien.bernet-rollande@nexen.alterway.fr</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi everyone.<br>
<br>
I've a lot of hopes set on those networking setup and teardown hooks that were discussed during yesterday's session. They would allow me to have much finer control on quite a few items (filtering, traffic shaping, etc.) while keeping support for migration.<br>



<br>
Anyway, in the meantime, I have a use case where I need to be able to limit the upload rate of a VM. Basically, we bill clients based on their upload traffic. We need the ability to cap clients who wish to make sure they never go over their quota.I'd rather do this in dom0 with tc, which allows for nice burst control, but the hooks I would need don't exist yet.<br>



<br>
The patch I propose ( see <a href="http://dev.opennebula.org/attachments/385/one_xen_rate_limit.diff" target="_blank">http://dev.opennebula.org/attachments/385/one_xen_rate_limit.diff</a> ) adds support for rate limiting using the "rate" configuration parameter for a Xen vif. There is no support for KVM since I can't test it, but I doubt it would be hard to add. There is no support in Sunstone or the various API servers either.<br>



<br>
The ONE config simply file goes like this :<br>
<br>
NIC  = [ NETWORK = "INTERNET",<br>
         RATE = "10Mb/s" ]<br>
<br>
This will create the following deployment file :<br>
vif = [<br>
    'mac=02:00:01:02:03:04,ip=1.2.3.4,bridge=xenbr0,rate=10Mb/s',<br>
]<br>
<br>
And a "xenstore-ls" will show :<br>
ma<br>
/local/domain/0/backend/vif/20/0/rate = "62500,50000"<br>
<br>
Iperf tests show an effective upload rate of 7-8 Mb/s, so provisioning a bit over the desired value seems to be necessary.<br>
<br>
<br>
Something I'd really love to see would be the ability to add raw data on a vif or block device. That way, I could have solved my issue using something like :<br>
<br>
NIC  = [ NETWORK = "INTERNET",<br>
         RAW = "rate=10Mb/s" ]<br>
<br>
-- <br>
Vivien Bernet-Rollande<br>
Systems&  Networking Engineer<br>
Alter Way Hosting<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opennebula.org" target="_blank">Users@lists.opennebula.org</a><br>
<a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><br>
</blockquote></div><br></div>
<br clear="all"><br>-- <br>Jaime Melis, Cloud Technology Engineer/Researcher<br>Major Contributor<br>OpenNebula - The Open Source Toolkit for Cloud Computing<br><a href="http://www.OpenNebula.org" target="_blank">www.OpenNebula.org</a> | <a href="mailto:jmelis@opennebula.org" target="_blank">jmelis@opennebula.org</a><br>