[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support
From: |
Joel Cunningham |
Subject: |
[lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support |
Date: |
Fri, 3 Mar 2017 13:41:20 -0500 (EST) |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8 |
Follow-up Comment #6, task #14128 (project lwip):
Here's what Linux's tcp_cong.c is doing:
/* Slow start is used when congestion window is no greater than the slow
start
* threshold. We base on RFC2581 and also handle stretch ACKs properly.
* We do not implement RFC3465 Appropriate Byte Counting (ABC) per se but
* something better;) a packet is only considered (s)acked in its entirety to
* defend the ACK attacks described in the RFC. Slow start processes a
stretch
* ACK of degree N as if N acks of degree 1 are received back to back except
* ABC caps N to 2. Slow start exits when cwnd grows over ssthresh and
* returns the leftover acks to adjust cwnd in congestion avoidance mode.
*/
u32 tcp_slow_start(struct tcp_sock *tp, u32 acked)
{
u32 cwnd = min(tp->snd_cwnd + acked, tp->snd_ssthresh);
acked -= cwnd - tp->snd_cwnd;
tp->snd_cwnd = min(cwnd, tp->snd_cwnd_clamp);
return acked;
}
EXPORT_SYMBOL_GPL(tcp_slow_start);
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/task/?14128>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Joel Cunningham, 2017/03/03
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Ambroz Bizjak, 2017/03/03
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Joel Cunningham, 2017/03/03
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support,
Joel Cunningham <=
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Simon Goldschmidt, 2017/03/03
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Ambroz Bizjak, 2017/03/03
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Joel Cunningham, 2017/03/03
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Joel Cunningham, 2017/03/03
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Joel Cunningham, 2017/03/03
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Joel Cunningham, 2017/03/07
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Joel Cunningham, 2017/03/07
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Simon Goldschmidt, 2017/03/08
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Joel Cunningham, 2017/03/08
- [lwip-devel] [task #14128] Appropriate byte counting/stretch ACK support, Joel Cunningham, 2017/03/13