diff options
author | Eric Dumazet <edumazet@google.com> | 2017-02-02 08:04:56 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-02-03 11:19:34 -0500 |
commit | 3541f9e8bdebce02458882b66b638d7302c1f616 (patch) | |
tree | 1049ef01f68f197e66fa77f18768aaf6d219f8b1 /net/ipv4/tcp_minisocks.c | |
parent | ff3edc9b8efc8200c25f3a5adfb1c1de0a882dc5 (diff) | |
download | linux-stable-3541f9e8bdebce02458882b66b638d7302c1f616.tar.gz linux-stable-3541f9e8bdebce02458882b66b638d7302c1f616.tar.bz2 linux-stable-3541f9e8bdebce02458882b66b638d7302c1f616.zip |
tcp: add tcp_mss_clamp() helper
Small cleanup factorizing code doing the TCP_MAXSEG clamping.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_minisocks.c')
-rw-r--r-- | net/ipv4/tcp_minisocks.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index bdb443471c39..dff7d2aaf861 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c @@ -360,15 +360,12 @@ void tcp_openreq_init_rwin(struct request_sock *req, { struct inet_request_sock *ireq = inet_rsk(req); const struct tcp_sock *tp = tcp_sk(sk_listener); - u16 user_mss = READ_ONCE(tp->rx_opt.user_mss); int full_space = tcp_full_space(sk_listener); - int mss = dst_metric_advmss(dst); u32 window_clamp; __u8 rcv_wscale; + int mss; - if (user_mss && user_mss < mss) - mss = user_mss; - + mss = tcp_mss_clamp(tp, dst_metric_advmss(dst)); window_clamp = READ_ONCE(tp->window_clamp); /* Set this up on the first call only */ req->rsk_window_clamp = window_clamp ? : dst_metric(dst, RTAX_WINDOW); |