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.


Reply via email to