Skip to content

x/sys/unix: migrate some definitions from illumos files to solaris files #56000

@nshalman

Description

@nshalman

I have reports from Twitter (see below) that many of my improvements that I've placed in illumos files also work on Solaris systems
(which isn't particularly surprising given how old these APIs are... (the fact that the binaries worked means that even the tuntap driver ioctls match.)

I propose moving these changes from the illumos files to the solaris files. The changes is effectively a noop for illumos and opens up this code to Solaris systems.

I will provide a CR with the work completed. Most of the changes include tests, so between API stability, user test reports and CI builds, if the CI builds pass, the moves I'm proposing should all be safe for Solaris.

Reference Tweets

@nahumshalman If the Lifreq and STREAMS bits are copied into unix/syscall_solaris.go in https://t.co/6brPrhlwMo, Your wireguard-go builds and runs on Solaris 11.4.

— Greg Onufer (@gonufer) September 22, 2022

tailscale v1.30.2-illumos builds on Solaris 11.4 by adding Getsid to x.sys (as in your go-review changes) and “solaris” added to all your “illumos” runtime.GOOS checks, and solaris copies of *illumos.go files.

— Greg Onufer (@gonufer) September 22, 2022

…not only builds, but was also able to connect to tailscale (after tailscaled exited due to watchdog once and was restarted).

Whoa!

— Greg Onufer (@gonufer) September 22, 2022

Metadata

Metadata

Assignees

Labels

FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.OS-Solariscompiler/runtimeIssues related to the Go compiler and/or runtime.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions