All of lore.kernel.org
 help / color / mirror / Atom feed
* initial CCID2 implementation for linux
@ 2005-12-06 19:01 Andrea Bittau
  2005-12-06 19:29 ` Ian McDonald
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Andrea Bittau @ 2005-12-06 19:01 UTC (permalink / raw)
  To: dccp

http://darkircop.org/acme-ccid2-20051206.diff

it's a diff from today's:
git/acme/net-2.6.16.git

To use it, you need to compile support for ack vectors and:
setsockopt DCCP_SOCKOPT_CCID_RX and DCCP_SOCKOPT_CCID_TX to 2.


CCID2 status:

* Standard TCP congestion control:
  - AIMD of cwnd, slow start etc.

* RTO timeouts:
  - Maintains RTT estimate and calculates RTO from that.
  - Doesn't support timestamp option.

* Ack ratios [reverse path congestion control]:
  - Supported by "infrastructure"
  - Missing feature negotiation, so no ack ratio change.

* ECN:
  - Correctly adjusts cwnd when packets are reported ECN marked.
  - Doesn't deal with ECN nonces.
  - No ECN support for reverse path congestion [receiving ECN marked ACK].

* No support for determining that flows go silent [ack an ack stuff].


I need to make the code solid and linux friendly.  Then I will split the patch
so hopefully arnaldo will agree to commit it.  It currently includes, and will
be split to:

* connect() race condition:
  Connect, send and disconnect real fast.  I don't remember details but,
  The socket will be transiting from SS_CONNECTING to SS_CONNECTED.  However,
  connect will return -1 because DCCP will have moved to CLOSE by the time
  connect() checks status.

* disconnect doesn't cleanup state:
  server sends close req.  Client doesn't reply with close "fast enough".
  Server will never destroy socket.  I still gotta think about this more though.

* support for ack vector records

* support for switching ccids

* support for ccid2


Any feedback is appreciated.  Specifically, if this code looks "promising" [i.e.
eventually commitable], it would be nice if someone can indicate the major
problems with it. [coding style, way of doing things, bugs, etc]

I'll now work on making the code more solid and splitting the patches.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-12-08 21:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-06 19:01 initial CCID2 implementation for linux Andrea Bittau
2005-12-06 19:29 ` Ian McDonald
2005-12-06 19:46 ` Andrea Bittau
2005-12-06 20:01 ` Ian McDonald
2005-12-08  7:12 ` Eddie Kohler
2005-12-08 21:40 ` Arnaldo Carvalho de Melo

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.