lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <304ba960-0214-82d4-05be-e5956baa64c7@alu.unizg.hr>
Date:   Tue, 1 Aug 2023 18:54:41 +0200
From:   Mirsad Todorovac <mirsad.todorovac@....unizg.hr>
To:     Petr Machata <petrm@...dia.com>, Ido Schimmel <idosch@...sch.org>
Cc:     razor@...ckwall.org, Ido Schimmel <idosch@...dia.com>,
        netdev@...r.kernel.org, linux-kselftest@...r.kernel.org,
        linux-kernel@...r.kernel.org,
        "David S. Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>, Shuah Khan <shuah@...nel.org>
Subject: Re: [PATCH v1 01/11] selftests: forwarding: custom_multipath_hash.sh:
 add cleanup for SIGTERM sent by timeout

On 8/1/23 13:08, Petr Machata wrote:
> 
> Ido Schimmel <idosch@...sch.org> writes:
> 
>> On Thu, Jul 27, 2023 at 09:26:03PM +0200, Mirsad Todorovac wrote:
>>> not ok 49 selftests: net/forwarding: mirror_gre_changes.sh # exit=1
>>
>> Petr, please take a look. Probably need to make the filters more
>> specific. The failure is:
>>
>> # TEST: mirror to gretap: TTL change (skip_hw)                        [FAIL]
>> # 	Expected to capture 10 packets, got 14.
> 
> Yeah, this reproduces easily on my laptop. The switches are somehow much
> more quiet and do not really hit the issue.
> 
> Mirsad, can you please try this patch? It fixes the issue for me.
> 
>>>From 77461c209eb0067dca7fdf4431a907b2a1ce8c6a Mon Sep 17 00:00:00 2001
> Message-ID: <77461c209eb0067dca7fdf4431a907b2a1ce8c6a.1690887929.git.petrm@...dia.com>
> From: Petr Machata <petrm@...dia.com>
> Date: Tue, 1 Aug 2023 12:57:53 +0200
> Subject: [PATCH net-next] selftests: mirror_gre_changes: Tighten up the TTL
>   test match
> To: <netdev@...r.kernel.org>
> 
> This test verifies whether the encapsulated packets have the correct
> configured TTL. It does so by sending ICMP packets through the test
> topology and mirroring them to a gretap netdevice. On a busy host
> however, more than just the test ICMP packets may end up flowing
> through the topology, get mirrored, and counted. This leads to
> potential spurious failures as the test observes much more mirrored
> packets than the sent test packets, and assumes a bug.
> 
> Fix this by tightening up the mirror action match. Change it from
> matchall to a flower classifier matching on ICMP packets specifically.
> 
> Signed-off-by: Petr Machata <petrm@...dia.com>
> ---
>   tools/testing/selftests/net/forwarding/mirror_gre_changes.sh | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/net/forwarding/mirror_gre_changes.sh b/tools/testing/selftests/net/forwarding/mirror_gre_changes.sh
> index aff88f78e339..5ea9d63915f7 100755
> --- a/tools/testing/selftests/net/forwarding/mirror_gre_changes.sh
> +++ b/tools/testing/selftests/net/forwarding/mirror_gre_changes.sh
> @@ -72,7 +72,8 @@ test_span_gre_ttl()
>   
>   	RET=0
>   
> -	mirror_install $swp1 ingress $tundev "matchall $tcflags"
> +	mirror_install $swp1 ingress $tundev \
> +		"prot ip flower $tcflags ip_prot icmp"
>   	tc filter add dev $h3 ingress pref 77 prot $prot \
>   		flower skip_hw ip_ttl 50 action pass
>   

The problem seems to be fixed in the test run:

root@...iant:tools/testing/selftests/net/forwarding# ./mirror_gre_changes.sh
TEST: mirror to gretap: TTL change (skip_hw)                        [ OK ]
TEST: mirror to ip6gretap: TTL change (skip_hw)                     [ OK ]
TEST: mirror to gretap: tunnel down/up (skip_hw)                    [ OK ]
TEST: mirror to ip6gretap: tunnel down/up (skip_hw)                 [ OK ]
TEST: mirror to gretap: egress down/up (skip_hw)                    [ OK ]
TEST: mirror to ip6gretap: egress down/up (skip_hw)                 [ OK ]
TEST: mirror to gretap: remote address change (skip_hw)             [ OK ]
TEST: mirror to ip6gretap: remote address change (skip_hw)          [ OK ]
TEST: mirror to gretap: tunnel deleted (skip_hw)                    [ OK ]
TEST: mirror to ip6gretap: tunnel deleted (skip_hw)                 [ OK ]
TEST: mirror to gretap: underlay route removal (skip_hw)            [ OK ]
TEST: mirror to ip6gretap: underlay route removal (skip_hw)         [ OK ]
WARN: Could not test offloaded functionality
root@...iant:tools/testing/selftests/net/forwarding#

That leaves us with one more tests to fix:./bridge_vlan_mcast.sh

# ./bridge_vlan_mcast.sh

TEST: Vlan mcast_startup_query_interval global option default value   [FAIL]
         Wrong default mcast_startup_query_interval global vlan option value


[...]

+ bridge vlan global set vid 10 dev br0 mcast_snooping 1 mcast_last_member_interval 100
+ for current_test in ${TESTS:-$ALL_TESTS}
+ vlmc_startup_query_test
+ RET=0
++ bridge -j vlan global show
+ local 'goutput=[{"ifname":"br0","vlans":[{"vlan":1,"mcast_snooping":1,"mcast_querier":0,"mcast_igmp_version":2,"mcast_mld_version":1,"mcast_last_member_count":2,"mcast_last_member_interval":100,"mcast_startup_query_count":2,"mcast_startup_query_
interval":3124,"mcast_membership_interval":26000,"mcast_querier_interval":25500,"mcast_query_interval":12500,"mcast_query_response_interval":1000},{"vlan":10,"vlanEnd":11,"mcast_snooping":1,"mcast_querier":0,"mcast_igmp_version":2,"mcast_mld_versi
on":1,"mcast_last_member_count":2,"mcast_last_member_interval":100,"mcast_startup_query_count":2,"mcast_startup_query_interval":3124,"mcast_membership_interval":26000,"mcast_querier_interval":25500,"mcast_query_interval":12500,"mcast_query_respons
e_interval":1000}]}]'
+ jq -e '.[].vlans[] | select(.vlan == 10)'
+ echo -n '[{"ifname":"br0","vlans":[{"vlan":1,"mcast_snooping":1,"mcast_querier":0,"mcast_igmp_version":2,"mcast_mld_version":1,"mcast_last_member_count":2,"mcast_last_member_interval":100,"mcast_startup_query_count":2,"mcast_startup_query_interv
al":3124,"mcast_membership_interval":26000,"mcast_querier_interval":25500,"mcast_query_interval":12500,"mcast_query_response_interval":1000},{"vlan":10,"vlanEnd":11,"mcast_snooping":1,"mcast_querier":0,"mcast_igmp_version":2,"mcast_mld_version":1,
"mcast_last_member_count":2,"mcast_last_member_interval":100,"mcast_startup_query_count":2,"mcast_startup_query_interval":3124,"mcast_membership_interval":26000,"mcast_querier_interval":25500,"mcast_query_interval":12500,"mcast_query_response_inte
rval":1000}]}]'
+ check_err 0 'Could not find vlan 10'\''s global options'
+ local err=0
+ local 'msg=Could not find vlan 10'\''s global options'
+ [[ 0 -eq 0 ]]
+ [[ 0 -ne 0 ]]
+ jq -e '.[].vlans[] | select(.vlan == 10 and                                       .mcast_startup_query_interval == 3125) '
+ echo -n '[{"ifname":"br0","vlans":[{"vlan":1,"mcast_snooping":1,"mcast_querier":0,"mcast_igmp_version":2,"mcast_mld_version":1,"mcast_last_member_count":2,"mcast_last_member_interval":100,"mcast_startup_query_count":2,"mcast_startup_query_interv
al":3124,"mcast_membership_interval":26000,"mcast_querier_interval":25500,"mcast_query_interval":12500,"mcast_query_response_interval":1000},{"vlan":10,"vlanEnd":11,"mcast_snooping":1,"mcast_querier":0,"mcast_igmp_version":2,"mcast_mld_version":1,
"mcast_last_member_count":2,"mcast_last_member_interval":100,"mcast_startup_query_count":2,"mcast_startup_query_interval":3124,"mcast_membership_interval":26000,"mcast_querier_interval":25500,"mcast_query_interval":12500,"mcast_query_response_inte
rval":1000}]}]'
+ check_err 4 'Wrong default mcast_startup_query_interval global vlan option value'
+ local err=4
+ local 'msg=Wrong default mcast_startup_query_interval global vlan option value'
+ [[ 0 -eq 0 ]]
+ [[ 4 -ne 0 ]]
+ RET=4
+ retmsg='Wrong default mcast_startup_query_interval global vlan option value'
+ log_test 'Vlan mcast_startup_query_interval global option default value'
+ local 'test_name=Vlan mcast_startup_query_interval global option default value'
+ local opt_str=
+ [[ 1 -eq 2 ]]
+ [[ 4 -ne 0 ]]
+ EXIT_STATUS=1
+ printf 'TEST: %-60s  [FAIL]\n' 'Vlan mcast_startup_query_interval global option default value '
TEST: Vlan mcast_startup_query_interval global option default value   [FAIL]
+ [[ ! -z Wrong default mcast_startup_query_interval global vlan option value ]]
+ printf '\t%s\n' 'Wrong default mcast_startup_query_interval global vlan option value'
         Wrong default mcast_startup_query_interval global vlan option value

[...]

Hope this helps.

Kind regards,
Mirsad

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ