Re: [PATCH net v9 4/4] selftest: netcons: add test for netconsole over bonded interfaces

Simon Horman
2025-11-07T10:07:07Z

On Thu, Nov 06, 2025 at 07:56:50AM -0800, Breno Leitao wrote:
> This patch adds a selftest that verifies netconsole functionality
> over bonded network interfaces using netdevsim. It sets up two bonded
> interfaces acting as transmit (TX) and receive (RX) ends, placed in
> separate network namespaces. The test sends kernel log messages and
> verifies that they are properly received on the bonded RX interfaces
> with both IPv4 and IPv6, and using basic and extended netconsole
> formats.
>
> This patchset aims to test a long-standing netpoll subsystem where
> netpoll has multiple users. (in this case netconsole and bonding). A
> similar selftest has been discussed in [1] and [2].
>
> This test also tries to enable bonding and netpoll in different order,
> just to guarantee that all the possibilities are exercised.
>
> Link: https://lore.kernel.org/all/20250905-netconsole_torture-v3-0-875c7febd316@debian.org/ [1]
> Link: https://lore.kernel.org/lkml/96b940137a50e5c387687bb4f57de8b0435a653f.1404857349.git.decot@googlers.com/ [2]
> Signed-off-by: Breno Leitao <leitao@debian.org>

Thanks, my understanding is that this address Paolo's review of v7.

Reviewed-by: Simon Horman <horms@kernel.org>

...

> diff --git a/tools/testing/selftests/drivers/net/lib/sh/lib_netcons.sh b/tools/testing/selftests/drivers/net/lib/sh/lib_netcons.sh

...

> @@ -137,15 +145,17 @@ function _create_dynamic_target() {
> then
> echo 1 > "${NCPATH}"/extended
> fi
> +}
>
> +function create_and_enable_dynamic_target() {
> + _create_dynamic_target "${FORMAT}" "${NCPATH}"
> echo 1 > "${NCPATH}"/enabled
> -
> }
>
> function create_dynamic_target() {
> local FORMAT=${1:-"extended"}
> local NCPATH=${2:-"$NETCONS_PATH"}
> - _create_dynamic_target "${FORMAT}" "${NCPATH}"
> + create_and_enable_dynamic_target "${FORMAT}" "${NCPATH}"

Sorry for not noticing this when I looked over v8.
It's not that important and I don't think it should block progress.

create_and_enable_dynamic_target() seems to only be used here.
If so, perhaps the 'enabled' line could simply be added to
create_dynamic_target() instead of creating adding
create_and_enable_dynamic_target().

>
> # This will make sure that the kernel was able to
> # load the netconsole driver configuration. The console message

...