From nobody Thu Oct 15 23:34:51 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8707A3E3DAB for ; Tue, 13 Oct 2026 06:56:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791874620; cv=none; b=bg8dBivBeevkMwWzPbnpCo34U0kYtPgZ2qwIuGbe9au62W3ziKnMwnCuYsG9eiuB6f5yAu+jBun/mWPxsmoKt62bRwtvOKoc1QaKAIJYUME3ZzNQxJj9X6ay70jK5qh4daXqZgelTVaClSqsFRhEpYan8lDSBfk2C9IM7WcG0xg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791874620; c=relaxed/simple; bh=IFmpeGLlzH1arne5y9/HHPfDxlUiT7CtRs+bs3W/6EA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mQee6TN5D8npdRPgIgpklOqcT54cjXIuE03E7VbhVpTBrxKfGMLU0/HUT5l622oOnhVbzeQyfL8xsjq+txzx/ngi9WUX5jhS7/LIk0dmSZ4PQuowWJtG9xDMlGxU9CAROdqJcYjakaaEdBOkyaWB5REEX1PBr1lBgQICcSVbuwA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=C8zt1hwa; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="C8zt1hwa" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7154C1F00893; Tue, 13 Oct 2026 06:56:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791874618; bh=I110+WjKet/+uDCX6s9L3jDfyDjwyposa2fxzfVsfGg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=C8zt1hwamHGU0A3yV34dHjLEs23YaBbmSwdbdiwX+RtGb0CB/BtWgB0Gro4aNaGQ2 EXpz2gKTnyLmpS2OpCQ0p45mpBXw5KSwXy1taXrgVR7m34LHkM4It7MVhgk3pvBLrK XPZ3ED8bERMH2EyuCLOeM9THWFmwtoVcE61wRDokBeX4FJesZM/Ff470yKelN8ejdn 7j9bvSsOb/itoX0X5H+10etJfZd0EbWBN6jAIGADeWK0lXwF0C/ao9v2vKNi6kxang nPEC216XlbXjP6FuDaJ4LRBT1hM079NCL3/77sKLEkTSI9cY31MqmbBS9YRpI2w7UE rITa7wh8iBV9A== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , =?UTF-8?q?G=C3=BCnther=20Noack?= Subject: [PATCH mptcp-next 1/2] mptcp: add msk_is_mptcp() helper Date: Tue, 13 Oct 2026 14:56:46 +0800 Message-ID: <1b21558a40905ae312d2ac987de4db0a04db3c02.1791873760.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.55.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang Introduce msk_is_mptcp() to check whether a socket is an MPTCP socket (IPPROTO_MPTCP on SOCK_STREAM), modeled after sk_is_tcp(). Unlike sk_is_mptcp() which tests a subflow socket, this helper takes an MPTCP parent socket directly. The naming follows the convention of rsk_is_mptcp() to distinguish it from sk_is_mptcp(). This helper will be used in net/core/sock_map.c alongside sk_is_tcp() to add MPTCP support for BPF sockmap, and in other places where MPTCP parent socket type checking is needed. Signed-off-by: Geliang Tang Reviewed-by: G=C3=BCnther Noack --- include/net/mptcp.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index 30f0e8ba88a8..8943d9f2b48b 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -150,6 +150,13 @@ static inline bool rsk_drop_req(const struct request_s= ock *req) return tcp_rsk(req)->is_mptcp && tcp_rsk(req)->drop_req; } =20 +static inline bool msk_is_mptcp(const struct sock *sk) +{ + return sk_is_inet(sk) && + sk->sk_type =3D=3D SOCK_STREAM && + sk->sk_protocol =3D=3D IPPROTO_MPTCP; +} + void mptcp_space(const struct sock *ssk, int *space, int *full_space); bool mptcp_syn_options(struct sock *sk, const struct sk_buff *skb, unsigned int *size, struct mptcp_out_options *opts); @@ -261,6 +268,11 @@ static inline bool rsk_drop_req(const struct request_s= ock *req) return false; } =20 +static inline bool msk_is_mptcp(const struct sock *sk) +{ + return false; +} + static inline bool mptcp_syn_options(struct sock *sk, const struct sk_buff= *skb, unsigned int *size, struct mptcp_out_options *opts) --=20 2.55.0 From nobody Thu Oct 15 23:34:51 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C48C43E3DAB for ; Tue, 13 Oct 2026 06:57:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791874622; cv=none; b=rYXtTnCuhfJ6GvWE/sfYozYNEt9jA2cG/fBzuYWnw9MfeVACw04WMUdsU/0Cz6nWlNiJXxfwwRlaK7+gqD8K7Qs5q5y8jvGQCr7cmg0i5wxzEi65qO7806RbzgrOsbTLJ0GD0lv4Yi2XWWOtktWTglu17zmpjhw2kIJrx7fDqO0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791874622; c=relaxed/simple; bh=bB8bP+EBqk8d9SED9t5R1zN+D1RMC9NlD44qwYK010c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tWgT24mS7lD9ZObdwf6FTxfTPVXI74Chl6bMIEt5koi3l1GsjaGF8KMHf/GnKdO+pb8gfFwwKdnOgrKmIAz5QlKCTS10zl6sZPbII1Qmh7nzx9MFFqpFtlBJrA/Dp9Nnyk6WHxXuVdcVP1Wb+KP7GsjoaE6iQonV6vk09DlU824= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aB+PQt7F; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aB+PQt7F" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 764B01F000FF; Tue, 13 Oct 2026 06:56:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791874621; bh=7ooodC8wv2x51L7HgDdeMIWMCxUmSM+hFhx5pOc5UGc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=aB+PQt7FTKMxN5dYImED7zTggaUbu9jj8QmSOwWjizN88qFnOZwPdcnx8z9ln9itn JGaH847LKf54SWV5kPc/pBdty4DhbXK4RoeFBjzg01ZhfSDvjPHAT2FkB/f0QnF40X VzuPYFgZk7OcnbeoxWnMY/0mkz6fbMsOHTb7ZRcs0AU0xEx8J9dKLmoNRISB9R3sOQ ljY/Brl5FejyRK048aOgDr2QPz+8NAen7BA/pgG58J+J8QOdfpxEZYuN1MsuP5jrYO gGvM2C2D8szws+CxH2b1hd46RaR23pzDXbTspDjcoygDl/9LCnExgHTtdKqcQ4lJWa 1iUZcpJmvbGgQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , =?UTF-8?q?G=C3=BCnther=20Noack?= Subject: [PATCH mptcp-next 2/2] Squash to "bpf: Add mptcp_subflow bpf_iter" Date: Tue, 13 Oct 2026 14:56:47 +0800 Message-ID: X-Mailer: git-send-email 2.55.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang Use the new msk_is_mptcp() helper to replace the open-coded check for sk_type and sk_protocol in bpf_iter_mptcp_subflow_new(). This makes the code cleaner and consistent with other MPTCP socket type checks. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index 82b0ad25f700..53111d7a9eee 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -250,14 +250,7 @@ bpf_iter_mptcp_subflow_new(struct bpf_iter_mptcp_subfl= ow *it, BUILD_BUG_ON(__alignof__(struct bpf_iter_mptcp_subflow_kern) !=3D __alignof__(struct bpf_iter_mptcp_subflow)); =20 - if (unlikely(!sk || !sk_fullsock(sk))) { - kit->msk =3D NULL; - kit->pos =3D NULL; - return -EINVAL; - } - - if (sk->sk_type !=3D SOCK_STREAM || - sk->sk_protocol !=3D IPPROTO_MPTCP) { + if (unlikely(!sk || !sk_fullsock(sk) || !msk_is_mptcp(sk))) { kit->msk =3D NULL; kit->pos =3D NULL; return -EINVAL; --=20 2.55.0