diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-12 20:46:27 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-12 20:46:27 (GMT) |
commit | a3b5960ebd660c9ab92fce9a01d1905ff9b981cb (patch) | |
tree | f636ecb2ff88ae724243445b6eef2e6b2d773200 | |
parent | 37b0d1dedcedf555e2940bc7702c11e2b572299f (diff) | |
parent | 42d1d52e695d87475846e9a09964cae1209eeecb (diff) | |
download | linux-fsl-qoriq-a3b5960ebd660c9ab92fce9a01d1905ff9b981cb.tar.xz |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[IPV4]: Increment ipInHdrErrors when TTL expires.
[TCP]: continued: reno sacked_out count fix
[DCCP] Ackvec: fix soft lockup in ackvec handling code
-rw-r--r-- | net/dccp/ackvec.c | 1 | ||||
-rw-r--r-- | net/ipv4/ip_forward.c | 1 | ||||
-rw-r--r-- | net/ipv4/tcp_input.c | 4 |
3 files changed, 3 insertions, 3 deletions
diff --git a/net/dccp/ackvec.c b/net/dccp/ackvec.c index b5981e5..8c211c5 100644 --- a/net/dccp/ackvec.c +++ b/net/dccp/ackvec.c @@ -452,6 +452,7 @@ found: (unsigned long long) avr->dccpavr_ack_ackno); dccp_ackvec_throw_record(av, avr); + break; } /* * If it wasn't received, continue scanning... we might diff --git a/net/ipv4/ip_forward.c b/net/ipv4/ip_forward.c index 0923add1..9f0bb52 100644 --- a/net/ipv4/ip_forward.c +++ b/net/ipv4/ip_forward.c @@ -116,6 +116,7 @@ sr_failed: too_many_hops: /* Tell the sender its packet died... */ + IP_INC_STATS_BH(IPSTATS_MIB_INHDRERRORS); icmp_send(skb, ICMP_TIME_EXCEEDED, ICMP_EXC_TTL, 0); drop: kfree_skb(skb); diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 4a538bc..b5521a9 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -1649,7 +1649,7 @@ static void tcp_update_scoreboard(struct sock *sk, struct tcp_sock *tp) * Hence, we can detect timed out packets during fast * retransmit without falling to slow start. */ - if (tcp_head_timedout(sk, tp)) { + if (!IsReno(tp) && tcp_head_timedout(sk, tp)) { struct sk_buff *skb; skb = tp->scoreboard_skb_hint ? tp->scoreboard_skb_hint @@ -1662,8 +1662,6 @@ static void tcp_update_scoreboard(struct sock *sk, struct tcp_sock *tp) if (!(TCP_SKB_CB(skb)->sacked&TCPCB_TAGBITS)) { TCP_SKB_CB(skb)->sacked |= TCPCB_LOST; tp->lost_out += tcp_skb_pcount(skb); - if (IsReno(tp)) - tcp_remove_reno_sacks(sk, tp, tcp_skb_pcount(skb) + 1); /* clear xmit_retrans hint */ if (tp->retransmit_skb_hint && |