Jakub Kicinski via dev <ovs-dev@xxxxxxxxxxxxxxx> writes: > WiFi removed one of their subsys entries from drop reasons, in > commit 286e69677065 ("wifi: mac80211: Drop cooked monitor support") > SKB_DROP_REASON_SUBSYS_OPENVSWITCH is now 2 not 3. > The drop reasons are not uAPI, read the correct value > from debug info. > > We need to enable vmlinux BTF, otherwise pahole needs > a few GB of memory to decode the enum name. > > Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> > --- > CC: shuah@xxxxxxxxxx > CC: pshelar@xxxxxxx > CC: aconole@xxxxxxxxxx > CC: amorenoz@xxxxxxxxxx > CC: linux-kselftest@xxxxxxxxxxxxxxx > CC: dev@xxxxxxxxxxxxxxx > --- Acked-by: Aaron Conole <aconole@xxxxxxxxxx> Thanks for the fix! > tools/testing/selftests/net/config | 2 ++ > .../testing/selftests/net/openvswitch/openvswitch.sh | 11 ++++++++--- > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/net/config b/tools/testing/selftests/net/config > index 5b9baf708950..3365bcc35304 100644 > --- a/tools/testing/selftests/net/config > +++ b/tools/testing/selftests/net/config > @@ -18,6 +18,8 @@ CONFIG_DUMMY=y > CONFIG_BRIDGE_VLAN_FILTERING=y > CONFIG_BRIDGE=y > CONFIG_CRYPTO_CHACHA20POLY1305=m > +CONFIG_DEBUG_INFO_BTF=y > +CONFIG_DEBUG_INFO_BTF_MODULES=n > CONFIG_VLAN_8021Q=y > CONFIG_GENEVE=m > CONFIG_IFB=y > diff --git a/tools/testing/selftests/net/openvswitch/openvswitch.sh b/tools/testing/selftests/net/openvswitch/openvswitch.sh > index 960e1ab4dd04..3c8d3455d8e7 100755 > --- a/tools/testing/selftests/net/openvswitch/openvswitch.sh > +++ b/tools/testing/selftests/net/openvswitch/openvswitch.sh > @@ -330,6 +330,11 @@ 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 ,) > > sbx_add "test_drop_reason" || return $? > > @@ -373,7 +378,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 0x30001 # OVS_DROP_FLOW_ACTION > + ovs_drop_reason_count 0x${ovs_drop_subsys}0001 # OVS_DROP_FLOW_ACTION > if [[ "$?" -ne "2" ]]; then > info "Did not detect expected drops: $?" > return 1 > @@ -390,7 +395,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 0x30004 # OVS_DROP_EXPLICIT_ACTION_ERROR > + ovs_drop_reason_count 0x${ovs_drop_subsys}0004 # OVS_DROP_EXPLICIT_ACTION_ERROR > if [[ "$?" -ne "1" ]]; then > info "Did not detect expected explicit error drops: $?" > return 1 > @@ -398,7 +403,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 0x30003 # OVS_DROP_EXPLICIT_ACTION > + ovs_drop_reason_count 0x${ovs_drop_subsys}0003 # OVS_DROP_EXPLICIT_ACTION > if [[ "$?" -ne "1" ]]; then > info "Did not detect expected explicit drops: $?" > return 1