]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/ipv4/tcp_ipv4.c
tcp: advertise MSS requested by user
[karo-tx-linux.git] / net / ipv4 / tcp_ipv4.c
index 3dfbc21e555aebecea056d16db070c600a7670a1..44aef1c1f37332b3583fbf05352afe7688faeca1 100644 (file)
@@ -1364,6 +1364,10 @@ struct sock *tcp_v4_syn_recv_sock(struct sock *sk, struct sk_buff *skb,
        tcp_mtup_init(newsk);
        tcp_sync_mss(newsk, dst_mtu(dst));
        newtp->advmss = dst_metric(dst, RTAX_ADVMSS);
+       if (tcp_sk(sk)->rx_opt.user_mss &&
+           tcp_sk(sk)->rx_opt.user_mss < newtp->advmss)
+               newtp->advmss = tcp_sk(sk)->rx_opt.user_mss;
+
        tcp_initialize_rcv_mss(newsk);
 
 #ifdef CONFIG_TCP_MD5SIG