t.Errorf("unexpected value: %#v", ifa)
continue
}
+ if len(ifa.IP) != IPv6len {
+ t.Errorf("should be internal representation either IPv6 or IPv6 IPv4-mapped address: %#v", ifa)
+ continue
+ }
prefixLen, maxPrefixLen := ifa.Mask.Size()
if ifa.IP.To4() != nil {
if 0 >= prefixLen || prefixLen > 8*IPv4len || maxPrefixLen != 8*IPv4len {
t.Logf("interface address %q", ifa.String())
case *IPAddr:
if ifa == nil || ifa.IP == nil || ifa.IP.IsUnspecified() || ifa.IP.IsMulticast() {
- t.Errorf("unexpected value: %+v", ifa)
+ t.Errorf("unexpected value: %#v", ifa)
+ continue
+ }
+ if len(ifa.IP) != IPv6len {
+ t.Errorf("should be internal representation either IPv6 or IPv6 IPv4-mapped address: %#v", ifa)
continue
}
if ifa.IP.To4() != nil {
switch ifma := ifma.(type) {
case *IPAddr:
if ifma == nil || ifma.IP == nil || ifma.IP.IsUnspecified() || !ifma.IP.IsMulticast() {
- t.Errorf("unexpected value: %#v", ifma)
+ t.Errorf("unexpected value: %+v", ifma)
+ continue
+ }
+ if len(ifma.IP) != IPv6len {
+ t.Errorf("should be internal representation either IPv6 or IPv6 IPv4-mapped address: %#v", ifma)
continue
}
if ifma.IP.To4() != nil {
case windows.IF_TYPE_SOFTWARE_LOOPBACK:
ifi.Flags |= FlagLoopback | FlagMulticast
case windows.IF_TYPE_ATM:
- ifi.Flags |= FlagBroadcast |
- FlagPointToPoint |
- FlagMulticast // assume all services available; LANE, point-to-point and point-to-multipoint
+ ifi.Flags |= FlagBroadcast | FlagPointToPoint | FlagMulticast // assume all services available; LANE, point-to-point and point-to-multipoint
}
if aa.Mtu == 0xffffffff {
ifi.MTU = -1
} else {
l = addrPrefixLen(pfx4, IP(sa.Addr[:]))
}
- ifa := &IPNet{IP: make(IP, IPv4len), Mask: CIDRMask(l, 8*IPv4len)}
- copy(ifa.IP, sa.Addr[:])
- ifat = append(ifat, ifa)
+ ifat = append(ifat, &IPNet{IP: IPv4(sa.Addr[0], sa.Addr[1], sa.Addr[2], sa.Addr[3]), Mask: CIDRMask(l, 8*IPv4len)})
case *syscall.SockaddrInet6:
if supportsVistaIP {
l = int(puni.OnLinkPrefixLength)
}
switch sa := sa.(type) {
case *syscall.SockaddrInet4:
- ifa := &IPAddr{IP: make(IP, IPv4len)}
- copy(ifa.IP, sa.Addr[:])
- ifat = append(ifat, ifa)
+ ifat = append(ifat, &IPAddr{IP: IPv4(sa.Addr[0], sa.Addr[1], sa.Addr[2], sa.Addr[3])})
case *syscall.SockaddrInet6:
ifa := &IPAddr{IP: make(IP, IPv6len)}
copy(ifa.IP, sa.Addr[:])
}
switch sa := sa.(type) {
case *syscall.SockaddrInet4:
- ifa := &IPAddr{IP: make(IP, IPv4len)}
- copy(ifa.IP, sa.Addr[:])
- ifat = append(ifat, ifa)
+ ifat = append(ifat, &IPAddr{IP: IPv4(sa.Addr[0], sa.Addr[1], sa.Addr[2], sa.Addr[3])})
case *syscall.SockaddrInet6:
ifa := &IPAddr{IP: make(IP, IPv6len)}
copy(ifa.IP, sa.Addr[:])