Hasty Briefsbeta

Porting Tailscale to Plan 9

2 days ago
  • #GoLang
  • #Plan9
  • #Tailscale
  • Tailscale announced support for Plan 9 on April Fools' Day, but it was actually real.
  • The porting effort involved fixing Go compiler issues for Plan 9, including SSE instruction support.
  • Russ Cox contributed significantly by patching Plan 9's kernel to handle floating-point and SIMD in note handlers.
  • Tailscale's Plan 9 implementation includes TUN mode, routing tables, and MagicDNS support.
  • Development was challenging due to Plan 9's unique requirements, such as needing a three-button mouse.
  • A web-based demo was created using v86 to run Plan 9 in a browser with Tailscale support.
  • The project improved Go's Plan 9 support by removing special cases and fixing various bugs.
  • Future directions include testing on 9front and adding exit node support.
  • The effort was educational and fun, leading to improvements in Go and Tailscale.