All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Marc Harvey <marcharvey@google.com>
Cc: Jiri Pirko <jiri@resnulli.us>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Paolo Abeni <pabeni@redhat.com>, Shuah Khan <shuah@kernel.org>,
	Simon Horman <horms@kernel.org>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-kselftest@vger.kernel.org
Subject: Re: [PATCH net-next v4 00/10] Decouple receive and transmit enablement in team driver
Date: Fri, 3 Apr 2026 12:30:39 -0700	[thread overview]
Message-ID: <20260403123039.77c80266@kernel.org> (raw)
In-Reply-To: <20260403-teaming-driver-internal-v4-0-d3032f33ca25@google.com>

On Fri, 03 Apr 2026 07:14:21 +0000 Marc Harvey wrote:
> Allow independent control over receive and transmit enablement states
> for aggregated ports in the team driver.
> 
> The motivation is that IEE 802.3ad LACP "independent control" can't
> be implemented for the team driver currently. This was added to the
> bonding driver in commit 240fd405528b ("bonding: Add independent
> control state machine").
> 
> This series also has a few patches that add tests to show that the old
> coupled enablement still works and that the new decoupled enablement
> works as intended (4, 5, and 10).
> 
> There are three patches with small fixes as well, with the goal of
> making the final decouplement patch clearer (1, 2, and 3).

The test seems flaky, we hit this twice in the last 24h:

make[1]: Nothing to be done for 'all'.
TAP version 13
1..1
# timeout set to 45
# selftests: drivers/net/team: teamd_activebackup.sh
# Setting up two-link aggregation for runner activebackup
# Conf files are /tmp/tmp.KEuJWeKPaz and /tmp/tmp.yNhnkNmKxF
# This program is not intended to be run as root.
# This program is not intended to be run as root.
# Created team devices
# PING fd00::2 (fd00::2) 56 data bytes
# 64 bytes from fd00::2: icmp_seq=1 ttl=64 time=0.032 ms
# 
# --- fd00::2 ping statistics ---
# 1 packets transmitted, 1 received, 0% packet loss, time 0ms
# rtt min/avg/max/mdev = 0.032/0.032/0.032/0.000 msPacket count for test_team2 was 136
# Packet count for eth0 was 1
# Packet count for eth1 was 123
# Packet count for eth0 was 122
# Packet count for eth1 was 0
# TEST: teamd active backup runner test                               [FAIL]
# eth0 IS transmitting when disabled
# Tearing down two-link aggregation
not ok 1 selftests: drivers/net/team: teamd_activebackup.sh # exit=1
/srv/vmksft/testing/wt-9/tools/testing/selftests/kselftest/runner.sh: line 50: : No such file or directory
make: Leaving directory '/srv/vmksft/testing/wt-9/tools/testing/selftests'


What's even worse the retry of the test then fails like this:

make: Entering directory '/srv/vmksft/testing/wt-9/tools/testing/selftests'
make[1]: Nothing to be done for 'all'.
TAP version 13
1..1
# timeout set to 45
# selftests: drivers/net/team: teamd_activebackup.sh
# Setting up two-link aggregation for runner activebackup
# Conf files are /tmp/tmp.R4C5kfI62n and /tmp/tmp.tXdWkJ9GjO
# This program is not intended to be run as root.
# Daemon already running on PID 31311.
# Failed: File exists
# This program is not intended to be run as root.
# Daemon already running on PID 31315.
# Failed: File exists
# Created team devices
# Cannot find device "test_team1"
# Cannot find device "test_team2"
# Cannot find device "test_team1"
# Cannot find device "test_team2"
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# ping: connect: Network is unreachable
# cat: /sys/class/net/test_team2/statistics/rx_packets: No such file or directory
# cat: /sys/class/net/test_team2/statistics/rx_packets: No such file or directory
# Packet count for test_team2 was 0
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Packet count for eth0 was 0
# Packet count for eth1 was 0
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team1" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Device "test_team2" does not exist
# Packet count for eth0 was 0
# Packet count for eth1 was 0
# TEST: teamd active backup runner test                               [FAIL]
# Traffic did not reach team interface in NS2.
# ./team_lib.sh: line 88: kill: (1323) - No such process
# Tearing down two-link aggregation
not ok 1 selftests: drivers/net/team: teamd_activebackup.sh # exit=1
-- 
pw-bot: cr

  parent reply	other threads:[~2026-04-03 19:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-03  7:14 [PATCH net-next v4 00/10] Decouple receive and transmit enablement in team driver Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 01/10] net: team: Annotate reads and writes for mixed lock accessed values Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 02/10] net: team: Remove unused team_mode_op, port_enabled Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 03/10] net: team: Rename port_disabled team mode op to port_tx_disabled Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 04/10] selftests: net: Add tests for failover of team-aggregated ports Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 05/10] selftests: net: Add test for enablement of ports with teamd Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 06/10] net: team: Rename enablement functions and struct members to tx Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 07/10] net: team: Track rx enablement separately from tx enablement Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 08/10] net: team: Add new rx_enabled team port option Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 09/10] net: team: Add new tx_enabled " Marc Harvey
2026-04-03  7:14 ` [PATCH net-next v4 10/10] selftests: net: Add tests for team driver decoupled tx and rx control Marc Harvey
2026-04-03 19:30 ` Jakub Kicinski [this message]
2026-04-04  1:33   ` [PATCH net-next v4 00/10] Decouple receive and transmit enablement in team driver Marc Harvey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260403123039.77c80266@kernel.org \
    --to=kuba@kernel.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=jiri@resnulli.us \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=marcharvey@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=shuah@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.