diff options
Diffstat (limited to 'src/net/interface_bsd.go')
| -rw-r--r-- | src/net/interface_bsd.go | 13 |
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) { |
