From a6095f815ed9b8a8d4e9989179d14308c1ed112c Mon Sep 17 00:00:00 2001 From: Babu Shanmugam Date: Wed, 7 Sep 2016 11:40:11 +0530 Subject: Check and allocate free qdisc queue id for ports with qos parameters ovn-northd processes the list of Port_Bindings and hashes the list of queues per chassis. When it finds a port with qos_parameters and without a queue_id, it allocates a free queue for the chassis that this port belongs. The queue_id information is stored in the options field of Port_binding table. Adds an action set_queue to the ingress table 0 of the logical flows which will be translated to openflow set_queue by ovn-controller ovn-controller opens the netdev corresponding to the tunnel interface's status:tunnel_egress_iface value and configures a HTB qdisc on it. Then for each SB port_binding that has queue_id set, it allocates a queue with the qos_parameters of that port. It also frees up unused queues. This patch replaces the older approach of policing Signed-off-by: Babu Shanmugam Signed-off-by: Ben Pfaff --- tests/ovn.at | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests/ovn.at') diff --git a/tests/ovn.at b/tests/ovn.at index 2b193dd0b..3b27581fd 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -938,6 +938,14 @@ reg1[0] = put_dhcpv6_opts(ia_addr="ae70::4"); reg1[0] = put_dhcpv6_opts(ia_addr=ae70::4, domain_search=ae70::1); DHCPv6 option domain_search requires string value. +# set_queue +set_queue(0); + encodes as set_queue:0 +set_queue(61440); + encodes as set_queue:61440 +set_queue(65535); + Queue ID 65535 for set_queue is not in valid range 0 to 61440. + # Contradictionary prerequisites (allowed but not useful): ip4.src = ip6.src[0..31]; encodes as move:NXM_NX_IPV6_SRC[0..31]->NXM_OF_IP_SRC[] -- cgit v1.2.1