title: Openvswitch create queue can't reach bit rate limitation
body: <p>all:
  I'm new to SDN and also new to stackoverflow.</p>
  
  <p>Here is my topology:
  <a href="https://i.stack.imgur.com/rPsU5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/rPsU5.png" alt="mytopology"></a>
  When I setting the queue for mytopo, I notice that when the maximum bit lower than 300000, the iperf value become strange. Cant't reach the maximum bit rate setting.</p>
  
  <p>let max-rate= ppp
  setting order:</p>
  
  <pre><code>ovs-vsctl -- set Port s1-eth1 qos=@newqos -- \
  --id=@newqos create QoS type=linux-htb other-config:max-rate=1000000 queues=0=@q0 -- \
  --id=@q0 create Queue other-config:min-rate= ppp other-config:max-rate= ppp 
  </code></pre>
  
  <p>Test ppp = 1000000,800000,600000,400000,300000,250000,200000.
  <a href="https://i.stack.imgur.com/0M17X.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/0M17X.png" alt="results are here"></a></p>
  
  <p>Are there something wrong? or it's ovs's limitation?
  ovs-vswitchd --version
  ovs-vswitchd (Open vSwitch) 2.0.2
  Compiled Dec  9 2015 14:08:11
  OpenFlow versions 0x1:0x1</p>
  
  <p>mininet python file:</p>
  
  <pre><code>#!/usr/bin/python
  import re
  import sys
  from mininet.cli import CLI
  from mininet.log import setLogLevel, info, error
  from mininet.net import Mininet
  from mininet.link import TCLink
  from mininet.topolib import TreeTopo
  from mininet.util import quietRun
  from mininet.node import RemoteController
  from mininet.topo import Topo
  
  topos = { 'mytopo': ( lambda: MyTopo() ) }
  
  
  class MyTopo( Topo ):
  #    "this topo is used for Scheme_1"
  
      def __init__( self ):
          "Create custom topo."
  
          # Initialize topology
          Topo.__init__( self )
  
          # Add hosts 
          h1 = self.addHost( 'h1' , ip="192.168.254.11/24", mac="00:00:00:00:00:01", defaultRoute="via 10.0.0.254")
          h2 = self.addHost( 'h2' , ip="192.168.254.12/24", mac="00:00:00:00:00:02", defaultRoute="via 10.0.0.254")
          h3 = self.addHost( 'h3' , ip="192.168.254.13/24", mac="00:00:00:00:00:03", defaultRoute="via 10.0.0.254")
  
          # Add switches
          s1 = self.addSwitch( 's1' )
  
          # Add links
          self.addLink( s1, h1 )
          self.addLink( s1, h2 )
          self.addLink( s1, h3 )
  
  
  
  if __name__ == '__main__':
      setLogLevel( 'info' )
      info( '*** Creating network\n' )
      net = Mininet( topo=MyTopo(),controller=None, link=TCLink) 
      c0 = RemoteController( 'c0', ip='127.0.0.1', port=6653 )
      net.addController(c0)
      net.start()
      CLI( net )
      net.stop()
  </code></pre>