<div dir="ltr"><span style="color:rgb(0,0,0);font-size:12.6666669845581px">Hi,</span><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">I am trying to rate limit a port which is the gateway of a Neutron virtual router without success.</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">I have created a virtual router with 2 ports:</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><div>ip netns exec qrouter-6a080f37-4da0-4646-ad36-062b748d15be ip a</div><div>10: qg-4bda7108-d2: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN </div><div>    link/ether fa:16:3e:95:cc:7b brd ff:ff:ff:ff:ff:ff</div><div>    inet <a href="http://8.8.8.8/27" target="_blank">8.8.8.8/27</a> brd 119.81.159.223 scope global qg-4bda7108-d2</div><div>    inet <a href="http://8.8.8.9/32" target="_blank">8.8.8.9/32</a> brd 119.81.159.207 scope global qg-4bda7108-d2</div><div>    inet <a href="http://8.8.8.10/32" target="_blank">8.8.8.10/32</a> brd 119.81.159.209 scope global qg-4bda7108-d2</div><div>    inet6 fe80::f816:3eff:fe95:cc7b/64 scope link </div><div>       valid_lft forever preferred_lft forever</div><div>16: qr-a9b3962f-d4: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN </div><div>    link/ether fa:16:3e:c2:64:dd brd ff:ff:ff:ff:ff:ff</div><div>    inet <a href="http://192.168.99.1/24" target="_blank">192.168.99.1/24</a> brd 192.168.99.255 scope global qr-a9b3962f-d4</div><div>    inet6 fe80::f816:3eff:fec2:64dd/64 scope link </div><div>       valid_lft forever preferred_lft forever</div></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">Now I want to rate limit the port qr-a9b3962f-d4 so that I can efficiently rate limit the upstream connection of all instances using the virtual router to connect to the internet. I have tried both to use the ingress_policy_rate and to use the QoS queues without success.</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">These were the commands I tried to use QoS queues:</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">(Using Default queue, doesn't work)</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">ovs-vsctl set port qr-a9b3962f-d4 qos=@newqos -- --id=@newqos create qos type=linux-htb queues=0=@q0 -- --id=@q0 create queue other-config:min-rate=1000000 other-config:max-rate=1000000<br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">download rate was not limited to 1 mbitps</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">(Using specific queue and modify the flow to enqueue based on FAQ also doesn't work)</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">ovs-vsctl set port qr-a9b3962f-d4 qos=@newqos -- --id=@newqos create qos type=linux-htb queues=0=@q0 -- --id=@q0 create queue other-config:min-rate=1000000 other-config:max-rate=1000000<br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">ovs-ofctl add-flow br-int out_port=12,actions=set_queue:0,normal<br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">download rate was not limited to 1 mbitps</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">Now what does work is if I go to the compute node and apply QoS on the instance port directly like this:</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">ovs-vsctl set port {{port of instance}} qos=@newqos -- --id=@newqos create qos type=linux-htb queues=0=@q0 -- --id=@q0 create queue other-config:min-rate=1000000 other-config:max-rate=1000000<br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">the above command immediately limits the download rate to 1 mbitps</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">Does anybody know what I'm doing wrong? I also posted a question on stackexchange: <a href="http://unix.stackexchange.com/questions/177680/is-traffic-control-inside-namespace-on-ports-created-by-openvswitch-supported" target="_blank">http://unix.stackexchange.com/questions/177680/is-traffic-control-inside-namespace-on-ports-created-by-openvswitch-supported</a> which shows that TC isn't working on interfaces created by openvswitch in a namespace, which may be the root cause.</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">Help is greatly appreciated! Thanks in advance.</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><br></div><div style="color:rgb(0,0,0);font-size:12.6666669845581px">See related br-int:</div><div style="color:rgb(0,0,0);font-size:12.6666669845581px"><div>    Bridge br-int</div><div>        Port int-br-ex</div><div>            Interface int-br-ex</div><div>        Port patch-tun</div><div>            Interface patch-tun</div><div>                type: patch</div><div>                options: {peer=patch-int}</div><div>        Port br-int</div><div>            Interface br-int</div><div>                type: internal</div><div>        Port "tap5074e9db-25"</div><div>            tag: 2</div><div>            Interface "tap5074e9db-25"</div><div>                type: internal</div><div>        Port "tap7f0b82cf-b1"</div><div>            tag: 3</div><div>            Interface "tap7f0b82cf-b1"</div><div>                type: internal</div><div>        Port "tap842b6685-8c"</div><div>            tag: 1</div><div>            Interface "tap842b6685-8c"</div><div>                type: internal</div><div>        Port "qr-a9b3962f-d4"</div><div>            tag: 1</div><div>            Interface "qr-a9b3962f-d4"</div><div>                type: internal</div><div>        Port "qr-abc388da-cf"</div><div>            tag: 2</div><div>            Interface "qr-abc388da-cf"</div><div>                type: internal</div></div></div>