The "mac" bind mode reactivation downs the interface, restores the saved
MAC and renames it to trigger a target resume. This assumes the recreated
interface comes back with a different MAC, which is true under
MACAddressPolicy=none (as on the Netdev CI) but not when MACs are
persistent. In the persistent case netconsole resumes the target on its
own, and the down/restore/rename flow instead drops it and fails the test.

Guard the block on the MAC having actually changed so the test passes
under both policies.

Fixes: 6ecc08329bab ("selftests: netconsole: validate target resume")
Reported-by: Matthieu Baerts (NGI0) <[email protected]>
Closes: 
https://lore.kernel.org/netdev/[email protected]/
Signed-off-by: Andre Carvalho <[email protected]>
---
 tools/testing/selftests/drivers/net/netconsole/netcons_resume.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/drivers/net/netconsole/netcons_resume.sh 
b/tools/testing/selftests/drivers/net/netconsole/netcons_resume.sh
index cb59cf436dd0..d9111f2102bc 100755
--- a/tools/testing/selftests/drivers/net/netconsole/netcons_resume.sh
+++ b/tools/testing/selftests/drivers/net/netconsole/netcons_resume.sh
@@ -44,7 +44,8 @@ function trigger_reactivation() {
        # Restore MACs
        ip netns exec "${NAMESPACE}" ip link set "${DSTIF}" \
                address "${SAVED_DSTMAC}"
-       if [ "${BINDMODE}" == "mac" ]; then
+       if [ "${BINDMODE}" == "mac" ] &&
+               [ "$(mac_get "${SRCIF}")" != "${SAVED_SRCMAC}" ]; then
                ip link set dev "${SRCIF}" down
                ip link set dev "${SRCIF}" address "${SAVED_SRCMAC}"
                # Rename device in order to trigger target resume, as initial

---
base-commit: 1cd23ca80784223fa2204e16203f754da4e821f8
change-id: 20260710-netcons-mac-reload-f6f5e86f9e1f

Best regards,
--  
Andre Carvalho <[email protected]>


Reply via email to