diff options
Diffstat (limited to 'include/uapi/linux/mptcp.h')
| -rw-r--r-- | include/uapi/linux/mptcp.h | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h index 32af2d278cb4..ee9c49f949a2 100644 --- a/include/uapi/linux/mptcp.h +++ b/include/uapi/linux/mptcp.h @@ -123,6 +123,11 @@ struct mptcp_info {  	__u8	mptcpi_local_addr_used;  	__u8	mptcpi_local_addr_max;  	__u8	mptcpi_csum_enabled; +	__u32	mptcpi_retransmits; +	__u64	mptcpi_bytes_retrans; +	__u64	mptcpi_bytes_sent; +	__u64	mptcpi_bytes_received; +	__u64	mptcpi_bytes_acked;  };  /* @@ -244,9 +249,33 @@ struct mptcp_subflow_addrs {  	};  }; +struct mptcp_subflow_info { +	__u32				id; +	struct mptcp_subflow_addrs	addrs; +}; + +struct mptcp_full_info { +	__u32		size_tcpinfo_kernel;	/* must be 0, set by kernel */ +	__u32		size_tcpinfo_user; +	__u32		size_sfinfo_kernel;	/* must be 0, set by kernel */ +	__u32		size_sfinfo_user; +	__u32		num_subflows;		/* must be 0, set by kernel (real subflow count) */ +	__u32		size_arrays_user;	/* max subflows that userspace is interested in; +						 * the buffers at subflow_info/tcp_info +						 * are respectively at least: +						 *  size_arrays * size_sfinfo_user +						 *  size_arrays * size_tcpinfo_user +						 * bytes wide +						 */ +	__aligned_u64		subflow_info; +	__aligned_u64		tcp_info; +	struct mptcp_info	mptcp_info; +}; +  /* MPTCP socket options */  #define MPTCP_INFO		1  #define MPTCP_TCPINFO		2  #define MPTCP_SUBFLOW_ADDRS	3 +#define MPTCP_FULL_INFO		4  #endif /* _UAPI_MPTCP_H */ |