Skip to contentSkip to conversation

Updating documentation accordingly

PATCH In review Ivo Calado 2 participants 2 messages Sep 4, 2009

Subsystems (2)
lore
Share & tools
lore

Ivo Calado

author
#0 lore raw

PATCH 5/5 Updating documentation accordingly

Updating documentation accordingly

Signed-off-by: Ivo Calado, Erivaldo Xavier, Leandro Sales <[email protected]>, <[email protected]>, <[email protected]>

Index: dccp_tree_work4/net/dccp/ccids/lib/loss_interval_sp.c =================================--- dccp_tree_work4.orig/net/dccp/ccids/lib/loss_interval_sp.c

2009-09-04 00:28:03.000000000 -0300

+++ dccp_tree_work4/net/dccp/ccids/lib/loss_interval_sp.c 2009-09-04 01:00:22.000000000 -0300
@@ -1,4 +1,6 @@
/*
+ * Copyright (c) 2009 Federal University of Campina Grande,
+ * Embedded Systems and Pervasive Computing Lab
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
* Copyright (c) 2005-7 The University of Waikato, Hamilton, New
Zealand.
* Copyright (c) 2005-7 Ian McDonald <[email protected]>
@@ -105,6 +107,12 @@
ld->counter = 0;
}

+/**
+ * tfrc_sp_ld_prepare_data - updates arrays on tfrc_loss_data so they can be sent as options
+ * @loss_count: current loss count (packets after hole on transmission),
+ * used to determine skip length for loss intervals option
+ * @ld: loss intervals data being updated
+ */
void tfrc_sp_ld_prepare_data(u8 loss_count, struct tfrc_loss_data *ld) {
u8 *li_ofs, *d_ofs;
@@ -146,6 +154,16 @@
}
}

+/**
+ * tfrc_sp_update_li_data - Update tfrc_loss_data upon
+ * packet receiving or loss detection

+ *  @ld: tfrc_loss_data being updated
+ *  @rh: loss event record
+ *  @skb: received packet
+ *  @new_loss: dictates if new loss was detected

+ * upon receiving current packet
+ * @new_event: ...and if the loss starts new loss interval
+ */
void tfrc_sp_update_li_data(struct tfrc_loss_data *ld,
struct tfrc_rx_hist *rh,
struct sk_buff *skb,
@@ -324,7 +342,7 @@
}

/**
- * tfrc_lh_update_i_mean - Update the `open' loss interval I_0
+ * tfrc_sp_lh_update_i_mean - Update the `open' loss interval I_0
* This updates I_mean as the sequence numbers increase. As a
consequence, the
* open loss interval I_0 increases, hence p = W_tot/max(I_tot0,
I_tot1)
* decreases, and thus there is no need to send renewed feedback.
@@ -372,7 +390,7 @@
return cur->li_is_closed;
}

-/** tfrc_lh_interval_add - Insert new record into the Loss Interval
database
+/** tfrc_sp_lh_interval_add - Insert new record into the Loss Interval
database
* @lh: Loss Interval database
* @rh: Receive history containing a fresh loss event
* @calc_first_li: Caller-dependent routine to compute length of first
interval
Index: dccp_tree_work4/net/dccp/ccids/lib/loss_interval_sp.h =================================--- dccp_tree_work4.orig/net/dccp/ccids/lib/loss_interval_sp.h

2009-09-04 00:19:53.000000000 -0300

+++ dccp_tree_work4/net/dccp/ccids/lib/loss_interval_sp.h 2009-09-04 00:58:50.000000000 -0300
@@ -1,6 +1,8 @@
#ifndef _DCCP_LI_HIST_SP_
#define _DCCP_LI_HIST_SP_
/*
+ * Copyright (c) 2009 Federal University of Campina Grande,
+ * Embedded Systems and Pervasive Computing Lab
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
* Copyright (c) 2005-7 The University of Waikato, Hamilton, New
Zealand.
* Copyright (c) 2005-7 Ian McDonald <[email protected]>
@@ -70,6 +72,15 @@
struct tfrc_rx_hist;
#endif

+/**

+ *  tfrc_loss_data_entry  -  Holds info about one loss interval
+ *  @next: next entry on this linked list
+ *  @lossless_length: length of lossless sequence
+ *  @ecn_nonce_sum: ecn nonce sum for this interval
+ *  @loss_length: length of lossy part
+ *  @data_length: data length on lossless part
+ *  @drop_count: count of dopped packets

+ */
struct tfrc_loss_data_entry {
struct tfrc_loss_data_entry *next;
u32 lossless_length:24;
@@ -79,13 +90,29 @@
u32 drop_count:24;
};

+/* As defined at section 8.6.1. of RFC 4342 */
#define TFRC_LOSS_INTERVALS_OPT_MAX_LENGTH 28
+/* Specified on section 8.7. of CCID4 draft */
#define TFRC_DROP_OPT_MAX_LENGTH 84
#define TFRC_LI_OPT_SZ \
(2 + TFRC_LOSS_INTERVALS_OPT_MAX_LENGTH*9)
#define TFRC_DROPPED_OPT_SZ \
(1 + TFRC_DROP_OPT_MAX_LENGTH*3)

+/**

+ *  tfrc_loss_data  -  loss interval data
+ *  used by loss intervals and dropped packets options
+ *  @head: linked list containing loss interval data
+ *  @counter: number of entries
+ *  @loss_intervals_opts: space necessary for writing temporary option

+ * data for loss intervals option
+ * @drop_opts: same for dropped packets option
+ * @last_loss_count: last loss count (num. of packets
+ * after hole on transmission) observed
+ * @sto_ecn: ecn's observed while waiting for hole
+ * to be filled or accepted as missing
+ * @sto_is_data: flags about if packets saw were data packets
+ */
struct tfrc_loss_data {
struct tfrc_loss_data_entry *head;
u16 counter;
Index: dccp_tree_work4/net/dccp/ccids/lib/packet_history_sp.c =================================--- dccp_tree_work4.orig/net/dccp/ccids/lib/packet_history_sp.c

2009-09-04 00:10:24.000000000 -0300

+++ dccp_tree_work4/net/dccp/ccids/lib/packet_history_sp.c 2009-09-04 00:56:19.000000000 -0300
@@ -4,6 +4,14 @@
*
* An implementation of the DCCP protocol
*
+ * Copyright (c) 2009 Ivo Calado, Erivaldo Xavier, Leandro Sales
+ *
+ * This code has been developed by the Federal University of Campina Grande

+ *  Embedded Systems and Pervasive Computing Lab.
+ *  For further information please see http://embedded.ufcg.edu.br/
+ *  <[email protected]>,
+ *  <[email protected]>, <[email protected]>

+ *
* This code has been developed by the University of Waikato WAND
* research group. For further information please see
http://www.wand.net.nz/
* or e-mail Ian McDonald - [email protected]
@@ -339,9 +347,10 @@
}

/**

- *  tfrc_rx_congestion_event  -  Loss detection and further processing
+ *  tfrc_sp_rx_congestion_event  -  Loss detection and further
processing
  *  @h: The non-empty RX history object
  *  @lh: Loss Intervals database to update
+ *  @ld: loss data for options
  *  @skb: Currently received packet
  *  @ndp: The NDP count belonging to @skb
  *  @first_li: Caller-dependent computation of first loss interval in

@lh
@@ -495,7 +504,7 @@
}

/**
- * tfrc_rx_hist_sample_rtt - Sample RTT from timestamp / CCVal
+ * tfrc_sp_rx_hist_sample_rtt - Sample RTT from timestamp / CCVal
* Based on ideas presented in RFC 4342, 8.1. This function expects
that no loss
* is pending and uses the following history entries (via
rtt_sample_prev):
* - h->ring[0] contains the most recent history entry prior to @skb;
Index: dccp_tree_work4/net/dccp/ccids/lib/packet_history_sp.h =================================--- dccp_tree_work4.orig/net/dccp/ccids/lib/packet_history_sp.h

2009-09-03 23:38:22.000000000 -0300

+++ dccp_tree_work4/net/dccp/ccids/lib/packet_history_sp.h 2009-09-04 00:55:50.000000000 -0300
@@ -1,6 +1,14 @@
/*
* Packet RX/TX history data structures and routines for TFRC-based
protocols.
*
+ * Copyright (c) 2009 Ivo Calado, Erivaldo Xavier, Leandro Sales
+ *
+ * This code has been developed by the Federal University of Campina Grande

+ *  Embedded Systems and Pervasive Computing Lab.
+ *  For further information please see http://embedded.ufcg.edu.br/
+ *  <[email protected]>,
+ *  <[email protected]>, <[email protected]>

+ *
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
* Copyright (c) 2005-6 The University of Waikato, Hamilton, New
Zealand.
*
Index: dccp_tree_work4/net/dccp/ccids/lib/tfrc_ccids_sp.c =================================--- dccp_tree_work4.orig/net/dccp/ccids/lib/tfrc_ccids_sp.c 2009-09-03 21:19:03.000000000 -0300
+++ dccp_tree_work4/net/dccp/ccids/lib/tfrc_ccids_sp.c 2009-09-04
00:53:55.000000000 -0300
@@ -1,4 +1,6 @@
/*
+ * Copyright (c) 2009 Federal University of Campina Grande,
+ * Embedded Systems and Pervasive Computing Lab

  *  Copyright (c) 2007 Leandro Melo de Sales <[email protected]>
  *  Copyright (c) 2005 Ian McDonald <[email protected]>
  *  Copyright (c) 2005 Arnaldo Carvalho de Melo <[email protected]>

Index: dccp_tree_work4/net/dccp/ccids/lib/tfrc_ccids_sp.h =================================--- dccp_tree_work4.orig/net/dccp/ccids/lib/tfrc_ccids_sp.h 2009-09-03 23:34:40.000000000 -0300
+++ dccp_tree_work4/net/dccp/ccids/lib/tfrc_ccids_sp.h 2009-09-04
00:53:59.000000000 -0300
@@ -1,4 +1,6 @@
/*
+ * Copyright (c) 2009 Federal University of Campina Grande,
+ * Embedded Systems and Pervasive Computing Lab

  *  Copyright (c) 2007 Leandro Melo de Sales <[email protected]>
  *  Copyright (c) 2005 Ian McDonald <[email protected]>
  *  Copyright (c) 2005 Arnaldo Carvalho de Melo <[email protected]>
Index: dccp_tree_work4/net/dccp/ccids/lib/tfrc_equation_sp.c
=================================--- dccp_tree_work4.orig/net/dccp/ccids/lib/tfrc_equation_sp.c
2009-09-03 22:01:08.000000000 -0300

+++ dccp_tree_work4/net/dccp/ccids/lib/tfrc_equation_sp.c 2009-09-04 00:54:05.000000000 -0300
@@ -1,4 +1,6 @@
/*
+ * Copyright (c) 2009 Federal University of Campina Grande,
+ * Embedded Systems and Pervasive Computing Lab
* Copyright (c) 2005 The University of Waikato, Hamilton, New
Zealand.
* Copyright (c) 2005 Ian McDonald <[email protected]>
* Copyright (c) 2005 Arnaldo Carvalho de Melo <[email protected]>
@@ -607,7 +609,7 @@
}

/**
- * tfrc_calc_x - Calculate the send rate as per section 3.1 of RFC3448
+ * tfrc_sp_calc_x - Calculate the send rate as per section 3.1 of RFC3448
*

  *  @s: packet size          in bytes
  *  @R: RTT                  scaled by 1000000   (i.e., microseconds)

@@ -667,7 +669,7 @@
}

/**

- *  tfrc_calc_x_reverse_lookup  -  try to find p given f(p)
+ *  tfrc_sp_calc_x_reverse_lookup  -  try to find p given f(p)

*
* @fvalue: function value to match, scaled by 1000000
* Returns closest match for p, also scaled by 1000000
@@ -700,7 +702,7 @@
}

/**
- * tfrc_invert_loss_event_rate - Compute p so that 10^6 corresponds
to 100%
+ * tfrc_sp_invert_loss_event_rate - Compute p so that 10^6
corresponds to 100%
* When @loss_event_rate is large, there is a chance that p is
truncated to 0.
* To avoid re-entering slow-start in that case, we set p TFRC_SMALLEST_P > 0. */
Index: dccp_tree_work4/net/dccp/ccids/lib/tfrc_sp.c =================================--- dccp_tree_work4.orig/net/dccp/ccids/lib/tfrc_sp.c 2009-09-03 21:19:03.000000000 -0300
+++ dccp_tree_work4/net/dccp/ccids/lib/tfrc_sp.c 2009-09-04
00:54:11.000000000 -0300
@@ -1,6 +1,10 @@
/*
* TFRC library initialisation
*
+ * Copyright (c) 2009 Federal University of Campina Grande,
+ * Embedded Systems and Pervasive Computing Lab
+ * Almost copied from tfrc.c, only renamed symbols
+ *
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
* Copyright (c) 2007 Arnaldo Carvalho de Melo <[email protected]>
*/
Index: dccp_tree_work4/net/dccp/ccids/lib/tfrc_sp.h =================================--- dccp_tree_work4.orig/net/dccp/ccids/lib/tfrc_sp.h 2009-09-03 21:58:30.000000000 -0300
+++ dccp_tree_work4/net/dccp/ccids/lib/tfrc_sp.h 2009-09-04
00:54:17.000000000 -0300
@@ -1,6 +1,8 @@
#ifndef _TFRC_SP_H_
#define _TFRC_SP_H_
/*
+ * Copyright (c) 2009 Federal University of Campina Grande,
+ * Embedded Systems and Pervasive Computing Lab
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
* Copyright (c) 2005-6 The University of Waikato, Hamilton, New
Zealand.
* Copyright (c) 2005-6 Ian McDonald <[email protected]>

#1 lore raw
Quoted 27 lines · On Fri, 04 Sep 2009 09:25:11 -0300 Ivo Calado wrote:

Updating documentation accordingly

Signed-off-by: Ivo Calado, Erivaldo Xavier, Leandro Sales <[email protected]>, <[email protected]>, <[email protected]>

Index: dccp_tree_work4/net/dccp/ccids/lib/loss_interval_sp.c =================================> --- dccp_tree_work4.orig/net/dccp/ccids/lib/loss_interval_sp.c

2009-09-04 00:28:03.000000000 -0300

+++ dccp_tree_work4/net/dccp/ccids/lib/loss_interval_sp.c 2009-09-04 01:00:22.000000000 -0300

(quoted diff) +1 -1
@@ -324,7 +342,7 @@
 }
 
 /**
- * tfrc_lh_update_i_mean  -  Update the `open' loss interval I_0
+ * tfrc_sp_lh_update_i_mean  -  Update the `open' loss interval I_0
  * This updates I_mean as the sequence numbers increase. As a

consequence, the
* open loss interval I_0 increases, hence p = W_tot/max(I_tot0,
I_tot1)
* decreases, and thus there is no need to send renewed feedback.

(quoted diff) +0 -1
@@ -372,7 +390,7 @@
 return cur->li_is_closed;
 }
 
-/** tfrc_lh_interval_add  -  Insert new record into the Loss Interval
Quoted 3 lines

database
+/** tfrc_sp_lh_interval_add - Insert new record into the Loss Interval database

The beginning kernel-doc marker ("/**") should be on a line by itself, like all of the others are.

Quoted 16 lines

* @lh: Loss Interval database
* @rh: Receive history containing a fresh loss event
* @calc_first_li: Caller-dependent routine to compute length of first
interval

Index: dccp_tree_work4/net/dccp/ccids/lib/tfrc_equation_sp.c =================================> --- dccp_tree_work4.orig/net/dccp/ccids/lib/tfrc_equation_sp.c

2009-09-03 22:01:08.000000000 -0300

+++ dccp_tree_work4/net/dccp/ccids/lib/tfrc_equation_sp.c 2009-09-04 00:54:05.000000000 -0300

(quoted diff) +1 -1
@@ -607,7 +609,7 @@
 }
 
 /**
- * tfrc_calc_x - Calculate the send rate as per section 3.1 of RFC3448
+ * tfrc_sp_calc_x - Calculate the send rate as per section 3.1 of
Quoted 1 line

RFC3448

Looks like some mail-handling software is splitting lines where they should not be split. You should check that the mailed patches (on the receiving side) can be applied cleanly.

Quoted 3 lines

*

  *  @s: packet size          in bytes
  *  @R: RTT                  scaled by 1000000   (i.e., microseconds)

---
~Randy
LPC 2009, Sept. 23-25, Portland, Oregon
http://linuxplumbersconf.org/2009/