From: Geliang Tang <tanggeliang@kylinos.cn>
v7:
- drop 'mask' variable, use MPTCP_PM_WORK_MASK instead.
- add 'status' parameter for __mptcp_pm_kernel_worker.
- no longer renamed, keep the names of mptcp_pm_addr_send_ack and
mptcp_pm_create_subflow_or_signal_addr unchanged.
v6:
- squash accept_new_subflow patches into one.
- change "pm->subflows == subflows_max - 1" to
pm->subflows + 1 == subflows_max.
- not to call accept_new_subflow under the PM lock.
- add mptcp_pm_accept_subflow helpers.
- drop READ_ONCE in mptcp_pm_worker.
- clear all the pm status flags once in mptcp_pm_worker.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1743133948.git.tanggeliang@kylinos.cn/
v5:
- add comment "call from the subflow/msk context" for mptcp_sched_ops.
- add new helper mptcp_pm_accept_new_subflow.
- add "bool allow" parameter for mptcp_pm_accept_new_subflow, and drop
.allow_new_subflow interface.
- use a copy of pm->status in mptcp_pm_worker.
- rename mptcp_pm_create_subflow_or_signal_addr with "__" prefix.
- drop "!update_subflows" in mptcp_pm_subflow_check_next.
- add_addr_received/rm_addr_received interfaces will be added in the
next series.
v4:
- address Matt's comments in v3.
- update pm locks in mptcp_pm_worker.
- move the lock inside mptcp_pm_create_subflow_or_signal_addr.
- move the lock inside mptcp_pm_nl_add_addr_received.
- invoke add_addr_received interface from mptcp_pm_worker.
- invoke rm_addr_received interface from mptcp_pm_rm_addr_or_subflow.
- simply call mptcp_pm_close_subflow() in mptcp_pm_subflow_check_next.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1742804266.git.tanggeliang@kylinos.cn/
v3:
- merge 'bugfixes for "BPF path manager, part 6, v2"' into this set.
- https://patchwork.kernel.org/project/mptcp/cover/cover.1742521397.git.tanggeliang@kylinos.cn/
v2:
- address Matt's comments in v1.
- add add_addr_received and rm_addr_received interfaces.
- drop subflow_check_next interface.
- add a "required" or "optional" comment for a group of interfaces in
struct mptcp_pm_ops.
v1:
- https://patchwork.kernel.org/project/mptcp/cover/cover.1741685260.git.tanggeliang@kylinos.cn/
New interfaces for struct mptcp_pm_ops.
Geliang Tang (5):
mptcp: pm: call pm worker handler without pm lock
mptcp: pm: add accept_new_subflow() interface
mptcp: pm: add established() interface
mptcp: pm: add subflow_established() interface
mptcp: pm: drop is_userspace in subflow_check_next
include/net/mptcp.h | 5 +++
net/mptcp/pm.c | 85 ++++++++++++++++++----------------------
net/mptcp/pm_kernel.c | 42 ++++++++++++--------
net/mptcp/pm_userspace.c | 7 ++++
net/mptcp/protocol.h | 27 ++++++++++++-
net/mptcp/subflow.c | 6 +--
6 files changed, 105 insertions(+), 67 deletions(-)
--
2.43.0