<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/net/mptcp/pm.c, branch jd/orphan-parallel</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/net/mptcp/pm.c?h=jd%2Forphan-parallel</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/net/mptcp/pm.c?h=jd%2Forphan-parallel'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2020-10-04T00:36:37Z</updated>
<entry>
<title>mptcp: ADD_ADDRs with echo bit are smaller</title>
<updated>2020-10-04T00:36:37Z</updated>
<author>
<name>Matthieu Baerts</name>
<email>matthieu.baerts@tessares.net</email>
</author>
<published>2020-10-03T15:36:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=456afe01b10085518406022c69cfd2b718d6eaf8'/>
<id>urn:sha1:456afe01b10085518406022c69cfd2b718d6eaf8</id>
<content type='text'>
The MPTCP ADD_ADDR suboption with echo-flag=1 has no HMAC, the size is
smaller than the one initially sent without echo-flag=1. We then need to
use the correct size everywhere when we need this echo bit.

Before this patch, the wrong size was reserved but the correct amount of
bytes were written (and read): the remaining bytes contained garbage.

Fixes: 6a6c05a8b016 ("mptcp: send out ADD_ADDR with echo flag")
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/95
Reported-and-tested-by: Davide Caratti &lt;dcaratti@redhat.com&gt;
Acked-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Signed-off-by: Matthieu Baerts &lt;matthieu.baerts@tessares.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mptcp: implement mptcp_pm_remove_subflow</title>
<updated>2020-09-25T02:58:34Z</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@gmail.com</email>
</author>
<published>2020-09-24T00:29:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=0ee4261a36817c441d26ee90ad96f9cc30d678ce'/>
<id>urn:sha1:0ee4261a36817c441d26ee90ad96f9cc30d678ce</id>
<content type='text'>
This patch implemented the local subflow removing function,
mptcp_pm_remove_subflow, it simply called mptcp_pm_nl_rm_subflow_received
under the PM spin lock.

We use mptcp_pm_remove_subflow to remove a local subflow, so change it's
argument from remote_id to local_id.

We check subflow-&gt;local_id in mptcp_pm_nl_rm_subflow_received to remove
a subflow.

Suggested-by: Matthieu Baerts &lt;matthieu.baerts@tessares.net&gt;
Suggested-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Suggested-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Reviewed-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mptcp: remove addr and subflow in PM netlink</title>
<updated>2020-09-25T02:58:33Z</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@gmail.com</email>
</author>
<published>2020-09-24T00:29:54Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=b6c08380860b926752d57c8fa9911fa388c4b876'/>
<id>urn:sha1:b6c08380860b926752d57c8fa9911fa388c4b876</id>
<content type='text'>
This patch implements the remove announced addr and subflow logic in PM
netlink.

When the PM netlink removes an address, we traverse all the existing msk
sockets to find the relevant sockets.

We add a new list named anno_list in mptcp_pm_data, to record all the
announced addrs. In the traversing, we check if it has been recorded.
If it has been, we trigger the RM_ADDR signal.

We also check if this address is in conn_list. If it is, we remove the
subflow which using this local address.

Since we call mptcp_pm_free_anno_list in mptcp_destroy, we need to move
__mptcp_init_sock before the mptcp_is_enabled check in mptcp_init_sock.

Suggested-by: Matthieu Baerts &lt;matthieu.baerts@tessares.net&gt;
Suggested-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Suggested-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Acked-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Reviewed-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mptcp: add accept_subflow re-check</title>
<updated>2020-09-25T02:58:33Z</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@gmail.com</email>
</author>
<published>2020-09-24T00:29:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=f58f065aa10683a4e2d975c71e0238cfe2c41024'/>
<id>urn:sha1:f58f065aa10683a4e2d975c71e0238cfe2c41024</id>
<content type='text'>
The re-check of pm-&gt;accept_subflow with pm-&gt;lock held was missing, this
patch fixed it.

Suggested-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Reviewed-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mptcp: send out ADD_ADDR with echo flag</title>
<updated>2020-09-25T02:58:33Z</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@gmail.com</email>
</author>
<published>2020-09-24T00:29:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=6a6c05a8b016bb5c63750f91cdb6d669b5a4b14f'/>
<id>urn:sha1:6a6c05a8b016bb5c63750f91cdb6d669b5a4b14f</id>
<content type='text'>
When the ADD_ADDR suboption has been received, we need to send out the same
ADD_ADDR suboption with echo-flag=1, and no HMAC.

Suggested-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Reviewed-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mptcp: add the incoming RM_ADDR support</title>
<updated>2020-09-25T02:58:33Z</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@gmail.com</email>
</author>
<published>2020-09-24T00:29:49Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d0876b2284cf8b34dd214b2d0aa21071c345da59'/>
<id>urn:sha1:d0876b2284cf8b34dd214b2d0aa21071c345da59</id>
<content type='text'>
This patch added the RM_ADDR option parsing logic:

We parsed the incoming options to find if the rm_addr option is received,
and called mptcp_pm_rm_addr_received to schedule PM work to a new status,
named MPTCP_PM_RM_ADDR_RECEIVED.

PM work got this status, and called mptcp_pm_nl_rm_addr_received to handle
it.

In mptcp_pm_nl_rm_addr_received, we closed the subflow matching the rm_id,
and updated PM counter.

Suggested-by: Matthieu Baerts &lt;matthieu.baerts@tessares.net&gt;
Suggested-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Suggested-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Reviewed-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mptcp: add the outgoing RM_ADDR support</title>
<updated>2020-09-25T02:58:33Z</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@gmail.com</email>
</author>
<published>2020-09-24T00:29:48Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=5cb104ae55e9dbffe4552cd77ded37ec8b0518cd'/>
<id>urn:sha1:5cb104ae55e9dbffe4552cd77ded37ec8b0518cd</id>
<content type='text'>
This patch added a new signal named rm_addr_signal in PM. On outgoing path,
we called mptcp_pm_should_rm_signal to check if rm_addr_signal has been
set. If it has been, we sent out the RM_ADDR option.

Suggested-by: Matthieu Baerts &lt;matthieu.baerts@tessares.net&gt;
Suggested-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Reviewed-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mptcp: rename addr_signal and the related functions</title>
<updated>2020-09-25T02:58:33Z</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@gmail.com</email>
</author>
<published>2020-09-24T00:29:47Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=f643b8032ee31848a5fe619a8f2d2776f8a42902'/>
<id>urn:sha1:f643b8032ee31848a5fe619a8f2d2776f8a42902</id>
<content type='text'>
This patch renamed addr_signal and the related functions with the explicit
word "add".

Suggested-by: Matthieu Baerts &lt;matthieu.baerts@tessares.net&gt;
Suggested-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Reviewed-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mptcp: use mptcp worker for path management</title>
<updated>2020-07-07T20:02:13Z</updated>
<author>
<name>Florian Westphal</name>
<email>fw@strlen.de</email>
</author>
<published>2020-07-07T12:40:48Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=b416268b7a819c0508ed0dc81461e513b110f2ac'/>
<id>urn:sha1:b416268b7a819c0508ed0dc81461e513b110f2ac</id>
<content type='text'>
We can re-use the existing work queue to handle path management
instead of a dedicated work queue.  Just move pm_worker to protocol.c,
call it from the mptcp worker and get rid of the msk lock (already held).

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Reviewed-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mptcp: add __init annotation on setup functions</title>
<updated>2020-06-26T23:21:39Z</updated>
<author>
<name>Paolo Abeni</name>
<email>pabeni@redhat.com</email>
</author>
<published>2020-06-26T17:29:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d39dceca388ad0e4f748836806349ebe09282283'/>
<id>urn:sha1:d39dceca388ad0e4f748836806349ebe09282283</id>
<content type='text'>
Add the missing annotation in some setup-only
functions.

Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Reviewed-by: Mat Martineau &lt;mathew.j.martineau@linux.intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
