diff options
| author | Geliang Tang <[email protected]> | 2024-02-23 16:14:11 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2024-02-27 02:41:55 +0000 |
| commit | 535d620ea5ff1a033dc64ee3d912acadc7470619 (patch) | |
| tree | cc5be1459cfae0b67242418f5c5390d394ac5dcf /net/mptcp/options.c | |
| parent | dpll: rely on rcu for netdev_dpll_pin() (diff) | |
| download | kernel-535d620ea5ff1a033dc64ee3d912acadc7470619.tar.gz kernel-535d620ea5ff1a033dc64ee3d912acadc7470619.zip | |
mptcp: map v4 address to v6 when destroying subflow
Address family of server side mismatches with that of client side, like
in "userspace pm add & remove address" test:
userspace_pm_add_addr $ns1 10.0.2.1 10
userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED
That's because on the server side, the family is set to AF_INET6 and the
v4 address is mapped in a v6 one.
This patch fixes this issue. In mptcp_pm_nl_subflow_destroy_doit(), before
checking local address family with remote address family, map an IPv4
address to an IPv6 address if the pair is a v4-mapped address.
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/387
Fixes: 702c2f646d42 ("mptcp: netlink: allow userspace-driven subflow establishment")
Cc: [email protected]
Signed-off-by: Geliang Tang <[email protected]>
Reviewed-by: Mat Martineau <[email protected]>
Reviewed-by: Matthieu Baerts (NGI0) <[email protected]>
Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
Link: https://lore.kernel.org/r/20240223-upstream-net-20240223-misc-fixes-v1-1-162e87e48497@kernel.org
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/mptcp/options.c')
0 files changed, 0 insertions, 0 deletions
