From: Yohei Kojima yk@y-koj.net
This series fixes netdevsim's inconsistent behavior between carrier and link/unlink state.
More specifically, this fixes a bug that the carrier goes DOWN although two netdevsim were peered, depending on the order of peering and ifup. Especially in a NetworkManager-enabled environment, netdevsim test fails because of this.
The first patch fixes the bug itself in netdevsim/bus.c by adding netif_carrier_on() into a proper function. The second and third patches clean up netdevsim test and add a regression test for this bug.
The fourth and fifth patches improve TCP Fast Open (TFO) test, which depends on netdevsim. In a NetworkManager-enabled environment, although TFO test times out because of this bug, the test exits with 0 without reporting any error. This behavior implies that nothing would be reported even if TFO got broken at some point.
The fourth and fifth patches are intentionally placed after the first patch, because fixing TFO test without fixing netdevsim results in a spurious test failure in a NetworkManager-enabled environment.
Yohei Kojima (5): net: netdevsim: fix inconsistent carrier state after link/unlink selftests: netdevsim: test that linking already-connected devices fails selftests: netdevsim: add carrier state consistency test selftests: net: improve error handling in TFO test selftests: net: report SKIP if TFO test processes timed out
drivers/net/netdevsim/bus.c | 6 ++ .../selftests/drivers/net/netdevsim/peer.sh | 79 ++++++++++++++++++- tools/testing/selftests/net/tfo.c | 10 ++- tools/testing/selftests/net/tfo_passive.sh | 15 +++- 4 files changed, 101 insertions(+), 9 deletions(-)