aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2017-04-07 15:42:41 +0200
committerAndrey Konovalov <andreyknvl@google.com>2017-04-07 16:15:16 +0200
commit96adce017fc18e2da584bb22672bef9712578a69 (patch)
tree3988d86c182f7037889021343dc3ad492d4e8c97 /sys
parent6b4ffb21884b0c03bc9faa710821fc936462e069 (diff)
sys: move ipv6 sockets to its own file
Diffstat (limited to 'sys')
-rw-r--r--sys/socket_inet.txt89
-rw-r--r--sys/socket_inet6.txt81
-rw-r--r--sys/socket_inet6_amd64.const76
-rw-r--r--sys/socket_inet6_arm64.const76
-rw-r--r--sys/socket_inet6_ppc64le.const76
-rw-r--r--sys/socket_inet_amd64.const56
-rw-r--r--sys/socket_inet_arm64.const56
-rw-r--r--sys/socket_inet_ppc64le.const56
-rwxr-xr-xsys/socket_inet_sctp.txt10
9 files changed, 319 insertions, 257 deletions
diff --git a/sys/socket_inet.txt b/sys/socket_inet.txt
index 0d73c286b..cae635dd8 100644
--- a/sys/socket_inet.txt
+++ b/sys/socket_inet.txt
@@ -42,65 +42,6 @@ recvfrom$inet(fd sock_in, buf buffer[out], len len[buf], f flags[recv_flags], ad
getsockname$inet(fd sock_in, addr ptr[out, sockaddr_in], addrlen ptr[inout, len[addr, int32]])
getpeername$inet(fd sock_in, peer ptr[out, sockaddr_in], peerlen ptr[inout, len[peer, int32]])
-# IPv6 sockets
-
-resource sock_in6[sock]
-
-sock_in6_pair {
- f0 sock_in6
- f1 sock_in6
-}
-
-
-in6_addr_empty {
- a0 const[0, int64be]
- a1 const[0, int64be]
-}
-
-in6_addr_loopback {
- a0 const[0, int64be]
- a1 const[1, int64be]
-}
-
-in6_addr [
- empty in6_addr_empty
- loopback in6_addr_loopback
-]
-
-sockaddr_in6 {
- family const[AF_INET6, int16]
- port proc[int16be, 20000, 4]
- flow int32
- addr in6_addr
- scope int32
-}
-
-sockaddr_storage_in {
- addr sockaddr_in
- pad array[const[0, int64], 15]
-}
-
-sockaddr_storage_in6 {
- addr sockaddr_in6
- pad array[const[0, int64], 12]
-}
-
-sockaddr_storage [
- in sockaddr_storage_in
- in6 sockaddr_storage_in6
-]
-
-socket$inet6(domain const[AF_INET6], type flags[socket_type], proto int8) sock_in6
-socketpair$inet6(domain const[AF_INET6], type flags[socket_type], proto int8, fds ptr[out, sock_in6_pair])
-accept$inet6(fd sock_in6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]]) sock_in6
-accept4$inet6(fd sock_in6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_in6
-bind$inet6(fd sock_in6, addr ptr[in, sockaddr_in6], addrlen len[addr])
-connect$inet6(fd sock_in6, addr ptr[in, sockaddr_in6], addrlen len[addr])
-sendto$inet6(fd sock_in6, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr])
-recvfrom$inet6(fd sock_in6, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr])
-getsockname$inet6(fd sock_in6, addr ptr[out, sockaddr_in6], addrlen ptr[inout, len[addr, int32]])
-getpeername$inet6(fd sock_in6, peer ptr[out, sockaddr_in6], peerlen ptr[inout, len[peer, int32]])
-
# Generic IP options
inet_option_types_int = IP_TOS, IP_TTL, IP_HDRINCL, IP_ROUTER_ALERT, IP_RECVOPTS, IP_RETOPTS, IP_PKTINFO, IP_MTU_DISCOVER, IP_RECVERR, IP_RECVTTL, IP_RECVTOS, IP_MTU, IP_FREEBIND, IP_PASSSEC, IP_TRANSPARENT, IP_RECVORIGDSTADDR, IP_MINTTL, IP_NODEFRAG, IP_CHECKSUM, IP_BIND_ADDRESS_NO_PORT, IP_MULTICAST_TTL, IP_MULTICAST_LOOP, IP_MULTICAST_ALL, IP_UNICAST_IF
@@ -112,17 +53,6 @@ setsockopt$ip_int(fd sock_in, level const[IPPROTO_IP], optname flags[inet_option
getsockopt$ip_buf(fd sock_in, level const[IPPROTO_IP], optname flags[inet_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]])
setsockopt$ip_buf(fd sock_in, level const[IPPROTO_IP], optname flags[inet_option_types_buf], optval buffer[in], optlen len[optval])
-# Generic IPv6 options
-
-inet6_option_types_int = IPV6_ADDRFORM, IPV6_2292PKTINFO, IPV6_2292HOPOPTS, IPV6_2292DSTOPTS, IPV6_2292RTHDR, IPV6_CHECKSUM, IPV6_2292HOPLIMIT, IPV6_NEXTHOP, IPV6_AUTHHDR, IPV6_FLOWINFO, IPV6_UNICAST_HOPS, IPV6_MULTICAST_IF, IPV6_MULTICAST_HOPS, IPV6_MULTICAST_LOOP, IPV6_ROUTER_ALERT, IPV6_MTU_DISCOVER, IPV6_MTU, IPV6_RECVERR, IPV6_V6ONLY, IPV6_FLOWINFO_SEND, IPV6_HDRINCL, IPV6_RECVPKTINFO, IPV6_RECVHOPLIMIT, IPV6_HOPLIMIT, IPV6_RECVHOPOPTS, IPV6_RECVRTHDR, IPV6_RECVDSTOPTS, IPV6_RECVPATHMTU, IPV6_DONTFRAG, IPV6_RECVTCLASS, IPV6_TCLASS, IP6T_SO_ORIGINAL_DST, IPV6_AUTOFLOWLABEL, IPV6_ADDR_PREFERENCES, IPV6_MINHOPCOUNT, IPV6_RECVORIGDSTADDR, IPV6_TRANSPARENT, IPV6_UNICAST_IF
-
-inet6_option_types_buf = IPV6_2292PKTOPTIONS, IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP, IPV6_JOIN_ANYCAST, IPV6_LEAVE_ANYCAST, IPV6_FLOWLABEL_MGR, IPV6_IPSEC_POLICY, IPV6_XFRM_POLICY, MCAST_JOIN_GROUP, MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP, MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, MCAST_MSFILTER, IPV6_PKTINFO, IPV6_HOPOPTS, IPV6_RTHDRDSTOPTS, IPV6_RTHDR, IPV6_DSTOPTS, IPV6_PATHMTU, IP6T_SO_GET_REVISION_MATCH, IP6T_SO_GET_REVISION_TARGET
-
-getsockopt$ip6_int(fd sock_in6, level const[IPPROTO_IPV6], optname flags[inet6_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]])
-setsockopt$ip6_int(fd sock_in6, level const[IPPROTO_IPV6], optname flags[inet6_option_types_int], optval ptr[in, int32], optlen len[optval])
-getsockopt$ip6_buf(fd sock_in6, level const[IPPROTO_IPV6], optname flags[inet6_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]])
-setsockopt$ip6_buf(fd sock_in6, level const[IPPROTO_IPV6], optname flags[inet6_option_types_buf], optval buffer[in], optlen len[optval])
-
# Specific IP options
getsockopt$ip_mreq(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[out, ip_mreq], optlen ptr[inout, len[optval, int32]])
@@ -252,23 +182,6 @@ xfrm_in_addr [
in6 in6_addr
]
-# Specific IPv6 options
-
-getsockopt$ipv6_mreq(fd sock_in6, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_mreq], optval ptr[out, ipv6_mreq], optlen ptr[inout, len[optval, int32]])
-setsockopt$ipv6_mreq(fd sock_in6, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_mreq], optval ptr[in, ipv6_mreq], optlen len[optval])
-getsockopt$ipv6_mtu(fd sock_in6, level const[IPPROTO_IPV6], optname const[IPV6_MTU_DISCOVER], optval ptr[out, flags[ip_mtu_discover, int32]], optlen ptr[inout, len[optval, int32]])
-setsockopt$ipv6_mtu(fd sock_in6, level const[IPPROTO_IPV6], optname const[IPV6_MTU_DISCOVER], optval ptr[in, flags[ip_mtu_discover, int32]], optlen len[optval])
-getsockopt$ipv6_opts(fd sock_in6, level const[IPPROTO_IPV6], optname const[IPV6_2292PKTOPTIONS], optval buffer[out], optlen ptr[inout, len[optval, int32]])
-setsockopt$ipv6_opts(fd sock_in6, level const[IPPROTO_IPV6], optname const[IPV6_2292PKTOPTIONS], optval buffer[in], optlen len[optval])
-
-sockopt_opt_ipv6_int = IPV6_ADDRFORM, IPV6_MTU, IPV6_MULTICAST_HOPS, IPV6_MULTICAST_IF, IPV6_MULTICAST_LOOP, IPV6_RECVPKTINFO, IPV6_RECVERR, IPV6_ROUTER_ALERT, IPV6_UNICAST_HOPS, IPV6_V6ONLY, IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPTS, IPV6_HOPOPTS, IPV6_FLOWINFO, IPV6_HOPLIMIT, IPV6_CHECKSUM, IPV6_2292PKTINFO, IPV6_2292HOPOPTS, IPV6_2292DSTOPTS, IPV6_2292RTHDR, IPV6_2292HOPLIMIT
-sockopt_opt_ipv6_mreq = IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP, IPV6_JOIN_ANYCAST, IPV6_LEAVE_ANYCAST
-
-ipv6_mreq {
- multi in6_addr
- ifindex int32
-}
-
# IP ioctls
# http://lxr.free-electrons.com/source/include/uapi/linux/sockios.h
@@ -296,5 +209,3 @@ rtentry_in {
}
rt_flags = RTF_UP, RTF_GATEWAY, RTF_HOST, RTF_REINSTATE, RTF_DYNAMIC, RTF_MODIFIED, RTF_MTU, RTF_WINDOW, RTF_IRTT, RTF_REJECT
-
-# TODO: ipv6 ioctls
diff --git a/sys/socket_inet6.txt b/sys/socket_inet6.txt
new file mode 100644
index 000000000..8a5261b7f
--- /dev/null
+++ b/sys/socket_inet6.txt
@@ -0,0 +1,81 @@
+# Copyright 2017 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+include <linux/ip.h>
+include <linux/ipv6.h>
+include <linux/route.h>
+include <uapi/linux/netfilter_ipv6/ip6_tables.h>
+
+# IPv6 sockets
+
+resource sock_in6[sock]
+
+sock_in6_pair {
+ f0 sock_in6
+ f1 sock_in6
+}
+
+
+in6_addr_empty {
+ a0 const[0, int64be]
+ a1 const[0, int64be]
+}
+
+in6_addr_loopback {
+ a0 const[0, int64be]
+ a1 const[1, int64be]
+}
+
+in6_addr [
+ empty in6_addr_empty
+ loopback in6_addr_loopback
+]
+
+sockaddr_in6 {
+ family const[AF_INET6, int16]
+ port proc[int16be, 20000, 4]
+ flow int32
+ addr in6_addr
+ scope int32
+}
+
+socket$inet6(domain const[AF_INET6], type flags[socket_type], proto int8) sock_in6
+socketpair$inet6(domain const[AF_INET6], type flags[socket_type], proto int8, fds ptr[out, sock_in6_pair])
+accept$inet6(fd sock_in6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]]) sock_in6
+accept4$inet6(fd sock_in6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_in6
+bind$inet6(fd sock_in6, addr ptr[in, sockaddr_in6], addrlen len[addr])
+connect$inet6(fd sock_in6, addr ptr[in, sockaddr_in6], addrlen len[addr])
+sendto$inet6(fd sock_in6, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr])
+recvfrom$inet6(fd sock_in6, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr])
+getsockname$inet6(fd sock_in6, addr ptr[out, sockaddr_in6], addrlen ptr[inout, len[addr, int32]])
+getpeername$inet6(fd sock_in6, peer ptr[out, sockaddr_in6], peerlen ptr[inout, len[peer, int32]])
+
+# Generic IPv6 options
+
+inet6_option_types_int = IPV6_ADDRFORM, IPV6_2292PKTINFO, IPV6_2292HOPOPTS, IPV6_2292DSTOPTS, IPV6_2292RTHDR, IPV6_CHECKSUM, IPV6_2292HOPLIMIT, IPV6_NEXTHOP, IPV6_AUTHHDR, IPV6_FLOWINFO, IPV6_UNICAST_HOPS, IPV6_MULTICAST_IF, IPV6_MULTICAST_HOPS, IPV6_MULTICAST_LOOP, IPV6_ROUTER_ALERT, IPV6_MTU_DISCOVER, IPV6_MTU, IPV6_RECVERR, IPV6_V6ONLY, IPV6_FLOWINFO_SEND, IPV6_HDRINCL, IPV6_RECVPKTINFO, IPV6_RECVHOPLIMIT, IPV6_HOPLIMIT, IPV6_RECVHOPOPTS, IPV6_RECVRTHDR, IPV6_RECVDSTOPTS, IPV6_RECVPATHMTU, IPV6_DONTFRAG, IPV6_RECVTCLASS, IPV6_TCLASS, IP6T_SO_ORIGINAL_DST, IPV6_AUTOFLOWLABEL, IPV6_ADDR_PREFERENCES, IPV6_MINHOPCOUNT, IPV6_RECVORIGDSTADDR, IPV6_TRANSPARENT, IPV6_UNICAST_IF
+
+inet6_option_types_buf = IPV6_2292PKTOPTIONS, IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP, IPV6_JOIN_ANYCAST, IPV6_LEAVE_ANYCAST, IPV6_FLOWLABEL_MGR, IPV6_IPSEC_POLICY, IPV6_XFRM_POLICY, MCAST_JOIN_GROUP, MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP, MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, MCAST_MSFILTER, IPV6_PKTINFO, IPV6_HOPOPTS, IPV6_RTHDRDSTOPTS, IPV6_RTHDR, IPV6_DSTOPTS, IPV6_PATHMTU, IP6T_SO_GET_REVISION_MATCH, IP6T_SO_GET_REVISION_TARGET
+
+getsockopt$ip6_int(fd sock_in6, level const[IPPROTO_IPV6], optname flags[inet6_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]])
+setsockopt$ip6_int(fd sock_in6, level const[IPPROTO_IPV6], optname flags[inet6_option_types_int], optval ptr[in, int32], optlen len[optval])
+getsockopt$ip6_buf(fd sock_in6, level const[IPPROTO_IPV6], optname flags[inet6_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]])
+setsockopt$ip6_buf(fd sock_in6, level const[IPPROTO_IPV6], optname flags[inet6_option_types_buf], optval buffer[in], optlen len[optval])
+
+# Specific IPv6 options
+
+getsockopt$ipv6_mreq(fd sock_in6, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_mreq], optval ptr[out, ipv6_mreq], optlen ptr[inout, len[optval, int32]])
+setsockopt$ipv6_mreq(fd sock_in6, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_mreq], optval ptr[in, ipv6_mreq], optlen len[optval])
+getsockopt$ipv6_mtu(fd sock_in6, level const[IPPROTO_IPV6], optname const[IPV6_MTU_DISCOVER], optval ptr[out, flags[ip_mtu_discover, int32]], optlen ptr[inout, len[optval, int32]])
+setsockopt$ipv6_mtu(fd sock_in6, level const[IPPROTO_IPV6], optname const[IPV6_MTU_DISCOVER], optval ptr[in, flags[ip_mtu_discover, int32]], optlen len[optval])
+getsockopt$ipv6_opts(fd sock_in6, level const[IPPROTO_IPV6], optname const[IPV6_2292PKTOPTIONS], optval buffer[out], optlen ptr[inout, len[optval, int32]])
+setsockopt$ipv6_opts(fd sock_in6, level const[IPPROTO_IPV6], optname const[IPV6_2292PKTOPTIONS], optval buffer[in], optlen len[optval])
+
+sockopt_opt_ipv6_int = IPV6_ADDRFORM, IPV6_MTU, IPV6_MULTICAST_HOPS, IPV6_MULTICAST_IF, IPV6_MULTICAST_LOOP, IPV6_RECVPKTINFO, IPV6_RECVERR, IPV6_ROUTER_ALERT, IPV6_UNICAST_HOPS, IPV6_V6ONLY, IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPTS, IPV6_HOPOPTS, IPV6_FLOWINFO, IPV6_HOPLIMIT, IPV6_CHECKSUM, IPV6_2292PKTINFO, IPV6_2292HOPOPTS, IPV6_2292DSTOPTS, IPV6_2292RTHDR, IPV6_2292HOPLIMIT
+sockopt_opt_ipv6_mreq = IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP, IPV6_JOIN_ANYCAST, IPV6_LEAVE_ANYCAST
+
+ipv6_mreq {
+ multi in6_addr
+ ifindex int32
+}
+
+# TODO: ipv6 ioctls
diff --git a/sys/socket_inet6_amd64.const b/sys/socket_inet6_amd64.const
new file mode 100644
index 000000000..73d453519
--- /dev/null
+++ b/sys/socket_inet6_amd64.const
@@ -0,0 +1,76 @@
+# AUTOGENERATED FILE
+AF_INET6 = 10
+IP6T_SO_GET_REVISION_MATCH = 68
+IP6T_SO_GET_REVISION_TARGET = 69
+IP6T_SO_ORIGINAL_DST = 80
+IPPROTO_IPV6 = 41
+IPV6_2292DSTOPTS = 4
+IPV6_2292HOPLIMIT = 8
+IPV6_2292HOPOPTS = 3
+IPV6_2292PKTINFO = 2
+IPV6_2292PKTOPTIONS = 6
+IPV6_2292RTHDR = 5
+IPV6_ADDRFORM = 1
+IPV6_ADDR_PREFERENCES = 72
+IPV6_ADD_MEMBERSHIP = 20
+IPV6_AUTHHDR = 10
+IPV6_AUTOFLOWLABEL = 70
+IPV6_CHECKSUM = 7
+IPV6_DONTFRAG = 62
+IPV6_DROP_MEMBERSHIP = 21
+IPV6_DSTOPTS = 59
+IPV6_FLOWINFO = 11
+IPV6_FLOWINFO_SEND = 33
+IPV6_FLOWLABEL_MGR = 32
+IPV6_HDRINCL = 36
+IPV6_HOPLIMIT = 52
+IPV6_HOPOPTS = 54
+IPV6_IPSEC_POLICY = 34
+IPV6_JOIN_ANYCAST = 27
+IPV6_LEAVE_ANYCAST = 28
+IPV6_MINHOPCOUNT = 73
+IPV6_MTU = 24
+IPV6_MTU_DISCOVER = 23
+IPV6_MULTICAST_HOPS = 18
+IPV6_MULTICAST_IF = 17
+IPV6_MULTICAST_LOOP = 19
+IPV6_NEXTHOP = 9
+IPV6_PATHMTU = 61
+IPV6_PKTINFO = 50
+IPV6_RECVDSTOPTS = 58
+IPV6_RECVERR = 25
+IPV6_RECVHOPLIMIT = 51
+IPV6_RECVHOPOPTS = 53
+IPV6_RECVORIGDSTADDR = 74
+IPV6_RECVPATHMTU = 60
+IPV6_RECVPKTINFO = 49
+IPV6_RECVRTHDR = 56
+IPV6_RECVTCLASS = 66
+IPV6_ROUTER_ALERT = 22
+IPV6_RTHDR = 57
+IPV6_RTHDRDSTOPTS = 55
+IPV6_TCLASS = 67
+IPV6_TRANSPARENT = 75
+IPV6_UNICAST_HOPS = 16
+IPV6_UNICAST_IF = 76
+IPV6_V6ONLY = 26
+IPV6_XFRM_POLICY = 35
+MCAST_BLOCK_SOURCE = 43
+MCAST_JOIN_GROUP = 42
+MCAST_JOIN_SOURCE_GROUP = 46
+MCAST_LEAVE_GROUP = 45
+MCAST_LEAVE_SOURCE_GROUP = 47
+MCAST_MSFILTER = 48
+MCAST_UNBLOCK_SOURCE = 44
+__NR_accept = 43
+__NR_accept4 = 288
+__NR_bind = 49
+__NR_connect = 42
+__NR_getpeername = 52
+__NR_getsockname = 51
+__NR_getsockopt = 55
+__NR_recvfrom = 45
+__NR_sendto = 44
+__NR_setsockopt = 54
+__NR_socket = 41
+__NR_socketpair = 53
diff --git a/sys/socket_inet6_arm64.const b/sys/socket_inet6_arm64.const
new file mode 100644
index 000000000..41e764410
--- /dev/null
+++ b/sys/socket_inet6_arm64.const
@@ -0,0 +1,76 @@
+# AUTOGENERATED FILE
+AF_INET6 = 10
+IP6T_SO_GET_REVISION_MATCH = 68
+IP6T_SO_GET_REVISION_TARGET = 69
+IP6T_SO_ORIGINAL_DST = 80
+IPPROTO_IPV6 = 41
+IPV6_2292DSTOPTS = 4
+IPV6_2292HOPLIMIT = 8
+IPV6_2292HOPOPTS = 3
+IPV6_2292PKTINFO = 2
+IPV6_2292PKTOPTIONS = 6
+IPV6_2292RTHDR = 5
+IPV6_ADDRFORM = 1
+IPV6_ADDR_PREFERENCES = 72
+IPV6_ADD_MEMBERSHIP = 20
+IPV6_AUTHHDR = 10
+IPV6_AUTOFLOWLABEL = 70
+IPV6_CHECKSUM = 7
+IPV6_DONTFRAG = 62
+IPV6_DROP_MEMBERSHIP = 21
+IPV6_DSTOPTS = 59
+IPV6_FLOWINFO = 11
+IPV6_FLOWINFO_SEND = 33
+IPV6_FLOWLABEL_MGR = 32
+IPV6_HDRINCL = 36
+IPV6_HOPLIMIT = 52
+IPV6_HOPOPTS = 54
+IPV6_IPSEC_POLICY = 34
+IPV6_JOIN_ANYCAST = 27
+IPV6_LEAVE_ANYCAST = 28
+IPV6_MINHOPCOUNT = 73
+IPV6_MTU = 24
+IPV6_MTU_DISCOVER = 23
+IPV6_MULTICAST_HOPS = 18
+IPV6_MULTICAST_IF = 17
+IPV6_MULTICAST_LOOP = 19
+IPV6_NEXTHOP = 9
+IPV6_PATHMTU = 61
+IPV6_PKTINFO = 50
+IPV6_RECVDSTOPTS = 58
+IPV6_RECVERR = 25
+IPV6_RECVHOPLIMIT = 51
+IPV6_RECVHOPOPTS = 53
+IPV6_RECVORIGDSTADDR = 74
+IPV6_RECVPATHMTU = 60
+IPV6_RECVPKTINFO = 49
+IPV6_RECVRTHDR = 56
+IPV6_RECVTCLASS = 66
+IPV6_ROUTER_ALERT = 22
+IPV6_RTHDR = 57
+IPV6_RTHDRDSTOPTS = 55
+IPV6_TCLASS = 67
+IPV6_TRANSPARENT = 75
+IPV6_UNICAST_HOPS = 16
+IPV6_UNICAST_IF = 76
+IPV6_V6ONLY = 26
+IPV6_XFRM_POLICY = 35
+MCAST_BLOCK_SOURCE = 43
+MCAST_JOIN_GROUP = 42
+MCAST_JOIN_SOURCE_GROUP = 46
+MCAST_LEAVE_GROUP = 45
+MCAST_LEAVE_SOURCE_GROUP = 47
+MCAST_MSFILTER = 48
+MCAST_UNBLOCK_SOURCE = 44
+__NR_accept = 202
+__NR_accept4 = 242
+__NR_bind = 200
+__NR_connect = 203
+__NR_getpeername = 205
+__NR_getsockname = 204
+__NR_getsockopt = 209
+__NR_recvfrom = 207
+__NR_sendto = 206
+__NR_setsockopt = 208
+__NR_socket = 198
+__NR_socketpair = 199
diff --git a/sys/socket_inet6_ppc64le.const b/sys/socket_inet6_ppc64le.const
new file mode 100644
index 000000000..5c4bd7348
--- /dev/null
+++ b/sys/socket_inet6_ppc64le.const
@@ -0,0 +1,76 @@
+# AUTOGENERATED FILE
+AF_INET6 = 10
+IP6T_SO_GET_REVISION_MATCH = 68
+IP6T_SO_GET_REVISION_TARGET = 69
+IP6T_SO_ORIGINAL_DST = 80
+IPPROTO_IPV6 = 41
+IPV6_2292DSTOPTS = 4
+IPV6_2292HOPLIMIT = 8
+IPV6_2292HOPOPTS = 3
+IPV6_2292PKTINFO = 2
+IPV6_2292PKTOPTIONS = 6
+IPV6_2292RTHDR = 5
+IPV6_ADDRFORM = 1
+IPV6_ADDR_PREFERENCES = 72
+IPV6_ADD_MEMBERSHIP = 20
+IPV6_AUTHHDR = 10
+IPV6_AUTOFLOWLABEL = 70
+IPV6_CHECKSUM = 7
+IPV6_DONTFRAG = 62
+IPV6_DROP_MEMBERSHIP = 21
+IPV6_DSTOPTS = 59
+IPV6_FLOWINFO = 11
+IPV6_FLOWINFO_SEND = 33
+IPV6_FLOWLABEL_MGR = 32
+IPV6_HDRINCL = 36
+IPV6_HOPLIMIT = 52
+IPV6_HOPOPTS = 54
+IPV6_IPSEC_POLICY = 34
+IPV6_JOIN_ANYCAST = 27
+IPV6_LEAVE_ANYCAST = 28
+IPV6_MINHOPCOUNT = 73
+IPV6_MTU = 24
+IPV6_MTU_DISCOVER = 23
+IPV6_MULTICAST_HOPS = 18
+IPV6_MULTICAST_IF = 17
+IPV6_MULTICAST_LOOP = 19
+IPV6_NEXTHOP = 9
+IPV6_PATHMTU = 61
+IPV6_PKTINFO = 50
+IPV6_RECVDSTOPTS = 58
+IPV6_RECVERR = 25
+IPV6_RECVHOPLIMIT = 51
+IPV6_RECVHOPOPTS = 53
+IPV6_RECVORIGDSTADDR = 74
+IPV6_RECVPATHMTU = 60
+IPV6_RECVPKTINFO = 49
+IPV6_RECVRTHDR = 56
+IPV6_RECVTCLASS = 66
+IPV6_ROUTER_ALERT = 22
+IPV6_RTHDR = 57
+IPV6_RTHDRDSTOPTS = 55
+IPV6_TCLASS = 67
+IPV6_TRANSPARENT = 75
+IPV6_UNICAST_HOPS = 16
+IPV6_UNICAST_IF = 76
+IPV6_V6ONLY = 26
+IPV6_XFRM_POLICY = 35
+MCAST_BLOCK_SOURCE = 43
+MCAST_JOIN_GROUP = 42
+MCAST_JOIN_SOURCE_GROUP = 46
+MCAST_LEAVE_GROUP = 45
+MCAST_LEAVE_SOURCE_GROUP = 47
+MCAST_MSFILTER = 48
+MCAST_UNBLOCK_SOURCE = 44
+__NR_accept = 330
+__NR_accept4 = 344
+__NR_bind = 327
+__NR_connect = 328
+__NR_getpeername = 332
+__NR_getsockname = 331
+__NR_getsockopt = 340
+__NR_recvfrom = 337
+__NR_sendto = 335
+__NR_setsockopt = 339
+__NR_socket = 326
+__NR_socketpair = 333
diff --git a/sys/socket_inet_amd64.const b/sys/socket_inet_amd64.const
index 27e8f1c2c..3c0c2efe1 100644
--- a/sys/socket_inet_amd64.const
+++ b/sys/socket_inet_amd64.const
@@ -1,62 +1,6 @@
# AUTOGENERATED FILE
AF_INET = 2
-AF_INET6 = 10
-IP6T_SO_GET_REVISION_MATCH = 68
-IP6T_SO_GET_REVISION_TARGET = 69
-IP6T_SO_ORIGINAL_DST = 80
IPPROTO_IP = 0
-IPPROTO_IPV6 = 41
-IPV6_2292DSTOPTS = 4
-IPV6_2292HOPLIMIT = 8
-IPV6_2292HOPOPTS = 3
-IPV6_2292PKTINFO = 2
-IPV6_2292PKTOPTIONS = 6
-IPV6_2292RTHDR = 5
-IPV6_ADDRFORM = 1
-IPV6_ADDR_PREFERENCES = 72
-IPV6_ADD_MEMBERSHIP = 20
-IPV6_AUTHHDR = 10
-IPV6_AUTOFLOWLABEL = 70
-IPV6_CHECKSUM = 7
-IPV6_DONTFRAG = 62
-IPV6_DROP_MEMBERSHIP = 21
-IPV6_DSTOPTS = 59
-IPV6_FLOWINFO = 11
-IPV6_FLOWINFO_SEND = 33
-IPV6_FLOWLABEL_MGR = 32
-IPV6_HDRINCL = 36
-IPV6_HOPLIMIT = 52
-IPV6_HOPOPTS = 54
-IPV6_IPSEC_POLICY = 34
-IPV6_JOIN_ANYCAST = 27
-IPV6_LEAVE_ANYCAST = 28
-IPV6_MINHOPCOUNT = 73
-IPV6_MTU = 24
-IPV6_MTU_DISCOVER = 23
-IPV6_MULTICAST_HOPS = 18
-IPV6_MULTICAST_IF = 17
-IPV6_MULTICAST_LOOP = 19
-IPV6_NEXTHOP = 9
-IPV6_PATHMTU = 61
-IPV6_PKTINFO = 50
-IPV6_RECVDSTOPTS = 58
-IPV6_RECVERR = 25
-IPV6_RECVHOPLIMIT = 51
-IPV6_RECVHOPOPTS = 53
-IPV6_RECVORIGDSTADDR = 74
-IPV6_RECVPATHMTU = 60
-IPV6_RECVPKTINFO = 49
-IPV6_RECVRTHDR = 56
-IPV6_RECVTCLASS = 66
-IPV6_ROUTER_ALERT = 22
-IPV6_RTHDR = 57
-IPV6_RTHDRDSTOPTS = 55
-IPV6_TCLASS = 67
-IPV6_TRANSPARENT = 75
-IPV6_UNICAST_HOPS = 16
-IPV6_UNICAST_IF = 76
-IPV6_V6ONLY = 26
-IPV6_XFRM_POLICY = 35
IP_ADD_MEMBERSHIP = 35
IP_ADD_SOURCE_MEMBERSHIP = 39
IP_BIND_ADDRESS_NO_PORT = 24
diff --git a/sys/socket_inet_arm64.const b/sys/socket_inet_arm64.const
index ff57ab6e0..8352659cc 100644
--- a/sys/socket_inet_arm64.const
+++ b/sys/socket_inet_arm64.const
@@ -1,62 +1,6 @@
# AUTOGENERATED FILE
AF_INET = 2
-AF_INET6 = 10
-IP6T_SO_GET_REVISION_MATCH = 68
-IP6T_SO_GET_REVISION_TARGET = 69
-IP6T_SO_ORIGINAL_DST = 80
IPPROTO_IP = 0
-IPPROTO_IPV6 = 41
-IPV6_2292DSTOPTS = 4
-IPV6_2292HOPLIMIT = 8
-IPV6_2292HOPOPTS = 3
-IPV6_2292PKTINFO = 2
-IPV6_2292PKTOPTIONS = 6
-IPV6_2292RTHDR = 5
-IPV6_ADDRFORM = 1
-IPV6_ADDR_PREFERENCES = 72
-IPV6_ADD_MEMBERSHIP = 20
-IPV6_AUTHHDR = 10
-IPV6_AUTOFLOWLABEL = 70
-IPV6_CHECKSUM = 7
-IPV6_DONTFRAG = 62
-IPV6_DROP_MEMBERSHIP = 21
-IPV6_DSTOPTS = 59
-IPV6_FLOWINFO = 11
-IPV6_FLOWINFO_SEND = 33
-IPV6_FLOWLABEL_MGR = 32
-IPV6_HDRINCL = 36
-IPV6_HOPLIMIT = 52
-IPV6_HOPOPTS = 54
-IPV6_IPSEC_POLICY = 34
-IPV6_JOIN_ANYCAST = 27
-IPV6_LEAVE_ANYCAST = 28
-IPV6_MINHOPCOUNT = 73
-IPV6_MTU = 24
-IPV6_MTU_DISCOVER = 23
-IPV6_MULTICAST_HOPS = 18
-IPV6_MULTICAST_IF = 17
-IPV6_MULTICAST_LOOP = 19
-IPV6_NEXTHOP = 9
-IPV6_PATHMTU = 61
-IPV6_PKTINFO = 50
-IPV6_RECVDSTOPTS = 58
-IPV6_RECVERR = 25
-IPV6_RECVHOPLIMIT = 51
-IPV6_RECVHOPOPTS = 53
-IPV6_RECVORIGDSTADDR = 74
-IPV6_RECVPATHMTU = 60
-IPV6_RECVPKTINFO = 49
-IPV6_RECVRTHDR = 56
-IPV6_RECVTCLASS = 66
-IPV6_ROUTER_ALERT = 22
-IPV6_RTHDR = 57
-IPV6_RTHDRDSTOPTS = 55
-IPV6_TCLASS = 67
-IPV6_TRANSPARENT = 75
-IPV6_UNICAST_HOPS = 16
-IPV6_UNICAST_IF = 76
-IPV6_V6ONLY = 26
-IPV6_XFRM_POLICY = 35
IP_ADD_MEMBERSHIP = 35
IP_ADD_SOURCE_MEMBERSHIP = 39
IP_BIND_ADDRESS_NO_PORT = 24
diff --git a/sys/socket_inet_ppc64le.const b/sys/socket_inet_ppc64le.const
index 2ac853db0..269450c18 100644
--- a/sys/socket_inet_ppc64le.const
+++ b/sys/socket_inet_ppc64le.const
@@ -1,62 +1,6 @@
# AUTOGENERATED FILE
AF_INET = 2
-AF_INET6 = 10
-IP6T_SO_GET_REVISION_MATCH = 68
-IP6T_SO_GET_REVISION_TARGET = 69
-IP6T_SO_ORIGINAL_DST = 80
IPPROTO_IP = 0
-IPPROTO_IPV6 = 41
-IPV6_2292DSTOPTS = 4
-IPV6_2292HOPLIMIT = 8
-IPV6_2292HOPOPTS = 3
-IPV6_2292PKTINFO = 2
-IPV6_2292PKTOPTIONS = 6
-IPV6_2292RTHDR = 5
-IPV6_ADDRFORM = 1
-IPV6_ADDR_PREFERENCES = 72
-IPV6_ADD_MEMBERSHIP = 20
-IPV6_AUTHHDR = 10
-IPV6_AUTOFLOWLABEL = 70
-IPV6_CHECKSUM = 7
-IPV6_DONTFRAG = 62
-IPV6_DROP_MEMBERSHIP = 21
-IPV6_DSTOPTS = 59
-IPV6_FLOWINFO = 11
-IPV6_FLOWINFO_SEND = 33
-IPV6_FLOWLABEL_MGR = 32
-IPV6_HDRINCL = 36
-IPV6_HOPLIMIT = 52
-IPV6_HOPOPTS = 54
-IPV6_IPSEC_POLICY = 34
-IPV6_JOIN_ANYCAST = 27
-IPV6_LEAVE_ANYCAST = 28
-IPV6_MINHOPCOUNT = 73
-IPV6_MTU = 24
-IPV6_MTU_DISCOVER = 23
-IPV6_MULTICAST_HOPS = 18
-IPV6_MULTICAST_IF = 17
-IPV6_MULTICAST_LOOP = 19
-IPV6_NEXTHOP = 9
-IPV6_PATHMTU = 61
-IPV6_PKTINFO = 50
-IPV6_RECVDSTOPTS = 58
-IPV6_RECVERR = 25
-IPV6_RECVHOPLIMIT = 51
-IPV6_RECVHOPOPTS = 53
-IPV6_RECVORIGDSTADDR = 74
-IPV6_RECVPATHMTU = 60
-IPV6_RECVPKTINFO = 49
-IPV6_RECVRTHDR = 56
-IPV6_RECVTCLASS = 66
-IPV6_ROUTER_ALERT = 22
-IPV6_RTHDR = 57
-IPV6_RTHDRDSTOPTS = 55
-IPV6_TCLASS = 67
-IPV6_TRANSPARENT = 75
-IPV6_UNICAST_HOPS = 16
-IPV6_UNICAST_IF = 76
-IPV6_V6ONLY = 26
-IPV6_XFRM_POLICY = 35
IP_ADD_MEMBERSHIP = 35
IP_ADD_SOURCE_MEMBERSHIP = 39
IP_BIND_ADDRESS_NO_PORT = 24
diff --git a/sys/socket_inet_sctp.txt b/sys/socket_inet_sctp.txt
index e3bbdcb1a..a0929cb7e 100755
--- a/sys/socket_inet_sctp.txt
+++ b/sys/socket_inet_sctp.txt
@@ -109,6 +109,16 @@ sockaddr_sctp [
in6 sockaddr_in6
] [varlen]
+sockaddr_storage_in {
+ addr sockaddr_in
+ pad array[const[0, int64], 15]
+}
+
+sockaddr_storage_in6 {
+ addr sockaddr_in6
+ pad array[const[0, int64], 12]
+}
+
sockaddr_storage_sctp [
in sockaddr_storage_in
in6 sockaddr_storage_in6