summaryrefslogtreecommitdiff
path: root/include/uapi/linux/mptcp.h
diff options
context:
space:
mode:
authorGeliang Tang <geliangtang@xiaomi.com>2021-08-18 01:07:23 +0300
committerDavid S. Miller <davem@davemloft.net>2021-08-18 12:10:01 +0300
commit2843ff6f36db7074e17bf5d637a14da08c54aed8 (patch)
treeccb287b9b51a37e2be1ee291defc4885d95b2faf /include/uapi/linux/mptcp.h
parentee285257a9c1bc73ad095d8a3aa5d04b7da4990f (diff)
downloadlinux-2843ff6f36db7074e17bf5d637a14da08c54aed8.tar.xz
mptcp: remote addresses fullmesh
This patch added and managed a new per endpoint flag, named MPTCP_PM_ADDR_FLAG_FULLMESH. In mptcp_pm_create_subflow_or_signal_addr(), if such flag is set, instead of: remote_address((struct sock_common *)sk, &remote); fill a temporary allocated array of all known remote address. After releaseing the pm lock loop on such array and create a subflow for each remote address from the given local. Note that the we could still use an array even for non 'fullmesh' endpoint: with a single entry corresponding to the primary MPC subflow remote address. Suggested-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Geliang Tang <geliangtang@xiaomi.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux/mptcp.h')
-rw-r--r--include/uapi/linux/mptcp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h
index 7b05f7102321..f66038b9551f 100644
--- a/include/uapi/linux/mptcp.h
+++ b/include/uapi/linux/mptcp.h
@@ -73,6 +73,7 @@ enum {
#define MPTCP_PM_ADDR_FLAG_SIGNAL (1 << 0)
#define MPTCP_PM_ADDR_FLAG_SUBFLOW (1 << 1)
#define MPTCP_PM_ADDR_FLAG_BACKUP (1 << 2)
+#define MPTCP_PM_ADDR_FLAG_FULLMESH (1 << 3)
enum {
MPTCP_PM_CMD_UNSPEC,