aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDamien Neil <dneil@google.com>2021-10-01 17:45:09 -0700
committerDamien Neil <dneil@google.com>2021-10-02 16:05:55 +0000
commita7fe161ccceb330cd1f19cd103a61f8deacbbdc3 (patch)
treeb86d63191928060106b4a81379179867eaacde63 /src
parent07a7c6f904a4deed9a37bf5c79a1c3d21d623347 (diff)
downloadgo-a7fe161ccceb330cd1f19cd103a61f8deacbbdc3.tar.xz
net: don't use syscall.NET_RT_IFLISTL on FreeBSD
The golang.org/x/net/route package can't parse the RIB returned by NET_RT_IFLISTL. Use the route.RIBTypeInterface constant instead, leaving the choice of syscall up to the route package. Fixes #48553. Change-Id: Ida4bd6e332c0dc6dc871d3a93cfb56c0fbc93e1b Reviewed-on: https://go-review.googlesource.com/c/go/+/353611 Trust: Damien Neil <dneil@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Go Bot <gobot@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/net/interface_freebsd.go11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/net/interface_freebsd.go b/src/net/interface_freebsd.go
index 2b51fcb632..8536bd3cf6 100644
--- a/src/net/interface_freebsd.go
+++ b/src/net/interface_freebsd.go
@@ -11,16 +11,11 @@ import (
)
func interfaceMessages(ifindex int) ([]route.Message, error) {
- typ := route.RIBType(syscall.NET_RT_IFLISTL)
- rib, err := route.FetchRIB(syscall.AF_UNSPEC, typ, ifindex)
+ rib, err := route.FetchRIB(syscall.AF_UNSPEC, route.RIBTypeInterface, ifindex)
if err != nil {
- typ = route.RIBType(syscall.NET_RT_IFLIST)
- rib, err = route.FetchRIB(syscall.AF_UNSPEC, typ, ifindex)
- if err != nil {
- return nil, err
- }
+ return nil, err
}
- return route.ParseRIB(typ, rib)
+ return route.ParseRIB(route.RIBTypeInterface, rib)
}
// interfaceMulticastAddrTable returns addresses for a specific