13 #include <linux/module.h>
15 #include <linux/inet_diag.h>
22 #define V_PARAM_SHIFT 1
44 static inline void veno_enable(
struct sock *
sk)
54 static inline void veno_disable(
struct sock *
sk)
62 static void tcp_veno_init(
struct sock *
sk)
94 static void tcp_veno_state(
struct sock *sk,
u8 ca_state)
117 static void tcp_veno_cong_avoid(
struct sock *sk,
u32 ack,
u32 in_flight)
120 struct veno *veno = inet_csk_ca(sk);
158 if (veno->
diff < beta) {
187 veno->
minrtt = 0x7fffffff;
191 static u32 tcp_veno_ssthresh(
struct sock *sk)
193 const struct tcp_sock *tp = tcp_sk(sk);
194 struct veno *veno = inet_csk_ca(sk);
196 if (veno->
diff < beta)
206 .init = tcp_veno_init,
207 .ssthresh = tcp_veno_ssthresh,
208 .cong_avoid = tcp_veno_cong_avoid,
209 .pkts_acked = tcp_veno_pkts_acked,
210 .set_state = tcp_veno_state,
211 .cwnd_event = tcp_veno_cwnd_event,
217 static int __init tcp_veno_register(
void)
224 static void __exit tcp_veno_unregister(
void)