x/net/ipv6: fix build on older darwin kernels
A few adjustments for test cases will come in a following CL.
LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/176830043
diff --git a/ipv6/sys_darwin.go b/ipv6/sys_darwin.go
index de12f24..ff95e7a 100644
--- a/ipv6/sys_darwin.go
+++ b/ipv6/sys_darwin.go
@@ -21,7 +21,6 @@
}
sockOpts = [ssoMax]sockOpt{
- ssoTrafficClass: {iana.ProtocolIPv6, sysIPV6_TCLASS, ssoTypeInt},
ssoHopLimit: {iana.ProtocolIPv6, sysIPV6_UNICAST_HOPS, ssoTypeInt},
ssoMulticastInterface: {iana.ProtocolIPv6, sysIPV6_MULTICAST_IF, ssoTypeInterface},
ssoMulticastHopLimit: {iana.ProtocolIPv6, sysIPV6_MULTICAST_HOPS, ssoTypeInt},
@@ -44,8 +43,8 @@
}
var i int
for i = range osver {
- if osver[i] != '.' {
- continue
+ if osver[i] == '.' {
+ break
}
}
// The IP_PKTINFO and protocol-independent multicast API were
@@ -61,6 +60,9 @@
ctlOpts[ctlHopLimit].marshal = marshalHopLimit
ctlOpts[ctlPacketInfo].name = sysIPV6_PKTINFO
ctlOpts[ctlPacketInfo].marshal = marshalPacketInfo
+ sockOpts[ssoTrafficClass].level = iana.ProtocolIPv6
+ sockOpts[ssoTrafficClass].name = sysIPV6_TCLASS
+ sockOpts[ssoTrafficClass].typ = ssoTypeInt
sockOpts[ssoReceiveTrafficClass].level = iana.ProtocolIPv6
sockOpts[ssoReceiveTrafficClass].name = sysIPV6_RECVTCLASS
sockOpts[ssoReceiveTrafficClass].typ = ssoTypeInt