[PATCH 1/2] [DCCP]: Leave headroom for options when calculating the MPS

2008-02-25 Thread Gerrit Renker
to define a corresponding CCID field. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Acked-by: Ian McDonald [EMAIL PROTECTED] --- net/dccp/ackvec.h |3 +++ net/dccp/output.c | 22 ++ 2 files changed, 17 insertions(+), 8 deletions(-) --- a/net/dccp/ackvec.h +++ b/net/dccp

[DCCP] [Patch v2 0/2] [Revision]: Fix Ack Vector MPS Minimum Value

2008-02-25 Thread Gerrit Renker
This is a resubmission to fix a problem with accounting for Ack Vector length in the MPS. The present solution did not work well: the MPS did not account for Ack Vectors, so that applications which relied on the MPS value via getopt were disadvantaged by having all their Ack Vectors put onto

[PATCH 2/2] [ACKVEC]: Schedule Sync as out-of-band mechanism

2008-02-25 Thread Gerrit Renker
serve other parts of the DCCP code as well. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- include/linux/dccp.h |2 ++ net/dccp/options.c | 24 net/dccp/output.c|8 3 files changed, 30 insertions(+), 4 deletions(-) --- a/include/linux/dccp.h

[PATCH 05/10] [ACKVEC]: Algorithm to update buffer state

2008-02-21 Thread Gerrit Renker
()) is therefore removed. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 88 net/dccp/ackvec.h |6 +++ net/dccp/input.c |4 +- net/dccp/options.c | 12 ++- 4 files changed, 100 insertions(+), 10 deletions

[PATCH 03/10] [ACKVEC]: Separate internals of Ack Vectors from option-parsing code

2008-02-21 Thread Gerrit Renker
, since the list is automatically arranged in descending order of ack_seqno. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 100 +-- net/dccp/ackvec.h |5 +-- net/dccp/options.c | 60 +++ 3

[PATCH 02/10] [ACKVEC]: Ack Vector interface clean-up

2008-02-21 Thread Gerrit Renker
of the subsequent list_for_each_entry_safe(). Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 205 +++ net/dccp/ackvec.h | 103 +--- net/dccp/ccids/ccid2.c | 13 +-- net/dccp/input.c |6

[PATCH 08/10] [ACKVEC]: Schedule SyncAck when running out of space

2008-02-21 Thread Gerrit Renker
at the beginning of the connection this can be very counter- intuitive and annoying. (Over the long term there should be some adjustment to reduce MPS at least by a minimum when Ack Vectors are used; some applications may rely on the exact value of the MPS). Signed-off-by: Gerrit Renker [EMAIL PROTECTED

[PATCH 10/10] [ACKVEC]: Separate option parsing from CCID processing

2008-02-21 Thread Gerrit Renker
code to fetch parsed Ack Vectors via this interface; * a data structure, `struct dccp_ackvec_parsed' is provided as interface; * this structure arranges Ack Vectors of the same skb into a FIFO order; * a doubly-linked list is used to keep the required FIFO code small. Signed-off-by: Gerrit

[PATCH 01/10] [ACKVEC]: Need to ignore Ack Vectors on request sockets

2008-02-21 Thread Gerrit Renker
' with computation in argument list (btw, these indices are nowhere used -- are they really still needed???). Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- include/linux/dccp.h |6 -- net/dccp/options.c | 19 +++ 2 files changed, 11 insertions(+), 14 deletions

[PATCH 09/10] [ACKVEC]: Remove old infrastructure

2008-02-21 Thread Gerrit Renker
. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/Kconfig |3 - net/dccp/Makefile |5 +- net/dccp/ackvec.c | 252 net/dccp/ackvec.h | 79 +--- net/dccp/ccids/Kconfig |1 - 5 files changed

[PATCH 04/10] [ACKVEC]: Implementation of circular Ack Vector buffer with overflow handling

2008-02-21 Thread Gerrit Renker
). Hence the patch uses a different policy: when the buffer overflows, the oldest entries are subsequently overwritten. This has a higher chance of recovery. Details are on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/ack_vectors/ Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp

[DCCP] [Patch 0/10]: Finish and repair existing Ack Vector implementation

2008-02-21 Thread Gerrit Renker
This is a re-packaged resubmission (reduction from about 20 small patches) of the Ack Vector patch set, which accomplishes two main things. First, it completes the implementation of a circular Ack Vector buffer. So far the buffer was implemented as a linear array which dropped packets on

[PATCH 06/10] [ACKVEC]: Update code for the Ack Vector input/registration routine

2008-02-21 Thread Gerrit Renker
the previous implementation by Arnaldo de Melo. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 150 + net/dccp/ackvec.h |9 +++ 2 files changed, 159 insertions(+), 0 deletions(-) --- a/net/dccp/ackvec.h +++ b/net/dccp

[PATCH 07/10] [ACKVEC]: Consolidate Ack-Vector processing within main DCCP module

2008-02-21 Thread Gerrit Renker
to clear the old state first before entering new state; * Ack Event handling happens mostly within the CCIDs, not the main DCCP module. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/input.c | 32 ++-- 1 files changed, 10 insertions

[DCCP] [PATCH 0/5]: Extend CCID interface so that CCID-2 stops polling

2008-02-14 Thread Gerrit Renker
This set of patches extends the packet sending/dequeuing interface, which is currently restricted to using time intervals only. This forces CCID-2 into a constant polling mode, which is removed in patch #4. Patch #1: Extends the CCID packet dequeuing interface to allow CCIDs to

[PATCH 3/5] [DCCP]: Empty the write queue when disconnecting

2008-02-14 Thread Gerrit Renker
end (compare with call to tcp_write_queue_purge in tcp_disconnect()). Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/proto.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) --- a/net/dccp/proto.c +++ b/net/dccp/proto.c @@ -277,7 +277,9 @@ int dccp_disconnect(struct sock *sk

[PATCH 4/5] [CCID2]: Stop polling

2008-02-14 Thread Gerrit Renker
This updates CCID2 to use the CCID dequeuing mechanism, converting from previous constant-polling to a now event-driven mechanism. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/ccid2.c | 21 + net/dccp/ccids/ccid2.h |5 + 2 files changed, 18

[PATCH 5/5] [CCID]: Unused argument

2008-02-14 Thread Gerrit Renker
.patch now maintained by Emmanuel Lochin.) Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccid.h|6 +++--- net/dccp/ccids/ccid2.c |2 +- net/dccp/ccids/ccid3.c |3 +-- net/dccp/output.c |2 +- 4 files changed, 6 insertions(+), 7 deletions(-) --- a/net/dccp

[PATCH 2/5] [CCID]: Refine the wait-for-ccid mechanism

2008-02-14 Thread Gerrit Renker
time), (c) wait-for-ccid could not finish within the given time limit. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/dccp.h |3 +- net/dccp/output.c | 122 ++--- net/dccp/proto.c | 15 ++- net/dccp/timer.c |2 +- 4

[PATCH 1/5] [DCCP]: Extend CCID packet dequeueing interface

2008-02-14 Thread Gerrit Renker
. If the tasklet finds that the socket is locked, it re-schedules the tasklet function (not the tasklet) after one jiffy. Changed DCCP_BUG to DCCP_WARN when transmit_skb returns an error (e.g. when a local qdisc is used, NET_XMIT_DROP=1 can be returned for many packets). Signed-off-by: Gerrit Renker [EMAIL

[PATCH 4/6] [DCCP]: Fix the adjustments to AWL and SWL

2008-01-28 Thread Gerrit Renker
, AWH := GSS Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/dccp.h | 20 net/dccp/input.c | 18 ++ net/dccp/minisocks.c | 30 +- 3 files changed, 35 insertions(+), 33 deletions(-) --- a/net/dccp/dccp.h

[PATCH 5/6] [DCCP]: Merge now-reduced connect_init() function

2008-01-28 Thread Gerrit Renker
After moving the assignment of GAR/ISS from dccp_connect_init() to dccp_transmit_skb(), the former function becomes very small, so that a merger with dccp_connect() suggested itself. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/output.c | 18 +- 1 files changed

[PATCH 2/6] [DCCP]: Bug in initial acknowledgment number assignment

2008-01-28 Thread Gerrit Renker
Step 8.5 in RFC 4340 says for the newly cloned socket Initialize S.GAR := S.ISS, but what in fact the code (minisocks.c) does is Initialize S.GAR := S.ISR, which is wrong (typo?) -- fixed by the patch. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp

[DCCP] [Patch 0/6] [BUG-Fix]: Fixes for CCID3, seqnos, and dccp_probe

2008-01-28 Thread Gerrit Renker
This is a set of bug fixes for CCID3 and general DCCP. Please consider patches #1, #2, #3. The remainder are for the test tree (but are fixes nonetheless) and may not apply directly onto mainline; with regard to patch #6, please see note at end of message. Patch #1: Fixes a CCID3 bug: when loss

[PATCH 1/6] [CCID3]: Function returned wrong value

2008-01-28 Thread Gerrit Renker
of the initial loss interval, and thus unnecessarily reducing the throughput. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/lib/tfrc_equation.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- a/net/dccp/ccids/lib/tfrc_equation.c +++ b/net/dccp/ccids/lib

[PATCH 3/6] [DCCP]: Bug-Fix - AWL was never updated

2008-01-28 Thread Gerrit Renker
for AWL as specified in RFC 4340, 7.5.1. Note: A problem that remains is that ISS can potentially be under-run even after the initial handshake; this is addressed a subsequent patch. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/output.c | 34

[PATCH 6/6] [DCCP-PROBE]: Reduce noise in output and convert to ktime_t

2008-01-28 Thread Gerrit Renker
, the now-unused `size' field in the output has been replaced with the CCID identifier. This also serves for future compatibility - support for CCID2 is work in progress (depends on the still unfinished SRTT/RTTVAR updates). While at it, the update to ktime_t was also performed. Signed-off-by: Gerrit

Re: FW: ccid2/ccid3 oopses

2008-01-10 Thread Gerrit Renker
| So maybe the cause triggering this oops is somewhere else. | | yes, probably. sorry - i didn`t tell or maybe i didn`t know when writing | my first mail to module authors and forget to add that before forwarding here. | | for me , the problem does not happen with suse kernel of the day |

Re: FW: ccid2/ccid3 oopses

2008-01-09 Thread Gerrit Renker
Roland, - apparently, i got crashes when loading/unloading other driver modules just after ccid2 or ccid3 had been loaded/unloaded _once_ (have not used them at all, just modprobe module;modprobe -r module) snip the easiest way to reproduce is: while true;do modprobe

Re: FW: ccid2/ccid3 oopses

2008-01-09 Thread Gerrit Renker
| the easiest way to reproduce is: | | while true;do modprobe dccp_ccid2/3;modprobe -r dccp_ccid2/3;done | after short time, the kernel oopses (messages below) | snip | | Gerrit, the control socket isn't attached to any CCID module, so the | CCID modules should be safe to remove, and

[PATCH 3/3] [CCID2]: Add option-parsing code to process Ack Vectors at the HC-sender

2008-01-08 Thread Gerrit Renker
This is patch 2 in the set and uses the routines provided by the previous patch to implement parsing of received Ack Vectors, replacing duplicate code. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/ccid2.c | 132 net/dccp

[PATCH 1/3] [ACKVEC]: Schedule SyncAck when running out of space

2008-01-08 Thread Gerrit Renker
this can be very counter- intuitive and annoying. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- include/linux/dccp.h |2 ++ net/dccp/options.c | 28 +++- net/dccp/output.c|8 3 files changed, 29 insertions(+), 9 deletions(-) --- a/include/linux

[PATCH 2/3] [ACKVEC]: Separate skb option parsing from CCID-specific code

2008-01-08 Thread Gerrit Renker
' is provided, which arranges all Ack Vectors of a single skb into a list of parsed chunks; * a doubly-linked list was used since insertion needs to be at the tail end; * the associated list handling and list de-allocation routines. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp

[DCCP] [PATCH 0/3]: Finishing Ack Vector patch set

2008-01-08 Thread Gerrit Renker
This is the new stuff for Ack Vectors, completing the Ack Vector work. All other patches are as before, with the single exception of the update sent yesterday (the recovery strategy for dealing with suddenly large losses). Arnaldo, can you please indicate whether I should resubmit the older

[DCCP] [Announce]: Test tree updates

2008-01-07 Thread Gerrit Renker
This is an edited list of recent changes in the test tree git://eden-feed.erg.abdn.ac.uk/dccp_exp At the top of each block is the name of the patch, followed by a short description of the change, and the actual (or abridged if obvious) inter-diff. Some of these changes refer to

[DCCP] [Patch 1/1] [Bug-Fix]: Need to ignore Ack Vectors on request sockets

2007-12-21 Thread Gerrit Renker
disabled by this patch. Two more changes suggested itself: * replaced magic numbers for CCID-specific options with symbolic constants; * replaced local variables `idx' with computation in argument list. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- include/linux/dccp.h |6 -- net/dccp

[PATCH 07/14] [ACKVEC]: Unnecessary to parse Ack Vectors when clearing HC-receiver state

2007-12-19 Thread Gerrit Renker
by the function (also same name as in A.3 of RFC 4340); * the variable `ackno' now becomes unused in options.c, and therefore is now used for other (space-saving) purposes. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 114

[PATCH 02/14] [ACKVEC]: Update Ack Vector fields

2007-12-19 Thread Gerrit Renker
in dccp_ackvec_alloc() has been removed, since dccp_ackvec_add() overrides this value each time a new packet is added to the buffer). Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 48 net/dccp/ackvec.h | 77

[PATCH 06/14] [ACKVEC]: Simplify adding Ack Vector records, split option-specific code

2007-12-19 Thread Gerrit Renker
-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 107 +--- net/dccp/ackvec.h |5 +- net/dccp/options.c | 65 +++ 3 files changed, 85 insertions(+), 92 deletions(-) --- a/net/dccp/ackvec.h +++ b/net/dccp

[PATCH 04/14] [ACKVEC]: Inlines for run length and state

2007-12-19 Thread Gerrit Renker
This provides inlines for Ack Vector run length and state, which allow to wrap several instances of the same code into function calls. The unused function dccp_ackvec_print() (which also relied on the older constants), has been removed. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net

[PATCH 09/14] [ACKVEC]: Support for circular Ack Vector buffer with overflow handling

2007-12-19 Thread Gerrit Renker
overwritten. This has a higher chance of recovery. Details are on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/ack_vectors/ Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 11 ++- net/dccp/ackvec.h | 12 net/dccp/dccp.h| 14 +++--- net

[PATCH 08/14] [ACKVEC]: Use enum to enumerate Ack Vector states

2007-12-19 Thread Gerrit Renker
This replaces 3 #defines with an enum containing all possible Ack Vector states as per RFC 4340, 11.4. This helps to reduce the length of several expressions. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c |7 +++ net/dccp/ackvec.h | 10 ++ net

[PATCH 12/14] [ACKVEC]: Update Ack Vector input routine

2007-12-19 Thread Gerrit Renker
. Much of the old code and naming is reused. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 123 + net/dccp/ackvec.h |6 +++ 2 files changed, 129 insertions(+), 0 deletions(-) --- a/net/dccp/ackvec.h +++ b/net/dccp

[PATCH 10/14] [ACKVEC]: Determine buffer length dynamically

2007-12-19 Thread Gerrit Renker
The length of the circular Ack Vector buffer is now determined dynamically, as the span between head to tail. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 21 + net/dccp/ackvec.h |7 +++ net/dccp/options.c |7 --- 3 files changed

[PATCH 01/14] [CCID2]: Ack Vectors can happen on most packets

2007-12-19 Thread Gerrit Renker
Ack Vector. The fix is in parsing Ack Vectors on all packet types which are allowed to carry an Ack Vector. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/ccid2.c |7 +-- 1 files changed, 1 insertions(+), 6 deletions(-) --- a/net/dccp/ccids/ccid2.c +++ b/net/dccp/ccids

[PATCH 11/14] [ACKVEC]: Implement algorithm to update buffer state

2007-12-19 Thread Gerrit Renker
of the last unacknowledged but received seqno in tail_ackno, * has special cases to reset the overflow condition when appropriate, * is protected against receiving older information (would mess up buffer state). Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 82

[DCCP] [RFC] [Patch 0/14]: Ack Vector implementation + fixes

2007-12-19 Thread Gerrit Renker
This set of patches adds functionality to the existing DCCP Ack Vector implementation, extends it to a full circular buffer, and fixes two previously undiscovered problems which otherwise result in a corrupted buffer state. It is important that Ack Vectors run reliably since otherwise problems in

[PATCH 14/14] [ACKVEC]: Remove old infrastructure

2007-12-19 Thread Gerrit Renker
is no longer necessary. Also updated copyrights. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/Kconfig |3 - net/dccp/Makefile |5 +- net/dccp/ackvec.c | 141 +--- net/dccp/ackvec.h | 64 +- net

[PATCH 13/14] [ACKVEC]: Aggregate Ack-Vector related processing into single function

2007-12-19 Thread Gerrit Renker
the old state first before entering new state; * Ack Event handling happens mostly within the CCIDs, not the main DCCP module. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/input.c | 38 +++--- 1 files changed, 11 insertions(+), 27 deletions

[PATCH 03/14] [ACKVEC]: Use Elapsed Time separately

2007-12-19 Thread Gerrit Renker
time field in the Timestamp Echo option). Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 11 --- net/dccp/ackvec.h |3 --- 2 files changed, 0 insertions(+), 14 deletions(-) --- a/net/dccp/ackvec.h +++ b/net/dccp/ackvec.h @@ -12,7 +12,6 @@ */ #include

[PATCH 05/14] [ACKVEC]: Smaller allocation/deallocation routines

2007-12-19 Thread Gerrit Renker
condition is embedded in the loop condition of the subsequent list_for_each_entry_safe(). Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ackvec.c | 78 +++-- 1 files changed, 28 insertions(+), 50 deletions(-) --- a/net/dccp/ackvec.c

Re: [PATCH 3/3] [UDP6]: Counter increment on BH mode

2007-12-18 Thread Gerrit Renker
| | I didn't hear any objections so here is the patch again. | | [SNMP]: Fix SNMP counters with PREEMPT | I don't feel competent to say whether this is correct, but it seems that this is going a long way towards resolving older problems with the SNMP counters. What I can say is that a year

[DCCP] [PATCH 1/1]: Whitespace / outdated documentation

2007-12-18 Thread Gerrit Renker
[CCID3]: Whitespace cleanups and outdated documentation This removes outdated documentation which had been forgotten to be removed (x_recv, rtt now appear twice, p was removed from rx_sock); and removes new whitespace. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/ccid3.c

Re: [RFC]: Break up a patch in two (rfc3448bis changes to feedback reception)

2007-12-17 Thread Gerrit Renker
| The end result should be equivalent, but please take a look and That is a good catch - this patch was a pain to keep updated exactly due to the many indentation levels. I had a quick look, the patch looks ok. Just a small suggestion - since the RTT lookup code in tx_packet_recv() is new,

[DCCP] [Announce]: Ack Vector Implementation Notes

2007-12-13 Thread Gerrit Renker
I've been working on making DCCP Ack Vectors more robust, dealing more gracefully with buffer overflow, and fixing two cases which will lead to corrupted buffer state. The encountered problems and implementation strategy are documented on

Re: [PATCH 8/8] [PATCH v2] [CCID3]: Interface CCID3 code with newer Loss Intervals Database

2007-12-12 Thread Gerrit Renker
| This time around I'm not doing any reordering, just trying to use your | patches as is, but adding this patch as-is produces a kernel that will | crash, no? | | The loss history and the RX/TX packet history slabs are all created in | tfrc.c using the three different __init routines of the

Re: [PATCH 8/8] [PATCH v2] [CCID3]: Interface CCID3 code with newer Loss Intervals Database

2007-12-12 Thread Gerrit Renker
| +static struct kmem_cache *tfrc_lh_slab __read_mostly;/* === */ | | Yup, this one, is introduced as above but is not initialized at the | module init routine, please see, it should be OK and we can move on: | |

Re: [PATCH 8/8] [PATCH v2] [CCID3]: Interface CCID3 code with newer Loss Intervals Database

2007-12-11 Thread Gerrit Renker
| When interfacing we must make sure that ccid3 tfrc_lh_slab is created | and then tfrc_li_cachep is not needed. I'm doing this while keeping | the structure of the patches, i.e. one introducing, the other removing. | But we need to create tfrc_lh_slab if we want the tree to be bisectable. | |

Re: [PATCH 2/8] [TFRC]: Put RX/TX initialisation into tfrc.c

2007-12-10 Thread Gerrit Renker
| This separates RX/TX initialisation and puts all packet history / loss intervals | initialisation into tfrc.c. | The organisation is uniform: slab declaration - {rx,tx}_init() - {rx,tx}_exit() | | NAK, you can't call a __exit marked routine from a __init marked | routine. | Ok thanks,

Re: [PATCH 5/8] [TFRC]: Loss interval code needs the macros/inlines that were moved

2007-12-10 Thread Gerrit Renker
| |distcc[24516] ERROR: compile /root/.ccache/packet_his.tmp.aspire.home.net.24512.i on _tiptop failed |/usr/src/davem-2.6/net/dccp/ccids/lib/packet_history.c: In function '__one_after_loss': |/usr/src/davem-2.6/net/dccp/ccids/lib/packet_history.c:266: error: lvalue required as

[PATCH 0/4] [TFRC]: Revised Loss Intervals Patches (macro-less, new swap function)

2007-12-10 Thread Gerrit Renker
This revision updates earlier patches, following discussion, and adds one additional cleanup patch at the end. Patch #1: Revision of initialisation patch; fixed calling __exit function from __init function - identified by Arnaldo. Patch #2: Revision - re-converted

[PATCH 2/4] [PATCH v2] [TFRC]: Loss interval code needs the macros/inlines that were moved

2007-12-10 Thread Gerrit Renker
(), which in turn require the definition of the other inlines (macros). Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/lib/packet_history.c | 35 --- net/dccp/ccids/lib/packet_history.h | 35 +++ 2 files changed, 35

[PATCH 4/4] [CCID3]: Redundant debugging output / documentation

2007-12-10 Thread Gerrit Renker
consistent. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/ccid3.c |2 -- net/dccp/ccids/ccid3.h |4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c index 60fcb31..b92069b 100644 --- a/net/dccp/ccids/ccid3.c

[PATCH 1/4] [PATCH v2] [TFRC]: Put RX/TX initialisation into tfrc.c

2007-12-10 Thread Gerrit Renker
This separates RX/TX initialisation and puts all packet history / loss intervals initialisation into tfrc.c. The organisation is uniform: slab declaration - {rx,tx}_init() - {rx,tx}_exit() Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/lib/packet_history.c | 68

[PATCH 3/4] [PATCH v2] [TFRC]: Ringbuffer to track loss interval history

2007-12-10 Thread Gerrit Renker
of comprehensive, new loss detection algorithm - support for all cases of loss, including re-ordered/duplicate packets; - waiting for NDUPACK=3 packets to fill the hole; - updating loss records when a late-arriving packet fills a hole. Signed-off-by: Gerrit Renker [EMAIL

[PATCH 5/8] [TFRC]: Loss interval code needs the macros/inlines that were moved

2007-12-08 Thread Gerrit Renker
/packet_history.c:337: error: lvalue required as unary '' operand make[4]: *** [net/dccp/ccids/lib/packet_history.o] Error 1 make[3]: *** [net/dccp/ccids/lib] Error 2 make[2]: *** [net/dccp/ccids] Error 2 make[1]: *** [net/dccp/] Error 2 make: *** [sub-make] Error 2 Signed-off-by: Gerrit Renker [EMAIL

[PATCH 7/8] [TFRC]: CCID3 (and CCID4) needs to access these inlines

2007-12-08 Thread Gerrit Renker
This moves two inlines back to packet_history.h: these are not private to packet_history.c, but are needed by CCID3/4 to detect whether a new loss is indicated, or whether a loss is already pending. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/lib/packet_history.c | 26

[PATCH 4/8] [TFRC]: Need separate entry_from_skb routine

2007-12-08 Thread Gerrit Renker
did. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/lib/packet_history.c | 35 --- 1 files changed, 20 insertions(+), 15 deletions(-) diff --git a/net/dccp/ccids/lib/packet_history.c b/net/dccp/ccids/lib/packet_history.c index 4d37396..6256bec

[PATCH 6/8] [PATCH v2] [TFRC]: Ringbuffer to track loss interval history

2007-12-08 Thread Gerrit Renker
for NDUPACK=3 packets to fill the hole; - updating loss records when a late-arriving packet fills a hole. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL PROTECTED] --- net/dccp/ccids/lib/loss_interval.c | 158 ++- net/dccp/ccids/lib

[PATCH 2/8] [TFRC]: Put RX/TX initialisation into tfrc.c

2007-12-08 Thread Gerrit Renker
This separates RX/TX initialisation and puts all packet history / loss intervals initialisation into tfrc.c. The organisation is uniform: slab declaration - {rx,tx}_init() - {rx,tx}_exit() Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/lib/packet_history.c | 68

[PATCH 0/8] [DCCP]: Updates and fixes to ensure code works with recent changes

2007-12-08 Thread Gerrit Renker
Some of the recent changes in 2.6.25 cause problems with the existing implementation (i.e. break the code). This patch set therefore provides fixes and resubmits one subsequent patch which has not been considered so far, but which is part of the tfrc_lib package. Patch #1: Performs whitespace

[PATCH 8/8] [PATCH v2] [CCID3]: Interface CCID3 code with newer Loss Intervals Database

2007-12-08 Thread Gerrit Renker
/ fallback RTT value (defined in section 3.4 of RFC 4340 as 0.2 sec); while at it, the upper bound of 4 seconds for an RTT sample has been reduced to match the initial TCP RTO value of 3 seconds from[RFC 1122, 4.2.3.1]. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL

[PATCH 1/8] [TFRC]: Whitespace cleanups

2007-12-08 Thread Gerrit Renker
Just some tidy-ups to keep git/quilt happy. Also moved up the comment Receiver routines above the first occurrence of RX history routines. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/ccid3.c | 16 net/dccp/ccids/lib/loss_interval.c |2

[PATCH 3/8] [TFRC/CCID3]: Remove now unused functions / function calls

2007-12-08 Thread Gerrit Renker
-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/ccid3.c |3 +-- net/dccp/ccids/lib/packet_history.c |5 - 2 files changed, 1 insertions(+), 7 deletions(-) diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c index a5246f7..60fcb31 100644 --- a/net/dccp

Re: [PATCH 3/7] [TFRC]: Rename tfrc_tx_hist to tfrc_tx_hist_slab, for consistency

2007-12-06 Thread Gerrit Renker
| Signed-off-by: Arnaldo Carvalho de Melo [EMAIL PROTECTED] Signed-off-by: Gerrit Renker [EMAIL PROTECTED] -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 4/7] [TFRC]: Make the rx history slab be global

2007-12-06 Thread Gerrit Renker
| Signed-off-by: Arnaldo Carvalho de Melo [EMAIL PROTECTED] Signed-off-by: Gerrit Renker [EMAIL PROTECTED] -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 5/7] [TFRC]: Rename dccp_rx_ to tfrc_rx_

2007-12-06 Thread Gerrit Renker
| Signed-off-by: Arnaldo Carvalho de Melo [EMAIL PROTECTED] Signed-off-by: Gerrit Renker [EMAIL PROTECTED] -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [RFC2][PATCH 7/7] [TFRC]: New rx history code

2007-12-06 Thread Gerrit Renker
| The first six patches in this series are unmodified, so if you | are OK with them please send me your Signed-off-by. Patches [1/7], [2/7], and [6/7] already have a signed-off and there are no changes. Just acknowledged [3..5/7], will look at [7/7] now. Cheers Gerrit -- To unsubscribe from

[PATCH v2 0/3][BUG-FIX]: Test tree updates and bug fixes

2007-12-05 Thread Gerrit Renker
for `data packets' as per RFC 4340, sec. 7.7. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL PROTECTED] --- net/dccp/ccids/lib/packet_history.c | 126 --- net/dccp/ccids/lib/packet_history.h | 144

[PATCH v2 0/3][BUG-FIX]: Test tree updates and bug fixes

2007-12-05 Thread Gerrit Renker
tfrc_module source file (this is later populated with TX/RX hist and LI Database routines); (2) a dedicated tfrc_pr_debug macro with toggle switch `tfrc_debug'. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL PROTECTED] --- net/dccp/ccids/Kconfig

[PATCH v2 0/3][BUG-FIX]: Test tree updates and bug fixes

2007-12-05 Thread Gerrit Renker
out by Arnaldo); * no other code calls this function, hence the inline function can go. Also replaced the first call to updating s with direct assignment of `payload_size'; this has also been pointed out by Arnaldo. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/ccids/ccid3.c

[PATCH v2 0/3][BUG-FIX]: Test tree updates and bug fixes

2007-12-05 Thread Gerrit Renker
Orthogonal to the ongoing discussion of patches, here are updates of existing ones. This is mainly to keep the test tree in synch; I'd like to upload the new test tree since -rc4 is out. Arnaldo has actually pointed out more bugs than I have given him credit for, these are contained in this patch

Re: [PATCH 7/7][TAKE 2][TFRC] New rx history code

2007-12-05 Thread Gerrit Renker
| I found a problem that I'm still investigating if was introduced by this | patch or if was already present. When sending 1 million 256 byte packets | with ttcp over loopback, using ccid3 it is crashing, the test machine | I'm using doesn't have a serial port, its a notebook, will switch to |

Re: [PATCH v2 0/3][BUG-FIX]: Test tree updates and bug fixes

2007-12-05 Thread Gerrit Renker
| @@ -788,8 +782,8 @@ static void ccid3_hc_rx_packet_recv(stru | if (unlikely(hcrx-ccid3hcrx_state == TFRC_RSTATE_NO_DATA)) { | if (is_data_packet) { | do_feedback = FBACK_INITIAL; | + hcrx-ccid3hcrx_s = payload_size; |

Re: [RFC][PATCHES 0/7]: Reorganization of RX history patches

2007-12-05 Thread Gerrit Renker
| Patch #3: | - |Renames s/tfrc_tx_hist/tfrc_tx_hist_slab/g; no problems. | | This was for consistency with the other slabs in DCCP: | | [EMAIL PROTECTED] net-2.6.25]$ find net/dccp/ -name *.c | xargs grep 'struct kmem_cache' Thanks, I will put the same naming scheme also in the

Re: [PATCH 7/7] [TFRC] New rx history code

2007-12-05 Thread Gerrit Renker
| In the end this went back to the same questions and issues that were tackled between | February and March this year. I wish we could have had this dicussion then; it would | have made this email unnecessary. | | That is why it is important that the changeset comment collects these |

Re: [RFC][PATCHES 0/7]: Reorganization of RX history patches

2007-12-05 Thread Gerrit Renker
Today being Wednesday, below is some feedback after working through the patch set. Hope this is helpful. Patch #1: - Several new good points are introduced: - IP_DCCP_TFRC_DEBUG is made dependent on IP_DCCP_TFRC_DEBUG which is useful - the select from CONFIG_IP_DCCP_CCID3 =

Re: [PATCH v2 0/3][BUG-FIX]: Test tree updates and bug fixes

2007-12-05 Thread Gerrit Renker
| Thanks, I folded this into the reorganized RX history handling patch, | together with reverting ccid3_hc_rx_packet_recv to very close to your | original patch, with this changes: | | 1. no need to calculate the payload size for non data packets as this |value won't be used. | 2. Initialize

Re: [PATCH 7/7] [TFRC] New rx history code

2007-12-05 Thread Gerrit Renker
Quoting Arnaldo: | Em Tue, Dec 04, 2007 at 06:55:17AM +, Gerrit Renker escreveu: | NAK. You have changed the control flow of the algorithm and the underlying | data structure. Originally it had been an array of pointers, and this had | been a design decision right from the first submissions

Re: [RFC][PATCHES 0/7]: Reorganization of RX history patches

2007-12-03 Thread Gerrit Renker
Hi Arnaldo, hank you for going through this. I have just backported your recent patches of 2.6.25 to the DCCP/CCID4/Faster Restart test tree at git://eden-feed.erg.abdn.ac.uk/dccp_exp {dccp,ccid4,dccp_fr} as per subsequent message. |do, so please consider moving DCCP discussion

[RFC][Resend][PATCH 0/7]: CCID3/TFRC RX history and loss intervals implementation

2007-12-03 Thread Gerrit Renker
I am re-submitting the original patch set which Arnaldo referred to, due to: 1/ It has been reworked to patch/compile against the 2.6.25 tree, which lead to a few changes (not conceptual in nature). 2/ Patch #7 in Arnaldo's set says that this patch set introduced some bugs. Please

[PATCH 1/6] [TFRC]: Provide central source file and debug facility

2007-12-03 Thread Gerrit Renker
This patch changes the tfrc_lib module in the following manner: (1) a dedicated tfrc_module source file (this is later populated with TX/RX hist and LI Database routines); (2) a dedicated tfrc_pr_debug macro with toggle switch `tfrc_debug'. Signed-off-by: Gerrit Renker [EMAIL PROTECTED

[PATCH 6/6] [CCID]: Interface CCID3 code with newer Loss Intervals Database

2007-12-03 Thread Gerrit Renker
/ fallback RTT value (defined in section 3.4 of RFC 4340 as 0.2 sec); while at it, the upper bound of 4 seconds for an RTT sample has been reduced to match the initial TCP RTO value of 3 seconds from[RFC 1122, 4.2.3.1]. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL

[PATCH 4/6] [TFRC]: Remove old RX history interface

2007-12-03 Thread Gerrit Renker
Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL PROTECTED] --- net/dccp/ccids/lib/loss_interval.c |9 ++ net/dccp/ccids/lib/packet_history.c | 162 --- net/dccp/ccids/lib/packet_history.h | 84 -- 3 files

[PATCH 2/6] [TFRC]: New RX history implementation

2007-12-03 Thread Gerrit Renker
to automatically track highest-received seqno; * receiver-based RTT estimation (needed for instance by RFC 3448, 6.3.1); * a generic function to test for `data packets' as per RFC 4340, sec. 7.7. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL PROTECTED] --- net

[PATCH 3/6] [CCID3]: Hook up with new RX history interface

2007-12-03 Thread Gerrit Renker
-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL PROTECTED] --- net/dccp/ccids/ccid3.c | 292 ++-- net/dccp/ccids/ccid3.h | 38 --- 2 files changed, 102 insertions(+), 228 deletions(-) diff --git a/net/dccp/ccids/ccid3.c b/net/dccp

[PATCH 5/6] [TFRC]: Ringbuffer to track loss interval history

2007-12-03 Thread Gerrit Renker
for NDUPACK=3 packets to fill the hole; - updating loss records when a late-arriving packet fills a hole. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL PROTECTED] --- net/dccp/ccids/lib/loss_interval.c | 158 +- net/dccp/ccids

Re: [RFC][PATCHES 0/7]: Reorganization of RX history patches

2007-12-03 Thread Gerrit Renker
| Are you suggesting using netdev exclusively or in addition to [EMAIL PROTECTED] | | Well, since at least one person that has contributed significantly in | the past has said he can't cope with traffic on netdev, we can CC | [EMAIL PROTECTED] I have a similar problem with the traffic but agree

Re: [RFC][PATCHES 0/7]: Reorganization of RX history patches

2007-12-03 Thread Gerrit Renker
| | static inline void ccid3_hc_rx_update_s(struct ccid3_hc_rx_sock *hcrx, int len) | | { | | if (likely(len 0))/* don't update on empty packets (e.g. ACKs) */ | | hcrx-ccid3hcrx_s = tfrc_ewma(hcrx-ccid3hcrx_s, len, 9); | |

Re: [PATCH 7/7] [TFRC] New rx history code

2007-12-03 Thread Gerrit Renker
and/or delayed packets. This is not what I would call entirely equivalent as you claim. Your algorithm is fundamentally different, the control flow is not the same, nor are the underlying data structures. | Credit here goes to Gerrit Renker, that provided the initial implementation for | this new

  1   2   >