linux/net/mptcp/sched.c

// SPDX-License-Identifier: GPL-2.0
/* Multipath TCP
 *
 * Copyright (c) 2022, SUSE.
 */

#define pr_fmt(fmt)

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/list.h>
#include <linux/rculist.h>
#include <linux/spinlock.h>
#include "protocol.h"

static DEFINE_SPINLOCK(mptcp_sched_list_lock);
static LIST_HEAD(mptcp_sched_list);

static int mptcp_sched_default_get_subflow(struct mptcp_sock *msk,
					   struct mptcp_sched_data *data)
{}

static struct mptcp_sched_ops mptcp_sched_default =;

/* Must be called with rcu read lock held */
struct mptcp_sched_ops *mptcp_sched_find(const char *name)
{}

/* Build string with list of available scheduler values.
 * Similar to tcp_get_available_congestion_control()
 */
void mptcp_get_available_schedulers(char *buf, size_t maxlen)
{}

int mptcp_register_scheduler(struct mptcp_sched_ops *sched)
{}

void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched)
{}

void mptcp_sched_init(void)
{}

int mptcp_init_sched(struct mptcp_sock *msk,
		     struct mptcp_sched_ops *sched)
{}

void mptcp_release_sched(struct mptcp_sock *msk)
{}

void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow,
				 bool scheduled)
{}

int mptcp_sched_get_send(struct mptcp_sock *msk)
{}

int mptcp_sched_get_retrans(struct mptcp_sock *msk)
{}