From abdf9b3bbffdc55f63021393df30df4ff7a446cf Mon Sep 17 00:00:00 2001 From: Christoph Paasch Date: Tue, 22 Aug 2023 09:18:31 -0700 Subject: sys/linux: add more coverage for MPTCP New netlink command has been added to MPTCP as well as a few getsockopt. Add the necessary syskaller instructions. --- sys/linux/socket_inet_tcp.txt | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'sys/linux/socket_inet_tcp.txt') diff --git a/sys/linux/socket_inet_tcp.txt b/sys/linux/socket_inet_tcp.txt index b59c47e2f..3f4f360db 100644 --- a/sys/linux/socket_inet_tcp.txt +++ b/sys/linux/socket_inet_tcp.txt @@ -5,6 +5,7 @@ include include +include include include include @@ -12,7 +13,9 @@ include resource sock_tcp[sock_in] socket$inet_tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0]) sock_tcp -socket$inet_mptcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[IPPROTO_MPTCP]) sock_tcp + +resource sock_mptcp[sock_tcp] +socket$inet_mptcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[IPPROTO_MPTCP]) sock_mptcp # From interface point of view SMC sockets seem to be the same as TCP. socket$inet_smc(domain const[AF_SMC], type const[SOCK_STREAM], proto const[0]) sock_tcp @@ -20,7 +23,9 @@ socket$inet_smc(domain const[AF_SMC], type const[SOCK_STREAM], proto const[0]) s resource sock_tcp6[sock_in6] socket$inet6_tcp(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0]) sock_tcp6 -socket$inet6_mptcp(domain const[AF_INET6], type const[SOCK_STREAM], proto const[IPPROTO_MPTCP]) sock_tcp6 + +resource sock_mptcp6[sock_tcp6] +socket$inet6_mptcp(domain const[AF_INET6], type const[SOCK_STREAM], proto const[IPPROTO_MPTCP]) sock_mptcp6 # Generic TCP socket options @@ -38,6 +43,15 @@ setsockopt$inet_tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp getsockopt$inet6_tcp_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) setsockopt$inet6_tcp_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[in], optlen len[optval]) +# Generic MPTCP socket options + +mptcp_option_types_buf = MPTCP_INFO, MPTCP_FULL_INFO, MPTCP_TCPINFO, MPTCP_SUBFLOW_ADDRS + +getsockopt$inet_mptcp_buf(fd sock_mptcp, level const[SOL_MPTCP], optname flags[mptcp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +getsockopt$inet6_mptcp_buf(fd sock_mptcp6, level const[SOL_MPTCP], optname flags[mptcp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) + +# Specific TCP socket options + getsockopt$inet_tcp_TCP_ZEROCOPY_RECEIVE(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_ZEROCOPY_RECEIVE], optval ptr[in, tcp_zerocopy_receive], optlen ptr[inout, len[optval, int32]]) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_ZEROCOPY_RECEIVE], optval ptr[in, tcp_zerocopy_receive], optlen ptr[inout, len[optval, int32]]) -- cgit mrf-deployment