Re: [PATCH net-next 06/12] mptcp: pm: define struct mptcp_pm_ops
From: Simon Horman
Date: Tue Mar 18 2025 - 13:24:52 EST
On Thu, Mar 13, 2025 at 11:20:55AM +0100, Matthieu Baerts (NGI0) wrote:
> From: Geliang Tang <tanggeliang@xxxxxxxxxx>
>
> In order to allow users to develop their own BPF-based path manager,
> this patch defines a struct ops "mptcp_pm_ops" for an MPTCP path
> manager, which contains a set of interfaces. Currently only init()
> and release() interfaces are included, subsequent patches will add
> others step by step.
>
> Add a set of functions to register, unregister, find and validate a
> given path manager struct ops.
>
> "list" is used to add this path manager to mptcp_pm_list list when
> it is registered. "name" is used to identify this path manager.
> mptcp_pm_find() uses "name" to find a path manager on the list.
>
> mptcp_pm_unregister is not used in this set, but will be invoked in
> .unreg of struct bpf_struct_ops. mptcp_pm_validate() will be invoked
> in .validate of struct bpf_struct_ops. That's why they are exported.
>
> Signed-off-by: Geliang Tang <tanggeliang@xxxxxxxxxx>
> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@xxxxxxxxxx>
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@xxxxxxxxxx>
Reviewed-by: Simon Horman <horms@xxxxxxxxxx>