return ifat, nil
 }
-
-func newMulticastAddr(m *syscall.InterfaceMulticastAddrMessage) ([]Addr, os.Error) {
-       var ifmat []Addr
-
-       sas, e := syscall.ParseRoutingSockaddr(m)
-       if e != 0 {
-               return nil, os.NewSyscallError("route sockaddr", e)
-       }
-
-       for _, s := range sas {
-               switch v := s.(type) {
-               case *syscall.SockaddrInet4:
-                       ifma := &IPAddr{IP: IPv4(v.Addr[0], v.Addr[1], v.Addr[2], v.Addr[3])}
-                       ifmat = append(ifmat, ifma.toAddr())
-               case *syscall.SockaddrInet6:
-                       ifma := &IPAddr{IP: make(IP, IPv6len)}
-                       copy(ifma.IP, v.Addr[:])
-                       // NOTE: KAME based IPv6 protcol stack usually embeds
-                       // the interface index in the interface-local or link-
-                       // local address as the kernel-internal form.
-                       if ifma.IP.IsInterfaceLocalMulticast() ||
-                               ifma.IP.IsLinkLocalMulticast() {
-                               // remove embedded scope zone ID
-                               ifma.IP[2], ifma.IP[3] = 0, 0
-                       }
-                       ifmat = append(ifmat, ifma.toAddr())
-               }
-       }
-
-       return ifmat, nil
-}
 
 
        return ifmat, nil
 }
+
+func newMulticastAddr(m *syscall.InterfaceMulticastAddrMessage) ([]Addr, os.Error) {
+       var ifmat []Addr
+
+       sas, e := syscall.ParseRoutingSockaddr(m)
+       if e != 0 {
+               return nil, os.NewSyscallError("route sockaddr", e)
+       }
+
+       for _, s := range sas {
+               switch v := s.(type) {
+               case *syscall.SockaddrInet4:
+                       ifma := &IPAddr{IP: IPv4(v.Addr[0], v.Addr[1], v.Addr[2], v.Addr[3])}
+                       ifmat = append(ifmat, ifma.toAddr())
+               case *syscall.SockaddrInet6:
+                       ifma := &IPAddr{IP: make(IP, IPv6len)}
+                       copy(ifma.IP, v.Addr[:])
+                       // NOTE: KAME based IPv6 protcol stack usually embeds
+                       // the interface index in the interface-local or link-
+                       // local address as the kernel-internal form.
+                       if ifma.IP.IsInterfaceLocalMulticast() ||
+                               ifma.IP.IsLinkLocalMulticast() {
+                               // remove embedded scope zone ID
+                               ifma.IP[2], ifma.IP[3] = 0, 0
+                       }
+                       ifmat = append(ifmat, ifma.toAddr())
+               }
+       }
+
+       return ifmat, nil
+}
 
 
        return ifmat, nil
 }
+
+func newMulticastAddr(m *syscall.InterfaceMulticastAddrMessage) ([]Addr, os.Error) {
+       var ifmat []Addr
+
+       sas, e := syscall.ParseRoutingSockaddr(m)
+       if e != 0 {
+               return nil, os.NewSyscallError("route sockaddr", e)
+       }
+
+       for _, s := range sas {
+               switch v := s.(type) {
+               case *syscall.SockaddrInet4:
+                       ifma := &IPAddr{IP: IPv4(v.Addr[0], v.Addr[1], v.Addr[2], v.Addr[3])}
+                       ifmat = append(ifmat, ifma.toAddr())
+               case *syscall.SockaddrInet6:
+                       ifma := &IPAddr{IP: make(IP, IPv6len)}
+                       copy(ifma.IP, v.Addr[:])
+                       // NOTE: KAME based IPv6 protcol stack usually embeds
+                       // the interface index in the interface-local or link-
+                       // local address as the kernel-internal form.
+                       if ifma.IP.IsInterfaceLocalMulticast() ||
+                               ifma.IP.IsLinkLocalMulticast() {
+                               // remove embedded scope zone ID
+                               ifma.IP[2], ifma.IP[3] = 0, 0
+                       }
+                       ifmat = append(ifmat, ifma.toAddr())
+               }
+       }
+
+       return ifmat, nil
+}
 
        return sas
 }
 
-const rtaIfmaMask = RTA_GATEWAY | RTA_IFP | RTA_IFA
-
-func (m *InterfaceMulticastAddrMessage) sockaddr() (sas []Sockaddr) {
-       if m.Header.Addrs&rtaIfmaMask == 0 {
-               return nil
-       }
-
-       buf := m.Data[:]
-       for i := uint(0); i < RTAX_MAX; i++ {
-               if m.Header.Addrs&rtaIfmaMask&(1<<i) == 0 {
-                       continue
-               }
-               rsa := (*RawSockaddr)(unsafe.Pointer(&buf[0]))
-               switch i {
-               case RTAX_IFA:
-                       sa, e := anyToSockaddr((*RawSockaddrAny)(unsafe.Pointer(rsa)))
-                       if e != 0 {
-                               return nil
-                       }
-                       sas = append(sas, sa)
-               case RTAX_GATEWAY, RTAX_IFP:
-                       // nothing to do
-               }
-               buf = buf[rsaAlignOf(int(rsa.Len)):]
-       }
-
-       return sas
-}
-
 // ParseRoutingMessage parses buf as routing messages and returns
 // the slice containing the RoutingMessage interfaces.
 func ParseRoutingMessage(buf []byte) (msgs []RoutingMessage, errno int) {
 
        Header IfmaMsghdr2
        Data   []byte
 }
+
+const rtaIfmaMask = RTA_GATEWAY | RTA_IFP | RTA_IFA
+
+func (m *InterfaceMulticastAddrMessage) sockaddr() (sas []Sockaddr) {
+       if m.Header.Addrs&rtaIfmaMask == 0 {
+               return nil
+       }
+
+       buf := m.Data[:]
+       for i := uint(0); i < RTAX_MAX; i++ {
+               if m.Header.Addrs&rtaIfmaMask&(1<<i) == 0 {
+                       continue
+               }
+               rsa := (*RawSockaddr)(unsafe.Pointer(&buf[0]))
+               switch i {
+               case RTAX_IFA:
+                       sa, e := anyToSockaddr((*RawSockaddrAny)(unsafe.Pointer(rsa)))
+                       if e != 0 {
+                               return nil
+                       }
+                       sas = append(sas, sa)
+               case RTAX_GATEWAY, RTAX_IFP:
+                       // nothing to do
+               }
+               buf = buf[rsaAlignOf(int(rsa.Len)):]
+       }
+
+       return sas
+}
 
        Header IfmaMsghdr
        Data   []byte
 }
+
+const rtaIfmaMask = RTA_GATEWAY | RTA_IFP | RTA_IFA
+
+func (m *InterfaceMulticastAddrMessage) sockaddr() (sas []Sockaddr) {
+       if m.Header.Addrs&rtaIfmaMask == 0 {
+               return nil
+       }
+
+       buf := m.Data[:]
+       for i := uint(0); i < RTAX_MAX; i++ {
+               if m.Header.Addrs&rtaIfmaMask&(1<<i) == 0 {
+                       continue
+               }
+               rsa := (*RawSockaddr)(unsafe.Pointer(&buf[0]))
+               switch i {
+               case RTAX_IFA:
+                       sa, e := anyToSockaddr((*RawSockaddrAny)(unsafe.Pointer(rsa)))
+                       if e != 0 {
+                               return nil
+                       }
+                       sas = append(sas, sa)
+               case RTAX_GATEWAY, RTAX_IFP:
+                       // nothing to do
+               }
+               buf = buf[rsaAlignOf(int(rsa.Len)):]
+       }
+
+       return sas
+}