From 36e6b03b1122ec72d518a6944f30cd7d910505a4 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Thu, 9 Feb 2017 14:53:52 +0100 Subject: sys: add sock_in and sock_in6 types --- sys/socket.txt | 2 +- sys/socket_amd64.const | 33 ++++++++++++++ sys/socket_arm64.const | 33 ++++++++++++++ sys/socket_inet.txt | 91 ++++++++++++++++++++++++++------------ sys/socket_inet_amd64.const | 44 +++++------------- sys/socket_inet_arm64.const | 44 +++++------------- sys/socket_inet_icmp.txt | 20 +-------- sys/socket_inet_icmp_amd64.const | 8 ---- sys/socket_inet_icmp_arm64.const | 8 ---- sys/socket_inet_icmp_ppc64le.const | 8 ---- sys/socket_inet_ppc64le.const | 44 +++++------------- sys/socket_inet_tcp.txt | 33 +++++--------- sys/socket_inet_tcp_amd64.const | 8 ---- sys/socket_inet_tcp_arm64.const | 8 ---- sys/socket_inet_tcp_ppc64le.const | 8 ---- sys/socket_inet_udp.txt | 27 +++-------- sys/socket_inet_udp_amd64.const | 8 ---- sys/socket_inet_udp_arm64.const | 8 ---- sys/socket_inet_udp_ppc64le.const | 8 ---- sys/socket_ppc64le.const | 33 ++++++++++++++ 20 files changed, 213 insertions(+), 263 deletions(-) (limited to 'sys') diff --git a/sys/socket.txt b/sys/socket.txt index eb4d6c956..dcc1a6eec 100644 --- a/sys/socket.txt +++ b/sys/socket.txt @@ -12,7 +12,6 @@ socket(domain flags[socket_domain], type flags[socket_type], proto int8) sock socketpair(domain flags[socket_domain], type flags[socket_type], proto int8, fds ptr[out, pipefd]) accept(fd sock, peer ptr[out, sockaddr, opt], peerlen ptr[inout, len[peer, int32]]) sock accept4(fd sock, peer ptr[out, sockaddr, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock -# TODO: must not bind to port 0, that will result in a random port which is not reproducible bind(fd sock, addr ptr[in, sockaddr], addrlen len[addr]) listen(fd sock, backlog int32) connect(fd sock, addr ptr[in, sockaddr], addrlen len[addr]) @@ -58,6 +57,7 @@ sockopt_opt_sock_int = SO_ACCEPTCONN, SO_BROADCAST, SO_DEBUG, SO_DOMAIN, SO_ERRO sockopt_opt_sock_timeval = SO_RCVTIMEO, SO_SNDTIMEO sockopt_opt_sock_buf = SO_BINDTODEVICE, SO_PEERCRED, SO_PEERNAME, SO_PEERSEC, SO_GET_FILTER sockopt_so_timestamping = SOF_TIMESTAMPING_TX_HARDWARE, SOF_TIMESTAMPING_TX_SOFTWARE, SOF_TIMESTAMPING_RX_HARDWARE, SOF_TIMESTAMPING_RX_SOFTWARE, SOF_TIMESTAMPING_SOFTWARE, SOF_TIMESTAMPING_SYS_HARDWARE, SOF_TIMESTAMPING_RAW_HARDWARE, SOF_TIMESTAMPING_OPT_ID, SOF_TIMESTAMPING_TX_SCHED, SOF_TIMESTAMPING_TX_ACK, SOF_TIMESTAMPING_OPT_CMSG, SOF_TIMESTAMPING_OPT_TSONLY +sock_level = IPPROTO_ICMP, SOL_IP, SOL_TCP, SOL_UDP, SOL_IPV6, SOL_ICMPV6, SOL_SCTP, SOL_UDPLITE, SOL_RAW, SOL_IPX, SOL_AX25, SOL_ATALK, SOL_NETROM, SOL_ROSE, SOL_DECNET, SOL_PACKET, SOL_ATM, SOL_AAL, SOL_IRDA, SOL_NETBEUI, SOL_LLC, SOL_DCCP, SOL_NETLINK, SOL_TIPC, SOL_RXRPC, SOL_PPPOL2TP, SOL_BLUETOOTH, SOL_PNPIPE, SOL_RDS, SOL_IUCV, SOL_CAIF, SOL_ALG, SOL_NFC, SOL_KCM sockaddr [ un sockaddr_un diff --git a/sys/socket_amd64.const b/sys/socket_amd64.const index fe4c4b0a9..65dd51450 100644 --- a/sys/socket_amd64.const +++ b/sys/socket_amd64.const @@ -49,7 +49,40 @@ SOF_TIMESTAMPING_TX_ACK = 512 SOF_TIMESTAMPING_TX_HARDWARE = 1 SOF_TIMESTAMPING_TX_SCHED = 256 SOF_TIMESTAMPING_TX_SOFTWARE = 2 +SOL_AAL = 265 +SOL_ALG = 279 +SOL_ATALK = 258 +SOL_ATM = 264 +SOL_AX25 = 257 +SOL_BLUETOOTH = 274 +SOL_CAIF = 278 +SOL_DCCP = 269 +SOL_DECNET = 261 +SOL_ICMPV6 = 58 +SOL_IP = 0 +SOL_IPV6 = 41 +SOL_IPX = 256 +SOL_IRDA = 266 +SOL_IUCV = 277 +SOL_KCM = 281 +SOL_LLC = 268 +SOL_NETBEUI = 267 +SOL_NETLINK = 270 +SOL_NETROM = 259 +SOL_NFC = 280 +SOL_PACKET = 263 +SOL_PNPIPE = 275 +SOL_PPPOL2TP = 273 +SOL_RAW = 255 +SOL_RDS = 276 +SOL_ROSE = 260 +SOL_RXRPC = 272 +SOL_SCTP = 132 SOL_SOCKET = 1 +SOL_TCP = 6 +SOL_TIPC = 271 +SOL_UDP = 17 +SOL_UDPLITE = 136 SO_ACCEPTCONN = 30 SO_ATTACH_BPF = 50 SO_ATTACH_FILTER = 26 diff --git a/sys/socket_arm64.const b/sys/socket_arm64.const index 35944d14d..e20a47fe3 100644 --- a/sys/socket_arm64.const +++ b/sys/socket_arm64.const @@ -49,7 +49,40 @@ SOF_TIMESTAMPING_TX_ACK = 512 SOF_TIMESTAMPING_TX_HARDWARE = 1 SOF_TIMESTAMPING_TX_SCHED = 256 SOF_TIMESTAMPING_TX_SOFTWARE = 2 +SOL_AAL = 265 +SOL_ALG = 279 +SOL_ATALK = 258 +SOL_ATM = 264 +SOL_AX25 = 257 +SOL_BLUETOOTH = 274 +SOL_CAIF = 278 +SOL_DCCP = 269 +SOL_DECNET = 261 +SOL_ICMPV6 = 58 +SOL_IP = 0 +SOL_IPV6 = 41 +SOL_IPX = 256 +SOL_IRDA = 266 +SOL_IUCV = 277 +SOL_KCM = 281 +SOL_LLC = 268 +SOL_NETBEUI = 267 +SOL_NETLINK = 270 +SOL_NETROM = 259 +SOL_NFC = 280 +SOL_PACKET = 263 +SOL_PNPIPE = 275 +SOL_PPPOL2TP = 273 +SOL_RAW = 255 +SOL_RDS = 276 +SOL_ROSE = 260 +SOL_RXRPC = 272 +SOL_SCTP = 132 SOL_SOCKET = 1 +SOL_TCP = 6 +SOL_TIPC = 271 +SOL_UDP = 17 +SOL_UDPLITE = 136 SO_ACCEPTCONN = 30 SO_ATTACH_BPF = 50 SO_ATTACH_FILTER = 26 diff --git a/sys/socket_inet.txt b/sys/socket_inet.txt index 41b214ccd..94a23ee99 100644 --- a/sys/socket_inet.txt +++ b/sys/socket_inet.txt @@ -4,33 +4,69 @@ include include -getsockopt$ip_int(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_int(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_int], optval ptr[in, int32], optlen len[optval]) -getsockopt$ip_buf(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -getsockopt$ip_mreq(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[out, ip_mreq], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_mreq(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[in, ip_mreq], optlen len[optval]) -getsockopt$ip_mreqn(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[out, ip_mreqn], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_mreqn(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[in, ip_mreqn], optlen len[optval]) -getsockopt$ip_mreqsrc(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreqsrc], optval ptr[out, ip_mreq_source], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_mreqsrc(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreqsrc], optval ptr[in, ip_mreq_source], optlen len[optval]) -setsockopt$ip_msfilter(fd sock, level const[IPPROTO_IP], optname const[IP_MSFILTER], optval ptr[in, ip_msfilter], optlen len[optval]) -getsockopt$ip_mtu(fd sock, level const[IPPROTO_IP], optname const[IP_MTU_DISCOVER], optval ptr[out, flags[ip_mtu_discover, int32]], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_mtu(fd sock, level const[IPPROTO_IP], optname const[IP_MTU_DISCOVER], optval ptr[in, flags[ip_mtu_discover, int32]], optlen len[optval]) -getsockopt$ip_opts(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_opts], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_opts(fd sock, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_opts], optval buffer[in], optlen len[optval]) -getsockopt$ip_pktinfo(fd sock, level const[IPPROTO_IP], optname const[IP_PKTINFO], optval ptr[out, in_pktinfo], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_pktinfo(fd sock, level const[IPPROTO_IP], optname const[IP_PKTINFO], optval ptr[in, in_pktinfo], optlen len[optval]) -getsockopt$ip_ipsec(fd sock, level const[IPPROTO_IP], optname const[IP_IPSEC_POLICY], optval ptr[out, xfrm_filer], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_ipsec(fd sock, level const[IPPROTO_IP], optname const[IP_IPSEC_POLICY], optval ptr[in, xfrm_filer], optlen len[optval]) - -getsockopt$ipv6_int(fd sock, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$ipv6_int(fd sock, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_int], optval ptr[in, int32], optlen len[optval]) -getsockopt$ipv6_mreq(fd sock, 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, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_mreq], optval ptr[in, ipv6_mreq], optlen len[optval]) -getsockopt$ipv6_mtu(fd sock, 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, 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, level const[IPPROTO_IPV6], optname const[IPV6_2292PKTOPTIONS], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -setsockopt$ipv6_opts(fd sock, level const[IPPROTO_IPV6], optname const[IPV6_2292PKTOPTIONS], optval buffer[in], optlen len[optval]) +resource sock_in[sock] + +sock_in_pair { + f0 sock_in + f1 sock_in +} + +socket$inet(domain const[AF_INET], type flags[socket_type], proto int8) sock_in +socketpair$inet(domain const[AF_INET], type flags[socket_type], proto int8, fds ptr[out, sock_in_pair]) +accept$inet(fd sock_in, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]]) sock_in +accept4$inet(fd sock_in, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_in +bind$inet(fd sock_in, addr ptr[in, sockaddr_in], addrlen len[addr]) +connect$inet(fd sock_in, addr ptr[in, sockaddr_in], addrlen len[addr]) +sendto$inet(fd sock_in, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) +recvfrom$inet(fd sock_in, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) +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]]) + +resource sock_in6[sock] + +sock_in6_pair { + f0 sock_in6 + f1 sock_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]]) + +getsockopt$ip_int(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_int(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_int], optval ptr[in, int32], optlen len[optval]) +getsockopt$ip_buf(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +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]]) +setsockopt$ip_mreq(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[in, ip_mreq], optlen len[optval]) +getsockopt$ip_mreqn(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[out, ip_mreqn], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_mreqn(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[in, ip_mreqn], optlen len[optval]) +getsockopt$ip_mreqsrc(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreqsrc], optval ptr[out, ip_mreq_source], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_mreqsrc(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreqsrc], optval ptr[in, ip_mreq_source], optlen len[optval]) +setsockopt$ip_msfilter(fd sock_in, level const[IPPROTO_IP], optname const[IP_MSFILTER], optval ptr[in, ip_msfilter], optlen len[optval]) +getsockopt$ip_mtu(fd sock_in, level const[IPPROTO_IP], optname const[IP_MTU_DISCOVER], optval ptr[out, flags[ip_mtu_discover, int32]], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_mtu(fd sock_in, level const[IPPROTO_IP], optname const[IP_MTU_DISCOVER], optval ptr[in, flags[ip_mtu_discover, int32]], optlen len[optval]) +getsockopt$ip_opts(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_opts], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_opts(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_opts], optval buffer[in], optlen len[optval]) +getsockopt$ip_pktinfo(fd sock_in, level const[IPPROTO_IP], optname const[IP_PKTINFO], optval ptr[out, in_pktinfo], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_pktinfo(fd sock_in, level const[IPPROTO_IP], optname const[IP_PKTINFO], optval ptr[in, in_pktinfo], optlen len[optval]) +getsockopt$ip_ipsec(fd sock_in, level const[IPPROTO_IP], optname const[IP_IPSEC_POLICY], optval ptr[out, xfrm_filer], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_ipsec(fd sock_in, level const[IPPROTO_IP], optname const[IP_IPSEC_POLICY], optval ptr[in, xfrm_filer], optlen len[optval]) + +getsockopt$ipv6_int(fd sock_in6, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$ipv6_int(fd sock_in6, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_int], optval ptr[in, int32], optlen len[optval]) +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_ip_int = IP_FREEBIND, IP_HDRINCL, IP_MTU, IP_MULTICAST_ALL, IP_MULTICAST_LOOP, IP_MULTICAST_TTL, IP_NODEFRAG, IP_RECVOPTS, IP_RECVORIGDSTADDR, IP_RECVTOS, IP_RECVTTL, IP_RETOPTS, IP_ROUTER_ALERT, IP_TOS, IP_TRANSPARENT, IP_TTL, IP_RECVERR, IP_PASSSEC, IP_MINTTL, IP_CHECKSUM, IP_BIND_ADDRESS_NO_PORT sockopt_opt_ip_mreq = IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP, IP_MULTICAST_IF @@ -41,7 +77,6 @@ ip_msfilter_mode = MCAST_INCLUDE, MCAST_EXCLUDE ip_mtu_discover = IP_PMTUDISC_DONT, IP_PMTUDISC_WANT, IP_PMTUDISC_DO, IP_PMTUDISC_PROBE, IP_PMTUDISC_INTERFACE, IP_PMTUDISC_OMIT 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 -sock_level = IPPROTO_ICMP, SOL_IP, SOL_TCP, SOL_UDP, SOL_IPV6, SOL_ICMPV6, SOL_SCTP, SOL_UDPLITE, SOL_RAW, SOL_IPX, SOL_AX25, SOL_ATALK, SOL_NETROM, SOL_ROSE, SOL_DECNET, SOL_PACKET, SOL_ATM, SOL_AAL, SOL_IRDA, SOL_NETBEUI, SOL_LLC, SOL_DCCP, SOL_NETLINK, SOL_TIPC, SOL_RXRPC, SOL_PPPOL2TP, SOL_BLUETOOTH, SOL_PNPIPE, SOL_RDS, SOL_IUCV, SOL_CAIF, SOL_ALG, SOL_NFC, SOL_KCM in_addr [ # 0.0.0.0 diff --git a/sys/socket_inet_amd64.const b/sys/socket_inet_amd64.const index e94a6be44..d117d3f3f 100644 --- a/sys/socket_inet_amd64.const +++ b/sys/socket_inet_amd64.const @@ -1,7 +1,6 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 -IPPROTO_ICMP = 1 IPPROTO_IP = 0 IPPROTO_IPV6 = 41 IPV6_2292DSTOPTS = 4 @@ -74,38 +73,15 @@ IP_TTL = 2 IP_UNBLOCK_SOURCE = 37 MCAST_EXCLUDE = 0 MCAST_INCLUDE = 1 -SOL_AAL = 265 -SOL_ALG = 279 -SOL_ATALK = 258 -SOL_ATM = 264 -SOL_AX25 = 257 -SOL_BLUETOOTH = 274 -SOL_CAIF = 278 -SOL_DCCP = 269 -SOL_DECNET = 261 -SOL_ICMPV6 = 58 -SOL_IP = 0 -SOL_IPV6 = 41 -SOL_IPX = 256 -SOL_IRDA = 266 -SOL_IUCV = 277 -SOL_KCM = 281 -SOL_LLC = 268 -SOL_NETBEUI = 267 -SOL_NETLINK = 270 -SOL_NETROM = 259 -SOL_NFC = 280 -SOL_PACKET = 263 -SOL_PNPIPE = 275 -SOL_PPPOL2TP = 273 -SOL_RAW = 255 -SOL_RDS = 276 -SOL_ROSE = 260 -SOL_RXRPC = 272 -SOL_SCTP = 132 -SOL_TCP = 6 -SOL_TIPC = 271 -SOL_UDP = 17 -SOL_UDPLITE = 136 +__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_inet_arm64.const b/sys/socket_inet_arm64.const index af41e04e1..19ec6c369 100644 --- a/sys/socket_inet_arm64.const +++ b/sys/socket_inet_arm64.const @@ -1,7 +1,6 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 -IPPROTO_ICMP = 1 IPPROTO_IP = 0 IPPROTO_IPV6 = 41 IPV6_2292DSTOPTS = 4 @@ -74,38 +73,15 @@ IP_TTL = 2 IP_UNBLOCK_SOURCE = 37 MCAST_EXCLUDE = 0 MCAST_INCLUDE = 1 -SOL_AAL = 265 -SOL_ALG = 279 -SOL_ATALK = 258 -SOL_ATM = 264 -SOL_AX25 = 257 -SOL_BLUETOOTH = 274 -SOL_CAIF = 278 -SOL_DCCP = 269 -SOL_DECNET = 261 -SOL_ICMPV6 = 58 -SOL_IP = 0 -SOL_IPV6 = 41 -SOL_IPX = 256 -SOL_IRDA = 266 -SOL_IUCV = 277 -SOL_KCM = 281 -SOL_LLC = 268 -SOL_NETBEUI = 267 -SOL_NETLINK = 270 -SOL_NETROM = 259 -SOL_NFC = 280 -SOL_PACKET = 263 -SOL_PNPIPE = 275 -SOL_PPPOL2TP = 273 -SOL_RAW = 255 -SOL_RDS = 276 -SOL_ROSE = 260 -SOL_RXRPC = 272 -SOL_SCTP = 132 -SOL_TCP = 6 -SOL_TIPC = 271 -SOL_UDP = 17 -SOL_UDPLITE = 136 +__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_inet_icmp.txt b/sys/socket_inet_icmp.txt index 0dd4036cf..4343c7b63 100644 --- a/sys/socket_inet_icmp.txt +++ b/sys/socket_inet_icmp.txt @@ -6,40 +6,24 @@ include include -resource sock_icmp[sock] +resource sock_icmp[sock_in] socket$icmp(domain const[AF_INET], type const[SOCK_DGRAM], proto const[IPPROTO_ICMP]) sock_icmp socket$icmp_raw(domain const[AF_INET], type const[SOCK_RAW], proto const[IPPROTO_ICMP]) sock_icmp socketpair$icmp(domain const[AF_INET], type const[SOCK_DGRAM], proto const[IPPROTO_ICMP], fds ptr[out, icmp_pair]) socketpair$icmp_raw(domain const[AF_INET], type const[SOCK_RAW], proto const[IPPROTO_ICMP], fds ptr[out, icmp_pair]) -accept$icmp(fd sock_icmp, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]]) sock_icmp -accept4$icmp(fd sock_icmp, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_icmp -bind$icmp(fd sock_icmp, addr ptr[in, sockaddr_in], addrlen len[addr]) -connect$icmp(fd sock_icmp, addr ptr[in, sockaddr_in], addrlen len[addr]) -sendto$icmp(fd sock_icmp, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) -recvfrom$icmp(fd sock_icmp, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) -getsockname$icmp(fd sock_icmp, addr ptr[out, sockaddr_in], addrlen ptr[inout, len[addr, int32]]) -getpeername$icmp(fd sock_icmp, peer ptr[out, sockaddr_in], peerlen ptr[inout, len[peer, int32]]) icmp_pair { f0 sock_icmp f1 sock_icmp } -resource sock_icmp6[sock] +resource sock_icmp6[sock_in6] socket$icmp6(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[IPPROTO_ICMPV6]) sock_icmp6 socket$icmp6_raw(domain const[AF_INET6], type const[SOCK_RAW], proto const[IPPROTO_ICMPV6]) sock_icmp6 socketpair$icmp6(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[IPPROTO_ICMPV6], fds ptr[out, icmp6_pair]) socketpair$icmp6_raw(domain const[AF_INET6], type const[SOCK_RAW], proto const[IPPROTO_ICMPV6], fds ptr[out, icmp6_pair]) -accept$icmp6(fd sock_icmp6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]]) sock_icmp6 -accept4$icmp6(fd sock_icmp6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_icmp6 -bind$icmp6(fd sock_icmp6, addr ptr[in, sockaddr_in6], addrlen len[addr]) -connect$icmp6(fd sock_icmp6, addr ptr[in, sockaddr_in6], addrlen len[addr]) -sendto$icmp6(fd sock_icmp6, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr]) -recvfrom$icmp6(fd sock_icmp6, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr]) -getsockname$icmp6(fd sock_icmp6, addr ptr[out, sockaddr_in6], addrlen ptr[inout, len[addr, int32]]) -getpeername$icmp6(fd sock_icmp6, peer ptr[out, sockaddr_in6], peerlen ptr[inout, len[peer, int32]]) icmp6_pair { f0 sock_icmp6 diff --git a/sys/socket_inet_icmp_amd64.const b/sys/socket_inet_icmp_amd64.const index d02f17183..c0d3ea977 100644 --- a/sys/socket_inet_icmp_amd64.const +++ b/sys/socket_inet_icmp_amd64.const @@ -5,13 +5,5 @@ IPPROTO_ICMP = 1 IPPROTO_ICMPV6 = 58 SOCK_DGRAM = 2 SOCK_RAW = 3 -__NR_accept = 43 -__NR_accept4 = 288 -__NR_bind = 49 -__NR_connect = 42 -__NR_getpeername = 52 -__NR_getsockname = 51 -__NR_recvfrom = 45 -__NR_sendto = 44 __NR_socket = 41 __NR_socketpair = 53 diff --git a/sys/socket_inet_icmp_arm64.const b/sys/socket_inet_icmp_arm64.const index 487ef6903..51a57d6df 100644 --- a/sys/socket_inet_icmp_arm64.const +++ b/sys/socket_inet_icmp_arm64.const @@ -5,13 +5,5 @@ IPPROTO_ICMP = 1 IPPROTO_ICMPV6 = 58 SOCK_DGRAM = 2 SOCK_RAW = 3 -__NR_accept = 202 -__NR_accept4 = 242 -__NR_bind = 200 -__NR_connect = 203 -__NR_getpeername = 205 -__NR_getsockname = 204 -__NR_recvfrom = 207 -__NR_sendto = 206 __NR_socket = 198 __NR_socketpair = 199 diff --git a/sys/socket_inet_icmp_ppc64le.const b/sys/socket_inet_icmp_ppc64le.const index 3715ed6e1..14ec7251c 100644 --- a/sys/socket_inet_icmp_ppc64le.const +++ b/sys/socket_inet_icmp_ppc64le.const @@ -5,13 +5,5 @@ IPPROTO_ICMP = 1 IPPROTO_ICMPV6 = 58 SOCK_DGRAM = 2 SOCK_RAW = 3 -__NR_accept = 330 -__NR_accept4 = 344 -__NR_bind = 327 -__NR_connect = 328 -__NR_getpeername = 332 -__NR_getsockname = 331 -__NR_recvfrom = 337 -__NR_sendto = 335 __NR_socket = 326 __NR_socketpair = 333 diff --git a/sys/socket_inet_ppc64le.const b/sys/socket_inet_ppc64le.const index 5a3f556d5..a2578caed 100644 --- a/sys/socket_inet_ppc64le.const +++ b/sys/socket_inet_ppc64le.const @@ -1,7 +1,6 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 -IPPROTO_ICMP = 1 IPPROTO_IP = 0 IPPROTO_IPV6 = 41 IPV6_2292DSTOPTS = 4 @@ -74,38 +73,15 @@ IP_TTL = 2 IP_UNBLOCK_SOURCE = 37 MCAST_EXCLUDE = 0 MCAST_INCLUDE = 1 -SOL_AAL = 265 -SOL_ALG = 279 -SOL_ATALK = 258 -SOL_ATM = 264 -SOL_AX25 = 257 -SOL_BLUETOOTH = 274 -SOL_CAIF = 278 -SOL_DCCP = 269 -SOL_DECNET = 261 -SOL_ICMPV6 = 58 -SOL_IP = 0 -SOL_IPV6 = 41 -SOL_IPX = 256 -SOL_IRDA = 266 -SOL_IUCV = 277 -SOL_KCM = 281 -SOL_LLC = 268 -SOL_NETBEUI = 267 -SOL_NETLINK = 270 -SOL_NETROM = 259 -SOL_NFC = 280 -SOL_PACKET = 263 -SOL_PNPIPE = 275 -SOL_PPPOL2TP = 273 -SOL_RAW = 255 -SOL_RDS = 276 -SOL_ROSE = 260 -SOL_RXRPC = 272 -SOL_SCTP = 132 -SOL_TCP = 6 -SOL_TIPC = 271 -SOL_UDP = 17 -SOL_UDPLITE = 136 +__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_tcp.txt b/sys/socket_inet_tcp.txt index c4d8fdae9..3a8552162 100644 --- a/sys/socket_inet_tcp.txt +++ b/sys/socket_inet_tcp.txt @@ -5,36 +5,20 @@ include -resource sock_tcp[sock] +resource sock_tcp[sock_in] socket$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0]) sock_tcp socketpair$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp_pair]) -accept$tcp(fd sock_tcp, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]]) sock_tcp -accept4$tcp(fd sock_tcp, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_tcp -bind$tcp(fd sock_tcp, addr ptr[in, sockaddr_in], addrlen len[addr]) -connect$tcp(fd sock_tcp, addr ptr[in, sockaddr_in], addrlen len[addr]) -sendto$tcp(fd sock_tcp, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) -recvfrom$tcp(fd sock_tcp, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) -getsockname$tcp(fd sock_tcp, addr ptr[out, sockaddr_in], addrlen ptr[inout, len[addr, int32]]) -getpeername$tcp(fd sock_tcp, peer ptr[out, sockaddr_in], peerlen ptr[inout, len[peer, int32]]) tcp_pair { f0 sock_tcp f1 sock_tcp } -resource sock_tcp6[sock] +resource sock_tcp6[sock_in6] socket$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0]) sock_tcp6 socketpair$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp6_pair]) -accept$tcp6(fd sock_tcp6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]]) sock_tcp6 -accept4$tcp6(fd sock_tcp6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_tcp6 -bind$tcp6(fd sock_tcp6, addr ptr[in, sockaddr_in6], addrlen len[addr]) -connect$tcp6(fd sock_tcp6, addr ptr[in, sockaddr_in6], addrlen len[addr]) -sendto$tcp6(fd sock_tcp6, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr]) -recvfrom$tcp6(fd sock_tcp6, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr]) -getsockname$tcp6(fd sock_tcp6, addr ptr[out, sockaddr_in6], addrlen ptr[inout, len[addr, int32]]) -getpeername$tcp6(fd sock_tcp6, peer ptr[out, sockaddr_in6], peerlen ptr[inout, len[peer, int32]]) tcp6_pair { f0 sock_tcp6 @@ -43,7 +27,12 @@ tcp6_pair { sockopt_opt_tcp_int = TCP_CORK, TCP_DEFER_ACCEPT, TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_LINGER2, TCP_MAXSEG, TCP_NODELAY, TCP_QUICKACK, TCP_SYNCNT, TCP_WINDOW_CLAMP -getsockopt$tcp_int(fd sock, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp_int(fd sock, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[in, int32], optlen len[optval]) -getsockopt$tcp_buf(fd sock, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp_buf(fd sock, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[in], optlen len[optval]) +getsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[in, int32], optlen len[optval]) +getsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[in, int32], optlen len[optval]) + +getsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[in], optlen len[optval]) +getsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[in], optlen len[optval]) diff --git a/sys/socket_inet_tcp_amd64.const b/sys/socket_inet_tcp_amd64.const index 9d58825e7..bcc80c944 100644 --- a/sys/socket_inet_tcp_amd64.const +++ b/sys/socket_inet_tcp_amd64.const @@ -15,15 +15,7 @@ TCP_NODELAY = 1 TCP_QUICKACK = 12 TCP_SYNCNT = 7 TCP_WINDOW_CLAMP = 10 -__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_inet_tcp_arm64.const b/sys/socket_inet_tcp_arm64.const index f43649f49..602973c6c 100644 --- a/sys/socket_inet_tcp_arm64.const +++ b/sys/socket_inet_tcp_arm64.const @@ -15,15 +15,7 @@ TCP_NODELAY = 1 TCP_QUICKACK = 12 TCP_SYNCNT = 7 TCP_WINDOW_CLAMP = 10 -__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_inet_tcp_ppc64le.const b/sys/socket_inet_tcp_ppc64le.const index c82d7ed3d..5557148f5 100644 --- a/sys/socket_inet_tcp_ppc64le.const +++ b/sys/socket_inet_tcp_ppc64le.const @@ -15,15 +15,7 @@ TCP_NODELAY = 1 TCP_QUICKACK = 12 TCP_SYNCNT = 7 TCP_WINDOW_CLAMP = 10 -__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_udp.txt b/sys/socket_inet_udp.txt index 20151fdd2..37b464f97 100644 --- a/sys/socket_inet_udp.txt +++ b/sys/socket_inet_udp.txt @@ -5,41 +5,28 @@ include -resource sock_udp[sock] +resource sock_udp[sock_in] socket$udp(domain const[AF_INET], type const[SOCK_DGRAM], proto const[0]) sock_udp socketpair$udp(domain const[AF_INET], type const[SOCK_DGRAM], proto const[0], fds ptr[out, udp_pair]) -accept$udp(fd sock_udp, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]]) sock_udp -accept4$udp(fd sock_udp, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_udp -bind$udp(fd sock_udp, addr ptr[in, sockaddr_in], addrlen len[addr]) -connect$udp(fd sock_udp, addr ptr[in, sockaddr_in], addrlen len[addr]) -sendto$udp(fd sock_udp, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) -recvfrom$udp(fd sock_udp, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) -getsockname$udp(fd sock_udp, addr ptr[out, sockaddr_in], addrlen ptr[inout, len[addr, int32]]) -getpeername$udp(fd sock_udp, peer ptr[out, sockaddr_in], peerlen ptr[inout, len[peer, int32]]) udp_pair { f0 sock_udp f1 sock_udp } -resource sock_udp6[sock] +resource sock_udp6[sock_in6] socket$udp6(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[0]) sock_udp6 socketpair$udp6(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[0], fds ptr[out, udp6_pair]) -accept$udp6(fd sock_udp6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]]) sock_udp6 -accept4$udp6(fd sock_udp6, peer ptr[out, sockaddr_in6, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_udp6 -bind$udp6(fd sock_udp6, addr ptr[in, sockaddr_in6], addrlen len[addr]) -connect$udp6(fd sock_udp6, addr ptr[in, sockaddr_in6], addrlen len[addr]) -sendto$udp6(fd sock_udp6, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr]) -recvfrom$udp6(fd sock_udp6, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in6, opt], addrlen len[addr]) -getsockname$udp6(fd sock_udp6, addr ptr[out, sockaddr_in6], addrlen ptr[inout, len[addr, int32]]) -getpeername$udp6(fd sock_udp6, peer ptr[out, sockaddr_in6], peerlen ptr[inout, len[peer, int32]]) udp6_pair { f0 sock_udp6 f1 sock_udp6 } -getsockopt$udp_int(fd sock, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$udp_int(fd sock, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[in, int32], optlen len[optval]) +getsockopt$udp_int(fd sock_udp, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$udp_int(fd sock_udp, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[in, int32], optlen len[optval]) + +getsockopt$udp6_int(fd sock_udp6, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$udp6_int(fd sock_udp6, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[in, int32], optlen len[optval]) diff --git a/sys/socket_inet_udp_amd64.const b/sys/socket_inet_udp_amd64.const index 2357f1ca3..c48c1d9ab 100644 --- a/sys/socket_inet_udp_amd64.const +++ b/sys/socket_inet_udp_amd64.const @@ -4,15 +4,7 @@ AF_INET6 = 10 IPPROTO_UDP = 17 SOCK_DGRAM = 2 UDP_CORK = 1 -__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_inet_udp_arm64.const b/sys/socket_inet_udp_arm64.const index bea5eb77c..a76517a13 100644 --- a/sys/socket_inet_udp_arm64.const +++ b/sys/socket_inet_udp_arm64.const @@ -4,15 +4,7 @@ AF_INET6 = 10 IPPROTO_UDP = 17 SOCK_DGRAM = 2 UDP_CORK = 1 -__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_inet_udp_ppc64le.const b/sys/socket_inet_udp_ppc64le.const index 2cccf51da..db1f23451 100644 --- a/sys/socket_inet_udp_ppc64le.const +++ b/sys/socket_inet_udp_ppc64le.const @@ -4,15 +4,7 @@ AF_INET6 = 10 IPPROTO_UDP = 17 SOCK_DGRAM = 2 UDP_CORK = 1 -__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_ppc64le.const b/sys/socket_ppc64le.const index f563a1729..cf744c72b 100644 --- a/sys/socket_ppc64le.const +++ b/sys/socket_ppc64le.const @@ -49,7 +49,40 @@ SOF_TIMESTAMPING_TX_ACK = 512 SOF_TIMESTAMPING_TX_HARDWARE = 1 SOF_TIMESTAMPING_TX_SCHED = 256 SOF_TIMESTAMPING_TX_SOFTWARE = 2 +SOL_AAL = 265 +SOL_ALG = 279 +SOL_ATALK = 258 +SOL_ATM = 264 +SOL_AX25 = 257 +SOL_BLUETOOTH = 274 +SOL_CAIF = 278 +SOL_DCCP = 269 +SOL_DECNET = 261 +SOL_ICMPV6 = 58 +SOL_IP = 0 +SOL_IPV6 = 41 +SOL_IPX = 256 +SOL_IRDA = 266 +SOL_IUCV = 277 +SOL_KCM = 281 +SOL_LLC = 268 +SOL_NETBEUI = 267 +SOL_NETLINK = 270 +SOL_NETROM = 259 +SOL_NFC = 280 +SOL_PACKET = 263 +SOL_PNPIPE = 275 +SOL_PPPOL2TP = 273 +SOL_RAW = 255 +SOL_RDS = 276 +SOL_ROSE = 260 +SOL_RXRPC = 272 +SOL_SCTP = 132 SOL_SOCKET = 1 +SOL_TCP = 6 +SOL_TIPC = 271 +SOL_UDP = 17 +SOL_UDPLITE = 136 SO_ACCEPTCONN = 30 SO_ATTACH_BPF = 50 SO_ATTACH_FILTER = 26 -- cgit mrf-deployment From 52601ba68852d4498791306ac3d8540aaa7354a1 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Thu, 9 Feb 2017 16:31:44 +0100 Subject: sys: fix socket.txt include --- sys/socket.txt | 1 + sys/socket_amd64.const | 1 + sys/socket_arm64.const | 1 + sys/socket_ppc64le.const | 1 + 4 files changed, 4 insertions(+) (limited to 'sys') diff --git a/sys/socket.txt b/sys/socket.txt index dcc1a6eec..4c628d0a7 100644 --- a/sys/socket.txt +++ b/sys/socket.txt @@ -4,6 +4,7 @@ include include include +include include resource sock[fd] diff --git a/sys/socket_amd64.const b/sys/socket_amd64.const index 65dd51450..0af36e1b4 100644 --- a/sys/socket_amd64.const +++ b/sys/socket_amd64.const @@ -9,6 +9,7 @@ AF_NETLINK = 16 AF_PACKET = 17 AF_UNIX = 1 AF_X25 = 9 +IPPROTO_ICMP = 1 MSG_BATCH = 262144 MSG_CMSG_CLOEXEC = 1073741824 MSG_CONFIRM = 2048 diff --git a/sys/socket_arm64.const b/sys/socket_arm64.const index e20a47fe3..5dc6b5daf 100644 --- a/sys/socket_arm64.const +++ b/sys/socket_arm64.const @@ -9,6 +9,7 @@ AF_NETLINK = 16 AF_PACKET = 17 AF_UNIX = 1 AF_X25 = 9 +IPPROTO_ICMP = 1 MSG_BATCH = 262144 MSG_CMSG_CLOEXEC = 1073741824 MSG_CONFIRM = 2048 diff --git a/sys/socket_ppc64le.const b/sys/socket_ppc64le.const index cf744c72b..ac4d19c90 100644 --- a/sys/socket_ppc64le.const +++ b/sys/socket_ppc64le.const @@ -9,6 +9,7 @@ AF_NETLINK = 16 AF_PACKET = 17 AF_UNIX = 1 AF_X25 = 9 +IPPROTO_ICMP = 1 MSG_BATCH = 262144 MSG_CMSG_CLOEXEC = 1073741824 MSG_CONFIRM = 2048 -- cgit mrf-deployment From 95ea6c804ae3d51cd06343e5657e0a564ec64134 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Thu, 9 Feb 2017 16:29:23 +0100 Subject: sys: improve udp setsockopt --- sys/socket_inet_udp.txt | 32 ++++++++++++++++++++++---------- sys/socket_inet_udp_amd64.const | 8 ++++++++ sys/socket_inet_udp_arm64.const | 8 ++++++++ sys/socket_inet_udp_ppc64le.const | 8 ++++++++ 4 files changed, 46 insertions(+), 10 deletions(-) (limited to 'sys') diff --git a/sys/socket_inet_udp.txt b/sys/socket_inet_udp.txt index 37b464f97..3447a300e 100644 --- a/sys/socket_inet_udp.txt +++ b/sys/socket_inet_udp.txt @@ -7,26 +7,38 @@ include resource sock_udp[sock_in] -socket$udp(domain const[AF_INET], type const[SOCK_DGRAM], proto const[0]) sock_udp -socketpair$udp(domain const[AF_INET], type const[SOCK_DGRAM], proto const[0], fds ptr[out, udp_pair]) - udp_pair { f0 sock_udp f1 sock_udp } -resource sock_udp6[sock_in6] +socket$udp(domain const[AF_INET], type const[SOCK_DGRAM], proto const[0]) sock_udp +socketpair$udp(domain const[AF_INET], type const[SOCK_DGRAM], proto const[0], fds ptr[out, udp_pair]) -socket$udp6(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[0]) sock_udp6 -socketpair$udp6(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[0], fds ptr[out, udp6_pair]) +resource sock_udp6[sock_in6] udp6_pair { f0 sock_udp6 f1 sock_udp6 } -getsockopt$udp_int(fd sock_udp, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$udp_int(fd sock_udp, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[in, int32], optlen len[optval]) +socket$udp6(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[0]) sock_udp6 +socketpair$udp6(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[0], fds ptr[out, udp6_pair]) + +# Generic UDP socket options + +udp_option_types_int = UDP_CORK, UDP_ENCAP, UDP_NO_CHECK6_TX, UDP_NO_CHECK6_RX + +getsockopt$udp_int(fd sock_udp, level const[IPPROTO_UDP], optname flags[udp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$udp_int(fd sock_udp, level const[IPPROTO_UDP], optname flags[udp_option_types_int], optval ptr[in, int32], optlen len[optval]) +getsockopt$udp6_int(fd sock_udp6, level const[IPPROTO_UDP], optname flags[udp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$udp6_int(fd sock_udp6, level const[IPPROTO_UDP], optname flags[udp_option_types_int], optval ptr[in, int32], optlen len[optval]) + +# Specific UDP socket options + +udp_encap_option_values = UDP_ENCAP_ESPINUDP_NON_IKE, UDP_ENCAP_ESPINUDP, UDP_ENCAP_L2TPINUDP, UDP_ENCAP_GTP0, UDP_ENCAP_GTP1U + +setsockopt$udp_encap(fd sock_udp, level const[IPPROTO_UDP], optname const[UDP_ENCAP], optval ptr[in, flags[udp_encap_option_values, int32]], optlen len[optval]) +setsockopt$udp6_encap(fd sock_udp6, level const[IPPROTO_UDP], optname const[UDP_ENCAP], optval ptr[in, flags[udp_encap_option_values, int32]], optlen len[optval]) -getsockopt$udp6_int(fd sock_udp6, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$udp6_int(fd sock_udp6, level const[IPPROTO_UDP], optname const[UDP_CORK], optval ptr[in, int32], optlen len[optval]) +# TODO: UDPLITE_SEND_CSCOV, UDPLITE_RECV_CSCOV diff --git a/sys/socket_inet_udp_amd64.const b/sys/socket_inet_udp_amd64.const index c48c1d9ab..4fcd3dfa7 100644 --- a/sys/socket_inet_udp_amd64.const +++ b/sys/socket_inet_udp_amd64.const @@ -4,6 +4,14 @@ AF_INET6 = 10 IPPROTO_UDP = 17 SOCK_DGRAM = 2 UDP_CORK = 1 +UDP_ENCAP = 100 +UDP_ENCAP_ESPINUDP = 2 +UDP_ENCAP_ESPINUDP_NON_IKE = 1 +UDP_ENCAP_GTP0 = 4 +UDP_ENCAP_GTP1U = 5 +UDP_ENCAP_L2TPINUDP = 3 +UDP_NO_CHECK6_RX = 102 +UDP_NO_CHECK6_TX = 101 __NR_getsockopt = 55 __NR_setsockopt = 54 __NR_socket = 41 diff --git a/sys/socket_inet_udp_arm64.const b/sys/socket_inet_udp_arm64.const index a76517a13..111726315 100644 --- a/sys/socket_inet_udp_arm64.const +++ b/sys/socket_inet_udp_arm64.const @@ -4,6 +4,14 @@ AF_INET6 = 10 IPPROTO_UDP = 17 SOCK_DGRAM = 2 UDP_CORK = 1 +UDP_ENCAP = 100 +UDP_ENCAP_ESPINUDP = 2 +UDP_ENCAP_ESPINUDP_NON_IKE = 1 +UDP_ENCAP_GTP0 = 4 +UDP_ENCAP_GTP1U = 5 +UDP_ENCAP_L2TPINUDP = 3 +UDP_NO_CHECK6_RX = 102 +UDP_NO_CHECK6_TX = 101 __NR_getsockopt = 209 __NR_setsockopt = 208 __NR_socket = 198 diff --git a/sys/socket_inet_udp_ppc64le.const b/sys/socket_inet_udp_ppc64le.const index db1f23451..d30a309f5 100644 --- a/sys/socket_inet_udp_ppc64le.const +++ b/sys/socket_inet_udp_ppc64le.const @@ -4,6 +4,14 @@ AF_INET6 = 10 IPPROTO_UDP = 17 SOCK_DGRAM = 2 UDP_CORK = 1 +UDP_ENCAP = 100 +UDP_ENCAP_ESPINUDP = 2 +UDP_ENCAP_ESPINUDP_NON_IKE = 1 +UDP_ENCAP_GTP0 = 4 +UDP_ENCAP_GTP1U = 5 +UDP_ENCAP_L2TPINUDP = 3 +UDP_NO_CHECK6_RX = 102 +UDP_NO_CHECK6_TX = 101 __NR_getsockopt = 340 __NR_setsockopt = 339 __NR_socket = 326 -- cgit mrf-deployment From cd0380f9a285dcaf6ce998b3f2334b71e24d0a3d Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Thu, 9 Feb 2017 17:05:47 +0100 Subject: sys: improve tcp sockopts --- sys/socket_inet_tcp.txt | 34 +++++++++++++++++++--------------- sys/socket_inet_tcp_amd64.const | 16 ++++++++++++++++ sys/socket_inet_tcp_arm64.const | 16 ++++++++++++++++ sys/socket_inet_tcp_ppc64le.const | 16 ++++++++++++++++ 4 files changed, 67 insertions(+), 15 deletions(-) (limited to 'sys') diff --git a/sys/socket_inet_tcp.txt b/sys/socket_inet_tcp.txt index 3a8552162..e3cb449ae 100644 --- a/sys/socket_inet_tcp.txt +++ b/sys/socket_inet_tcp.txt @@ -7,32 +7,36 @@ include resource sock_tcp[sock_in] -socket$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0]) sock_tcp -socketpair$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp_pair]) - tcp_pair { f0 sock_tcp f1 sock_tcp } -resource sock_tcp6[sock_in6] +socket$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0]) sock_tcp +socketpair$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp_pair]) -socket$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0]) sock_tcp6 -socketpair$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp6_pair]) +resource sock_tcp6[sock_in6] tcp6_pair { f0 sock_tcp6 f1 sock_tcp6 } -sockopt_opt_tcp_int = TCP_CORK, TCP_DEFER_ACCEPT, TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_LINGER2, TCP_MAXSEG, TCP_NODELAY, TCP_QUICKACK, TCP_SYNCNT, TCP_WINDOW_CLAMP +socket$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0]) sock_tcp6 +socketpair$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp6_pair]) + +# Generic TCP socket options + +tcp_option_types_int = TCP_NODELAY, TCP_MAXSEG, TCP_CORK, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT, TCP_SYNCNT, TCP_LINGER2, TCP_DEFER_ACCEPT, TCP_WINDOW_CLAMP, TCP_QUICKACK, TCP_THIN_LINEAR_TIMEOUTS, TCP_THIN_DUPACK, TCP_USER_TIMEOUT, TCP_REPAIR, TCP_REPAIR_QUEUE, TCP_QUEUE_SEQ, TCP_FASTOPEN, TCP_TIMESTAMP, TCP_NOTSENT_LOWAT, TCP_SAVE_SYN + +tcp_option_types_buf = TCP_INFO, TCP_CONGESTION, TCP_MD5SIG, TCP_REPAIR_OPTIONS, TCP_CC_INFO, TCP_SAVED_SYN, TCP_REPAIR_WINDOW -getsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[in, int32], optlen len[optval]) -getsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[in, int32], optlen len[optval]) +getsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[in, int32], optlen len[optval]) +getsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[in, int32], optlen len[optval]) -getsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[in], optlen len[optval]) -getsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[in], optlen len[optval]) +getsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[in], optlen len[optval]) +getsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[in], optlen len[optval]) diff --git a/sys/socket_inet_tcp_amd64.const b/sys/socket_inet_tcp_amd64.const index bcc80c944..c91e484b6 100644 --- a/sys/socket_inet_tcp_amd64.const +++ b/sys/socket_inet_tcp_amd64.const @@ -3,17 +3,33 @@ AF_INET = 2 AF_INET6 = 10 IPPROTO_TCP = 6 SOCK_STREAM = 1 +TCP_CC_INFO = 26 +TCP_CONGESTION = 13 TCP_CORK = 3 TCP_DEFER_ACCEPT = 9 +TCP_FASTOPEN = 23 TCP_INFO = 11 TCP_KEEPCNT = 6 TCP_KEEPIDLE = 4 TCP_KEEPINTVL = 5 TCP_LINGER2 = 8 TCP_MAXSEG = 2 +TCP_MD5SIG = 14 TCP_NODELAY = 1 +TCP_NOTSENT_LOWAT = 25 +TCP_QUEUE_SEQ = 21 TCP_QUICKACK = 12 +TCP_REPAIR = 19 +TCP_REPAIR_OPTIONS = 22 +TCP_REPAIR_QUEUE = 20 +TCP_REPAIR_WINDOW = 29 +TCP_SAVED_SYN = 28 +TCP_SAVE_SYN = 27 TCP_SYNCNT = 7 +TCP_THIN_DUPACK = 17 +TCP_THIN_LINEAR_TIMEOUTS = 16 +TCP_TIMESTAMP = 24 +TCP_USER_TIMEOUT = 18 TCP_WINDOW_CLAMP = 10 __NR_getsockopt = 55 __NR_setsockopt = 54 diff --git a/sys/socket_inet_tcp_arm64.const b/sys/socket_inet_tcp_arm64.const index 602973c6c..90b7b1a89 100644 --- a/sys/socket_inet_tcp_arm64.const +++ b/sys/socket_inet_tcp_arm64.const @@ -3,17 +3,33 @@ AF_INET = 2 AF_INET6 = 10 IPPROTO_TCP = 6 SOCK_STREAM = 1 +TCP_CC_INFO = 26 +TCP_CONGESTION = 13 TCP_CORK = 3 TCP_DEFER_ACCEPT = 9 +TCP_FASTOPEN = 23 TCP_INFO = 11 TCP_KEEPCNT = 6 TCP_KEEPIDLE = 4 TCP_KEEPINTVL = 5 TCP_LINGER2 = 8 TCP_MAXSEG = 2 +TCP_MD5SIG = 14 TCP_NODELAY = 1 +TCP_NOTSENT_LOWAT = 25 +TCP_QUEUE_SEQ = 21 TCP_QUICKACK = 12 +TCP_REPAIR = 19 +TCP_REPAIR_OPTIONS = 22 +TCP_REPAIR_QUEUE = 20 +TCP_REPAIR_WINDOW = 29 +TCP_SAVED_SYN = 28 +TCP_SAVE_SYN = 27 TCP_SYNCNT = 7 +TCP_THIN_DUPACK = 17 +TCP_THIN_LINEAR_TIMEOUTS = 16 +TCP_TIMESTAMP = 24 +TCP_USER_TIMEOUT = 18 TCP_WINDOW_CLAMP = 10 __NR_getsockopt = 209 __NR_setsockopt = 208 diff --git a/sys/socket_inet_tcp_ppc64le.const b/sys/socket_inet_tcp_ppc64le.const index 5557148f5..e4187f236 100644 --- a/sys/socket_inet_tcp_ppc64le.const +++ b/sys/socket_inet_tcp_ppc64le.const @@ -3,17 +3,33 @@ AF_INET = 2 AF_INET6 = 10 IPPROTO_TCP = 6 SOCK_STREAM = 1 +TCP_CC_INFO = 26 +TCP_CONGESTION = 13 TCP_CORK = 3 TCP_DEFER_ACCEPT = 9 +TCP_FASTOPEN = 23 TCP_INFO = 11 TCP_KEEPCNT = 6 TCP_KEEPIDLE = 4 TCP_KEEPINTVL = 5 TCP_LINGER2 = 8 TCP_MAXSEG = 2 +TCP_MD5SIG = 14 TCP_NODELAY = 1 +TCP_NOTSENT_LOWAT = 25 +TCP_QUEUE_SEQ = 21 TCP_QUICKACK = 12 +TCP_REPAIR = 19 +TCP_REPAIR_OPTIONS = 22 +TCP_REPAIR_QUEUE = 20 +TCP_REPAIR_WINDOW = 29 +TCP_SAVED_SYN = 28 +TCP_SAVE_SYN = 27 TCP_SYNCNT = 7 +TCP_THIN_DUPACK = 17 +TCP_THIN_LINEAR_TIMEOUTS = 16 +TCP_TIMESTAMP = 24 +TCP_USER_TIMEOUT = 18 TCP_WINDOW_CLAMP = 10 __NR_getsockopt = 340 __NR_setsockopt = 339 -- cgit mrf-deployment From 8a8eb125b0ef2bcc81bfba8166a1e5e6fb42de8c Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Thu, 9 Feb 2017 21:32:58 +0100 Subject: sys: improve ip and ipv6 sockopts --- sys/socket_inet.txt | 154 ++++++++++++++++++++++++------------------ sys/socket_inet_amd64.const | 35 ++++++++++ sys/socket_inet_arm64.const | 35 ++++++++++ sys/socket_inet_ppc64le.const | 35 ++++++++++ 4 files changed, 195 insertions(+), 64 deletions(-) (limited to 'sys') diff --git a/sys/socket_inet.txt b/sys/socket_inet.txt index 94a23ee99..5e1815ac1 100644 --- a/sys/socket_inet.txt +++ b/sys/socket_inet.txt @@ -3,6 +3,9 @@ include include +include + +# IP sockets resource sock_in[sock] @@ -11,6 +14,22 @@ sock_in_pair { f1 sock_in } +in_addr [ +# 0.0.0.0 + empty const[0x00000000, int32be] +# 127.0.0.1 + loopback const[0x7f000001, int32be] +# 255.255.255.255 + broadcast const[0xffffffff, int32be] +] + +sockaddr_in { + family const[AF_INET, int16] + port proc[int16be, 20000, 4] + addr in_addr + pad array[const[0, int8], 8] +} + socket$inet(domain const[AF_INET], type flags[socket_type], proto int8) sock_in socketpair$inet(domain const[AF_INET], type flags[socket_type], proto int8, fds ptr[out, sock_in_pair]) accept$inet(fd sock_in, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]]) sock_in @@ -22,6 +41,8 @@ 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 { @@ -29,63 +50,6 @@ sock_in6_pair { f1 sock_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]]) - -getsockopt$ip_int(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_int(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_int], optval ptr[in, int32], optlen len[optval]) -getsockopt$ip_buf(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -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]]) -setsockopt$ip_mreq(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[in, ip_mreq], optlen len[optval]) -getsockopt$ip_mreqn(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[out, ip_mreqn], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_mreqn(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[in, ip_mreqn], optlen len[optval]) -getsockopt$ip_mreqsrc(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreqsrc], optval ptr[out, ip_mreq_source], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_mreqsrc(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreqsrc], optval ptr[in, ip_mreq_source], optlen len[optval]) -setsockopt$ip_msfilter(fd sock_in, level const[IPPROTO_IP], optname const[IP_MSFILTER], optval ptr[in, ip_msfilter], optlen len[optval]) -getsockopt$ip_mtu(fd sock_in, level const[IPPROTO_IP], optname const[IP_MTU_DISCOVER], optval ptr[out, flags[ip_mtu_discover, int32]], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_mtu(fd sock_in, level const[IPPROTO_IP], optname const[IP_MTU_DISCOVER], optval ptr[in, flags[ip_mtu_discover, int32]], optlen len[optval]) -getsockopt$ip_opts(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_opts], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_opts(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_opts], optval buffer[in], optlen len[optval]) -getsockopt$ip_pktinfo(fd sock_in, level const[IPPROTO_IP], optname const[IP_PKTINFO], optval ptr[out, in_pktinfo], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_pktinfo(fd sock_in, level const[IPPROTO_IP], optname const[IP_PKTINFO], optval ptr[in, in_pktinfo], optlen len[optval]) -getsockopt$ip_ipsec(fd sock_in, level const[IPPROTO_IP], optname const[IP_IPSEC_POLICY], optval ptr[out, xfrm_filer], optlen ptr[inout, len[optval, int32]]) -setsockopt$ip_ipsec(fd sock_in, level const[IPPROTO_IP], optname const[IP_IPSEC_POLICY], optval ptr[in, xfrm_filer], optlen len[optval]) - -getsockopt$ipv6_int(fd sock_in6, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$ipv6_int(fd sock_in6, level const[IPPROTO_IPV6], optname flags[sockopt_opt_ipv6_int], optval ptr[in, int32], optlen len[optval]) -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_ip_int = IP_FREEBIND, IP_HDRINCL, IP_MTU, IP_MULTICAST_ALL, IP_MULTICAST_LOOP, IP_MULTICAST_TTL, IP_NODEFRAG, IP_RECVOPTS, IP_RECVORIGDSTADDR, IP_RECVTOS, IP_RECVTTL, IP_RETOPTS, IP_ROUTER_ALERT, IP_TOS, IP_TRANSPARENT, IP_TTL, IP_RECVERR, IP_PASSSEC, IP_MINTTL, IP_CHECKSUM, IP_BIND_ADDRESS_NO_PORT -sockopt_opt_ip_mreq = IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP, IP_MULTICAST_IF -sockopt_opt_ip_mreqsrc = IP_ADD_SOURCE_MEMBERSHIP, IP_BLOCK_SOURCE, IP_DROP_SOURCE_MEMBERSHIP, IP_UNBLOCK_SOURCE -sockopt_opt_ip_buf = IP_MSFILTER -sockopt_opt_ip_opts = IP_OPTIONS, IP_PKTOPTIONS -ip_msfilter_mode = MCAST_INCLUDE, MCAST_EXCLUDE -ip_mtu_discover = IP_PMTUDISC_DONT, IP_PMTUDISC_WANT, IP_PMTUDISC_DO, IP_PMTUDISC_PROBE, IP_PMTUDISC_INTERFACE, IP_PMTUDISC_OMIT -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 - -in_addr [ -# 0.0.0.0 - empty const[0x00000000, int32be] -# 127.0.0.1 - loopback const[0x7f000001, int32be] -# 255.255.255.255 - broadcast const[0xffffffff, int32be] -] in6_addr_empty { a0 const[0, int64be] @@ -102,13 +66,6 @@ in6_addr [ loopback in6_addr_loopback ] -sockaddr_in { - family const[AF_INET, int16] - port proc[int16be, 20000, 4] - addr in_addr - pad array[const[0, int8], 8] -} - sockaddr_in6 { family const[AF_INET6, int16] port proc[int16be, 20000, 4] @@ -132,6 +89,63 @@ sockaddr_storage [ 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 + +inet_option_types_buf = IP_OPTIONS, IP_PKTOPTIONS, IP_IPSEC_POLICY, IP_XFRM_POLICY, IP_MULTICAST_IF, IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP, IP_UNBLOCK_SOURCE, IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP, IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP, MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP, MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, MCAST_MSFILTER + +getsockopt$ip_int(fd sock_in, level const[IPPROTO_IP], optname flags[inet_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_int(fd sock_in, level const[IPPROTO_IP], optname flags[inet_option_types_int], optval ptr[in, int32], optlen len[optval]) +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]]) +setsockopt$ip_mreq(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[in, ip_mreq], optlen len[optval]) +getsockopt$ip_mreqn(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[out, ip_mreqn], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_mreqn(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreq], optval ptr[in, ip_mreqn], optlen len[optval]) +getsockopt$ip_mreqsrc(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreqsrc], optval ptr[out, ip_mreq_source], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_mreqsrc(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_mreqsrc], optval ptr[in, ip_mreq_source], optlen len[optval]) +setsockopt$ip_msfilter(fd sock_in, level const[IPPROTO_IP], optname const[IP_MSFILTER], optval ptr[in, ip_msfilter], optlen len[optval]) +getsockopt$ip_mtu(fd sock_in, level const[IPPROTO_IP], optname const[IP_MTU_DISCOVER], optval ptr[out, flags[ip_mtu_discover, int32]], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_mtu(fd sock_in, level const[IPPROTO_IP], optname const[IP_MTU_DISCOVER], optval ptr[in, flags[ip_mtu_discover, int32]], optlen len[optval]) +getsockopt$ip_opts(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_opts], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_opts(fd sock_in, level const[IPPROTO_IP], optname flags[sockopt_opt_ip_opts], optval buffer[in], optlen len[optval]) +getsockopt$ip_pktinfo(fd sock_in, level const[IPPROTO_IP], optname const[IP_PKTINFO], optval ptr[out, in_pktinfo], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_pktinfo(fd sock_in, level const[IPPROTO_IP], optname const[IP_PKTINFO], optval ptr[in, in_pktinfo], optlen len[optval]) +getsockopt$ip_ipsec(fd sock_in, level const[IPPROTO_IP], optname const[IP_IPSEC_POLICY], optval ptr[out, xfrm_filer], optlen ptr[inout, len[optval, int32]]) +setsockopt$ip_ipsec(fd sock_in, level const[IPPROTO_IP], optname const[IP_IPSEC_POLICY], optval ptr[in, xfrm_filer], optlen len[optval]) + +sockopt_opt_ip_mreq = IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP, IP_MULTICAST_IF +sockopt_opt_ip_mreqsrc = IP_ADD_SOURCE_MEMBERSHIP, IP_BLOCK_SOURCE, IP_DROP_SOURCE_MEMBERSHIP, IP_UNBLOCK_SOURCE +sockopt_opt_ip_opts = IP_OPTIONS, IP_PKTOPTIONS +ip_msfilter_mode = MCAST_INCLUDE, MCAST_EXCLUDE +ip_mtu_discover = IP_PMTUDISC_DONT, IP_PMTUDISC_WANT, IP_PMTUDISC_DO, IP_PMTUDISC_PROBE, IP_PMTUDISC_INTERFACE, IP_PMTUDISC_OMIT + ip_mreq { multi in_addr addr in_addr @@ -237,6 +251,18 @@ 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 diff --git a/sys/socket_inet_amd64.const b/sys/socket_inet_amd64.const index d117d3f3f..1f1bc8f70 100644 --- a/sys/socket_inet_amd64.const +++ b/sys/socket_inet_amd64.const @@ -1,6 +1,9 @@ # 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 @@ -10,27 +13,50 @@ 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 @@ -71,8 +97,17 @@ IP_TOS = 1 IP_TRANSPARENT = 19 IP_TTL = 2 IP_UNBLOCK_SOURCE = 37 +IP_UNICAST_IF = 50 +IP_XFRM_POLICY = 17 +MCAST_BLOCK_SOURCE = 43 MCAST_EXCLUDE = 0 MCAST_INCLUDE = 1 +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 diff --git a/sys/socket_inet_arm64.const b/sys/socket_inet_arm64.const index 19ec6c369..4981542ea 100644 --- a/sys/socket_inet_arm64.const +++ b/sys/socket_inet_arm64.const @@ -1,6 +1,9 @@ # 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 @@ -10,27 +13,50 @@ 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 @@ -71,8 +97,17 @@ IP_TOS = 1 IP_TRANSPARENT = 19 IP_TTL = 2 IP_UNBLOCK_SOURCE = 37 +IP_UNICAST_IF = 50 +IP_XFRM_POLICY = 17 +MCAST_BLOCK_SOURCE = 43 MCAST_EXCLUDE = 0 MCAST_INCLUDE = 1 +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 diff --git a/sys/socket_inet_ppc64le.const b/sys/socket_inet_ppc64le.const index a2578caed..1e7594d5e 100644 --- a/sys/socket_inet_ppc64le.const +++ b/sys/socket_inet_ppc64le.const @@ -1,6 +1,9 @@ # 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 @@ -10,27 +13,50 @@ 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 @@ -71,8 +97,17 @@ IP_TOS = 1 IP_TRANSPARENT = 19 IP_TTL = 2 IP_UNBLOCK_SOURCE = 37 +IP_UNICAST_IF = 50 +IP_XFRM_POLICY = 17 +MCAST_BLOCK_SOURCE = 43 MCAST_EXCLUDE = 0 MCAST_INCLUDE = 1 +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 -- cgit mrf-deployment From 4706ff2514f7eac43bccc80d304b1ad2c61828c3 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Thu, 9 Feb 2017 21:45:36 +0100 Subject: sys: add icmp sock opt --- sys/socket_inet_icmp.txt | 7 +++++++ sys/socket_inet_icmp_amd64.const | 3 +++ sys/socket_inet_icmp_arm64.const | 3 +++ sys/socket_inet_icmp_ppc64le.const | 3 +++ 4 files changed, 16 insertions(+) (limited to 'sys') diff --git a/sys/socket_inet_icmp.txt b/sys/socket_inet_icmp.txt index 4343c7b63..c7b41ede3 100644 --- a/sys/socket_inet_icmp.txt +++ b/sys/socket_inet_icmp.txt @@ -29,3 +29,10 @@ icmp6_pair { f0 sock_icmp6 f1 sock_icmp6 } + +icmp_option_types_buf = ICMP_FILTER + +getsockopt$tcp_buf(fd sock_icmp, level const[IPPROTO_ICMP], optname flags[icmp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp_buf(fd sock_icmp, level const[IPPROTO_ICMP], optname flags[icmp_option_types_buf], optval buffer[in], optlen len[optval]) +getsockopt$tcp6_buf(fd sock_icmp6, level const[IPPROTO_ICMP], optname flags[icmp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp6_buf(fd sock_icmp6, level const[IPPROTO_ICMP], optname flags[icmp_option_types_buf], optval buffer[in], optlen len[optval]) diff --git a/sys/socket_inet_icmp_amd64.const b/sys/socket_inet_icmp_amd64.const index c0d3ea977..aab7d3bfc 100644 --- a/sys/socket_inet_icmp_amd64.const +++ b/sys/socket_inet_icmp_amd64.const @@ -1,9 +1,12 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 +ICMP_FILTER = 1 IPPROTO_ICMP = 1 IPPROTO_ICMPV6 = 58 SOCK_DGRAM = 2 SOCK_RAW = 3 +__NR_getsockopt = 55 +__NR_setsockopt = 54 __NR_socket = 41 __NR_socketpair = 53 diff --git a/sys/socket_inet_icmp_arm64.const b/sys/socket_inet_icmp_arm64.const index 51a57d6df..e17aeec39 100644 --- a/sys/socket_inet_icmp_arm64.const +++ b/sys/socket_inet_icmp_arm64.const @@ -1,9 +1,12 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 +ICMP_FILTER = 1 IPPROTO_ICMP = 1 IPPROTO_ICMPV6 = 58 SOCK_DGRAM = 2 SOCK_RAW = 3 +__NR_getsockopt = 209 +__NR_setsockopt = 208 __NR_socket = 198 __NR_socketpair = 199 diff --git a/sys/socket_inet_icmp_ppc64le.const b/sys/socket_inet_icmp_ppc64le.const index 14ec7251c..5ee5a18c6 100644 --- a/sys/socket_inet_icmp_ppc64le.const +++ b/sys/socket_inet_icmp_ppc64le.const @@ -1,9 +1,12 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 +ICMP_FILTER = 1 IPPROTO_ICMP = 1 IPPROTO_ICMPV6 = 58 SOCK_DGRAM = 2 SOCK_RAW = 3 +__NR_getsockopt = 340 +__NR_setsockopt = 339 __NR_socket = 326 __NR_socketpair = 333 -- cgit mrf-deployment From ab9bcf27a6e46d376688327ac9f9ed3e350ba242 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 10 Feb 2017 14:07:00 +0100 Subject: sys: restore autobind TODO --- sys/socket.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys') diff --git a/sys/socket.txt b/sys/socket.txt index 4c628d0a7..7da4f5442 100644 --- a/sys/socket.txt +++ b/sys/socket.txt @@ -1,6 +1,8 @@ # 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. +# TODO: due to autobind a socket can bind to port 0, that will result in a random port which is not reproducible + include include include -- cgit mrf-deployment