mptcp: add struct mptcp_sched_ops
authorGeliang Tang <geliang.tang@suse.com>
Mon, 21 Aug 2023 22:25:14 +0000 (15:25 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 23 Aug 2023 00:31:18 +0000 (17:31 -0700)
commit740ebe35bd3f5c4ff8ec60e5e521e47ea8f5492c
treed3b4665e6a4d9e6e4cb332667d446d12e090d54c
parentebc1e08f01ebedbf962e6417bbf6952bd4ca2142
mptcp: add struct mptcp_sched_ops

This patch defines struct mptcp_sched_ops, which has three struct members,
name, owner and list, and four function pointers: init(), release() and
get_subflow().

The scheduler function get_subflow() have a struct mptcp_sched_data
parameter, which contains a reinject flag for retrans or not, a subflows
number and a mptcp_subflow_context array.

Add the scheduler registering, unregistering and finding functions to add,
delete and find a packet scheduler on the global list mptcp_sched_list.

Acked-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <martineau@kernel.org>
Link: https://lore.kernel.org/r/20230821-upstream-net-next-20230818-v1-3-0c860fb256a8@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/mptcp.h
net/mptcp/Makefile
net/mptcp/protocol.h
net/mptcp/sched.c [new file with mode: 0644]