@@ -13,36 +13,38 @@ import (
13
13
14
14
"golang.org/x/net/internal/iana"
15
15
"golang.org/x/net/internal/socket"
16
+
17
+ "golang.org/x/sys/unix"
16
18
)
17
19
18
20
var (
19
21
ctlOpts = [ctlMax ]ctlOpt {
20
- ctlTrafficClass : {sysIPV6_TCLASS , 4 , marshalTrafficClass , parseTrafficClass },
21
- ctlHopLimit : {sysIPV6_HOPLIMIT , 4 , marshalHopLimit , parseHopLimit },
22
- ctlPacketInfo : {sysIPV6_PKTINFO , sizeofInet6Pktinfo , marshalPacketInfo , parsePacketInfo },
23
- ctlNextHop : {sysIPV6_NEXTHOP , sizeofSockaddrInet6 , marshalNextHop , parseNextHop },
24
- ctlPathMTU : {sysIPV6_PATHMTU , sizeofIPv6Mtuinfo , marshalPathMTU , parsePathMTU },
22
+ ctlTrafficClass : {unix . IPV6_TCLASS , 4 , marshalTrafficClass , parseTrafficClass },
23
+ ctlHopLimit : {unix . IPV6_HOPLIMIT , 4 , marshalHopLimit , parseHopLimit },
24
+ ctlPacketInfo : {unix . IPV6_PKTINFO , sizeofInet6Pktinfo , marshalPacketInfo , parsePacketInfo },
25
+ ctlNextHop : {unix . IPV6_NEXTHOP , sizeofSockaddrInet6 , marshalNextHop , parseNextHop },
26
+ ctlPathMTU : {unix . IPV6_PATHMTU , sizeofIPv6Mtuinfo , marshalPathMTU , parsePathMTU },
25
27
}
26
28
27
29
sockOpts = map [int ]sockOpt {
28
- ssoTrafficClass : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_TCLASS , Len : 4 }},
29
- ssoHopLimit : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_UNICAST_HOPS , Len : 4 }},
30
- ssoMulticastInterface : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_MULTICAST_IF , Len : 4 }},
31
- ssoMulticastHopLimit : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_MULTICAST_HOPS , Len : 4 }},
32
- ssoMulticastLoopback : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_MULTICAST_LOOP , Len : 4 }},
33
- ssoReceiveTrafficClass : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_RECVTCLASS , Len : 4 }},
34
- ssoReceiveHopLimit : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_RECVHOPLIMIT , Len : 4 }},
35
- ssoReceivePacketInfo : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_RECVPKTINFO , Len : 4 }},
36
- ssoReceivePathMTU : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_RECVPATHMTU , Len : 4 }},
37
- ssoPathMTU : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_PATHMTU , Len : sizeofIPv6Mtuinfo }},
38
- ssoChecksum : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysIPV6_CHECKSUM , Len : 4 }},
39
- ssoICMPFilter : {Option : socket.Option {Level : iana .ProtocolIPv6ICMP , Name : sysICMP6_FILTER , Len : sizeofICMPv6Filter }},
40
- ssoJoinGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysMCAST_JOIN_GROUP , Len : sizeofGroupReq }, typ : ssoTypeGroupReq },
41
- ssoLeaveGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysMCAST_LEAVE_GROUP , Len : sizeofGroupReq }, typ : ssoTypeGroupReq },
42
- ssoJoinSourceGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysMCAST_JOIN_SOURCE_GROUP , Len : sizeofGroupSourceReq }, typ : ssoTypeGroupSourceReq },
43
- ssoLeaveSourceGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysMCAST_LEAVE_SOURCE_GROUP , Len : sizeofGroupSourceReq }, typ : ssoTypeGroupSourceReq },
44
- ssoBlockSourceGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysMCAST_BLOCK_SOURCE , Len : sizeofGroupSourceReq }, typ : ssoTypeGroupSourceReq },
45
- ssoUnblockSourceGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : sysMCAST_UNBLOCK_SOURCE , Len : sizeofGroupSourceReq }, typ : ssoTypeGroupSourceReq },
30
+ ssoTrafficClass : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_TCLASS , Len : 4 }},
31
+ ssoHopLimit : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_UNICAST_HOPS , Len : 4 }},
32
+ ssoMulticastInterface : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_MULTICAST_IF , Len : 4 }},
33
+ ssoMulticastHopLimit : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_MULTICAST_HOPS , Len : 4 }},
34
+ ssoMulticastLoopback : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_MULTICAST_LOOP , Len : 4 }},
35
+ ssoReceiveTrafficClass : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_RECVTCLASS , Len : 4 }},
36
+ ssoReceiveHopLimit : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_RECVHOPLIMIT , Len : 4 }},
37
+ ssoReceivePacketInfo : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_RECVPKTINFO , Len : 4 }},
38
+ ssoReceivePathMTU : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_RECVPATHMTU , Len : 4 }},
39
+ ssoPathMTU : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_PATHMTU , Len : sizeofIPv6Mtuinfo }},
40
+ ssoChecksum : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . IPV6_CHECKSUM , Len : 4 }},
41
+ ssoICMPFilter : {Option : socket.Option {Level : iana .ProtocolIPv6ICMP , Name : unix . ICMP6_FILTER , Len : sizeofICMPv6Filter }},
42
+ ssoJoinGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . MCAST_JOIN_GROUP , Len : sizeofGroupReq }, typ : ssoTypeGroupReq },
43
+ ssoLeaveGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . MCAST_LEAVE_GROUP , Len : sizeofGroupReq }, typ : ssoTypeGroupReq },
44
+ ssoJoinSourceGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . MCAST_JOIN_SOURCE_GROUP , Len : sizeofGroupSourceReq }, typ : ssoTypeGroupSourceReq },
45
+ ssoLeaveSourceGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . MCAST_LEAVE_SOURCE_GROUP , Len : sizeofGroupSourceReq }, typ : ssoTypeGroupSourceReq },
46
+ ssoBlockSourceGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . MCAST_BLOCK_SOURCE , Len : sizeofGroupSourceReq }, typ : ssoTypeGroupSourceReq },
47
+ ssoUnblockSourceGroup : {Option : socket.Option {Level : iana .ProtocolIPv6 , Name : unix . MCAST_UNBLOCK_SOURCE , Len : sizeofGroupSourceReq }, typ : ssoTypeGroupSourceReq },
46
48
}
47
49
)
48
50
0 commit comments