From: Geliang Tang <tanggeliang@kylinos.cn>
This patch defines a new path manager type: MPTCP_PM_TYPE_BPF_USERSPACE,
which is used for the userspace path manager implemented in BPF. This
path manager is also a userspace path manager, so add this new type in
mptcp_pm_is_userspace() too.
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
net/mptcp/protocol.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index 93445c24de93..cd36ffe8509b 100644
@@ -198,6 +198,7 @@ enum mptcp_pm_status {
enum mptcp_pm_type {
MPTCP_PM_TYPE_KERNEL = 0,
MPTCP_PM_TYPE_USERSPACE,
+ MPTCP_PM_TYPE_BPF_USERSPACE,
__MPTCP_PM_TYPE_NR,
__MPTCP_PM_TYPE_MAX = __MPTCP_PM_TYPE_NR - 1,
@@ -1093,7 +1094,10 @@ static inline bool mptcp_pm_should_rm_signal(struct mptcp_sock *msk)
static inline bool mptcp_pm_is_userspace(const struct mptcp_sock *msk)
{
- return READ_ONCE(msk->pm.pm_type) == MPTCP_PM_TYPE_USERSPACE;
+ enum mptcp_pm_type pm_type = READ_ONCE(msk->pm.pm_type);
+
+ return (pm_type == MPTCP_PM_TYPE_USERSPACE ||
+ pm_type == MPTCP_PM_TYPE_BPF_USERSPACE);
}
static inline bool mptcp_pm_is_kernel(const struct mptcp_sock *msk)
--
2.43.0