[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <89600917-ec58-3a30-dea7-bae2d67cc838@linux.alibaba.com>
Date: Tue, 21 Feb 2023 15:29:59 +0800
From: "D. Wythe" <alibuda@...ux.alibaba.com>
To: kgraul@...ux.ibm.com, wenjia@...ux.ibm.com, jaka@...ux.ibm.com
Cc: kuba@...nel.org, davem@...emloft.net, netdev@...r.kernel.org,
linux-s390@...r.kernel.org, linux-rdma@...r.kernel.org
Subject: Re: [PATCH net-next 0/2] net/smc: Introduce BPF injection capability
Sorry for forgot to cc the maintainer of BPF,
please ignore this. I will resend a new version.
On 2/21/23 3:25 PM, D. Wythe wrote:
> From: "D. Wythe" <alibuda@...ux.alibaba.com>
>
> This PATCHes attempts to introduce BPF injection capability for SMC,
> and add selftest to ensure code stability.
>
> As we all know that the SMC protocol is not suitable for all scenarios,
> especially for short-lived. However, for most applications, they cannot
> guarantee that there are no such scenarios at all. Therefore, apps
> may need some specific strategies to decide shall we need to use SMC
> or not, for example, apps can limit the scope of the SMC to a specific
> IP address or port.
>
> Based on the consideration of transparent replacement, we hope that apps
> can remain transparent even if they need to formulate some specific
> strategies for SMC using. That is, do not need to recompile their code.
>
> On the other hand, we need to ensure the scalability of strategies
> implementation. Although it is simple to use socket options or sysctl,
> it will bring more complexity to subsequent expansion.
>
> Fortunately, BPF can solve these concerns very well, users can write
> thire own strategies in eBPF to choose whether to use SMC or not.
> And it's quite easy for them to modify their strategies in the future.
>
> This PATCHes implement injection capability for SMC via struct_ops.
> In that way, we can add new injection scenarios in the future.
>
> D. Wythe (2):
> net/smc: Introduce BPF injection capability for SMC
> net/smc: add selftest for SMC bpf capability
>
> include/linux/btf_ids.h | 15 ++
> include/net/smc.h | 254 ++++++++++++++++++
> kernel/bpf/bpf_struct_ops_types.h | 4 +
> net/Makefile | 5 +
> net/smc/af_smc.c | 10 +-
> net/smc/bpf_smc_struct_ops.c | 146 +++++++++++
> net/smc/smc.h | 220 ----------------
> tools/testing/selftests/bpf/prog_tests/bpf_smc.c | 39 +++
> tools/testing/selftests/bpf/progs/bpf_smc.c | 315 +++++++++++++++++++++++
> 9 files changed, 787 insertions(+), 221 deletions(-)
> create mode 100644 net/smc/bpf_smc_struct_ops.c
> create mode 100644 tools/testing/selftests/bpf/prog_tests/bpf_smc.c
> create mode 100644 tools/testing/selftests/bpf/progs/bpf_smc.c
>
Powered by blists - more mailing lists