aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>2008-09-21 00:18:55 -0400
committerDavid S. Miller <davem@davemloft.net>2008-09-21 00:18:55 -0400
commitc8c213f20ce97c66fe2ff86f33814d1ca0f9d7ea (patch)
treed9334c8e095baf7d03629f633c62f886b3d06d84 /net/ipv4
parent64edc2736e23994e0334b70c5ff08dc33e2ebbd9 (diff)
tcp: move tcp_verify_retransmit_hint
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/tcp_input.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 7306bfb16cdb..9e95ad637db9 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -979,6 +979,19 @@ static void tcp_update_reordering(struct sock *sk, const int metric,
979 } 979 }
980} 980}
981 981
982/* RFC: This is from the original, I doubt that this is necessary at all:
983 * clear xmit_retrans hint if seq of this skb is beyond hint. How could we
984 * retransmitted past LOST markings in the first place? I'm not fully sure
985 * about undo and end of connection cases, which can cause R without L?
986 */
987static void tcp_verify_retransmit_hint(struct tcp_sock *tp, struct sk_buff *skb)
988{
989 if ((tp->retransmit_skb_hint != NULL) &&
990 before(TCP_SKB_CB(skb)->seq,
991 TCP_SKB_CB(tp->retransmit_skb_hint)->seq))
992 tp->retransmit_skb_hint = NULL;
993}
994
982/* This procedure tags the retransmission queue when SACKs arrive. 995/* This procedure tags the retransmission queue when SACKs arrive.
983 * 996 *
984 * We have three tag bits: SACKED(S), RETRANS(R) and LOST(L). 997 * We have three tag bits: SACKED(S), RETRANS(R) and LOST(L).
@@ -2156,19 +2169,6 @@ static int tcp_time_to_recover(struct sock *sk)
2156 return 0; 2169 return 0;
2157} 2170}
2158 2171
2159/* RFC: This is from the original, I doubt that this is necessary at all:
2160 * clear xmit_retrans hint if seq of this skb is beyond hint. How could we
2161 * retransmitted past LOST markings in the first place? I'm not fully sure
2162 * about undo and end of connection cases, which can cause R without L?
2163 */
2164static void tcp_verify_retransmit_hint(struct tcp_sock *tp, struct sk_buff *skb)
2165{
2166 if ((tp->retransmit_skb_hint != NULL) &&
2167 before(TCP_SKB_CB(skb)->seq,
2168 TCP_SKB_CB(tp->retransmit_skb_hint)->seq))
2169 tp->retransmit_skb_hint = NULL;
2170}
2171
2172/* Mark head of queue up as lost. With RFC3517 SACK, the packets is 2172/* Mark head of queue up as lost. With RFC3517 SACK, the packets is
2173 * is against sacked "cnt", otherwise it's against facked "cnt" 2173 * is against sacked "cnt", otherwise it's against facked "cnt"
2174 */ 2174 */