I have put quite a lot of work into
* bringing CCID 3 up to spec
* implement loss detection according to RFC 3448/4342
* add loss intervals handling according to rfc3448bis
* many cool new features
* ample documentation, applications, and test modules for most features
However, since patches are small for review-ability, this amounts to a total of
75 patches,
including the patch backlog; please see suggestion (2).
1. PREVIEW: Since mostly the following files are modified:
net/dccp/ccids/lib/ccid3.*
net/dccp/ccids/lib/loss_interval.*
net/dccp/ccids/lib/packet_history.*
I have posted combined patches onto
http://www.erg.abdn.ac.uk/users/gerrit/dccp/patches_working-set/
These apply in-order (see series file) onto today's tree. They have been
extensively tested,
can offer a test module for most essential features.
2. SUGGESTION: Since the patch backlog is really quite old now (over 2 months),
I would like
to suggest to re-submit it as one, combined patch, in the format of
http://www.erg.abdn.ac.uk/users/gerrit/dccp/patches_working-set/01_The_Patch_Backlog.diff
(maybe a bit more verbose)
==> But this depends on whether people are ok with this (see (3))
3. MISSED? I am not sure if I have missed Sign-offs or Acked-byes. Ian (and
others) can you please
check that http://www.erg.abdn.ac.uk/users/gerrit/dccp/patch-backlog/
is correct? In particular, only the following two out of 25 are not
acked/signed-off:
*
http://www.erg.abdn.ac.uk/users/gerrit/dccp/patch-backlog/3e_CCID3_send_time_race_condition.diff
(but I believe you said you were ok with it, since the patch was changed
to update t_ipi when `s' changes)
*
http://www.erg.abdn.ac.uk/users/gerrit/dccp/patch-backlog/4a_debug_always_no_module.diff
4. SUMMARY of patch sets 2 and 3:
* avoiding accumulation of sending credits
* faster & more efficient time-stamping (timestamps from NIC)
* honour initial (SYN handshake) RTT estimate
* implement rfc3448bis nofeedback timer handling
- ignore feedback after nofeedback timer expiry when p=0
- do not reduce X after nofeedback timer expiry
* implement larger initial windows as described in rfc3448bis
* resolve locking issues for SMP
- atomic context between sending packet & updating CCID
structures
- atomic context when updating t_nom
- protect transmitter data structures against asynchronous
changes
- keep garbage collection separate from access
* clean up and minimize socket data structures
* allow retrieving current Maximum Packet Size via socket option
* compilation fixes for 64-bit architectures
* function for distinguishing `data' and `non-data' (NDP) packet types
* routines to perform modulo-16 (window counter CCval) arithmetic
* simplify the kernel API (split functionality into modules)
* completely revised RX history structure
- circular list using only minimum of entries
- object-oriented programming interface (like abstract data
type)
- reusing the same structure for both RTT sampling and loss
detection
- generic service, available to other CCIDs
* loss detection
- cope with delayed, late, and re-ordered packets
- detect when a sequence hole is later filled
- take NDP information into account
- assign losses of the same RTT to the same loss event
- recycle history structures after loss detection (cope with
loss bursts)
* loss interval management
- also ring list since simplifies interface
- object-oriented programming interface (like abstract data
type)
- on-demand allocation: less memory consumption on loss-free
connections
- handing over from loss detection to loss interval history
completely automated
by module (reusable for future CCIDs)
Enjoy,
Gerrit
-
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