diff mbox series

[net,1/2] selftests: fib_tests: Disable RP filter in multipath list receive test

Message ID 20231010132113.3014691-2-idosch@nvidia.com (mailing list archive)
State Accepted
Commit dbb13378ba306484214b84304e232723a2aaf10a
Delegated to: Netdev Maintainers
Headers show
Series selftests: fib_tests: Fixes for multipath list receive tests | expand

Checks

Context Check Description
netdev/series_format success Posting correctly formatted
netdev/tree_selection success Clearly marked for net
netdev/fixes_present success Fixes tag present in non-next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 9 this patch: 9
netdev/cc_maintainers warning 2 maintainers not CCed: shuah@kernel.org linux-kselftest@vger.kernel.org
netdev/build_clang success Errors and warnings before: 9 this patch: 9
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success net selftest script(s) already in Makefile
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 9 this patch: 9
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 9 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Ido Schimmel Oct. 10, 2023, 1:21 p.m. UTC
The test relies on the fib:fib_table_lookup trace point being triggered
once for each forwarded packet. If RP filter is not disabled, the trace
point will be triggered twice for each packet (for source validation and
forwarding), potentially masking actual bugs. Fix by explicitly
disabling RP filter.

Before:

 # ./fib_tests.sh -t ipv4_mpath_list

 IPv4 multipath list receive tests
     TEST: Multipath route hit ratio (1.99)                              [ OK ]

After:

 # ./fib_tests.sh -t ipv4_mpath_list

 IPv4 multipath list receive tests
     TEST: Multipath route hit ratio (.99)                               [ OK ]

Fixes: 8ae9efb859c0 ("selftests: fib_tests: Add multipath list receive tests")
Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/netdev/202309191658.c00d8b8-oliver.sang@intel.com/
Tested-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
---
 tools/testing/selftests/net/fib_tests.sh | 3 +++
 1 file changed, 3 insertions(+)

Comments

David Ahern Oct. 10, 2023, 3:21 p.m. UTC | #1
On 10/10/23 7:21 AM, Ido Schimmel wrote:
> The test relies on the fib:fib_table_lookup trace point being triggered
> once for each forwarded packet. If RP filter is not disabled, the trace
> point will be triggered twice for each packet (for source validation and
> forwarding), potentially masking actual bugs. Fix by explicitly
> disabling RP filter.
> 
> Before:
> 
>  # ./fib_tests.sh -t ipv4_mpath_list
> 
>  IPv4 multipath list receive tests
>      TEST: Multipath route hit ratio (1.99)                              [ OK ]
> 
> After:
> 
>  # ./fib_tests.sh -t ipv4_mpath_list
> 
>  IPv4 multipath list receive tests
>      TEST: Multipath route hit ratio (.99)                               [ OK ]
> 
> Fixes: 8ae9efb859c0 ("selftests: fib_tests: Add multipath list receive tests")
> Reported-by: kernel test robot <oliver.sang@intel.com>
> Closes: https://lore.kernel.org/netdev/202309191658.c00d8b8-oliver.sang@intel.com/
> Tested-by: kernel test robot <oliver.sang@intel.com>
> Signed-off-by: Ido Schimmel <idosch@nvidia.com>
> ---
>  tools/testing/selftests/net/fib_tests.sh | 3 +++
>  1 file changed, 3 insertions(+)
> 

Reviewed-by: David Ahern <dsahern@kernel.org>
Sriram Yagnaraman Oct. 11, 2023, 12:23 p.m. UTC | #2
> -----Original Message-----
> From: David Ahern <dsahern@kernel.org>
> Sent: Tuesday, 10 October 2023 17:21
> To: Ido Schimmel <idosch@nvidia.com>; netdev@vger.kernel.org
> Cc: davem@davemloft.net; kuba@kernel.org; pabeni@redhat.com;
> edumazet@google.com; dsahern@gmail.com; Sriram Yagnaraman
> <sriram.yagnaraman@est.tech>; oliver.sang@intel.com; mlxsw@nvidia.com
> Subject: Re: [PATCH net 1/2] selftests: fib_tests: Disable RP filter in multipath
> list receive test
> 
> On 10/10/23 7:21 AM, Ido Schimmel wrote:
> > The test relies on the fib:fib_table_lookup trace point being
> > triggered once for each forwarded packet. If RP filter is not
> > disabled, the trace point will be triggered twice for each packet (for
> > source validation and forwarding), potentially masking actual bugs.
> > Fix by explicitly disabling RP filter.
> >
> > Before:
> >
> >  # ./fib_tests.sh -t ipv4_mpath_list
> >
> >  IPv4 multipath list receive tests
> >      TEST: Multipath route hit ratio (1.99)                              [ OK ]
> >
> > After:
> >
> >  # ./fib_tests.sh -t ipv4_mpath_list
> >
> >  IPv4 multipath list receive tests
> >      TEST: Multipath route hit ratio (.99)                               [ OK ]
> >
> > Fixes: 8ae9efb859c0 ("selftests: fib_tests: Add multipath list receive
> > tests")
> > Reported-by: kernel test robot <oliver.sang@intel.com>
> > Closes:
> > https://lore.kernel.org/netdev/202309191658.c00d8b8-oliver.sang@intel.
> > com/
> > Tested-by: kernel test robot <oliver.sang@intel.com>
> > Signed-off-by: Ido Schimmel <idosch@nvidia.com>
> > ---
> >  tools/testing/selftests/net/fib_tests.sh | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> 
> Reviewed-by: David Ahern <dsahern@kernel.org>
> 

Thanks a lot for fixing this
Tested-by: Sriram Yagnaraman <sriram.yagnaraman@est.tech>
diff mbox series

Patch

diff --git a/tools/testing/selftests/net/fib_tests.sh b/tools/testing/selftests/net/fib_tests.sh
index e7d2a530618a..0dbb26b4fa4a 100755
--- a/tools/testing/selftests/net/fib_tests.sh
+++ b/tools/testing/selftests/net/fib_tests.sh
@@ -2437,6 +2437,9 @@  ipv4_mpath_list_test()
 	run_cmd "ip -n ns2 route add 203.0.113.0/24
 		nexthop via 172.16.201.2 nexthop via 172.16.202.2"
 	run_cmd "ip netns exec ns2 sysctl -qw net.ipv4.fib_multipath_hash_policy=1"
+	run_cmd "ip netns exec ns2 sysctl -qw net.ipv4.conf.veth2.rp_filter=0"
+	run_cmd "ip netns exec ns2 sysctl -qw net.ipv4.conf.all.rp_filter=0"
+	run_cmd "ip netns exec ns2 sysctl -qw net.ipv4.conf.default.rp_filter=0"
 	set +e
 
 	local dmac=$(ip -n ns2 -j link show dev veth2 | jq -r '.[]["address"]')