[PATCH mptcp-next v10 02/13] Squash to "mptcp: add struct mptcp_sched_ops"

Geliang Tang posted 13 patches 2 years, 7 months ago
Maintainers: Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, John Fastabend <john.fastabend@gmail.com>, Andrii Nakryiko <andrii@kernel.org>, Martin KaFai Lau <martin.lau@linux.dev>, Song Liu <song@kernel.org>, Yonghong Song <yhs@fb.com>, KP Singh <kpsingh@kernel.org>, Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>, Jiri Olsa <jolsa@kernel.org>, Matthieu Baerts <matthieu.baerts@tessares.net>, Mat Martineau <martineau@kernel.org>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Mykola Lysenko <mykolal@fb.com>, Shuah Khan <shuah@kernel.org>
There is a newer version of this series
[PATCH mptcp-next v10 02/13] Squash to "mptcp: add struct mptcp_sched_ops"
Posted by Geliang Tang 2 years, 7 months ago
- Add subflows in mptcp_sched_data.

- Drop const before msk in data_init() and get_subflow(), since
msk->bpf_storage needs to be writable.

- Add const before data in get_subflow().

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 include/net/mptcp.h | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/include/net/mptcp.h b/include/net/mptcp.h
index 828b10ddabee..ba0e1ee68a05 100644
--- a/include/net/mptcp.h
+++ b/include/net/mptcp.h
@@ -101,21 +101,22 @@ struct mptcp_out_options {
 
 struct mptcp_sched_data {
 	bool	reinject;
+	u8	subflows;
 	struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX];
 };
 
 struct mptcp_sched_ops {
-	void (*data_init)(const struct mptcp_sock *msk,
+	void (*data_init)(struct mptcp_sock *msk,
 			  struct mptcp_sched_data *data);
-	int (*get_subflow)(const struct mptcp_sock *msk,
-			   struct mptcp_sched_data *data);
+	int (*get_subflow)(struct mptcp_sock *msk,
+			   const struct mptcp_sched_data *data);
 
 	char			name[MPTCP_SCHED_NAME_MAX];
 	struct module		*owner;
 	struct list_head	list;
 
-	void (*init)(const struct mptcp_sock *msk);
-	void (*release)(const struct mptcp_sock *msk);
+	void (*init)(struct mptcp_sock *msk);
+	void (*release)(struct mptcp_sock *msk);
 } ____cacheline_aligned_in_smp;
 
 #ifdef CONFIG_MPTCP
-- 
2.35.3
Re: [PATCH mptcp-next v10 02/13] Squash to "mptcp: add struct mptcp_sched_ops"
Posted by Geliang Tang 2 years, 7 months ago
On Mon, Jun 26, 2023 at 10:23:03AM +0800, Geliang Tang wrote:
> - Add subflows in mptcp_sched_data.
> 
> - Drop const before msk in data_init() and get_subflow(), since
> msk->bpf_storage needs to be writable.

No need to change msk type, we can keep it as const:

#define MPTCP_SCHED_NAME_MAX    16
#define MPTCP_SUBFLOWS_MAX      8

struct mptcp_sched_data {
        bool    reinject;
        u8      subflows;
        struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX];
};

struct mptcp_sched_ops {
        void (*data_init)(const struct mptcp_sock *msk,
                          struct mptcp_sched_data *data);
        int (*get_subflow)(struct mptcp_sock *msk,
                           const struct mptcp_sched_data *data);

        char                    name[MPTCP_SCHED_NAME_MAX];
        struct module           *owner;
        struct list_head        list;

        void (*init)(const struct mptcp_sock *msk);
        void (*release)(const struct mptcp_sock *msk);
} ____cacheline_aligned_in_smp;

Will update in v11.

-Geliang

> 
> - Add const before data in get_subflow().
> 
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
>  include/net/mptcp.h | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/include/net/mptcp.h b/include/net/mptcp.h
> index 828b10ddabee..ba0e1ee68a05 100644
> --- a/include/net/mptcp.h
> +++ b/include/net/mptcp.h
> @@ -101,21 +101,22 @@ struct mptcp_out_options {
>  
>  struct mptcp_sched_data {
>  	bool	reinject;
> +	u8	subflows;
>  	struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX];
>  };
>  
>  struct mptcp_sched_ops {
> -	void (*data_init)(const struct mptcp_sock *msk,
> +	void (*data_init)(struct mptcp_sock *msk,
>  			  struct mptcp_sched_data *data);
> -	int (*get_subflow)(const struct mptcp_sock *msk,
> -			   struct mptcp_sched_data *data);
> +	int (*get_subflow)(struct mptcp_sock *msk,
> +			   const struct mptcp_sched_data *data);
>  
>  	char			name[MPTCP_SCHED_NAME_MAX];
>  	struct module		*owner;
>  	struct list_head	list;
>  
> -	void (*init)(const struct mptcp_sock *msk);
> -	void (*release)(const struct mptcp_sock *msk);
> +	void (*init)(struct mptcp_sock *msk);
> +	void (*release)(struct mptcp_sock *msk);
>  } ____cacheline_aligned_in_smp;
>  
>  #ifdef CONFIG_MPTCP
> -- 
> 2.35.3
>