mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 14:41:39 +00:00
selftests: spectrum-2: Fix multiple_masks_test
With recent fix in C-TCAM spillage for delta masks, the test stops to be falsely positive. So fix it not to use delta by adding src_ip bits to the masks. Alongside with that, use C-TCAM spill trace to see when the spillage actually happens. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1eadbd3ab9
commit
0d0f20fb2f
@ -231,20 +231,38 @@ multiple_masks_test()
|
||||
# spillage is performed correctly and that the right filter is
|
||||
# matched
|
||||
|
||||
if [[ "$tcflags" != "skip_sw" ]]; then
|
||||
return 0;
|
||||
fi
|
||||
|
||||
local index
|
||||
|
||||
RET=0
|
||||
|
||||
NUM_MASKS=32
|
||||
NUM_ERPS=16
|
||||
BASE_INDEX=100
|
||||
|
||||
for i in $(eval echo {1..$NUM_MASKS}); do
|
||||
index=$((BASE_INDEX - i))
|
||||
|
||||
tc filter add dev $h2 ingress protocol ip pref $index \
|
||||
if ((i > NUM_ERPS)); then
|
||||
exp_hits=1
|
||||
err_msg="$i filters - C-TCAM spill did not happen when it was expected"
|
||||
else
|
||||
exp_hits=0
|
||||
err_msg="$i filters - C-TCAM spill happened when it should not"
|
||||
fi
|
||||
|
||||
tp_record "mlxsw:mlxsw_sp_acl_atcam_entry_add_ctcam_spill" \
|
||||
"tc filter add dev $h2 ingress protocol ip pref $index \
|
||||
handle $index \
|
||||
flower $tcflags dst_ip 192.0.2.2/${i} src_ip 192.0.2.1 \
|
||||
action drop
|
||||
flower $tcflags \
|
||||
dst_ip 192.0.2.2/${i} src_ip 192.0.2.1/${i} \
|
||||
action drop"
|
||||
tp_check_hits "mlxsw:mlxsw_sp_acl_atcam_entry_add_ctcam_spill" \
|
||||
$exp_hits
|
||||
check_err $? "$err_msg"
|
||||
|
||||
$MZ $h1 -c 1 -p 64 -a $h1mac -b $h2mac -A 192.0.2.1 \
|
||||
-B 192.0.2.2 -t ip -q
|
||||
|
Loading…
Reference in New Issue
Block a user