All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerrit Renker <gerrit@erg.abdn.ac.uk>
To: dccp@vger.kernel.org
Subject: [PATCH 0/5]: Last batch for feature negotiation
Date: Thu, 04 Oct 2007 14:01:41 +0000	[thread overview]
Message-ID: <200710041501.41799@strip-the-willow> (raw)

This is the last batch of the feature negotiation set, after which I would like to release it into the test tree.

I hold back another complete batch, which is the use of feature negotiation to dynamically update
Ack Ratio (as per patch#5). The batch itself works; the problem is that the current CCID code is buggy and
thus only works when setting Ack Ratio constantly to 1. Some of the causes seem to be

 * the loss detection is extremely messy and it seems it suffers from sequence number wraparound issues;
 * Ack loss detection is not done at all;
 * when cwnd=1 and ack ratio =2, a timeout results and the connection hangs for 1..3 seconds;
 * dead code in several places.

Hence I think it is better to remain with the current solution and leave Ack Ratio at 1 and treat the 
issues one-by-one, until CCID2 can take Ack Ratio changes more gracefully.


Patch #1: Provides a DCCP-specific wrapper around inet_csk_schedule_ack(), for functions which want to
          signal that they have something urgent (FN option, Ack Vector, Data Dropped, ...) to signal to the peer.

Patch #2: Adds in-kernel API support to register `fast-path' non-negotiable options in established state. Only NN 
          options are supported, since the outcome of SP negotiation is unpredictable unless using singleton values.
          Some further documentation in section 1.2 of 
          http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/implementation_notes.html

Patch #3: Complements patch #2 by adding reception and handling of ChangeL/ConfirmR for NN options.

Patch #4: Minisock becomes unemployed.

Patch #5: Adds a FIXME for making CCID2 cope gracefully with Ack Ratios different than 1 
          which currently it does not). I regret leaving this open, but remember that the whole feature-negotiation
          patch initially resulted from a discussion where we agreed that Ack Ratios should be enabled according to
          which CCID is loaded. These problems are now separate ones.


By the way, although Arnaldo pointed this out as a FIXME almost a full year ago, I think I have found
a solution for the problem of estimating headroom in calculating the MPS. If possible, please have a look
at http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/misc_notes/estimating_option_sizes_for_MPS.txt

                 reply	other threads:[~2007-10-04 14:01 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200710041501.41799@strip-the-willow \
    --to=gerrit@erg.abdn.ac.uk \
    --cc=dccp@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.