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 > > 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 > > > >