aboutsummaryrefslogtreecommitdiff
path: root/src/net/interface_bsd.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/interface_bsd.go')
-rw-r--r--src/net/interface_bsd.go13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/net/interface_bsd.go b/src/net/interface_bsd.go
index 01a67c69a1..208f37f9fd 100644
--- a/src/net/interface_bsd.go
+++ b/src/net/interface_bsd.go
@@ -7,6 +7,7 @@
package net
import (
+ "os"
"syscall"
"unsafe"
)
@@ -17,11 +18,11 @@ import (
func interfaceTable(ifindex int) ([]Interface, error) {
tab, err := syscall.RouteRIB(syscall.NET_RT_IFLIST, ifindex)
if err != nil {
- return nil, err
+ return nil, os.NewSyscallError("routerib", err)
}
msgs, err := syscall.ParseRoutingMessage(tab)
if err != nil {
- return nil, err
+ return nil, os.NewSyscallError("parseroutingmessage", err)
}
return parseInterfaceTable(ifindex, msgs)
}
@@ -50,7 +51,7 @@ loop:
func newLink(m *syscall.InterfaceMessage) (*Interface, error) {
sas, err := syscall.ParseRoutingSockaddr(m)
if err != nil {
- return nil, err
+ return nil, os.NewSyscallError("parseroutingsockaddr", err)
}
ifi := &Interface{Index: int(m.Header.Index), Flags: linkFlags(m.Header.Flags)}
sa, _ := sas[syscall.RTAX_IFP].(*syscall.SockaddrDatalink)
@@ -103,11 +104,11 @@ func interfaceAddrTable(ifi *Interface) ([]Addr, error) {
}
tab, err := syscall.RouteRIB(syscall.NET_RT_IFLIST, index)
if err != nil {
- return nil, err
+ return nil, os.NewSyscallError("routerib", err)
}
msgs, err := syscall.ParseRoutingMessage(tab)
if err != nil {
- return nil, err
+ return nil, os.NewSyscallError("parseroutingmessage", err)
}
var ift []Interface
if index == 0 {
@@ -144,7 +145,7 @@ func interfaceAddrTable(ifi *Interface) ([]Addr, error) {
func newAddr(ifi *Interface, m *syscall.InterfaceAddrMessage) (*IPNet, error) {
sas, err := syscall.ParseRoutingSockaddr(m)
if err != nil {
- return nil, err
+ return nil, os.NewSyscallError("parseroutingsockaddr", err)
}
ifa := &IPNet{}
switch sa := sas[syscall.RTAX_NETMASK].(type) {