On Mon, Nov 30, 2020 at 4:07 PM Prankur gupta <prank...@fb.com> 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 <prank...@fb.com>
> ---
>  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
>

Reply via email to