mirror of https://github.com/tailscale/tailscale/
all: use network less when running in v86 emulator
Updates #5794 Change-Id: I1d8b005a1696835c9062545f87b7bab643cfc44d Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>pull/15510/head
parent
29c2bb1db6
commit
65c7a37bc6
@ -0,0 +1,39 @@
|
|||||||
|
// Copyright (c) Tailscale Inc & AUTHORS
|
||||||
|
// SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
|
package hostinfo
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"tailscale.com/tailcfg"
|
||||||
|
"tailscale.com/types/lazy"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
RegisterHostinfoNewHook(func(hi *tailcfg.Hostinfo) {
|
||||||
|
if isPlan9V86() {
|
||||||
|
hi.DeviceModel = copyV86DeviceModel
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
var isPlan9V86Cache lazy.SyncValue[bool]
|
||||||
|
|
||||||
|
// isPlan9V86 reports whether we're running in the wasm
|
||||||
|
// environment (https://github.com/copy/v86/).
|
||||||
|
func isPlan9V86() bool {
|
||||||
|
return isPlan9V86Cache.Get(func() bool {
|
||||||
|
v, _ := os.ReadFile("/dev/cputype")
|
||||||
|
s, _, _ := strings.Cut(string(v), " ")
|
||||||
|
if s != "PentiumIV/Xeon" {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
v, _ = os.ReadFile("/dev/config")
|
||||||
|
v, _, _ = bytes.Cut(v, []byte{'\n'})
|
||||||
|
return string(v) == "# pcvm - small kernel used to run in vm"
|
||||||
|
})
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue