On Wed, 2024-08-07 at 09:59 +0300, Ido Schimmel wrote: > On Wed, Aug 07, 2024 at 12:08:15PM +0800, Geliang Tang wrote: > > On Tue, 2024-08-06 at 10:40 +0300, Ido Schimmel wrote: > > > On Tue, Aug 06, 2024 at 12:20:38PM +0800, Geliang Tang wrote: > > > > From: Geliang Tang <tanggeliang@xxxxxxxxxx> > > > > > > > > So many "Address not found" messages occur at the end of > > > > forwarding > > > > tests > > > > when using "ip address del" command for an invalid address: > > > > > > Can you give an example of an invalid address that triggers this > > > message? > > > > > > > > > > > TEST: FDB limits interacting with FDB type > > > > local > > > > [ OK ] > > > > Error: ipv4: Address not found. > > > > > > > > ... ... > > > > TEST: IGMPv3 S,G port entry automatic add to a *,G > > > > port > > > > [ OK ] > > > > Error: ipv4: Address not found. > > > > Error: ipv6: address not found. > > > > > > > > ... ... > > > > TEST: Isolated port > > > > flooding > > > > [ OK ] > > > > Error: ipv4: Address not found. > > > > Error: ipv6: address not found. > > > > > > > > ... ... > > > > TEST: Externally learned FDB entry - ageing & > > > > roaming > > > > [ OK ] > > > > Error: ipv4: Address not found. > > > > Error: ipv6: address not found. > > > > > > I'm unable to reproduce these with net-next and iproute2-next. > > > Please > > > debug this to understand the root cause or provide more details > > > on > > > how > > > to reproduce. > > > > I did get these errors with the latest net-next and iproute2-next. > > For > > example, I got these errors of "bridge_mdb_port_down.sh": > > > > $ sudo ./bridge_mdb_port_down.sh > > TEST: MDB add/del entry to port with state down [ > > OK ] > > Error: ipv4: Address not found. > > Error: ipv6: address not found. > > Error: ipv4: Address not found. > > Error: ipv6: address not found. > > > > These errors occur when using h1_destroy() and h2_destroy() to > > delete > > the addresses of h1 (192.0.2.1, 2001:db8:1::1) and h2 (192.0.2.2, > > 2001:db8:1::2): > > > > h1_destroy() > > { > > simple_if_fini $h1 192.0.2.1/24 2001:db8:1::1/64 > > } > > > > h2_destroy() > > { > > simple_if_fini $h2 192.0.2.2/24 2001:db8:1::2/64 > > } > > > > It seems that when invoking h1_destroy() and h2_destroy(), both h1 > > and > > h2 no longer have IP addresses. > > This is unexpected, I do see the addresses on my end. Maybe you have > some network manager that is deleting these addresses for some > reason? > > Try tracing __inet_del_ifa() while running the tests: > > # bpftrace -e 'k:__inet_del_ifa { @bla[comm] = count(); }' > Attaching 1 probe... > ^C > > @bla[ip]: 2 @bla[NetworkManager]: 2 Yes indeed, the addresses are deleted by NetworkManager. Does this mean that this test will be affected by the network environment in which it is running? Is it necessary to run this test in a new network namespace? If necessary, I can add it. Thanks, -Geliang > > > > > I added "ifconfig" to show the addresses of h1 and h2 before > > invoking > > h1_destroy() and h2_destroy() like this: > > > > ''' > > @@ -105,7 +105,9 @@ cleanup() > > pre_cleanup > > > > switch_destroy > > + ifconfig $h1 > > h1_destroy > > + ifconfig $h2 > > h2_destroy > > > > vrf_cleanup > > ''' > > > > And got these messages: > > > > TEST: MDB add/del entry to port with state down [ > > OK ] > > veth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 > > ether f2:ca:02:ee:05:19 txqueuelen 1000 (Ethernet) > > RX packets 149 bytes 17355 (17.3 KB) > > RX errors 0 dropped 0 overruns 0 frame 0 > > TX packets 81 bytes 9165 (9.1 KB) > > TX errors 0 dropped 12 overruns 0 carrier 0 collisions 0 > > > > Error: ipv4: Address not found. > > Error: ipv6: address not found. > > veth3: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 > > ether 92:df:97:5c:98:7e txqueuelen 1000 (Ethernet) > > RX packets 67 bytes 6252 (6.2 KB) > > RX errors 0 dropped 0 overruns 0 frame 0 > > TX packets 39 bytes 4997 (4.9 KB) > > TX errors 0 dropped 56 overruns 0 carrier 0 collisions 0 > > > > Error: ipv4: Address not found. > > Error: ipv6: address not found. > > > > -Geliang > > > > > > > > > > > > > This patch gnores these messages and redirects them to > > > > /dev/null in > > > > __addr_add_del(). > > > > > > > > Signed-off-by: Geliang Tang <tanggeliang@xxxxxxxxxx> > > > > --- > > > > tools/testing/selftests/net/forwarding/lib.sh | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/tools/testing/selftests/net/forwarding/lib.sh > > > > b/tools/testing/selftests/net/forwarding/lib.sh > > > > index ff96bb7535ff..8670b6053cde 100644 > > > > --- a/tools/testing/selftests/net/forwarding/lib.sh > > > > +++ b/tools/testing/selftests/net/forwarding/lib.sh > > > > @@ -839,7 +839,7 @@ __addr_add_del() > > > > array=("${@}") > > > > > > > > for addrstr in "${array[@]}"; do > > > > - ip address $add_del $addrstr dev $if_name > > > > + ip address $add_del $addrstr dev $if_name &> > > > > /dev/null > > > > done > > > > } > > > > > > > > -- > > > > 2.43.0 > > > > > >