netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found"
@ 2024-08-06  4:20 Geliang Tang
  2024-08-06  7:34 ` Nicolas Dichtel
  2024-08-06  7:40 ` Ido Schimmel
  0 siblings, 2 replies; 9+ messages in thread
From: Geliang Tang @ 2024-08-06  4:20 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Shuah Khan, Petr Machata, Hangbin Liu, Benjamin Poirier,
	Ido Schimmel, Jiri Pirko, Vladimir Oltean
  Cc: Geliang Tang, netdev, linux-kselftest

From: Geliang Tang <tanggeliang@kylinos.cn>

So many "Address not found" messages occur at the end of forwarding tests
when using "ip address del" command for an invalid address:

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.

This patch gnores these messages and redirects them to /dev/null in
__addr_add_del().

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 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


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found"
  2024-08-06  4:20 [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found" Geliang Tang
@ 2024-08-06  7:34 ` Nicolas Dichtel
  2024-08-07  4:12   ` Geliang Tang
  2024-08-06  7:40 ` Ido Schimmel
  1 sibling, 1 reply; 9+ messages in thread
From: Nicolas Dichtel @ 2024-08-06  7:34 UTC (permalink / raw)
  To: Geliang Tang, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Shuah Khan, Petr Machata, Hangbin Liu,
	Benjamin Poirier, Ido Schimmel, Jiri Pirko, Vladimir Oltean
  Cc: Geliang Tang, netdev, linux-kselftest

Le 06/08/2024 à 06:20, Geliang Tang a écrit :
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> So many "Address not found" messages occur at the end of forwarding tests
> when using "ip address del" command for an invalid address:
> 
> 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.
> 
> This patch gnores these messages and redirects them to /dev/null in
typo: s/gnores/ignores or 'hides'

Nicolas

> __addr_add_del().
> 
> Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
> ---
>  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
>  }
>  

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found"
  2024-08-06  4:20 [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found" Geliang Tang
  2024-08-06  7:34 ` Nicolas Dichtel
@ 2024-08-06  7:40 ` Ido Schimmel
  2024-08-07  4:08   ` Geliang Tang
  1 sibling, 1 reply; 9+ messages in thread
From: Ido Schimmel @ 2024-08-06  7:40 UTC (permalink / raw)
  To: Geliang Tang
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Shuah Khan, Petr Machata, Hangbin Liu, Benjamin Poirier,
	Jiri Pirko, Vladimir Oltean, Geliang Tang, netdev,
	linux-kselftest

On Tue, Aug 06, 2024 at 12:20:38PM +0800, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> 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.

> 
> This patch gnores these messages and redirects them to /dev/null in
> __addr_add_del().
> 
> Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
> ---
>  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
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found"
  2024-08-06  7:40 ` Ido Schimmel
@ 2024-08-07  4:08   ` Geliang Tang
  2024-08-07  6:59     ` Ido Schimmel
  2024-08-07 14:32     ` Jakub Kicinski
  0 siblings, 2 replies; 9+ messages in thread
From: Geliang Tang @ 2024-08-07  4:08 UTC (permalink / raw)
  To: Ido Schimmel
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Shuah Khan, Petr Machata, Hangbin Liu, Benjamin Poirier,
	Jiri Pirko, Vladimir Oltean, Geliang Tang, netdev,
	linux-kselftest

Hi Ido,

Thanks for the review.

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@kylinos.cn>
> > 
> > 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.

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@kylinos.cn>
> > ---
> >  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
> > 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found"
  2024-08-06  7:34 ` Nicolas Dichtel
@ 2024-08-07  4:12   ` Geliang Tang
  0 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2024-08-07  4:12 UTC (permalink / raw)
  To: nicolas.dichtel, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Shuah Khan, Petr Machata, Hangbin Liu,
	Benjamin Poirier, Ido Schimmel, Jiri Pirko, Vladimir Oltean
  Cc: Geliang Tang, netdev, linux-kselftest

On Tue, 2024-08-06 at 09:34 +0200, Nicolas Dichtel wrote:
> Le 06/08/2024 à 06:20, Geliang Tang a écrit :
> > From: Geliang Tang <tanggeliang@kylinos.cn>
> > 
> > So many "Address not found" messages occur at the end of forwarding
> > tests
> > when using "ip address del" command for an invalid address:
> > 
> > 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.
> > 
> > This patch gnores these messages and redirects them to /dev/null in
> typo: s/gnores/ignores or 'hides'

It is indeed a typo. Thanks for pointing it out. Will update this in
v2.

-Geliang

> 
> Nicolas
> 
> > __addr_add_del().
> > 
> > Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
> > ---
> >  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
> >  }
> >  


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found"
  2024-08-07  4:08   ` Geliang Tang
@ 2024-08-07  6:59     ` Ido Schimmel
  2024-08-08  8:53       ` Geliang Tang
  2024-08-07 14:32     ` Jakub Kicinski
  1 sibling, 1 reply; 9+ messages in thread
From: Ido Schimmel @ 2024-08-07  6:59 UTC (permalink / raw)
  To: Geliang Tang
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Shuah Khan, Petr Machata, Hangbin Liu, Benjamin Poirier,
	Jiri Pirko, Vladimir Oltean, Geliang Tang, netdev,
	linux-kselftest

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@kylinos.cn>
> > > 
> > > 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@kylinos.cn>
> > > ---
> > >  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
> > > 
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found"
  2024-08-07  4:08   ` Geliang Tang
  2024-08-07  6:59     ` Ido Schimmel
@ 2024-08-07 14:32     ` Jakub Kicinski
  1 sibling, 0 replies; 9+ messages in thread
From: Jakub Kicinski @ 2024-08-07 14:32 UTC (permalink / raw)
  To: Geliang Tang
  Cc: Ido Schimmel, David S. Miller, Eric Dumazet, Paolo Abeni,
	Shuah Khan, Petr Machata, Hangbin Liu, Benjamin Poirier,
	Jiri Pirko, Vladimir Oltean, Geliang Tang, netdev,
	linux-kselftest

On Wed, 07 Aug 2024 12:08:15 +0800 Geliang Tang wrote:
> 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.

FWIW netdev CI runs with iproute2 as of 2cb1a656e99 plus Petr's 16b
weight patches, and I don't see "address not found".

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found"
  2024-08-07  6:59     ` Ido Schimmel
@ 2024-08-08  8:53       ` Geliang Tang
  2024-08-08 14:25         ` Ido Schimmel
  0 siblings, 1 reply; 9+ messages in thread
From: Geliang Tang @ 2024-08-08  8:53 UTC (permalink / raw)
  To: Ido Schimmel
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Shuah Khan, Petr Machata, Hangbin Liu, Benjamin Poirier,
	Jiri Pirko, Vladimir Oltean, Geliang Tang, netdev,
	linux-kselftest

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@kylinos.cn>
> > > > 
> > > > 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@kylinos.cn>
> > > > ---
> > > >  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
> > > > 
> > 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found"
  2024-08-08  8:53       ` Geliang Tang
@ 2024-08-08 14:25         ` Ido Schimmel
  0 siblings, 0 replies; 9+ messages in thread
From: Ido Schimmel @ 2024-08-08 14:25 UTC (permalink / raw)
  To: Geliang Tang
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Shuah Khan, Petr Machata, Hangbin Liu, Benjamin Poirier,
	Jiri Pirko, Vladimir Oltean, Geliang Tang, netdev,
	linux-kselftest

On Thu, Aug 08, 2024 at 04:53:51PM +0800, Geliang Tang wrote:
> 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?

No. See tools/testing/selftests/net/forwarding/README for the motivation
for using VRFs instead of namespaces. Why NetworkManager is deleting
addresses it did not add from interfaces it did not create?

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-08-08 14:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-06  4:20 [PATCH net-next] selftests: forwarding: lib.sh: ignore "Address not found" Geliang Tang
2024-08-06  7:34 ` Nicolas Dichtel
2024-08-07  4:12   ` Geliang Tang
2024-08-06  7:40 ` Ido Schimmel
2024-08-07  4:08   ` Geliang Tang
2024-08-07  6:59     ` Ido Schimmel
2024-08-08  8:53       ` Geliang Tang
2024-08-08 14:25         ` Ido Schimmel
2024-08-07 14:32     ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).