summaryrefslogtreecommitdiff
path: root/src/pkg/syscall/route_bsd.go
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-09-13 13:13:44 +0200
committerOndřej Surý <ondrej@sury.org>2011-09-13 13:13:44 +0200
commit9464a0c36318f8a801c07d6874bd0cea40f12504 (patch)
treef0178491c19d4f1ebc7b92eede86690998466480 /src/pkg/syscall/route_bsd.go
parentba9fda6068cfadd42db0b152fdca7e8b67aaf77d (diff)
parent5ff4c17907d5b19510a62e08fd8d3b11e62b431d (diff)
downloadgolang-9464a0c36318f8a801c07d6874bd0cea40f12504.tar.gz
Merge commit 'upstream/60' into debian-sid
Diffstat (limited to 'src/pkg/syscall/route_bsd.go')
-rw-r--r--src/pkg/syscall/route_bsd.go32
1 files changed, 3 insertions, 29 deletions
diff --git a/src/pkg/syscall/route_bsd.go b/src/pkg/syscall/route_bsd.go
index 7821a6d29..93e345d71 100644
--- a/src/pkg/syscall/route_bsd.go
+++ b/src/pkg/syscall/route_bsd.go
@@ -65,32 +65,6 @@ type anyMessage struct {
Type uint8
}
-func (any *anyMessage) toRoutingMessage(buf []byte) RoutingMessage {
- switch any.Type {
- case RTM_ADD, RTM_DELETE, RTM_CHANGE, RTM_GET, RTM_LOSING, RTM_REDIRECT, RTM_MISS, RTM_LOCK, RTM_RESOLVE:
- p := (*RouteMessage)(unsafe.Pointer(any))
- rtm := &RouteMessage{}
- rtm.Header = p.Header
- rtm.Data = buf[SizeofRtMsghdr:any.Msglen]
- return rtm
- case RTM_IFINFO:
- p := (*InterfaceMessage)(unsafe.Pointer(any))
- ifm := &InterfaceMessage{}
- ifm.Header = p.Header
- ifm.Data = buf[SizeofIfMsghdr:any.Msglen]
- return ifm
- case RTM_NEWADDR, RTM_DELADDR:
- p := (*InterfaceAddrMessage)(unsafe.Pointer(any))
- ifam := &InterfaceAddrMessage{}
- ifam.Header = p.Header
- ifam.Data = buf[SizeofIfaMsghdr:any.Msglen]
- return ifam
- case RTM_NEWMADDR, RTM_DELMADDR:
- // TODO: implement this in the near future
- }
- return nil
-}
-
// RouteMessage represents a routing message containing routing
// entries.
type RouteMessage struct {
@@ -128,16 +102,16 @@ type InterfaceAddrMessage struct {
Data []byte
}
-const rtaMask = RTA_IFA | RTA_NETMASK | RTA_BRD
+const rtaIfaMask = RTA_IFA | RTA_NETMASK | RTA_BRD
func (m *InterfaceAddrMessage) sockaddr() (sas []Sockaddr) {
- if m.Header.Addrs&rtaMask == 0 {
+ if m.Header.Addrs&rtaIfaMask == 0 {
return nil
}
buf := m.Data[:]
for i := uint(0); i < RTAX_MAX; i++ {
- if m.Header.Addrs&rtaMask&(1<<i) == 0 {
+ if m.Header.Addrs&rtaIfaMask&(1<<i) == 0 {
continue
}
rsa := (*RawSockaddr)(unsafe.Pointer(&buf[0]))