Skip to content

Commit

Permalink
Merge branch 'selftests-forwarding-Two-small-changes'
Browse files Browse the repository at this point in the history
Petr Machata says:

====================
selftests: forwarding: Two small changes

Two unrelated changes in this patchset:

- In patch #1, convert mirror tests from using ping directly to generating
  ICMP packets by mausezahn. Using ping in tests is error-prone, because
  ping is too smart. On a flaky system (notably in a simulator), when
  packets don't come quickly enough, more pings are sent, and that throws
  off counters. This was worked around in the past by just pinging more
  slowly, but using mausezahn avoids the issue as well without making the
  tests unnecessary slow.

- A missing stats_update callback was recently added to act_pedit. Now that
  iproute2 supports JSON dumping for pedit, extend in patch #2 the
  pedit_dsfield selftest with a check that would have caught the fact that
  the callback was missing.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed May 31, 2020
2 parents 193025e + 3ed9703 commit e8c867c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
6 changes: 2 additions & 4 deletions tools/testing/selftests/net/forwarding/mirror_lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,9 @@ mirror_test()
local pref=$1; shift
local expect=$1; shift

local ping_timeout=$((PING_TIMEOUT * 5))
local t0=$(tc_rule_stats_get $dev $pref)
ip vrf exec $vrf_name \
${PING} ${sip:+-I $sip} $dip -c 10 -i 0.5 -w $ping_timeout \
&> /dev/null
$MZ $vrf_name ${sip:+-A $sip} -B $dip -a own -b bc -q \
-c 10 -d 100ms -t icmp type=8
sleep 0.5
local t1=$(tc_rule_stats_get $dev $pref)
local delta=$((t1 - t0))
Expand Down
7 changes: 6 additions & 1 deletion tools/testing/selftests/net/forwarding/pedit_dsfield.sh
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,12 @@ do_test_pedit_dsfield_common()
local pkts
pkts=$(busywait "$TC_HIT_TIMEOUT" until_counter_is ">= 10" \
tc_rule_handle_stats_get "dev $h2 ingress" 101)
check_err $? "Expected to get 10 packets, but got $pkts."
check_err $? "Expected to get 10 packets on test probe, but got $pkts."

pkts=$(tc_rule_handle_stats_get "$pedit_locus" 101)
((pkts >= 10))
check_err $? "Expected to get 10 packets on pedit rule, but got $pkts."

log_test "$pedit_locus pedit $pedit_action"
}

Expand Down

0 comments on commit e8c867c

Please sign in to comment.