bpf: Adds support for setting sndcwnd clamp
Adds a new bpf_setsockopt for TCP sockets, TCP_BPF_SNDCWND_CLAMP, which sets the initial congestion window. It is useful to limit the sndcwnd when the host are close to each other (small RTT). Signed-off-by: Lawrence Brakmo <brakmo@fb.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7bc62e2854
commit
13bf96411a
@ -784,5 +784,6 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define TCP_BPF_IW 1001 /* Set TCP initial congestion window */
|
#define TCP_BPF_IW 1001 /* Set TCP initial congestion window */
|
||||||
|
#define TCP_BPF_SNDCWND_CLAMP 1002 /* Set sndcwnd_clamp */
|
||||||
|
|
||||||
#endif /* _UAPI__LINUX_BPF_H__ */
|
#endif /* _UAPI__LINUX_BPF_H__ */
|
||||||
|
@ -2746,6 +2746,13 @@ BPF_CALL_5(bpf_setsockopt, struct bpf_sock_ops_kern *, bpf_sock,
|
|||||||
else
|
else
|
||||||
tp->snd_cwnd = val;
|
tp->snd_cwnd = val;
|
||||||
break;
|
break;
|
||||||
|
case TCP_BPF_SNDCWND_CLAMP:
|
||||||
|
if (val <= 0) {
|
||||||
|
ret = -EINVAL;
|
||||||
|
} else {
|
||||||
|
tp->snd_cwnd_clamp = val;
|
||||||
|
tp->snd_ssthresh = val;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user