Skip to content

MTU is not set for IPv6 on Windows #5914

@raggi

Description

@raggi

What is the issue?

I observed some connections failing periodically from my browser. Wireshark reveals that the MSS being sent in the first packet is 1360, and the webserver is dutifully replying with a large packet that never arrives through my exit node.

After some digging, I discovered that we are not setting the MTU on the Tailscale interface for IPv6.

PS C:\WINDOWS\system32>  netsh interface ipv4 show subinterface

       MTU  MediaSenseState      Bytes In     Bytes Out  Interface
----------  ---------------  ------------  ------------  -------------
      1280                1    1011077604      31499090  Tailscale


PS C:\WINDOWS\system32>  netsh interface ipv6 show subinterface

       MTU  MediaSenseState      Bytes In     Bytes Out  Interface
----------  ---------------  ------------  ------------  -------------
      1420                1      22824400       1434485  Tailscale

There is some code to do this in ifconfig_windows.go that seems to have lost function during evolution somewhere.

Steps to reproduce

Connect to a service over Tailscale using IPv6 that respects and uses the Windows MSS advertisement, observe traffic loss.

Are there any recent changes that introduced the issue?

Unknown, looks like the regression was a long time back.

OS

Windows

OS version

Windows 11

Metadata

Metadata

Assignees

Labels

OS-windowsIssues involving Tailscale for WindowsbugBug

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions