Ilya Maximets <[email protected]> writes: > On 9/22/26 1:20 AM, Johannes Berg wrote: >> On Tue, 2026-09-22 at 00:36 +0200, Johannes Berg wrote: >>> >>> Indeed. Something like this (untested right now, didn't manage to spin >>> up a test yet): >>> >>> diff --git a/tools/testing/selftests/net/openvswitch/openvswitch.sh >>> b/tools/testing/selftests/net/openvswitch/openvswitch.sh >>> index a31f7fb6882d..9b8edfcd2d1a 100755 >>> --- a/tools/testing/selftests/net/openvswitch/openvswitch.sh >>> +++ b/tools/testing/selftests/net/openvswitch/openvswitch.sh >>> @@ -234,7 +234,7 @@ ovs_drop_reason_count() >>> local reason=$1 >>> >>> local perf_output=`perf script -i ${ovs_dir}/perf.data -F >>> trace:event,trace` >>> - local pattern="skb:kfree_skb:.*reason: $reason" >>> + local pattern="skb:kfree_skb:.*reason: $reason$" >>> >>> return `echo "$perf_output" | grep "$pattern" | wc -l` >>> } >>> @@ -790,15 +790,6 @@ test_psample() { >>> # - drop packets and verify the right drop reason is reported >>> test_drop_reason() { >>> which perf >/dev/null 2>&1 || return $ksft_skip >>> - which pahole >/dev/null 2>&1 || return $ksft_skip >>> - >>> - ovs_drop_subsys=$(pahole -C skb_drop_reason_subsys | >>> - awk '/OPENVSWITCH/ { print $3; }' | >>> - tr -d ,) >>> - if [ -z "$ovs_drop_subsys" ]; then >>> - info "failed to get OVS drop subsys ID" >>> - return $ksft_skip >>> - fi >>> >>> sbx_add "test_drop_reason" || return $? >>> >>> @@ -842,7 +833,7 @@ test_drop_reason() { >>> >>> "in_port(2),eth(),eth_type(0x0800),ipv4(src=172.31.110.20,proto=1),icmp()" >>> 'drop' >>> >>> ovs_drop_record_and_run "test_drop_reason" ip netns exec client ping -c >>> 2 172.31.110.20 >>> - ovs_drop_reason_count 0x${ovs_drop_subsys}0001 # OVS_DROP_FLOW_ACTION >>> + ovs_drop_reason_count OVS_DROP_LAST_ACTION >>> if [[ "$?" -ne "2" ]]; then >>> info "Did not detect expected drops: $?" >>> return 1 >>> @@ -859,7 +850,7 @@ test_drop_reason() { >>> >>> ovs_drop_record_and_run \ >>> "test_drop_reason" ip netns exec client nc -i 1 -zuv >>> 172.31.110.20 6000 >>> - ovs_drop_reason_count 0x${ovs_drop_subsys}0004 # >>> OVS_DROP_EXPLICIT_ACTION_ERROR >>> + ovs_drop_reason_count OVS_DROP_EXPLICIT_WITH_ERROR >>> if [[ "$?" -ne "1" ]]; then >>> info "Did not detect expected explicit error drops: $?" >>> return 1 >>> @@ -867,7 +858,7 @@ test_drop_reason() { >>> >>> ovs_drop_record_and_run \ >>> "test_drop_reason" ip netns exec client nc -i 1 -zuv >>> 172.31.110.20 7000 >>> - ovs_drop_reason_count 0x${ovs_drop_subsys}0003 # >>> OVS_DROP_EXPLICIT_ACTION >>> + ovs_drop_reason_count OVS_DROP_EXPLICIT >>> if [[ "$?" -ne "1" ]]; then >>> info "Did not detect expected explicit drops: $?" >>> return 1 >>> >> >> No longer untested, that works. > > Looks nicer than parsing obscure numbers indeed!
+1 ! > Matthieu mentioned we'll need CONFIG_TRACEPOINTS in the selftest config > shard: tools/testing/selftests/net/openvswitch/config > > Is that a new dependency or was it always there we just missed adding it > to the config before? (it's included in the common net config, so that > is probably the reason why CI doesn't fail) Yes, we missed it the first time around. > Best regards, Ilya Maximets.
