Browse Source

x/net/ipv6: enable IPV6_NEXTHOP, IPV6_PATHMTU ancillary data options for BSD variants

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/174310043
Mikio Hara 11 years ago
parent
commit
8869759228
3 changed files with 10 additions and 0 deletions
  1. 1 0
      ipv6/sys_bsd.go
  2. 8 0
      ipv6/sys_darwin.go
  3. 1 0
      ipv6/sys_freebsd.go

+ 1 - 0
ipv6/sys_bsd.go

@@ -21,6 +21,7 @@ var (
 		ctlHopLimit:     {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit},
 		ctlPacketInfo:   {sysIPV6_PKTINFO, sysSizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo},
 		ctlNextHop:      {sysIPV6_NEXTHOP, sysSizeofSockaddrInet6, marshalNextHop, parseNextHop},
+		ctlPathMTU:      {sysIPV6_PATHMTU, sysSizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU},
 	}
 
 	sockOpts = [ssoMax]sockOpt{

+ 8 - 0
ipv6/sys_darwin.go

@@ -60,6 +60,14 @@ func init() {
 		ctlOpts[ctlHopLimit].marshal = marshalHopLimit
 		ctlOpts[ctlPacketInfo].name = sysIPV6_PKTINFO
 		ctlOpts[ctlPacketInfo].marshal = marshalPacketInfo
+		ctlOpts[ctlNextHop].name = sysIPV6_NEXTHOP
+		ctlOpts[ctlNextHop].length = sysSizeofSockaddrInet6
+		ctlOpts[ctlNextHop].marshal = marshalNextHop
+		ctlOpts[ctlNextHop].parse = parseNextHop
+		ctlOpts[ctlPathMTU].name = sysIPV6_PATHMTU
+		ctlOpts[ctlPathMTU].length = sysSizeofIPv6Mtuinfo
+		ctlOpts[ctlPathMTU].marshal = marshalPathMTU
+		ctlOpts[ctlPathMTU].parse = parsePathMTU
 		sockOpts[ssoTrafficClass].level = iana.ProtocolIPv6
 		sockOpts[ssoTrafficClass].name = sysIPV6_TCLASS
 		sockOpts[ssoTrafficClass].typ = ssoTypeInt

+ 1 - 0
ipv6/sys_freebsd.go

@@ -20,6 +20,7 @@ var (
 		ctlHopLimit:     {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit},
 		ctlPacketInfo:   {sysIPV6_PKTINFO, sysSizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo},
 		ctlNextHop:      {sysIPV6_NEXTHOP, sysSizeofSockaddrInet6, marshalNextHop, parseNextHop},
+		ctlPathMTU:      {sysIPV6_PATHMTU, sysSizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU},
 	}
 
 	sockOpts = [ssoMax]sockOpt{