[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 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 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 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 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 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

[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 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

[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 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

Re: CCID3 over WiFi Study

2008-02-01 Thread Gerrit Renker
| The killer is the large buffering - do you know what size the Linksys | has? Also what size transmit buffer and what size sequence validation | window did you use. If these two were reduced then you might stop the | buffering occurring elsewhere... | For socket buffer sizes I used the default

CCID3 over WiFi Study

2008-01-31 Thread Gerrit Renker
I have uploaded an annotated set of plots on CCID3 over WiFi on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/ccid3/ccid3_over_wifi/ The interest was to get away from emulated networks. The WiFi link provides a real-world scenario which will create loss (100Mbs feeding into 11Mbps). Note:

[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 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 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

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

Re: mirror?

2008-01-07 Thread Gerrit Renker
Quoting Tomasz Grobelny: | As http://www.erg.abdn.ac.uk/ seems to be down at least since yesterday I'd | like to ask whether any mirror of dccp git tree and/or dccp patches to | mainline kernel is available. TIA, | -- Sorry about the outage, our building was renovated over the holidays. I am

Re: [PATCHv2 4/8] Fix name schema for tx-rx sock struct

2008-01-07 Thread Gerrit Renker
, Gerrit Renker [EMAIL PROTECTED]: | And your naming scheme changed from version 1 to version 2: | | This is patch v2: | | switch (optname) { | | case DCCP_SOCKOPT_CCID_TX_INFO: | | - if (len sizeof(hctx-tfrchctx_tfrc)) | | + if (len sizeof(hctx-ttx_tfrc

Re: panic on 2.6.24rc5

2008-01-07 Thread Gerrit Renker
Quoting Tomasz Grobelny: | On Friday 28 December 2007, I wrote: | Dnia Wednesday 26 of December 2007, napisa?e?: | What are the panics you are getting? It might be worth posting them to | the list. | | Here is the screenshot I captured a few days ago. Details: | - kernel-vanilla

[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 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 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 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 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

[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 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

[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 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

[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 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

[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

[Announce]: Server outage over Xmas holidays

2007-12-18 Thread Gerrit Renker
Both the dccp and the ccid4 trees have been brought up-to-date and uploaded. Due to necessary building work, we have to power down almost all servers in the department from Friday 21st December 2007until Sunday 6th January 2008 On Monday 7th January the server will be

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,

Re: DCCP source code

2007-12-14 Thread Gerrit Renker
| It was suggested that should email you regarding open source code for DCCP. We are looking for open source code for DCCP for a master thesis which will start in february. In particular we are looking for implementations that support CCID4 and faster restart. | Any help on this matter is

Re: [Announce]: Test results with latest CCID3 patch set

2007-12-13 Thread Gerrit Renker
Burak I have tried to replay your results but can not find anything wrong with the current test kernel. Please have a look at the results below, I repeated the same experiment on two different testbeds. Incidentally, these results agree with the values you observed for TCP Reno. It seems that

Re: [Announce]: Test results with latest CCID3 patch set

2007-12-13 Thread Gerrit Renker
| git-clone git://eden-feed.erg.abdn.ac.uk/dccp_exp my_dccp | | | But I did not check out the DCCP sub-branch, by: | | git-checkout --track -b dccp origin/dccp | | | However, as I type this command above, git complains saying: | | git checkout: branch dccp already exists | | |

[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. | |

CCID4 Tree Updated

2007-12-11 Thread Gerrit Renker
This is to announce that the CCID4 tree at git://eden-feed.erg.abdn.ac.uk/dccp_exp [ccid4] has been updated with regard to the latest changes on the list. It compiles cleanly, also did some application-level testing (streaming). - To unsubscribe from this list: send the line

Re: [Announce]: Test results with latest CCID3 patch set

2007-12-11 Thread Gerrit Renker
| I am new of this mailing list and I am really interested in the | measurements you are performing with DCCP. This was more of a regression test, as there had been recent changes in the test tree, to see that the kernel (not userspace) still performs in a predictable way. | Which tool are you

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 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

[Announce]: Test results with latest CCID3 patch set

2007-12-10 Thread Gerrit Renker
As promised, here are some test results using the latest (2.6.25-backported) version of the test tree. These are sanity checks and by no means statistically significant. For that it would necessary to run more tests, take averages and calculate standard deviation / error bars. Longer test runs (

[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 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 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 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 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 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 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

[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 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

CCID4 Testing - Some Results

2007-12-06 Thread Gerrit Renker
Below are some test results with the latest CCID4 subtree; two tests were performed: (a) iperf throughput tests (b) audio streaming using paraslash. Both tests were performed using DCCPv6 only, so DCCPv4 supposedly works also. 1. iperf throughput testing --- To make

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 dccp 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 dccp 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 dccp in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

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
| @@ -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 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
| 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: [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 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

[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

CCID4 subtree updated

2007-12-05 Thread Gerrit Renker
I have now updated the CCID4 subtree with regard to the latest changes in the CCID3 module: * rx_update_s() becomes obsolete * instead, the `s' value is set to payload_size (first packet) or * set to tfrc_ewma() (all further data packets). Furthermore (and this has been updated for CCID3 also)

[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
| | 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: [RFC]: tfrc_tx_hist_rtt

2007-11-30 Thread Gerrit Renker
Sorry I only got this email today and it is a busy day, too. The changes look good and are in general a further improvement on the code. I like the idea of hiding the internals of the list structure in the source file. I wonder if one could go one step further and also take the timestamp

Re: [RFC]: tfrc_tx_hist_rtt

2007-11-30 Thread Gerrit Renker
| I wonder if one could go one step further and also take the timestamp | directly when looking up the previous history sample, e.g. | snip | | I thought about that, but ccid3_hc_tx_packet_recv needs a timestamp some | lines below, when we reuse the ktime_get_real call. | Oh, of course -

[Announce]: Test-tree updated with 2.6.25 changes backported

2007-11-29 Thread Gerrit Renker
I have backported Arnaldo's changes to the test tree by inserting a dummy patch; all the other patches have been updated relative to this. The set of patches has been uploaded, it remains fully bisectable (just verified). Work with regard to the more recent changes will have to be done later.

[PATCH 0/4]: Revised support for passive-close

2007-11-28 Thread Gerrit Renker
This is the revised and tested patch for supporting passive-close. Testing was impaired by a nasty bug (patch #1) which lead to the final Reset not being sent. Once that had been fixed, things worked out very smoothly. Other than that I think that the patch set has much benefited from the

[PATCH 1/4]: Use AF-independent rebuild_header routine

2007-11-28 Thread Gerrit Renker
not. The fix is to use the AF-independent rebuild_header routine. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/output.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/net/dccp/output.c +++ b/net/dccp/output.c @@ -391,7 +391,7 @@ int dccp_send_reset(struct sock *sk, enu

[PATCH 4/4]: Remove duplicate test for CloseReq

2007-11-28 Thread Gerrit Renker
(). The latter is necesssary since dccp_rcv_closereq() is also called from __dccp_rcv_established(). This patch removes the duplicate test. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/input.c |6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) --- a/net/dccp/input.c +++ b/net/dccp

[PATCH 2/4]: Dedicated auxiliary states to support passive-close

2007-11-28 Thread Gerrit Renker
of this patch. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- include/linux/dccp.h | 56 +++ net/dccp/proto.c | 22 ++-- 2 files changed, 51 insertions(+), 27 deletions(-) --- a/include/linux/dccp.h +++ b/include/linux/dccp.h

[PATCH 3/4]: Integrate state transitions for passive-close

2007-11-28 Thread Gerrit Renker
for such a connection: the socket still exists, but its state indicates it is unusable. Last, dccp_finish_passive_close sets either DCCP_CLOSED or DCCP_CLOSING = TCP_CLOSING, so that sk_stream_wait_close() will wait for the final Reset (which will trigger CLOSING = CLOSED). Signed-off-by: Gerrit

Re: TX history patches was: Re: Test tree patch inventory - update

2007-11-25 Thread Gerrit Renker
| Also did you test this code? The patch on which this is based has been | subjected to some extensive regression-testing. I can't tell if it will | perform as intended. | | I performed testing, not exhaustive as the code should be equivalent to | what you had done, or can you find, from code

Re: Passive-close patches

2007-11-25 Thread Gerrit Renker
After further analysis, I think that the way passive-close was implemented by the patches (using intermediate states) is the cleanest (and maybe the simplest solution). It would be nice if it worked with the present approach of just enqueueing via dccp_fin, but several demands make a simple

[PATCH v2 1/1]

2007-11-25 Thread Gerrit Renker
- the fallback value specified in RFC 4340, 3.4 is used. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/output.c | 13 - net/dccp/proto.c | 18 -- 2 files changed, 12 insertions(+), 19 deletions(-) --- a/net/dccp/proto.c +++ b/net/dccp/proto.c @@ -985,24

Re: [RFC]: Withdrawal of passive-close patches

2007-11-23 Thread Gerrit Renker
The situation is clearer now: the passive-close patches are redundant, but the problem still exists. A description is below; the three passive-close patches have been taken out of the test tree and the updated test tree has been uploaded to git://eden-feed.erg.abdn.ac.uk/dccp_exp I

Re: TX history patches was: Re: Test tree patch inventory - update

2007-11-23 Thread Gerrit Renker
| -- | The patch set migrates TFRC TX history to a singly-linked list. | | The details are: | * use of a consistent naming scheme (all TFRC functions now begin with `tfrc_'); | * allocation and cleanup are taken

Re: Test tree patch inventory - update

2007-11-22 Thread Gerrit Renker
Arnaldo, | [DCCP]: Basic support for passive-close | | What happens if we receive a second CloseReq or a second Close packet or | if the server performed an active close? | Just to say I am still working on this. First, thanks a lot for pointing out the bug. This forced me to look again at

  1   2   3   4   5   6   7   8   >