Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idle port disconnection triggered for non-idle port #414

Open
jessetan opened this issue Sep 7, 2018 · 1 comment
Open

Idle port disconnection triggered for non-idle port #414

jessetan opened this issue Sep 7, 2018 · 1 comment

Comments

@jessetan
Copy link

jessetan commented Sep 7, 2018

When running any container from https://github.com/jessfraz/dockerfiles (which uses X11 on the host system by sharing DISPLAY), vpnkit closes the connection after some idle timeout.

Example log message on macOS: com.docker.vpnkit[505]: TCP 192.168.65.3:39220 > 192.168.0.59:6000 closing flow due to idle port disconnection

However, this is not what is expected. In this specific example, the container sends TCP Keep Alive messages to the host (on port 6000 for X11 traffic). I would expect vpnkit to consider this a non-idle port and leave the connection intact.

Steps to reproduce (with Docker for Mac 18.06.1-ce-mac74 (26766)):

  1. Add "vpnKitPortMaxIdleTime" : 5 to ~/Library/Group\ Containers/group.com.docker/settings.json. This isn't strictly necessary but makes it faster to test
  2. Start XQuartz and enable "Allow connections from network clients" in its Preferences
  3. Run a Docker container that uses X11: docker run -it -e DISPLAY=$YOUR_IP_HERE:0 jess/atom:latest
  4. Run tcpdump, Wireshark or similar to observe TCP Keep Alives being sent to port 6000
  5. Observe the X11 is closed after ~5s. Docker/vpnkit log will show this was caused due to an idle port

Possibly related: docker/for-mac#2406, mirage/mirage-tcpip#338 (reverted by #389)

@zbentzinger
Copy link

I believe this is possibly related to: docker/for-mac#3679

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants