Hi,All

I want to use the QoS feature of OpenvSwitch to control the bandwidth based on 
the vlan id(Scene 1) or port id(Scene 2).
So I deployed it as showed bellow,and configured the qos rules,the flows,and 
used iperf tool to test it.
But the result is disappointment.

Scene 1:


                             +------------------------------------------------+
                             |                                                |
                             |                  switch                        |
                             +-+-------------------------------------------+--+
                               |                                           |
                             bond0                                        bond0
         +---------------------|--------------------+    
+-----------------|---------------------+
         | host1          +-----------+             |    | host2      
+-----------+              |
         |                |           |             |    |            |         
  |              |
         |                |  ovsbr    |             |    |            |  ovsbr  
  |              |
         |                +-----------+             |    |            
+-----------+              |
         |                     |  ofport=1          |    |                  |   
                 |
         |                +-----------+             |    |            
+-----------+              |
         |                |  br-int   |             |    |            | br-int  
  |              |
         |                +-----------+             |    |            
+-----------+              |
         |           tag=1002      |tag=1038        |    |            |         
 | tag=1038      |
         |                 |       |                |    |    tag=1002|         
 |               |
         |                 |       |                |    |            |         
 |               |
         |   +----------------+  +-----------------+|    |   +---------------+ 
+---------------+ |
         |   |namespace       |  |namespace        ||    |   |namespace      | 
|namespace      | |
         |   |                |  |                 ||    |   |               | 
|               | |
         |   |                |  |                 ||    |   |               | 
|               | |
         |   |10.10.12.2/24   |  |192.168.4.2/24   ||    |   |10.10.12.4/24  | 
|192.168.4.3/24 | |
         |   |iperf -c        |  |                 ||    |   |iperf -s       | 
|               | |
         |   |10.10.12.4 -P 20|  |                 ||    |   |               | 
|               | |
         |   |                |  |                 ||    |   |               | 
|               | |
         |   |                |  |                 ||    |   |               | 
|               | |
         |   |                |  |                 ||    |   |               | 
|               | |
         |   |                |  |                 ||    |   |               | 
|               | |
         |   |                |  |                 ||    |   |               | 
|               | |
         |   +----------------+  +-----------------+|    |   +---------------+ 
+---------------+ |
         |                                          |    |                      
                 |
         |                                          |    |                      
                 |
         +------------------------------------------+    
+---------------------------------------+


1)Set QoS:

ovs-vsctl set port  bond0  qos=@qos -- --id=@qos create qos type=linux-htb\
           queues:1=@queue_data \
           queues:2=@queue_storage -- \
       --id=@queue_data create queue other-config:min-rate=200000000 
other-config:max-rate=200000000-- \
       --id=@queue_storage create queue other-config:min-rate=800000000 
other-config:max-rate=800000000


2)OVS in host1:

Flows of ovsbr:
priority=100,in_port=1,dl_vlan=1002 actions=set_queue:2,NORMAL
priority=50,in_port=1 actions=set_queue:1,NORMAL
priority=2,in_port=1 actions=drop
priority=1 actions=NORMAL

Flows of br-int:
priority=3,in_port=1,dl_vlan=1002 actions=mod_vlan_vid:1002,NORMAL
priority=2,in_port=1 actions=drop
priority=1 actions=NORMAL

3)iperf -c 10.10.12.4 -P 20,but the result is not 800M

[root@host1 ~]# iperf -c 10.10.12.4 -i 1 -t 100  -P 20 |grep SUM
[SUM]  0.0- 1.0 sec  53.2 MBytes    446 Mbits/sec
[SUM]  1.0- 2.0 sec  51.0 MBytes    428 Mbits/sec
[SUM]  2.0- 3.0 sec  54.3 MBytes    455 Mbits/sec
[SUM]  3.0- 4.0 sec  50.9 MBytes    427 Mbits/sec
[SUM]  6.0- 7.0 sec  50.5 MBytes    424 Mbits/sec
[SUM]  7.0- 8.0 sec  51.3 MBytes    430 Mbits/sec


Scene 2:



                                
+------------------------------------------------+
                                |                                               
 |
                                |                  switch                       
 |
                                
+-+-------------------------------------------+--+
                                  |                                           |
                                bond0                                        
bond0
            +---------------------|--------------------+    
+-----------------|---------------------+
            | host1          +----+------+             |    | host2      
+----+------+              |
            |                |           |             |    |            |      
     |              |
            |                |  ovsbr    |             |    |            |  
ovsbr    |              |
            |                +---------+-+             |    |            
+----------++              |
            |                |         |               |    |            |      
    |               |
            |        tag=1002|         | tag=1038      |    |            |      
    |               |
            |        type=inetrnal     | type=internal |    |      tag=1002     
    |tag=1038       |
            |        ofport=4|         | ofport=5      |    |            |      
    |               |
            |                |         |               |    |            |      
    |               |
            |                |         |               |    |            |      
    |               |
            |                |         |               |    |            |      
    |               |
            |   +------------+---+  +-----------------+|    |   
+--------+------+ +-+-------------+ |
            |   |namespace       |  |namespace        ||    |   |namespace      
| |namespace      | |
            |   |                |  |                 ||    |   |               
| |               | |
            |   |                |  |                 ||    |   |               
| |               | |
            |   |10.10.12.2/24   |  |192.168.4.2/24   ||    |   |10.10.12.4/24  
| |192.168.4.3/24 | |
            |   |iperf -c        |  |iperf -c         ||    |   |iperf -s       
| |iperf -s       | |
            |   |10.10.12.4 -P 5 |  |192.168.4.3 -P 50||    |   |               
| |               | |
            |   |                |  |                 ||    |   |               
| |               | |
            |   |                |  |                 ||    |   |               
| |               | |
            |   |                |  |                 ||    |   |               
| |               | |
            |   |                |  |                 ||    |   |               
| |               | |
            |   |                |  |                 ||    |   |               
| |               | |
            |   +----------------+  +-----------------+|    |   
+---------------+ +---------------+ |
            |                                          |    |                   
                    |
            |                                          |    |                   
                    |
            +------------------------------------------+    
+———————————————————+

1)Set QoS:

set port bond0 qos=@qos -- --id=@qos create qos type=linux-htb  
queues:1=@queue_data   queues:2=@queue_storage —
--id=@queue_data create queue other-config:min-rate=300000000 
other-config:max-rate=1000000000
-- --id=@queue_storage create queue other-config:min-rate=400000000 
other-config:max-rate=1000000000


2)OVS in host1:

Flows of ovsbr:
priority=1000,in_port=5 actions=set_queue:1,NORMAL
priority=1000,in_port=4 actions=set_queue:2,NORMAL
priority=900 actions=NORMAL

3)iperf -c 10.10.12.4 -N 5,the bandwidth is 940M
4)At the same time,iperf -c 192.168.4.3 -P 50,the bandwidth for 10.10.12.4 down 
to 150M(not the min-rate).

[SUM] 94.0-95.0 sec    112 MBytes    939 Mbits/sec
[SUM] 95.0-96.0 sec    113 MBytes    950 Mbits/sec
[SUM] 96.0-97.0 sec    112 MBytes    938 Mbits/sec
[SUM] 97.0-98.0 sec    112 MBytes    938 Mbits/sec
[SUM] 98.0-99.0 sec    111 MBytes    935 Mbits/sec
[SUM] 99.0-100.0 sec    112 MBytes    941 Mbits/sec
[SUM] 100.0-101.0 sec  73.6 MBytes    617 Mbits/sec
[SUM] 101.0-102.0 sec  18.6 MBytes    156 Mbits/sec (⭐️)
[SUM] 102.0-103.0 sec  17.1 MBytes    144 Mbits/sec
[SUM] 103.0-104.0 sec  18.6 MBytes    156 Mbits/sec
[SUM] 104.0-105.0 sec  17.8 MBytes    150 Mbits/sec

Could anybody help me find why and how to solve it ?
Any help in this regard will be appreciated.







_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to