• Petr Machata's avatar
    selftests: forwarding: sch_ets: Add test coverage for ETS Qdisc · ddd3fd75
    Petr Machata authored
    This tests the newly-added ETS Qdisc. It runs two to three streams of
    traffic, each with a different priority. ETS Qdisc is supposed to allocate
    bandwidth according to the DRR algorithm and given weights. After running
    the traffic for a while, counters are compared for each stream to check
    that the expected ratio is in fact observed.
    
    In order for the DRR process to kick in, a traffic bottleneck must exist in
    the first place. In slow path, such bottleneck can be implemented by
    wrapping the ETS Qdisc inside a TBF or other shaper. This might however
    make the configuration unoffloadable. Instead, on HW datapath, the
    bottleneck would be set up by lowering port speed and configuring shared
    buffer suitably.
    
    Therefore the test is structured as a core component that implements the
    testing, with two wrapper scripts that implement the details of slow path
    resp. fast path configuration.
    Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
    Reviewed-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ddd3fd75
sch_ets.sh 1.78 KB