]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftest: netcons: refactor target creation
authorBreno Leitao <leitao@debian.org>
Fri, 7 Nov 2025 14:03:38 +0000 (06:03 -0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 11 Nov 2025 02:34:44 +0000 (18:34 -0800)
Extract the netconsole target creation from create_dynamic_target(), by
moving it from create_dynamic_target() into a new helper function. This
enables other tests to use the creation of netconsole targets with
arbitrary parameters and no sleep.

The new helper will be utilized by forthcoming torture-type selftests
that require dynamic target management.

Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20251107-netconsole_torture-v10-2-749227b55f63@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/drivers/net/lib/sh/lib_netcons.sh

index 8e1085e896472d5c87ec8b236240878a5b2d00d2..9b5ef8074440cb930c51a53e46701f7a8507119a 100644 (file)
@@ -113,31 +113,39 @@ function set_network() {
        configure_ip
 }
 
-function create_dynamic_target() {
-       local FORMAT=${1:-"extended"}
+function _create_dynamic_target() {
+       local FORMAT="${1:?FORMAT parameter required}"
+       local NCPATH="${2:?NCPATH parameter required}"
 
        DSTMAC=$(ip netns exec "${NAMESPACE}" \
                 ip link show "${DSTIF}" | awk '/ether/ {print $2}')
 
        # Create a dynamic target
-       mkdir "${NETCONS_PATH}"
+       mkdir "${NCPATH}"
 
-       echo "${DSTIP}" > "${NETCONS_PATH}"/remote_ip
-       echo "${SRCIP}" > "${NETCONS_PATH}"/local_ip
-       echo "${DSTMAC}" > "${NETCONS_PATH}"/remote_mac
-       echo "${SRCIF}" > "${NETCONS_PATH}"/dev_name
+       echo "${DSTIP}" > "${NCPATH}"/remote_ip
+       echo "${SRCIP}" > "${NCPATH}"/local_ip
+       echo "${DSTMAC}" > "${NCPATH}"/remote_mac
+       echo "${SRCIF}" > "${NCPATH}"/dev_name
 
        if [ "${FORMAT}" == "basic" ]
        then
                # Basic target does not support release
-               echo 0 > "${NETCONS_PATH}"/release
-               echo 0 > "${NETCONS_PATH}"/extended
+               echo 0 > "${NCPATH}"/release
+               echo 0 > "${NCPATH}"/extended
        elif [ "${FORMAT}" == "extended" ]
        then
-               echo 1 > "${NETCONS_PATH}"/extended
+               echo 1 > "${NCPATH}"/extended
        fi
 
-       echo 1 > "${NETCONS_PATH}"/enabled
+       echo 1 > "${NCPATH}"/enabled
+
+}
+
+function create_dynamic_target() {
+       local FORMAT=${1:-"extended"}
+       local NCPATH=${2:-"$NETCONS_PATH"}
+       _create_dynamic_target "${FORMAT}" "${NCPATH}"
 
        # This will make sure that the kernel was able to
        # load the netconsole driver configuration. The console message