diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2009-01-05 00:42:53 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-05 00:42:53 -0500 |
commit | ddebc973c56b51b4e5d84d606f0430d81b895d67 (patch) | |
tree | cebe0e4461346072b2063132fc1d9cf8c3e148f1 /net/dccp/ackvec.h | |
parent | 6ea2fde13abd3444008ab5e9585f9ed249e6047e (diff) |
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>
Diffstat (limited to 'net/dccp/ackvec.h')
-rw-r--r-- | net/dccp/ackvec.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/dccp/ackvec.h b/net/dccp/ackvec.h index 4ccee030524e..569a33a79baa 100644 --- a/net/dccp/ackvec.h +++ b/net/dccp/ackvec.h | |||
@@ -84,7 +84,7 @@ struct dccp_ackvec_record { | |||
84 | struct sock; | 84 | struct sock; |
85 | struct sk_buff; | 85 | struct sk_buff; |
86 | 86 | ||
87 | #ifdef CONFIG_IP_DCCP_ACKVEC | 87 | #ifndef ___OLD_INTERFACE_TO_BE_REMOVED___ |
88 | extern int dccp_ackvec_init(void); | 88 | extern int dccp_ackvec_init(void); |
89 | extern void dccp_ackvec_exit(void); | 89 | extern void dccp_ackvec_exit(void); |
90 | 90 | ||
@@ -106,7 +106,7 @@ static inline int dccp_ackvec_pending(const struct dccp_ackvec *av) | |||
106 | { | 106 | { |
107 | return av->av_vec_len; | 107 | return av->av_vec_len; |
108 | } | 108 | } |
109 | #else /* CONFIG_IP_DCCP_ACKVEC */ | 109 | #else /* ___OLD_INTERFACE_TO_BE_REMOVED___ */ |
110 | static inline int dccp_ackvec_init(void) | 110 | static inline int dccp_ackvec_init(void) |
111 | { | 111 | { |
112 | return 0; | 112 | return 0; |