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