add files

This commit is contained in:
Mahno 2025-02-09 18:01:40 +08:00
parent 2e6402b893
commit 1fd49f5ef9
2 changed files with 67 additions and 0 deletions

5
Makefile Normal file
View File

@ -0,0 +1,5 @@
obj-m += tcp_const.o
all:
make -C /lib/modules/`uname -r`/build M=`pwd` modules

62
tcp_const.c Normal file
View File

@ -0,0 +1,62 @@
#include <linux/module.h>
#include <net/tcp.h>
static u32 const_cwnd = 1000;
module_param(const_cwnd, uint, 0664);
static void const_main(struct sock *sk, u32,int,const struct rate_sample *rs)
{
tcp_sk(sk)->snd_cwnd = const_cwnd;
}
static void const_cong_avoid(struct sock *sk, u32 ack, u32 acked)
{
tcp_sk(sk)->snd_cwnd = const_cwnd;
}
static void const_init(struct sock *sk)
{
tcp_sk(sk)->snd_cwnd = const_cwnd;
}
static u32 const_ssthresh(struct sock *sk)
{
return const_cwnd;
}
static void const_set_state(struct sock *sk, u8 new_state)
{
if (new_state == TCP_CA_Loss) {
tcp_sk(sk)->snd_cwnd = const_cwnd;
}
}
static u32 const_undo(struct sock *sk)
{
return tcp_sk(sk)->snd_cwnd;
}
static struct tcp_congestion_ops tcp_const_cong_ops __read_mostly = {
.name = "const",
.undo_cwnd = const_undo,
.init = const_init,
.cong_control = const_main,
/*.cong_avoid = const_cong_avoid,*/
.ssthresh = const_ssthresh,
.set_state = const_set_state,
};
static int __init const_register(void)
{
return tcp_register_congestion_control(&tcp_const_cong_ops);
}
static void __exit const_unregister(void)
{
tcp_unregister_congestion_control(&tcp_const_cong_ops);
}
module_init(const_register);
module_exit(const_unregister);
MODULE_LICENSE("GPL");