selftests: mlxsw: qos_mc_aware: Configure shared buffers

This test runs two streams of traffic from two independent ports to
create congestion on one egress port. It is necessary to configure the
shared buffer thresholds correctly, to make sure that there is traffic
from both streams in the shared buffer. Only then can the test actually
test prioritization among these streams.

Without this configuration, it is possible, that one of the streams
takes all of port-pool quota, and the other stream is not even admitted,
thus invalidating the result.

On Spectrum-1, this is not a problem, because MC traffic uses a separate
pool. But for Spectrum-2, MC and UC share the same pool, and the correct
configuration is important.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Petr Machata 2019-03-28 12:12:25 +00:00 committed by David S. Miller
parent d04cc726c8
commit 5dde21b3a7

View File

@ -67,6 +67,7 @@ lib_dir=$(dirname $0)/../../../net/forwarding
NUM_NETIFS=6
source $lib_dir/lib.sh
source $lib_dir/devlink_lib.sh
h1_create()
{
@ -140,10 +141,28 @@ switch_create()
ip link set dev br111 up
ip link set dev $swp2.111 master br111
ip link set dev $swp3.111 master br111
# Make sure that ingress quotas are smaller than egress so that there is
# room for both streams of traffic to be admitted to shared buffer.
devlink_port_pool_th_set $swp1 0 5
devlink_tc_bind_pool_th_set $swp1 0 ingress 0 5
devlink_port_pool_th_set $swp2 0 5
devlink_tc_bind_pool_th_set $swp2 1 ingress 0 5
devlink_port_pool_th_set $swp3 4 12
}
switch_destroy()
{
devlink_port_pool_th_restore $swp3 4
devlink_tc_bind_pool_th_restore $swp2 1 ingress
devlink_port_pool_th_restore $swp2 0
devlink_tc_bind_pool_th_restore $swp1 0 ingress
devlink_port_pool_th_restore $swp1 0
ip link del dev br111
ip link del dev br1