[ovs-discuss] Is it possible to limit bandwidth for particular OVS port?

Gurucharan Shetty shettyg at nicira.com
Tue Mar 31 02:32:34 UTC 2015


On Mon, Mar 30, 2015 at 7:19 PM, Tim Bagr <timbgr at gmail.com> wrote:
> Thanks for the reply!
>
> Good news for now. I've tried the same config with another (non-egress) port
> of my OVS switch br3 and now the queue is actually working.
I see  vnet0 as an egress port in this context.
>
>
> # ovs-vsctl set port vnet0 qos=@nqos -- --id=@nqos create qos type=linux-htb
> other-config:max-rate=10000000 queues=123=@q1 -- --id=@q1 create queue
> other-config:max-rate=1000
> 55bb4a0f-d818-4292-91cc-ba6a5c3e4d66
> 5858733e-d6a0-4324-89fb-af9526fe4768
>
> vnet0 here is port where guest VM is connected
>
> # ovs-ofctl show br3
> OFPT_FEATURES_REPLY (xid=0x2): dpid:00007a42d1ca7e05
> n_tables:254, n_buffers:256
> capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
> actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST
> SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
>  3(b2p): addr:ae:a4:9d:8b:9f:a9
>      config:     0
>      state:      0
>      speed: 0 Mbps now, 0 Mbps max
>  7(vnet0): addr:fe:54:00:ac:e1:a6
>      config:     0
>      state:      0
>      current:    10MB-FD COPPER
>      speed: 10 Mbps now, 0 Mbps max
>  8(vnet1): addr:fe:54:00:9b:d9:a1
>      config:     0
>      state:      0
>      current:    10MB-FD COPPER
>      speed: 10 Mbps now, 0 Mbps max
>  LOCAL(br3): addr:7a:42:d1:ca:7e:05
>      config:     0
>      state:      0
>      speed: 0 Mbps now, 0 Mbps max
> OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0
>
>
> # ovs-ofctl add-flow br3
> "priority=10,ip,ip_src=10.1.0.1,ip_dst=192.168.126.177,actions=enqueue:7:123"
You are outputting to a port which is not br3 above. So this is
different than the previous use case.

>
> Where 10.1.0.1 is the outer PC which the guest VM pings. And 192.168.126.177
> is the guest VM IP
>
> [root at VM ~]# ping 10.1.0.1 -i 0.1 -s 250
> PING 10.1.0.1 (10.1.0.1) 250(278) bytes of data.
> 258 bytes from 10.1.0.1: icmp_seq=1 ttl=63 time=0.350 ms
> 258 bytes from 10.1.0.1: icmp_seq=2 ttl=63 time=0.195 ms
> 258 bytes from 10.1.0.1: icmp_seq=3 ttl=63 time=0.205 ms
> 258 bytes from 10.1.0.1: icmp_seq=4 ttl=63 time=0.192 ms
> 258 bytes from 10.1.0.1: icmp_seq=5 ttl=63 time=0.202 ms
> 258 bytes from 10.1.0.1: icmp_seq=6 ttl=63 time=0.216 ms
> 258 bytes from 10.1.0.1: icmp_seq=7 ttl=63 time=0.215 ms
> 258 bytes from 10.1.0.1: icmp_seq=8 ttl=63 time=0.187 ms
> 258 bytes from 10.1.0.1: icmp_seq=9 ttl=63 time=0.178 ms
> 258 bytes from 10.1.0.1: icmp_seq=10 ttl=63 time=0.207 ms
> 258 bytes from 10.1.0.1: icmp_seq=11 ttl=63 time=0.229 ms
> 258 bytes from 10.1.0.1: icmp_seq=12 ttl=63 time=0.189 ms
> 258 bytes from 10.1.0.1: icmp_seq=13 ttl=63 time=93.4 ms
> 258 bytes from 10.1.0.1: icmp_seq=14 ttl=63 time=188 ms
> 258 bytes from 10.1.0.1: icmp_seq=15 ttl=63 time=274 ms
> 258 bytes from 10.1.0.1: icmp_seq=16 ttl=63 time=370 ms
> 258 bytes from 10.1.0.1: icmp_seq=17 ttl=63 time=454 ms
> 258 bytes from 10.1.0.1: icmp_seq=18 ttl=63 time=547 ms
> 258 bytes from 10.1.0.1: icmp_seq=19 ttl=63 time=633 ms
> 258 bytes from 10.1.0.1: icmp_seq=20 ttl=63 time=727 ms
> 258 bytes from 10.1.0.1: icmp_seq=21 ttl=63 time=812 ms
> 258 bytes from 10.1.0.1: icmp_seq=22 ttl=63 time=907 ms
> 258 bytes from 10.1.0.1: icmp_seq=23 ttl=63 time=992 ms
> 258 bytes from 10.1.0.1: icmp_seq=24 ttl=63 time=1085 ms
> 258 bytes from 10.1.0.1: icmp_seq=25 ttl=63 time=1170 ms
> 258 bytes from 10.1.0.1: icmp_seq=26 ttl=63 time=1265 ms
> 258 bytes from 10.1.0.1: icmp_seq=27 ttl=63 time=1352 ms
>
> As we can see - the flow is actually working!
>
> # ovs-ofctl dump-flows br3
> NXST_FLOW reply (xid=0x4):
>  cookie=0x0, duration=598.125s, table=0, n_packets=438, n_bytes=119562,
> idle_age=9, priority=0 actions=NORMAL
>  cookie=0x0, duration=53.638s, table=0, n_packets=250, n_bytes=49850,
> idle_age=13, priority=10,ip,nw_src=10.1.0.1,nw_dst=192.168.126.177
> actions=enqueue:7:123
>
>
>
> But I still wonder why It was not working when set QoS for br3 port?



More information about the discuss mailing list