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 | ||
