protonscr

Steam doesn't respect network routing changes

steamclosed Steam client
ValveSoftware/steam-for-linux#6183 · opened 2019-03-31 by ElementW · updated 2019-07-18 · 3 comments · github
EElementW 2019-03-31 github

Alright, this is a pretty specific one.

Your system information

  • Steam client version : Mar 30 2019, at 01:35:39
  • Distribution : Arch Linux
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes (What time is it? pacman -Syu time)

Please describe your issue in as much detail as possible:

I sometimes am in a situation where I switch between Wi-Fi and 4G tethering, where the former is slow but unmetered and the latter fast but metered.
This induces a change in the routing table, which Steam seems to not be able to deal with ; all connection to Steam servers appear severed (and consequently downloads cannot be resumed, and games like TF2 can't join servers) until the client is restarted or network comes back on the network interfaces Steam used when started.

This issue has been experienced with both NetworkManager (commonly used on Linux distros) and Intel's connman (my daily driver network manager), so it's not related to network manager-specific shenanigans.

Changes to the routing table are trivial for a network switch (using connman):

4G tether:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    0      0        0 enp0s29u1u1
192.168.42.0    0.0.0.0         255.255.255.0   U     0      0        0 enp0s29u1u1
_gateway        0.0.0.0         255.255.255.255 UH    0      0        0 enp0s29u1u1

Wi-Fi:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    0      0        0 wlp3s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlp3s0
_gateway        0.0.0.0         255.255.255.255 UH    0      0        0 wlp3s0

Steps for reproducing this issue:

  1. Have two ways to connect to the internet on different interfaces (one of them need not even exist at this point), connect to one
  2. Start Steam
  3. Using your network manager, disable connectivity to the first interface and enable the second
  4. Steam network interactions do not work any more

Most other software seem to handle the network switch just fine. Obviously existing connections get broken (with the exception of the very few things supporting mid-session connection change/re-auth (like mosh), or SCTP), but background software quickly and automatically re-establish theirs to not cause user inconvenience (e.g. Telegram).

Kkisak-valve maintainer 2019-03-31 github

Most likely a duplicate of the various network reconnect issue reports already open like #971.

Kkisak-valve maintainer 2019-05-16 github

Hello @ElementW, per "Improved the client's responsiveness to network changes" in the 2019-05-15 Steam client beta update and https://github.com/ValveSoftware/steam-for-linux/issues/474#issuecomment-492855274 / https://github.com/ValveSoftware/steam-for-linux/issues/474#issuecomment-493182264, please opt into Steam's beta client and retest this issue.

Kkisak-valve maintainer 2019-06-21 github

Closing as fixed.