On Mon, Nov 30, 2020 at 4:07 PM Prankur gupta <prankgup@xxxxxx> wrote: > > Adds a new bpf_setsockopt for TCP sockets, TCP_BPF_WINDOW_CLAMP, > which sets the maximum receiver window size. It will be useful for > limiting receiver window based on RTT. > > Signed-off-by: Prankur gupta <prankgup@xxxxxx> > --- > net/core/filter.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/net/core/filter.c b/net/core/filter.c > index 2ca5eecebacf..cb006962b677 100644 > --- a/net/core/filter.c > +++ b/net/core/filter.c > @@ -4910,6 +4910,14 @@ static int _bpf_setsockopt(struct sock *sk, int level, int optname, > tp->notsent_lowat = val; > sk->sk_write_space(sk); > break; > + case TCP_WINDOW_CLAMP: > + if (val <= 0) > + ret = -EINVAL; Why zero is not allowed? Normal setsockopt() allows it. > + else > + tp->window_clamp = > + max_t(int, val, > + SOCK_MIN_RCVBUF / 2); > + break; > default: > ret = -EINVAL; > } > -- > 2.24.1 >