• Amit Cohen's avatar
    selftests: mlxsw: Use shapers in QOS RED tests instead of forcing speed · 61a00b19
    Amit Cohen authored
    QOS tests create congestion and verify the switch behavior. To create
    congestion, they need to have more traffic than the port can handle, so
    some of them force 1Gbps speed.
    
    The tests assume that 1Gbps speed is supported, otherwise, they will fail.
    Spectrum-4 ASIC will not support this speed in all ports, so to be able
    to run the tests there, some adjustments are required. Use shapers to limit
    the traffic instead of forcing speed. Note that for several ports, the
    speed configuration is just for autoneg issues, so shaper is not needed
    instead.
    
    The tests already use ETS qdisc as a root and RED qdiscs as children. Add
    a new TBF shaper to limit the rate of traffic, and use it as a root qdisc,
    then save the previous hierarchy of qdiscs under the new TBF root.
    
    In some ASICs, the shapers do not limit the traffic as accurately as
    forcing speed. To make the tests stable, allow the backlog size to be up to
    +-10% of the threshold. The aim of the tests is to make sure that with
    backlog << threshold, there are no drops, and that packets are dropped
    somewhere in vicinity of the configured threshold.
    Signed-off-by: default avatarAmit Cohen <amcohen@nvidia.com>
    Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    61a00b19
sch_red_ets.sh 3.04 KB