mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
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>
This commit is contained in:
parent
6ea2fde13a
commit
ddebc973c5
11 changed files with 148 additions and 168 deletions
|
@ -940,10 +940,9 @@ static int ccid3_hc_rx_getsockopt(struct sock *sk, const int optname, int len,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct ccid_operations ccid3 = {
|
||||
struct ccid_operations ccid3_ops = {
|
||||
.ccid_id = DCCPC_CCID3,
|
||||
.ccid_name = "TCP-Friendly Rate Control",
|
||||
.ccid_owner = THIS_MODULE,
|
||||
.ccid_hc_tx_obj_size = sizeof(struct ccid3_hc_tx_sock),
|
||||
.ccid_hc_tx_init = ccid3_hc_tx_init,
|
||||
.ccid_hc_tx_exit = ccid3_hc_tx_exit,
|
||||
|
@ -964,23 +963,5 @@ static struct ccid_operations ccid3 = {
|
|||
|
||||
#ifdef CONFIG_IP_DCCP_CCID3_DEBUG
|
||||
module_param(ccid3_debug, bool, 0644);
|
||||
MODULE_PARM_DESC(ccid3_debug, "Enable debug messages");
|
||||
MODULE_PARM_DESC(ccid3_debug, "Enable CCID-3 debug messages");
|
||||
#endif
|
||||
|
||||
static __init int ccid3_module_init(void)
|
||||
{
|
||||
return ccid_register(&ccid3);
|
||||
}
|
||||
module_init(ccid3_module_init);
|
||||
|
||||
static __exit void ccid3_module_exit(void)
|
||||
{
|
||||
ccid_unregister(&ccid3);
|
||||
}
|
||||
module_exit(ccid3_module_exit);
|
||||
|
||||
MODULE_AUTHOR("Ian McDonald <ian.mcdonald@jandi.co.nz>, "
|
||||
"Arnaldo Carvalho de Melo <acme@ghostprotocols.net>");
|
||||
MODULE_DESCRIPTION("DCCP TFRC CCID3 CCID");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_ALIAS("net-dccp-ccid-3");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue