On Wed, Apr 09, 2014 at 04:57:12PM +0200, Slavica Tomovic wrote:
> I am facing problem with bandwidth slicing when I use TCP traffic. I
> use OVS v 1.10 as OpenFlow switch, and today I connected three hosts
> on it in order to test OVS qos mechanisms. This is topology I have
> used:
> 
> iperf client 1 ---- OVS---- iperf server
>                                 I
>                          iperf client 2
> 
> On the port towards iperf server I defined QoS policy like this:
> 
> sudo ovs-vsctl -- set port eth4 qos=@newqos -- --id=@newqos create qos
> type=linux-htb other-config:max-rate=10000000 queues=1=@q1,2=@q2 --
> --id=@q1 create queue other-config:min-rate=7000000
> other-config:max-rate=10000000 -- --id=@q2 create queue
> other-config:min-rate=3000000 other-config:max-rate=10000000
> 
> When I generate UDP traffic with iperf clients everything works fine.
> However, when I generate TCP traffic average measured bandwidth is ok
> ,if I generate traffic for some longer period (30 s or more) , but the
> way how this is achieved is disaster. I  adjusted iperf to report me
> state every second and for few consecutive seconds reported value for
> one of the clients was 0 Mb/s, then after some time 10 (I wanted
> 3Mbit/s) and so on... I expected that with TCP would be bandwidth
> fluctuations but not like these.

Did you read the FAQ?

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 b...@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).

Also:

Q: I configured Quality of Service (QoS) in my OpenFlow network by
   adding records to the QoS and Queue table, but the results aren't
   what I expect.

A: Did you install OpenFlow flows that use your queues?  This is the
   primary way to tell Open vSwitch which queues you want to use.  If
   you don't do this, then the default queue will be used, which will
   probably not have the effect you want.

   Refer to the previous question for an example.
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to