diff options
-rw-r--r-- | include/net/tcp.h | 12 | ||||
-rw-r--r-- | net/ipv4/tcp.c | 2 | ||||
-rw-r--r-- | net/ipv4/tcp_input.c | 40 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 4 | ||||
-rw-r--r-- | net/ipv4/tcp_minisocks.c | 6 | ||||
-rw-r--r-- | net/ipv4/tcp_output.c | 6 | ||||
-rw-r--r-- | net/ipv4/tcp_timer.c | 4 |
7 files changed, 37 insertions, 37 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index 44ba4a21cbdc..6e6f0f3f1dd8 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -89,10 +89,10 @@ extern void tcp_time_wait(struct sock *sk, int state, int timeo); | |||
89 | */ | 89 | */ |
90 | 90 | ||
91 | #define TCP_SYN_RETRIES 5 /* number of times to retry active opening a | 91 | #define TCP_SYN_RETRIES 5 /* number of times to retry active opening a |
92 | * connection: ~180sec is RFC minumum */ | 92 | * connection: ~180sec is RFC minimum */ |
93 | 93 | ||
94 | #define TCP_SYNACK_RETRIES 5 /* number of times to retry passive opening a | 94 | #define TCP_SYNACK_RETRIES 5 /* number of times to retry passive opening a |
95 | * connection: ~180sec is RFC minumum */ | 95 | * connection: ~180sec is RFC minimum */ |
96 | 96 | ||
97 | 97 | ||
98 | #define TCP_ORPHAN_RETRIES 7 /* number of times to retry on an orphaned | 98 | #define TCP_ORPHAN_RETRIES 7 /* number of times to retry on an orphaned |
@@ -180,7 +180,7 @@ extern void tcp_time_wait(struct sock *sk, int state, int timeo); | |||
180 | /* Flags in tp->nonagle */ | 180 | /* Flags in tp->nonagle */ |
181 | #define TCP_NAGLE_OFF 1 /* Nagle's algo is disabled */ | 181 | #define TCP_NAGLE_OFF 1 /* Nagle's algo is disabled */ |
182 | #define TCP_NAGLE_CORK 2 /* Socket is corked */ | 182 | #define TCP_NAGLE_CORK 2 /* Socket is corked */ |
183 | #define TCP_NAGLE_PUSH 4 /* Cork is overriden for already queued data */ | 183 | #define TCP_NAGLE_PUSH 4 /* Cork is overridden for already queued data */ |
184 | 184 | ||
185 | extern struct inet_timewait_death_row tcp_death_row; | 185 | extern struct inet_timewait_death_row tcp_death_row; |
186 | 186 | ||
@@ -552,13 +552,13 @@ extern u32 __tcp_select_window(struct sock *sk); | |||
552 | 552 | ||
553 | /* TCP timestamps are only 32-bits, this causes a slight | 553 | /* TCP timestamps are only 32-bits, this causes a slight |
554 | * complication on 64-bit systems since we store a snapshot | 554 | * complication on 64-bit systems since we store a snapshot |
555 | * of jiffies in the buffer control blocks below. We decidely | 555 | * of jiffies in the buffer control blocks below. We decidedly |
556 | * only use of the low 32-bits of jiffies and hide the ugly | 556 | * only use of the low 32-bits of jiffies and hide the ugly |
557 | * casts with the following macro. | 557 | * casts with the following macro. |
558 | */ | 558 | */ |
559 | #define tcp_time_stamp ((__u32)(jiffies)) | 559 | #define tcp_time_stamp ((__u32)(jiffies)) |
560 | 560 | ||
561 | /* This is what the send packet queueing engine uses to pass | 561 | /* This is what the send packet queuing engine uses to pass |
562 | * TCP per-packet control information to the transmission | 562 | * TCP per-packet control information to the transmission |
563 | * code. We also store the host-order sequence numbers in | 563 | * code. We also store the host-order sequence numbers in |
564 | * here too. This is 36 bytes on 32-bit architectures, | 564 | * here too. This is 36 bytes on 32-bit architectures, |
@@ -598,7 +598,7 @@ struct tcp_skb_cb { | |||
598 | #define TCPCB_EVER_RETRANS 0x80 /* Ever retransmitted frame */ | 598 | #define TCPCB_EVER_RETRANS 0x80 /* Ever retransmitted frame */ |
599 | #define TCPCB_RETRANS (TCPCB_SACKED_RETRANS|TCPCB_EVER_RETRANS) | 599 | #define TCPCB_RETRANS (TCPCB_SACKED_RETRANS|TCPCB_EVER_RETRANS) |
600 | 600 | ||
601 | #define TCPCB_URG 0x20 /* Urgent pointer advenced here */ | 601 | #define TCPCB_URG 0x20 /* Urgent pointer advanced here */ |
602 | 602 | ||
603 | #define TCPCB_AT_TAIL (TCPCB_URG) | 603 | #define TCPCB_AT_TAIL (TCPCB_URG) |
604 | 604 | ||
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index cfaf76133759..9ac7a4f46bd8 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -1640,7 +1640,7 @@ int tcp_disconnect(struct sock *sk, int flags) | |||
1640 | } else if (tcp_need_reset(old_state) || | 1640 | } else if (tcp_need_reset(old_state) || |
1641 | (tp->snd_nxt != tp->write_seq && | 1641 | (tp->snd_nxt != tp->write_seq && |
1642 | (1 << old_state) & (TCPF_CLOSING | TCPF_LAST_ACK))) { | 1642 | (1 << old_state) & (TCPF_CLOSING | TCPF_LAST_ACK))) { |
1643 | /* The last check adjusts for discrepance of Linux wrt. RFC | 1643 | /* The last check adjusts for discrepancy of Linux wrt. RFC |
1644 | * states | 1644 | * states |
1645 | */ | 1645 | */ |
1646 | tcp_send_active_reset(sk, gfp_any()); | 1646 | tcp_send_active_reset(sk, gfp_any()); |
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 827cd4b9e867..34cfa58eab76 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -42,7 +42,7 @@ | |||
42 | * Andi Kleen : Moved open_request checking here | 42 | * Andi Kleen : Moved open_request checking here |
43 | * and process RSTs for open_requests. | 43 | * and process RSTs for open_requests. |
44 | * Andi Kleen : Better prune_queue, and other fixes. | 44 | * Andi Kleen : Better prune_queue, and other fixes. |
45 | * Andrey Savochkin: Fix RTT measurements in the presnce of | 45 | * Andrey Savochkin: Fix RTT measurements in the presence of |
46 | * timestamps. | 46 | * timestamps. |
47 | * Andrey Savochkin: Check sequence numbers correctly when | 47 | * Andrey Savochkin: Check sequence numbers correctly when |
48 | * removing SACKs due to in sequence incoming | 48 | * removing SACKs due to in sequence incoming |
@@ -224,7 +224,7 @@ static void tcp_fixup_sndbuf(struct sock *sk) | |||
224 | * of receiver window. Check #2. | 224 | * of receiver window. Check #2. |
225 | * | 225 | * |
226 | * The scheme does not work when sender sends good segments opening | 226 | * The scheme does not work when sender sends good segments opening |
227 | * window and then starts to feed us spagetti. But it should work | 227 | * window and then starts to feed us spaghetti. But it should work |
228 | * in common situations. Otherwise, we have to rely on queue collapsing. | 228 | * in common situations. Otherwise, we have to rely on queue collapsing. |
229 | */ | 229 | */ |
230 | 230 | ||
@@ -278,7 +278,7 @@ static void tcp_fixup_rcvbuf(struct sock *sk) | |||
278 | int rcvmem = tp->advmss + MAX_TCP_HEADER + 16 + sizeof(struct sk_buff); | 278 | int rcvmem = tp->advmss + MAX_TCP_HEADER + 16 + sizeof(struct sk_buff); |
279 | 279 | ||
280 | /* Try to select rcvbuf so that 4 mss-sized segments | 280 | /* Try to select rcvbuf so that 4 mss-sized segments |
281 | * will fit to window and correspoding skbs will fit to our rcvbuf. | 281 | * will fit to window and corresponding skbs will fit to our rcvbuf. |
282 | * (was 3; 4 is minimum to allow fast retransmit to work.) | 282 | * (was 3; 4 is minimum to allow fast retransmit to work.) |
283 | */ | 283 | */ |
284 | while (tcp_win_from_space(rcvmem) < tp->advmss) | 284 | while (tcp_win_from_space(rcvmem) < tp->advmss) |
@@ -287,7 +287,7 @@ static void tcp_fixup_rcvbuf(struct sock *sk) | |||
287 | sk->sk_rcvbuf = min(4 * rcvmem, sysctl_tcp_rmem[2]); | 287 | sk->sk_rcvbuf = min(4 * rcvmem, sysctl_tcp_rmem[2]); |
288 | } | 288 | } |
289 | 289 | ||
290 | /* 4. Try to fixup all. It is made iimediately after connection enters | 290 | /* 4. Try to fixup all. It is made immediately after connection enters |
291 | * established state. | 291 | * established state. |
292 | */ | 292 | */ |
293 | static void tcp_init_buffer_space(struct sock *sk) | 293 | static void tcp_init_buffer_space(struct sock *sk) |
@@ -367,8 +367,8 @@ static void tcp_rcv_rtt_update(struct tcp_sock *tp, u32 sample, int win_dep) | |||
367 | * are stalled on filesystem I/O. | 367 | * are stalled on filesystem I/O. |
368 | * | 368 | * |
369 | * Also, since we are only going for a minimum in the | 369 | * Also, since we are only going for a minimum in the |
370 | * non-timestamp case, we do not smoothe things out | 370 | * non-timestamp case, we do not smoother things out |
371 | * else with timestamps disabled convergance takes too | 371 | * else with timestamps disabled convergence takes too |
372 | * long. | 372 | * long. |
373 | */ | 373 | */ |
374 | if (!win_dep) { | 374 | if (!win_dep) { |
@@ -377,7 +377,7 @@ static void tcp_rcv_rtt_update(struct tcp_sock *tp, u32 sample, int win_dep) | |||
377 | } else if (m < new_sample) | 377 | } else if (m < new_sample) |
378 | new_sample = m << 3; | 378 | new_sample = m << 3; |
379 | } else { | 379 | } else { |
380 | /* No previous mesaure. */ | 380 | /* No previous measure. */ |
381 | new_sample = m << 3; | 381 | new_sample = m << 3; |
382 | } | 382 | } |
383 | 383 | ||
@@ -506,7 +506,7 @@ static void tcp_event_data_recv(struct sock *sk, struct tcp_sock *tp, struct sk_ | |||
506 | if (icsk->icsk_ack.ato > icsk->icsk_rto) | 506 | if (icsk->icsk_ack.ato > icsk->icsk_rto) |
507 | icsk->icsk_ack.ato = icsk->icsk_rto; | 507 | icsk->icsk_ack.ato = icsk->icsk_rto; |
508 | } else if (m > icsk->icsk_rto) { | 508 | } else if (m > icsk->icsk_rto) { |
509 | /* Too long gap. Apparently sender falled to | 509 | /* Too long gap. Apparently sender failed to |
510 | * restart window, so that we send ACKs quickly. | 510 | * restart window, so that we send ACKs quickly. |
511 | */ | 511 | */ |
512 | tcp_incr_quickack(sk); | 512 | tcp_incr_quickack(sk); |
@@ -546,7 +546,7 @@ static void tcp_rtt_estimator(struct sock *sk, const __u32 mrtt) | |||
546 | * | 546 | * |
547 | * Funny. This algorithm seems to be very broken. | 547 | * Funny. This algorithm seems to be very broken. |
548 | * These formulae increase RTO, when it should be decreased, increase | 548 | * These formulae increase RTO, when it should be decreased, increase |
549 | * too slowly, when it should be incresed fastly, decrease too fastly | 549 | * too slowly, when it should be increased fastly, decrease too fastly |
550 | * etc. I guess in BSD RTO takes ONE value, so that it is absolutely | 550 | * etc. I guess in BSD RTO takes ONE value, so that it is absolutely |
551 | * does not matter how to _calculate_ it. Seems, it was trap | 551 | * does not matter how to _calculate_ it. Seems, it was trap |
552 | * that VJ failed to avoid. 8) | 552 | * that VJ failed to avoid. 8) |
@@ -607,14 +607,14 @@ static inline void tcp_set_rto(struct sock *sk) | |||
607 | * at least by solaris and freebsd. "Erratic ACKs" has _nothing_ | 607 | * at least by solaris and freebsd. "Erratic ACKs" has _nothing_ |
608 | * to do with delayed acks, because at cwnd>2 true delack timeout | 608 | * to do with delayed acks, because at cwnd>2 true delack timeout |
609 | * is invisible. Actually, Linux-2.4 also generates erratic | 609 | * is invisible. Actually, Linux-2.4 also generates erratic |
610 | * ACKs in some curcumstances. | 610 | * ACKs in some circumstances. |
611 | */ | 611 | */ |
612 | inet_csk(sk)->icsk_rto = (tp->srtt >> 3) + tp->rttvar; | 612 | inet_csk(sk)->icsk_rto = (tp->srtt >> 3) + tp->rttvar; |
613 | 613 | ||
614 | /* 2. Fixups made earlier cannot be right. | 614 | /* 2. Fixups made earlier cannot be right. |
615 | * If we do not estimate RTO correctly without them, | 615 | * If we do not estimate RTO correctly without them, |
616 | * all the algo is pure shit and should be replaced | 616 | * all the algo is pure shit and should be replaced |
617 | * with correct one. It is exaclty, which we pretend to do. | 617 | * with correct one. It is exactly, which we pretend to do. |
618 | */ | 618 | */ |
619 | } | 619 | } |
620 | 620 | ||
@@ -772,7 +772,7 @@ static void tcp_init_metrics(struct sock *sk) | |||
772 | * to make it more realistic. | 772 | * to make it more realistic. |
773 | * | 773 | * |
774 | * A bit of theory. RTT is time passed after "normal" sized packet | 774 | * A bit of theory. RTT is time passed after "normal" sized packet |
775 | * is sent until it is ACKed. In normal curcumstances sending small | 775 | * is sent until it is ACKed. In normal circumstances sending small |
776 | * packets force peer to delay ACKs and calculation is correct too. | 776 | * packets force peer to delay ACKs and calculation is correct too. |
777 | * The algorithm is adaptive and, provided we follow specs, it | 777 | * The algorithm is adaptive and, provided we follow specs, it |
778 | * NEVER underestimate RTT. BUT! If peer tries to make some clever | 778 | * NEVER underestimate RTT. BUT! If peer tries to make some clever |
@@ -1899,7 +1899,7 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una, | |||
1899 | } | 1899 | } |
1900 | 1900 | ||
1901 | /* Read draft-ietf-tcplw-high-performance before mucking | 1901 | /* Read draft-ietf-tcplw-high-performance before mucking |
1902 | * with this code. (Superceeds RFC1323) | 1902 | * with this code. (Supersedes RFC1323) |
1903 | */ | 1903 | */ |
1904 | static void tcp_ack_saw_tstamp(struct sock *sk, int flag) | 1904 | static void tcp_ack_saw_tstamp(struct sock *sk, int flag) |
1905 | { | 1905 | { |
@@ -1912,7 +1912,7 @@ static void tcp_ack_saw_tstamp(struct sock *sk, int flag) | |||
1912 | * 1998/04/10 Andrey V. Savochkin <saw@msu.ru> | 1912 | * 1998/04/10 Andrey V. Savochkin <saw@msu.ru> |
1913 | * | 1913 | * |
1914 | * Changed: reset backoff as soon as we see the first valid sample. | 1914 | * Changed: reset backoff as soon as we see the first valid sample. |
1915 | * If we do not, we get strongly overstimated rto. With timestamps | 1915 | * If we do not, we get strongly overestimated rto. With timestamps |
1916 | * samples are accepted even from very old segments: f.e., when rtt=1 | 1916 | * samples are accepted even from very old segments: f.e., when rtt=1 |
1917 | * increases to 8, we retransmit 5 times and after 8 seconds delayed | 1917 | * increases to 8, we retransmit 5 times and after 8 seconds delayed |
1918 | * answer arrives rto becomes 120 seconds! If at least one of segments | 1918 | * answer arrives rto becomes 120 seconds! If at least one of segments |
@@ -2268,7 +2268,7 @@ static void tcp_process_frto(struct sock *sk, u32 prior_snd_una) | |||
2268 | } | 2268 | } |
2269 | 2269 | ||
2270 | /* F-RTO affects on two new ACKs following RTO. | 2270 | /* F-RTO affects on two new ACKs following RTO. |
2271 | * At latest on third ACK the TCP behavor is back to normal. | 2271 | * At latest on third ACK the TCP behavior is back to normal. |
2272 | */ | 2272 | */ |
2273 | tp->frto_counter = (tp->frto_counter + 1) % 3; | 2273 | tp->frto_counter = (tp->frto_counter + 1) % 3; |
2274 | } | 2274 | } |
@@ -2344,7 +2344,7 @@ static int tcp_ack(struct sock *sk, struct sk_buff *skb, int flag) | |||
2344 | tcp_process_frto(sk, prior_snd_una); | 2344 | tcp_process_frto(sk, prior_snd_una); |
2345 | 2345 | ||
2346 | if (tcp_ack_is_dubious(sk, flag)) { | 2346 | if (tcp_ack_is_dubious(sk, flag)) { |
2347 | /* Advanve CWND, if state allows this. */ | 2347 | /* Advance CWND, if state allows this. */ |
2348 | if ((flag & FLAG_DATA_ACKED) && tcp_may_raise_cwnd(sk, flag)) | 2348 | if ((flag & FLAG_DATA_ACKED) && tcp_may_raise_cwnd(sk, flag)) |
2349 | tcp_cong_avoid(sk, ack, seq_rtt, prior_in_flight, 0); | 2349 | tcp_cong_avoid(sk, ack, seq_rtt, prior_in_flight, 0); |
2350 | tcp_fastretrans_alert(sk, prior_snd_una, prior_packets, flag); | 2350 | tcp_fastretrans_alert(sk, prior_snd_una, prior_packets, flag); |
@@ -3133,7 +3133,7 @@ tcp_collapse(struct sock *sk, struct sk_buff_head *list, | |||
3133 | { | 3133 | { |
3134 | struct sk_buff *skb; | 3134 | struct sk_buff *skb; |
3135 | 3135 | ||
3136 | /* First, check that queue is collapsable and find | 3136 | /* First, check that queue is collapsible and find |
3137 | * the point where collapsing can be useful. */ | 3137 | * the point where collapsing can be useful. */ |
3138 | for (skb = head; skb != tail; ) { | 3138 | for (skb = head; skb != tail; ) { |
3139 | /* No new bits? It is possible on ofo queue. */ | 3139 | /* No new bits? It is possible on ofo queue. */ |
@@ -3441,7 +3441,7 @@ static __inline__ void tcp_ack_snd_check(struct sock *sk) | |||
3441 | 3441 | ||
3442 | /* | 3442 | /* |
3443 | * This routine is only called when we have urgent data | 3443 | * This routine is only called when we have urgent data |
3444 | * signalled. Its the 'slow' part of tcp_urg. It could be | 3444 | * signaled. Its the 'slow' part of tcp_urg. It could be |
3445 | * moved inline now as tcp_urg is only called from one | 3445 | * moved inline now as tcp_urg is only called from one |
3446 | * place. We handle URGent data wrong. We have to - as | 3446 | * place. We handle URGent data wrong. We have to - as |
3447 | * BSD still doesn't use the correction from RFC961. | 3447 | * BSD still doesn't use the correction from RFC961. |
@@ -3486,7 +3486,7 @@ static void tcp_check_urg(struct sock * sk, struct tcphdr * th) | |||
3486 | * urgent. To do this requires some care. We cannot just ignore | 3486 | * urgent. To do this requires some care. We cannot just ignore |
3487 | * tp->copied_seq since we would read the last urgent byte again | 3487 | * tp->copied_seq since we would read the last urgent byte again |
3488 | * as data, nor can we alter copied_seq until this data arrives | 3488 | * as data, nor can we alter copied_seq until this data arrives |
3489 | * or we break the sematics of SIOCATMARK (and thus sockatmark()) | 3489 | * or we break the semantics of SIOCATMARK (and thus sockatmark()) |
3490 | * | 3490 | * |
3491 | * NOTE. Double Dutch. Rendering to plain English: author of comment | 3491 | * NOTE. Double Dutch. Rendering to plain English: author of comment |
3492 | * above did something sort of send("A", MSG_OOB); send("B", MSG_OOB); | 3492 | * above did something sort of send("A", MSG_OOB); send("B", MSG_OOB); |
@@ -3631,7 +3631,7 @@ int tcp_rcv_established(struct sock *sk, struct sk_buff *skb, | |||
3631 | tp->rx_opt.saw_tstamp = 0; | 3631 | tp->rx_opt.saw_tstamp = 0; |
3632 | 3632 | ||
3633 | /* pred_flags is 0xS?10 << 16 + snd_wnd | 3633 | /* pred_flags is 0xS?10 << 16 + snd_wnd |
3634 | * if header_predition is to be made | 3634 | * if header_prediction is to be made |
3635 | * 'S' will always be tp->tcp_header_len >> 2 | 3635 | * 'S' will always be tp->tcp_header_len >> 2 |
3636 | * '?' will be 0 for the fast path, otherwise pred_flags is 0 to | 3636 | * '?' will be 0 for the fast path, otherwise pred_flags is 0 to |
3637 | * turn it off (when there are holes in the receive | 3637 | * turn it off (when there are holes in the receive |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index ac1fcf5b4ebc..4d5021e1929b 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -39,7 +39,7 @@ | |||
39 | * request_sock handling and moved | 39 | * request_sock handling and moved |
40 | * most of it into the af independent code. | 40 | * most of it into the af independent code. |
41 | * Added tail drop and some other bugfixes. | 41 | * Added tail drop and some other bugfixes. |
42 | * Added new listen sematics. | 42 | * Added new listen semantics. |
43 | * Mike McLagan : Routing by source | 43 | * Mike McLagan : Routing by source |
44 | * Juan Jose Ciarlante: ip_dynaddr bits | 44 | * Juan Jose Ciarlante: ip_dynaddr bits |
45 | * Andi Kleen: various fixes. | 45 | * Andi Kleen: various fixes. |
@@ -1210,7 +1210,7 @@ int tcp_v4_rcv(struct sk_buff *skb) | |||
1210 | 1210 | ||
1211 | /* An explanation is required here, I think. | 1211 | /* An explanation is required here, I think. |
1212 | * Packet length and doff are validated by header prediction, | 1212 | * Packet length and doff are validated by header prediction, |
1213 | * provided case of th->doff==0 is elimineted. | 1213 | * provided case of th->doff==0 is eliminated. |
1214 | * So, we defer the checks. */ | 1214 | * So, we defer the checks. */ |
1215 | if ((skb->ip_summed != CHECKSUM_UNNECESSARY && | 1215 | if ((skb->ip_summed != CHECKSUM_UNNECESSARY && |
1216 | tcp_v4_checksum_init(skb))) | 1216 | tcp_v4_checksum_init(skb))) |
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index 9203a21e299f..1b66a2ac4321 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c | |||
@@ -158,7 +158,7 @@ kill_with_rst: | |||
158 | /* I am shamed, but failed to make it more elegant. | 158 | /* I am shamed, but failed to make it more elegant. |
159 | * Yes, it is direct reference to IP, which is impossible | 159 | * Yes, it is direct reference to IP, which is impossible |
160 | * to generalize to IPv6. Taking into account that IPv6 | 160 | * to generalize to IPv6. Taking into account that IPv6 |
161 | * do not undertsnad recycling in any case, it not | 161 | * do not understand recycling in any case, it not |
162 | * a big problem in practice. --ANK */ | 162 | * a big problem in practice. --ANK */ |
163 | if (tw->tw_family == AF_INET && | 163 | if (tw->tw_family == AF_INET && |
164 | tcp_death_row.sysctl_tw_recycle && tcptw->tw_ts_recent_stamp && | 164 | tcp_death_row.sysctl_tw_recycle && tcptw->tw_ts_recent_stamp && |
@@ -194,7 +194,7 @@ kill_with_rst: | |||
194 | /* In window segment, it may be only reset or bare ack. */ | 194 | /* In window segment, it may be only reset or bare ack. */ |
195 | 195 | ||
196 | if (th->rst) { | 196 | if (th->rst) { |
197 | /* This is TIME_WAIT assasination, in two flavors. | 197 | /* This is TIME_WAIT assassination, in two flavors. |
198 | * Oh well... nobody has a sufficient solution to this | 198 | * Oh well... nobody has a sufficient solution to this |
199 | * protocol bug yet. | 199 | * protocol bug yet. |
200 | */ | 200 | */ |
@@ -551,7 +551,7 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb, | |||
551 | 551 | ||
552 | /* RFC793 page 36: "If the connection is in any non-synchronized state ... | 552 | /* RFC793 page 36: "If the connection is in any non-synchronized state ... |
553 | * and the incoming segment acknowledges something not yet | 553 | * and the incoming segment acknowledges something not yet |
554 | * sent (the segment carries an unaccaptable ACK) ... | 554 | * sent (the segment carries an unacceptable ACK) ... |
555 | * a reset is sent." | 555 | * a reset is sent." |
556 | * | 556 | * |
557 | * Invalid ACK: reset will be sent by listening socket | 557 | * Invalid ACK: reset will be sent by listening socket |
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 998f6416ef8b..602e7057e438 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -599,7 +599,7 @@ int tcp_trim_head(struct sock *sk, struct sk_buff *skb, u32 len) | |||
599 | for TCP options, but includes only bare TCP header. | 599 | for TCP options, but includes only bare TCP header. |
600 | 600 | ||
601 | tp->rx_opt.mss_clamp is mss negotiated at connection setup. | 601 | tp->rx_opt.mss_clamp is mss negotiated at connection setup. |
602 | It is minumum of user_mss and mss received with SYN. | 602 | It is minimum of user_mss and mss received with SYN. |
603 | It also does not include TCP options. | 603 | It also does not include TCP options. |
604 | 604 | ||
605 | tp->pmtu_cookie is last pmtu, seen by this function. | 605 | tp->pmtu_cookie is last pmtu, seen by this function. |
@@ -1171,7 +1171,7 @@ u32 __tcp_select_window(struct sock *sk) | |||
1171 | { | 1171 | { |
1172 | struct inet_connection_sock *icsk = inet_csk(sk); | 1172 | struct inet_connection_sock *icsk = inet_csk(sk); |
1173 | struct tcp_sock *tp = tcp_sk(sk); | 1173 | struct tcp_sock *tp = tcp_sk(sk); |
1174 | /* MSS for the peer's data. Previous verions used mss_clamp | 1174 | /* MSS for the peer's data. Previous versions used mss_clamp |
1175 | * here. I don't know if the value based on our guesses | 1175 | * here. I don't know if the value based on our guesses |
1176 | * of peer's MSS is better for the performance. It's more correct | 1176 | * of peer's MSS is better for the performance. It's more correct |
1177 | * but may be worse for the performance because of rcv_mss | 1177 | * but may be worse for the performance because of rcv_mss |
@@ -1361,7 +1361,7 @@ int tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb) | |||
1361 | int err; | 1361 | int err; |
1362 | 1362 | ||
1363 | /* Do not sent more than we queued. 1/4 is reserved for possible | 1363 | /* Do not sent more than we queued. 1/4 is reserved for possible |
1364 | * copying overhead: frgagmentation, tunneling, mangling etc. | 1364 | * copying overhead: fragmentation, tunneling, mangling etc. |
1365 | */ | 1365 | */ |
1366 | if (atomic_read(&sk->sk_wmem_alloc) > | 1366 | if (atomic_read(&sk->sk_wmem_alloc) > |
1367 | min(sk->sk_wmem_queued + (sk->sk_wmem_queued >> 2), sk->sk_sndbuf)) | 1367 | min(sk->sk_wmem_queued + (sk->sk_wmem_queued >> 2), sk->sk_sndbuf)) |
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 415ee47ac1c5..e1880959614a 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c | |||
@@ -58,7 +58,7 @@ static void tcp_write_err(struct sock *sk) | |||
58 | * to prevent DoS attacks. It is called when a retransmission timeout | 58 | * to prevent DoS attacks. It is called when a retransmission timeout |
59 | * or zero probe timeout occurs on orphaned socket. | 59 | * or zero probe timeout occurs on orphaned socket. |
60 | * | 60 | * |
61 | * Criterium is still not confirmed experimentally and may change. | 61 | * Criteria is still not confirmed experimentally and may change. |
62 | * We kill the socket, if: | 62 | * We kill the socket, if: |
63 | * 1. If number of orphaned sockets exceeds an administratively configured | 63 | * 1. If number of orphaned sockets exceeds an administratively configured |
64 | * limit. | 64 | * limit. |
@@ -132,7 +132,7 @@ static int tcp_write_timeout(struct sock *sk) | |||
132 | hole detection. :-( | 132 | hole detection. :-( |
133 | 133 | ||
134 | It is place to make it. It is not made. I do not want | 134 | It is place to make it. It is not made. I do not want |
135 | to make it. It is disguisting. It does not work in any | 135 | to make it. It is disgusting. It does not work in any |
136 | case. Let me to cite the same draft, which requires for | 136 | case. Let me to cite the same draft, which requires for |
137 | us to implement this: | 137 | us to implement this: |
138 | 138 | ||