diff options
author | Pavel Emelyanov <xemul@parallels.com> | 2012-04-19 05:41:32 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-21 21:52:25 +0200 |
commit | 5e6a3ce6573f0c519d1ff57df60e3877bb2d3151 (patch) | |
tree | bce0733fb197e97c6697e63fb2f30dc2692ffdf3 | |
parent | tcp: Repair socket queues (diff) | |
download | linux-5e6a3ce6573f0c519d1ff57df60e3877bb2d3151.tar.xz linux-5e6a3ce6573f0c519d1ff57df60e3877bb2d3151.zip |
tcp: Report mss_clamp with TCP_MAXSEG option in repair mode
The mss_clamp is the only connection-time negotiated option which
cannot be obtained from the user space. Make the TCP_MAXSEG sockopt
report one in the repair mode.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv4/tcp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 47e2f4972f79..b4e690ddb08c 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -2659,6 +2659,8 @@ static int do_tcp_getsockopt(struct sock *sk, int level, val = tp->mss_cache; if (!val && ((1 << sk->sk_state) & (TCPF_CLOSE | TCPF_LISTEN))) val = tp->rx_opt.user_mss; + if (tp->repair) + val = tp->rx_opt.mss_clamp; break; case TCP_NODELAY: val = !!(tp->nonagle&TCP_NAGLE_OFF); |