diff options
author | Paolo Abeni <pabeni@redhat.com> | 2023-01-12 18:42:51 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-01-14 06:55:45 +0100 |
commit | 6bc1fe7dd748ba5e76e7917d110837cafe7b931c (patch) | |
tree | 5e6542f7cde71b7a0f6e3af4159e57b93076ea2b /net/mptcp/pm_userspace.c | |
parent | net: lan966x: add missing fwnode_handle_put() for ports node (diff) | |
download | linux-6bc1fe7dd748ba5e76e7917d110837cafe7b931c.tar.xz linux-6bc1fe7dd748ba5e76e7917d110837cafe7b931c.zip |
mptcp: explicitly specify sock family at subflow creation time
Let the caller specify the to-be-created subflow family.
For a given MPTCP socket created with the AF_INET6 family, the current
userspace PM can already ask the kernel to create subflows in v4 and v6.
If "plain" IPv4 addresses are passed to the kernel, they are
automatically mapped in v6 addresses "by accident". This can be
problematic because the userspace will need to pass different addresses,
now the v4-mapped-v6 addresses to destroy this new subflow.
On the other hand, if the MPTCP socket has been created with the AF_INET
family, the command to create a subflow in v6 will be accepted but the
result will not be the one as expected as new subflow will be created in
IPv4 using part of the v6 addresses passed to the kernel: not creating
the expected subflow then.
No functional change intended for the in-kernel PM where an explicit
enforcement is currently in place. This arbitrary enforcement will be
leveraged by other patches in a future version.
Fixes: 702c2f646d42 ("mptcp: netlink: allow userspace-driven subflow establishment")
Cc: stable@vger.kernel.org
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>
Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/mptcp/pm_userspace.c')
0 files changed, 0 insertions, 0 deletions