36 #include <linux/module.h>
95 static void tcp_lp_init(
struct sock *
sk)
97 struct lp *
lp = inet_csk_ca(sk);
120 struct lp *
lp = inet_csk_ca(sk);
133 static u32 tcp_lp_remote_hz_estimator(
struct sock *sk)
136 struct lp *lp = inet_csk_ca(sk);
186 static u32 tcp_lp_owd_calculator(
struct sock *sk)
189 struct lp *lp = inet_csk_ca(sk);
192 lp->
remote_hz = tcp_lp_remote_hz_estimator(sk);
220 static void tcp_lp_rtt_sample(
struct sock *sk,
u32 rtt)
222 struct lp *lp = inet_csk_ca(sk);
223 s64 mowd = tcp_lp_owd_calculator(sk);
248 mowd -= lp->
sowd >> 3;
251 lp->
sowd = mowd << 3;
263 static void tcp_lp_pkts_acked(
struct sock *sk,
u32 num_acked,
s32 rtt_us)
266 struct lp *lp = inet_csk_ca(sk);
269 tcp_lp_rtt_sample(sk, rtt_us);
288 pr_debug(
"TCP-LP: %05o|%5u|%5u|%15u|%15u|%15u\n", lp->
flag,
320 .cong_avoid = tcp_lp_cong_avoid,
322 .pkts_acked = tcp_lp_pkts_acked,
328 static int __init tcp_lp_register(
void)
334 static void __exit tcp_lp_unregister(
void)