aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/tcp_input.c25
-rw-r--r--net/ipv4/tcp_timer.c12
2 files changed, 29 insertions, 8 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 3c6c7d7a7b0a..1bdb1bd22134 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -2309,12 +2309,25 @@ static void DBGUNDO(struct sock *sk, const char *msg)
2309 struct tcp_sock *tp = tcp_sk(sk); 2309 struct tcp_sock *tp = tcp_sk(sk);
2310 struct inet_sock *inet = inet_sk(sk); 2310 struct inet_sock *inet = inet_sk(sk);
2311 2311
2312 printk(KERN_DEBUG "Undo %s " NIPQUAD_FMT "/%u c%u l%u ss%u/%u p%u\n", 2312 if (sk->sk_family == AF_INET) {
2313 msg, 2313 printk(KERN_DEBUG "Undo %s " NIPQUAD_FMT "/%u c%u l%u ss%u/%u p%u\n",
2314 NIPQUAD(inet->daddr), ntohs(inet->dport), 2314 msg,
2315 tp->snd_cwnd, tcp_left_out(tp), 2315 NIPQUAD(inet->daddr), ntohs(inet->dport),
2316 tp->snd_ssthresh, tp->prior_ssthresh, 2316 tp->snd_cwnd, tcp_left_out(tp),
2317 tp->packets_out); 2317 tp->snd_ssthresh, tp->prior_ssthresh,
2318 tp->packets_out);
2319 }
2320#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
2321 else if (sk->sk_family == AF_INET6) {
2322 struct ipv6_pinfo *np = inet6_sk(sk);
2323 printk(KERN_DEBUG "Undo %s " NIP6_FMT "/%u c%u l%u ss%u/%u p%u\n",
2324 msg,
2325 NIP6(np->daddr), ntohs(inet->dport),
2326 tp->snd_cwnd, tcp_left_out(tp),
2327 tp->snd_ssthresh, tp->prior_ssthresh,
2328 tp->packets_out);
2329 }
2330#endif
2318} 2331}
2319#else 2332#else
2320#define DBGUNDO(x...) do { } while (0) 2333#define DBGUNDO(x...) do { } while (0)
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
index e588d6dc2a81..4de68cf5f2aa 100644
--- a/net/ipv4/tcp_timer.c
+++ b/net/ipv4/tcp_timer.c
@@ -299,12 +299,20 @@ static void tcp_retransmit_timer(struct sock *sk)
299 * we cannot allow such beasts to hang infinitely. 299 * we cannot allow such beasts to hang infinitely.
300 */ 300 */
301#ifdef TCP_DEBUG 301#ifdef TCP_DEBUG
302 if (1) { 302 struct inet_sock *inet = inet_sk(sk);
303 struct inet_sock *inet = inet_sk(sk); 303 if (sk->sk_family == AF_INET) {
304 LIMIT_NETDEBUG(KERN_DEBUG "TCP: Treason uncloaked! Peer " NIPQUAD_FMT ":%u/%u shrinks window %u:%u. Repaired.\n", 304 LIMIT_NETDEBUG(KERN_DEBUG "TCP: Treason uncloaked! Peer " NIPQUAD_FMT ":%u/%u shrinks window %u:%u. Repaired.\n",
305 NIPQUAD(inet->daddr), ntohs(inet->dport), 305 NIPQUAD(inet->daddr), ntohs(inet->dport),
306 inet->num, tp->snd_una, tp->snd_nxt); 306 inet->num, tp->snd_una, tp->snd_nxt);
307 } 307 }
308#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
309 else if (sk->sk_family == AF_INET6) {
310 struct ipv6_pinfo *np = inet6_sk(sk);
311 LIMIT_NETDEBUG(KERN_DEBUG "TCP: Treason uncloaked! Peer " NIP6_FMT ":%u/%u shrinks window %u:%u. Repaired.\n",
312 NIP6(np->daddr), ntohs(inet->dport),
313 inet->num, tp->snd_una, tp->snd_nxt);
314 }
315#endif
308#endif 316#endif
309 if (tcp_time_stamp - tp->rcv_tstamp > TCP_RTO_MAX) { 317 if (tcp_time_stamp - tp->rcv_tstamp > TCP_RTO_MAX) {
310 tcp_write_err(sk); 318 tcp_write_err(sk);