Bug Reference

CLOUDSTACK-6262

Branch

4.4, Master

Introduction

Network throttling is the process of controlling the network access and bandwidth usage based on certain rules. It controls the maximum bandwidth which can be allocated to VM. The benefit here is that you may have very noisy VMs on host that consume a lot of bandwidth, and they can be stepped down yet still given an adequate amount of connectivity.

Purpose

This is functional specification for Enabling Network throttling for VMs on Hyper-V

References

Document History

Author
Description
Date
Anshul GangwarIncorporating comments.03/27/2014
Rajesh BattalaInitial Revision 

Glossary

VM - virtual machine running on hypervisor

NIC - network interface controller which is attached to VM

Feature Specifications

Use cases

With this we can control the max bandwidth allocated for VM, which helps in controlling the bandwidth alloction to noisy VMs which otherwise may consume the whole bandwidth and degrades the performance

Architecture and Design description

This requires only Hyper-V Agent Side Changes.
One more Management Class named ROOT.virtualization.v2.Msvm_EthernetSwitchPortBandwidthSettingData.cs will be added . This class will allow us to manage the bandwidth settings of VM.

Web Services APIs

No new APIs are added for this feature. Existing APIs which will be used for this feature are

To see how network throttling rate applies on VM see network throtling .

UI flow

No new UI screens are introduced by this feature. Also, no changes need to be made in UI for enabling network throttling for VMs on Hyper-V. The UI workflow looks as follows.

Specifying Network Rate

There are two places where one can specify the network rate for network throttling

To see how network throttling rate applies on VM see network throtling .

IP Clearance

  No IP dependencies are introduced by this feature.

Appendix

Appendix A:

Appendix B: