QoS/traffic-limit on internal ports in OpenVSwitch

openstack-neutronopenvswitchqosrate-limiting

I am currently trying to put traffic control on our OpenStack cloud and my questions in one sentence would be: is it possible at all to rate-limit particular port with type internal?

The whole story is as following:
We are running OpenStack Neutron network over OpenVSwitch. Datapath can be found here:

enter image description here

Hence, to limit upload/download bandwidth of a particular sub-network, the most intuitive approach is to put QoS rules on L3 router agents, namely port qr-XXXXXX-XX and qg-XXXXX-XX in Neutron nodes. Both of them are internal type in OVS-system and I have tried following commands:

1.

ovs-vsctl set interface qr-XXXXXX-XX ingress_policing_rate=2000000

ovs-vsctl set interface qr-XXXXXX-XX ingress_policing_rate=2000

2.

ovs-vsctl -- set Port qr-XXXXXX-XX qos=@newqos \

-- --id=@newqos create QoS type=linux-htb other-config:max-rate=2000000 queues=0=@q0 \

-- --id=@q0 create Queue other-config:min-rate=2000000

Although neither of them seem to be effective when I try iperf within in VMs.

Meanwhile, I do achieve rate limit when apply exactly same commands on qvoXXXXXX-XX, which is connected to each VM. I've noticed that they are normal types.

Therefore, I suspect that rate limit does not support internal port, which connects two network namespaces in linux.

Thanks for your valuable time and I truly appreciate your help!

Best Answer

After a day's googling.I found it seems rate-limiting is not working on internal port.ref is http://openvswitch.org/pipermail/discuss/2013-April/009586.html

Related Topic