Re: [PATCH 5.17 114/158] mptcp: strict local address ID selection

Matthieu Baerts
2022-05-25T10:18:12Z

Hi Greg, Mat,

On 25/05/2022 09:51, Greg Kroah-Hartman wrote:
> On Mon, May 23, 2022 at 08:51:52PM -0700, Mat Martineau wrote:
>> On Mon, 23 May 2022, Greg Kroah-Hartman wrote:
>>
>>> From: Paolo Abeni <pabeni@redhat.com>
>>>
>>> [ Upstream commit 4cf86ae84c718333928fd2d43168a1e359a28329 ]
>>>
>>> The address ID selection for MPJ subflows created in response
>>> to incoming ADD_ADDR option is currently unreliable: it happens
>>> at MPJ socket creation time, when the local address could be
>>> unknown.
>>>
>>> Additionally, if the no local endpoint is available for the local
>>> address, a new dummy endpoint is created, confusing the user-land.
>>>
>>> This change refactor the code to move the address ID selection inside
>>> the rebuild_header() helper, when the local address eventually
>>> selected by the route lookup is finally known. If the address used
>>> is not mapped by any endpoint - and thus can't be advertised/removed
>>> pick the id 0 instead of allocate a new endpoint.
>>>
>>> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
>>> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
>>> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
>>> Signed-off-by: Sasha Levin <sashal@kernel.org>
>>> ---
>>> net/mptcp/pm_netlink.c | 13 --------
>>> net/mptcp/protocol.c | 3 ++
>>> net/mptcp/protocol.h | 3 +-
>>> net/mptcp/subflow.c | 67 ++++++++++++++++++++++++++++++++++++------
>>> 4 files changed, 63 insertions(+), 23 deletions(-)
>>>
>>
>> Greg, Sasha -
>>
>> Is it possible to drop this one patch? It makes one of the mptcp selftests
>> fail (mptcp_join.sh, "single address, backup").
>
> Does that mean the backport is incorrect, or that the selftest is wrong?

The backport is correct but the commit that is backported here was part
of a series that was changing the behaviour. This modification is
visible in the selftests.

If I'm not mistaken, we would need these two commits to fix the
regression in the selftests:

69c6ce7b6eca selftests: mptcp: add implicit endpoint test case

d045b9eb95a9 mptcp: introduce implicit endpoints

But we don't want to change the behaviour in stable and it is better to
drop this patch ("mptcp: strict local address ID selection"), it is not
needed for stable from what I see.

Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions