[ovs-discuss] QoS Bandwidth Rate Limiting in Multi-compute nodes OpenStack
Ben Pfaff
blp at ovn.org
Wed Aug 10 16:38:13 UTC 2016
On Wed, Aug 10, 2016 at 12:35:51PM +0200, Ahmed Medhat wrote:
> Hi Folks,
>
>
> I have a problem with QoS enforcement in multi-compute nodes Openstack
> architecture.
> I test using Iperf udp traffic and tcp traffic. It limits the bandwidth
> rate successfully if the client and server VMs are in the same compute
> node, otherwise it failed.
>
> I did tcpdump and found the traffic is received by the Server but no Ack
> reply is sent back. However there is an ARP reply is sent from the server.
>
> To summarize the case:
>
> 1- Iperf works fine between 2 vms in different compute nodes WITHOUT QoS
> enforcement.
> 2- Iperf and Bandwidth limitation work fine between 2 vms in the same
> compute node With QoS enforcement.
> 3-The problem is Iperf not works at all between 2 vms in different compute
> nodes With QoS enforcement.
>
> The flows which are used for 2 vms in different compute nodes are here:
>
> *First Compute/Control Node:*
> ovs-ofctl add-flow br-int priority=2,udp,nw_src=192.168.
> 254.109,nw_dst=192.168.254.110,actions=enqueue:31:4
>
> *2nd Compute Node:*
>
> ovs-ofctl add-flow br-int priority=2,udp,nw_src=192.168.
> 254.110,nw_dst=192.168.254.109,actions=enqueue:33:4
The FAQ says:
### Q: I configured QoS, correctly, but my measurements show that it isn't
working as well as I expect.
A: With the Linux kernel, the Open vSwitch implementation of QoS has
two aspects:
- Open vSwitch configures a subset of Linux kernel QoS
features, according to what is in OVSDB. It is possible that
this code has bugs. If you believe that this is so, then you
can configure the Linux traffic control (QoS) stack directly
with the "tc" program. If you get better results that way,
you can send a detailed bug report to bugs at openvswitch.org.
It is certain that Open vSwitch cannot configure every Linux
kernel QoS feature. If you need some feature that OVS cannot
configure, then you can also use "tc" directly (or add that
feature to OVS).
- The Open vSwitch implementation of OpenFlow allows flows to
be directed to particular queues. This is pretty simple and
unlikely to have serious bugs at this point.
However, most problems with QoS on Linux are not bugs in Open
vSwitch at all. They tend to be either configuration errors
(please see the earlier questions in this section) or issues with
the traffic control (QoS) stack in Linux. The Open vSwitch
developers are not experts on Linux traffic control. We suggest
that, if you believe you are encountering a problem with Linux
traffic control, that you consult the tc manpages (e.g. tc(8),
tc-htb(8), tc-hfsc(8)), web resources (e.g. http://lartc.org/), or
mailing lists (e.g. http://vger.kernel.org/vger-lists.html#netdev).
More information about the discuss
mailing list