diff options
Diffstat (limited to 'net/ipv4/tcp_output.c')
| -rw-r--r-- | net/ipv4/tcp_output.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index b5fa3c19afee..0faacf9c419d 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
| @@ -1035,8 +1035,10 @@ static inline int tcp_nagle_test(struct tcp_sock *tp, struct sk_buff *skb, | |||
| 1035 | if (nonagle & TCP_NAGLE_PUSH) | 1035 | if (nonagle & TCP_NAGLE_PUSH) |
| 1036 | return 1; | 1036 | return 1; |
| 1037 | 1037 | ||
| 1038 | /* Don't use the nagle rule for urgent data (or for the final FIN). */ | 1038 | /* Don't use the nagle rule for urgent data (or for the final FIN). |
| 1039 | if (tp->urg_mode || | 1039 | * Nagle can be ignored during F-RTO too (see RFC4138). |
| 1040 | */ | ||
| 1041 | if (tp->urg_mode || (tp->frto_counter == 2) || | ||
| 1040 | (TCP_SKB_CB(skb)->flags & TCPCB_FLAG_FIN)) | 1042 | (TCP_SKB_CB(skb)->flags & TCPCB_FLAG_FIN)) |
| 1041 | return 1; | 1043 | return 1; |
| 1042 | 1044 | ||
