[ANNOUNCE]: Patch Preview

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [IETF DCCP]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux