On 6/2/23 16:13, Adrian Moreno wrote:
> Currently, htb rates are capped at ~34Gbps because they are internally
> expressed as 32-bit fields.
> 
> Move min and max rates to 64-bit fields and use TCA_HTB_RATE64 and
> TCA_HTB_CEIL64 to configure HTC classes to break this barrier.
> 
> In order to test this, create a dummy tuntap device and set it's
> speed to a very high value so we can try adding a QoS queue with big
> rates.
> 
> Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2137619
> Signed-off-by: Adrian Moreno <[email protected]>
> ---
>  acinclude.m4            | 10 +++++++
>  lib/netdev-linux.c      | 59 ++++++++++++++++++++++++++++-------------
>  tests/atlocal.in        |  1 +
>  tests/system-traffic.at | 28 +++++++++++++++++++
>  4 files changed, 80 insertions(+), 18 deletions(-)
> 

<snip>

> index 4c378e1d0..6200ec52e 100644
> --- a/tests/system-traffic.at
> +++ b/tests/system-traffic.at
> @@ -2354,6 +2354,34 @@ AT_CHECK([tc class show dev ovs-p1 | grep -q 'class 
> htb .* HTB_CONF'])
>  OVS_TRAFFIC_VSWITCHD_STOP
>  AT_CLEANUP
>  
> +AT_SETUP([QoS - 64bit])
> +AT_SKIP_IF([test $HAVE_TC = no])
> +AT_SKIP_IF([test $HAVE_TCA_HTB_RATE64 = no])
> +OVS_TRAFFIC_VSWITCHD_START()
> +
> +ADD_NAMESPACES(at_ns0, at_ns1)
> +ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
> +ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
> +
> +dnl Configure the QoS with rates that require 64bits, i.e: > 34Gbps.
> +AT_CHECK([ovs-vsctl set port ovs-p0 qos=@qos -- set port ovs-p1 qos=@qos dnl
> +            -- --id=@qos create qos dnl
> +               type=linux-htb other-config:max-rate=50000000000 
> queues:0=@queue dnl
> +            -- --id=@queue create queue dnl
> +               other_config:min-rate=40000000000 
> other_config:max-rate=50000000000 dnl
> +               other_config:burst=50000000000],
> +         [ignore], [ignore])
> +
> +OVS_WAIT_UNTIL([tc qdisc show dev ovs-p0 | grep -q htb])
> +OVS_WAIT_UNTIL([tc qdisc show dev ovs-p1 | grep -q htb])
> +
> +m4_define([HTB_CONF], [rate 40Gbit ceil 50Gbit burst 1955030000b cburst 
> 1955031250b])

Same comment as for 7/7.
The burst seems to be overflowing here.  Should it be documented that
limits for the burst are lower?  (I didn't read the whole set.  Sorry
if I missed these docs.)

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to