dccp: Lockless integration of CCID congestion-control plugins
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Mon, 5 Jan 2009 05:42:53 +0000 (21:42 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Jan 2009 05:42:53 +0000 (21:42 -0800)
commitddebc973c56b51b4e5d84d606f0430d81b895d67
treecebe0e4461346072b2063132fc1d9cf8c3e148f1
parent6ea2fde13abd3444008ab5e9585f9ed249e6047e
dccp: Lockless integration of CCID congestion-control plugins

Based on Arnaldo's earlier patch, this patch integrates the standardised
CCID congestion control plugins (CCID-2 and CCID-3) of DCCP with dccp.ko:

 * enables a faster connection path by eliminating the need to always go
   through the CCID registration lock;

 * updates the implementation to use only a single array whose size equals
   the number of configured CCIDs instead of the maximum (256);

 * since the CCIDs are now fixed array elements, synchronization is no
   longer needed, simplifying use and implementation.

CCID-2 is suggested as minimum for a basic DCCP implementation (RFC 4340, 10);
CCID-3 is a standards-track CCID supported by RFC 4342 and RFC 5348.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dccp/Kconfig
net/dccp/Makefile
net/dccp/ackvec.h
net/dccp/ccid.c
net/dccp/ccid.h
net/dccp/ccids/Kconfig
net/dccp/ccids/Makefile
net/dccp/ccids/ccid2.c
net/dccp/ccids/ccid3.c
net/dccp/dccp.h
net/dccp/proto.c