lkml.org 
[lkml]   [2019]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.20 096/105] bpf: fix SO_MAX_PACING_RATE to support TCP internal pacing
    Date
    From: Yuchung Cheng <ycheng@google.com>

    [ Upstream commit e224c390a6259c529f7b2a6bd215a087b3344f5c ]

    If sch_fq packet scheduler is not used, TCP can fallback to
    internal pacing, but this requires sk_pacing_status to
    be properly set.

    Fixes: 8c4b4c7e9ff0 ("bpf: Add setsockopt helper function to bpf")
    Signed-off-by: Yuchung Cheng <ycheng@google.com>
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Lawrence Brakmo <brakmo@fb.com>
    Acked-by: Martin KaFai Lau <kafai@fb.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/core/filter.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/net/core/filter.c b/net/core/filter.c
    index e176b335ddc0..16350f8c8815 100644
    --- a/net/core/filter.c
    +++ b/net/core/filter.c
    @@ -3935,6 +3935,10 @@ BPF_CALL_5(bpf_setsockopt, struct bpf_sock_ops_kern *, bpf_sock,
    sk->sk_sndbuf = max_t(int, val * 2, SOCK_MIN_SNDBUF);
    break;
    case SO_MAX_PACING_RATE: /* 32bit version */
    + if (val != ~0U)
    + cmpxchg(&sk->sk_pacing_status,
    + SK_PACING_NONE,
    + SK_PACING_NEEDED);
    sk->sk_max_pacing_rate = (val == ~0U) ? ~0UL : val;
    sk->sk_pacing_rate = min(sk->sk_pacing_rate,
    sk->sk_max_pacing_rate);
    --
    2.19.1
    \
     
     \ /
      Last update: 2019-02-13 03:59    [W:4.092 / U:0.412 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site