]> git.baikalelectronics.ru Git - kernel.git/commit
mptcp: add netlink-based PM
authorPaolo Abeni <pabeni@redhat.com>
Fri, 27 Mar 2020 21:48:51 +0000 (14:48 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Mar 2020 05:14:49 +0000 (22:14 -0700)
commit99f1c40f5b5ec54ed813d05c0bcd98c11ca099db
tree8d96829b4d6ca609c66fadf6d4f84a30f8380b81
parent01bdddab11375de0991cd95baf884308e968026d
mptcp: add netlink-based PM

Expose a new netlink family to userspace to control the PM, setting:

 - list of local addresses to be signalled.
 - list of local addresses used to created subflows.
 - maximum number of add_addr option to react

When the msk is fully established, the PM netlink attempts to
announce the 'signal' list via the ADD_ADDR option. Since we
currently lack the ADD_ADDR echo (and related event) only the
first addr is sent.

After exhausting the 'announce' list, the PM tries to create
subflow for each addr in 'local' list, waiting for each
connection to be completed before attempting the next one.

Idea is to add an additional PM hook for ADD_ADDR echo, to allow
the PM netlink announcing multiple addresses, in sequence.

Co-developed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/mptcp.h
net/mptcp/Makefile
net/mptcp/pm.c
net/mptcp/pm_netlink.c [new file with mode: 0644]
net/mptcp/protocol.h