mirror of
https://github.com/golang/go
synced 2024-11-17 13:14:56 -07:00
vendor: update golang_org/x/net/route from upstream
Updates the route package to git rev 146acd2 for: - 146acd2 don't run NET_RT_IFLIST vs. NET_RT_IFLISTL test in 386 emulation (again) Change-Id: I24de1eb31b2ca0e24cb9ab1648f7a71b5067cf97 Reviewed-on: https://go-review.googlesource.com/c/139937 Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
dc6eb200dd
commit
9d907160d4
@ -4,10 +4,7 @@
|
||||
|
||||
package route
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"unsafe"
|
||||
)
|
||||
import "testing"
|
||||
|
||||
func TestFetchAndParseRIBOnFreeBSD(t *testing.T) {
|
||||
for _, typ := range []RIBType{sysNET_RT_IFMALIST} {
|
||||
@ -40,8 +37,7 @@ func TestFetchAndParseRIBOnFreeBSD10AndAbove(t *testing.T) {
|
||||
if _, err := FetchRIB(sysAF_UNSPEC, sysNET_RT_IFLISTL, 0); err != nil {
|
||||
t.Skip("NET_RT_IFLISTL not supported")
|
||||
}
|
||||
var p uintptr
|
||||
if kernelAlign != int(unsafe.Sizeof(p)) {
|
||||
if compatFreeBSD32 {
|
||||
t.Skip("NET_RT_IFLIST vs. NET_RT_IFLISTL doesn't work for 386 emulation on amd64")
|
||||
}
|
||||
|
||||
|
17
src/vendor/golang_org/x/net/route/sys_freebsd.go
vendored
17
src/vendor/golang_org/x/net/route/sys_freebsd.go
vendored
@ -54,6 +54,8 @@ func (m *InterfaceMessage) Sys() []Sys {
|
||||
}
|
||||
}
|
||||
|
||||
var compatFreeBSD32 bool // 386 emulation on amd64
|
||||
|
||||
func probeRoutingStack() (int, map[int]*wireFormat) {
|
||||
var p uintptr
|
||||
wordSize := int(unsafe.Sizeof(p))
|
||||
@ -83,8 +85,11 @@ func probeRoutingStack() (int, map[int]*wireFormat) {
|
||||
break
|
||||
}
|
||||
}
|
||||
if align != wordSize {
|
||||
compatFreeBSD32 = true // 386 emulation on amd64
|
||||
}
|
||||
var rtm, ifm, ifam, ifmam, ifanm *wireFormat
|
||||
if align != wordSize { // 386 emulation on amd64
|
||||
if compatFreeBSD32 {
|
||||
rtm = &wireFormat{extOff: sizeofRtMsghdrFreeBSD10Emu - sizeofRtMetricsFreeBSD10Emu, bodyOff: sizeofRtMsghdrFreeBSD10Emu}
|
||||
ifm = &wireFormat{extOff: 16}
|
||||
ifam = &wireFormat{extOff: sizeofIfaMsghdrFreeBSD10Emu, bodyOff: sizeofIfaMsghdrFreeBSD10Emu}
|
||||
@ -100,31 +105,31 @@ func probeRoutingStack() (int, map[int]*wireFormat) {
|
||||
rel, _ := syscall.SysctlUint32("kern.osreldate")
|
||||
switch {
|
||||
case rel < 800000:
|
||||
if align != wordSize { // 386 emulation on amd64
|
||||
if compatFreeBSD32 {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD7Emu
|
||||
} else {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD7
|
||||
}
|
||||
case 800000 <= rel && rel < 900000:
|
||||
if align != wordSize { // 386 emulation on amd64
|
||||
if compatFreeBSD32 {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD8Emu
|
||||
} else {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD8
|
||||
}
|
||||
case 900000 <= rel && rel < 1000000:
|
||||
if align != wordSize { // 386 emulation on amd64
|
||||
if compatFreeBSD32 {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD9Emu
|
||||
} else {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD9
|
||||
}
|
||||
case 1000000 <= rel && rel < 1100000:
|
||||
if align != wordSize { // 386 emulation on amd64
|
||||
if compatFreeBSD32 {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD10Emu
|
||||
} else {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD10
|
||||
}
|
||||
default:
|
||||
if align != wordSize { // 386 emulation on amd64
|
||||
if compatFreeBSD32 {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD11Emu
|
||||
} else {
|
||||
ifm.bodyOff = sizeofIfMsghdrFreeBSD11
|
||||
|
Loading…
Reference in New Issue
Block a user