Skip to contentSkip to conversation

: New RX History Step 5 - CCID3 packet reception

PATCH In review Gerrit Renker 1 participant 1 message Apr 5, 2007 Networking

lore
Share & tools
lore
#0 lore raw

PATCH 12/43 : New RX History Step 5 - CCID3 packet reception

[CCID 3]: New RX History Step 5 - CCID3 packet reception

This patch continues with the integration of the new RX history structure. It takes care of
1. Receiver RTT sampling until first loss occurs (this replaces the existing mechanism which was unreliable due to requiring timestamp/elapsed time option from the sender; now uses the algorithm from RFC 4343, 8.1);
2. Recomputing p after the first loss occurred (RFC 3448, 6.1);
3. Marking history entries as `loss is indicated';
4. Sending first feedback (RFC 3448, 6.3; note the state transition is now

    in ccid3_hc_rx_send_feedback());		

5. Loss detection wrt NDUPACK (RFC 4342, 6.1);
6. Tracking of the highest-received-seqno so far (used for loss detection).

Due to the amount of required changes, (5) was split into a subsequent patch. As a byproduct, the socket struct again gets a little smaller.

Documentation on http://www.erg.abdn.ac.uk/users/gerrit/dccp/docs/ccid3_packet_reception/

---
 net/dccp/ccids/ccid3.c |  131 +++++++++++++++++++------------------------------
 net/dccp/ccids/ccid3.h |    4 -
 2 files changed, 53 insertions(+), 82 deletions(-)
net/dccp/ccids/ccid3.h +1 -3
@@ -133,10 +133,9 @@ enum ccid3_hc_rx_states {
  *  @ccid3hcrx_s  -  Received packet size in bytes
  *  @ccid3hcrx_bytes_recv  -  Total sum of DCCP payload bytes
  *  @ccid3hcrx_x_recv  -  Receiver estimate of send rate (RFC 3448, sec. 4.3)
- *  @ccid3hcrx_rtt  -  Receiver estimate of rtt (non-standard)
+ *  @ccid3hcrx_rtt  -  Receiver estimate of RTT (RFC 4342, 8.1)
  *  @ccid3hcrx_pinv  -  Reciprocal of Loss Event Rate p (RFC 4342, sec. 8.5)
  *  @ccid3hcrx_tstamp_last_feedback  -  Time at which last feedback was sent
- *  @ccid3hcrx_tstamp_last_ack  -  Time at which last feedback was sent
  *  @ccid3hcrx_hist  -  Packet history exported by TFRC module
  *  @ccid3hcrx_li_hist  -  Loss Interval History
  *  @ccid3hcrx_elapsed_time  -  Time since packet reception
@@ -150,7 +149,6 @@ struct ccid3_hc_rx_sock {
 	u32				ccid3hcrx_rtt;
 	u32				ccid3hcrx_pinv;
 	struct timeval			ccid3hcrx_tstamp_last_feedback;
-	struct timeval			ccid3hcrx_tstamp_last_ack;
 	struct tfrc_rx_hist		ccid3hcrx_hist;
 	struct list_head		ccid3hcrx_li_hist;
 	u32				ccid3hcrx_elapsed_time;
net/dccp/ccids/ccid3.c +52 -79

171 lines not on this page · raw message