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