Configuration:
Host: CentOS 6.4
Mellanox Adapter: ConnectX-3 EN
Mellanox Driver: MLNX_OFED_LINUX-2.2-1.0.1-rhel6.4-x86_64 with SRIOV enabled
Virtualization: KVM with SRIOV devices PCI passthroughed
Working:
I was able to get QoS (Bandwidth control) working on my host by configuring physical functions using: End-to-End QoS Configuration for Mellanox Switches and Adapters
Not Working:
My next step was to make QoS work with SR-IOV devices that were attached (through PCI passthrough) to KVM guests. I assumed configuring physical function should be enough and I started my guest (virtual machine) and tested the egress rate of a VLAN device (VLAN 2) that I created from a virtual function (SR-IOV device) inside the guest. Unfortunately the egress rate does not correspond to what the host (physical function) was able (configured) to achieve.
Observation:
Noticed that any VLAN index I use inside the guest, the bandwidth I measure does not correspond to that of the VLAN index in the host configuration, but VLAN index 0 always.
Example:
On host I created, configured and tested VLAN 2 to be 1Gbits/s and VLAN 0 to be 5Gbits/s.
On guest I created VLAN 2 and when observing the bandwidth I found I got 5 Gbits/s instead of 1 Gbits/s.
Could anyone point me in right direction on how to configure the SR-IOV devices for QoS properly, or is it even supported in my Mellanox adapter?
Thanks in advance!