diff options
| author | Eric Dumazet <[email protected]> | 2025-07-11 11:40:02 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2025-07-15 01:41:43 +0000 |
| commit | 38d7e444336567bae1c7b21fc18b7ceaaa5643a0 (patch) | |
| tree | 9e4173c74b59d94d6b1f8a86333c8d9ae67ef132 /net/ipv4/tcp_input.c | |
| parent | selftests/net: packetdrill: add tcp_rcv_big_endseq.pkt (diff) | |
| download | kernel-38d7e444336567bae1c7b21fc18b7ceaaa5643a0.tar.gz kernel-38d7e444336567bae1c7b21fc18b7ceaaa5643a0.zip | |
tcp: call tcp_measure_rcv_mss() for ooo packets
tcp_measure_rcv_mss() is used to update icsk->icsk_ack.rcv_mss
(tcpi_rcv_mss in tcp_info) and tp->scaling_ratio.
Calling it from tcp_data_queue_ofo() makes sure these
fields are updated, and permits a better tuning
of sk->sk_rcvbuf, in the case a new flow receives many ooo
packets.
Fixes: dfa2f0483360 ("tcp: get rid of sysctl_tcp_adv_win_scale")
Signed-off-by: Eric Dumazet <[email protected]>
Reviewed-by: Kuniyuki Iwashima <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/ipv4/tcp_input.c')
| -rw-r--r-- | net/ipv4/tcp_input.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 5e2d82c273e2..78da05933078 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -4923,6 +4923,7 @@ static void tcp_data_queue_ofo(struct sock *sk, struct sk_buff *skb) return; } + tcp_measure_rcv_mss(sk, skb); /* Disable header prediction. */ tp->pred_flags = 0; inet_csk_schedule_ack(sk); |
