Reworked patch, updated as requested:
* removed `typedef const'
* made all initialisation explicit, using field initialisers
This increases the space somewhat, but indeed much better readability.
* Ian I have added your Acked-by as requested, but please have another look
and let me know
[DCCP]: Initialisation and type-checking of feature sysctls
The number of feature sysctls is now smaller (it is instead now possible
to set values on a per-connection basis via sockops); this patch takes care
of their initialisation and some rudimentary type-checking:
* Sequence Window uses
[CCID3]: No more CCID control blocks in LISTEN state
The CCIDs are activated as last of the features, at the end of the handshake,
were
the LISTEN state of the master socket is inherited into the server state of the
child
socket. Thus, the only states visible to CCIDs now are OPEN/PARTOPEN, and
[DCCP]: Clean up remains from old feature-negotiation infrastructure
The code removed by this patch is no longer referenced or used, the added
lines update documentation and copyrights.
Signed-off-by: Gerrit Renker [EMAIL PROTECTED]
---
net/dccp/feat.c | 95
[DCCP]: Integration of dynamic feature activation - part 1 (socket setup)
This first patch out of three replaces the hardcoded default settings with
initialisation code for the dynamic feature negotiation.
Signed-off-by: Gerrit Renker [EMAIL PROTECTED]
---
net/dccp/proto.c | 43
[DCCP]: Activation of features after negotiation
This patch provides the post-processing of feature negotiation state, after
the negotiation has completed.
To this purpose, handlers are used and added to the dccp_feat_table. Each
handler
is passed a boolean flag whether the RX or TX side of the
This batch finishes the feature-negotiation during connection setup. The
remaining
batch considers exchanging FN options in established state, which is a different
kettle of fish.
Patch #1: Introduces feature-activation handlers to dynamically
activate feature values after negotiation.
[DCCP]: Remove manual influence on NDP Count feature
The NDP count feature is handled automatically now by the feature negotiation
code:
* for CCID2 it is disabled, since the code does not use or even refer to NDP
counts;
* for CCID3 it is enabled, since NDP counts are used to determine loss
[DCCP]: Initialisation framework for feature negotiation
This initialises feature negotiation from two tables, which are initialised
from sysctls. Furthermore, specifics of the implementation (e.g. currently
short seqnos and ECN are not supported) are advertised for robustness.
Signed-off-by:
[ACKVEC]: Phase out the use of boolean flag for Ack Vectors
This removes the use of the sysctl and the minisock variable for the Send Ack
Vector feature, which is now handled fully dynamically via feature negotiation;
i.e. when CCID2 is enabled, Ack Vectors are automatically enabled (as per RFC
One slight comment. NDP Count is not required by CCID 3's *specification*.
Without NDP Count, the receiver will simply treat ack losses like data losses;
this can lead to lower send rates when acks are lost, but does not harm
interoperability. However, it is totally reasonable for an
On 10/3/07, Gerrit Renker [EMAIL PROTECTED] wrote:
Reworked patch, updated as requested:
* removed `typedef const'
* made all initialisation explicit, using field initialisers
This increases the space somewhat, but indeed much better readability.
* Ian I have added your Acked-by as
On 10/4/07, Gerrit Renker [EMAIL PROTECTED] wrote:
[DCCP]: Integration of dynamic feature activation - part 2 (server side)
This patch integrates the activation of features at the end of negotiation
into the
server-side code.
Note: In dccp_create_openreq_child the request_sock argument is
On 10/4/07, Gerrit Renker [EMAIL PROTECTED] wrote:
[CCID3]: No more CCID control blocks in LISTEN state
The CCIDs are activated as last of the features, at the end of the handshake,
were
the LISTEN state of the master socket is inherited into the server state of
the child
socket. Thus,
On 10/4/07, Gerrit Renker [EMAIL PROTECTED] wrote:
[ACKVEC]: Phase out the use of boolean flag for Ack Vectors
This removes the use of the sysctl and the minisock variable for the Send Ack
Vector feature, which is now handled fully dynamically via feature
negotiation;
i.e. when CCID2 is
On 10/4/07, Gerrit Renker [EMAIL PROTECTED] wrote:
[DCCP]: Initialisation framework for feature negotiation
This initialises feature negotiation from two tables, which are initialised
from sysctls. Furthermore, specifics of the implementation (e.g. currently
short seqnos and ECN are not
On 10/4/07, Gerrit Renker [EMAIL PROTECTED] wrote:
[DCCP]: Remove manual influence on NDP Count feature
The NDP count feature is handled automatically now by the feature negotiation
code:
* for CCID2 it is disabled, since the code does not use or even refer to NDP
counts;
* for CCID3 it
On 10/4/07, Gerrit Renker [EMAIL PROTECTED] wrote:
[DCCP]: Debugging Feature Negotiation
Since all feature-negotiation processing now takes place in feat.c, functions
for producing
verbose debugging output can be concentrated there. A number of functions to
print out values,
entry
On 10/4/07, Gerrit Renker [EMAIL PROTECTED] wrote:
[DCCP]: Auto-load (when supported) CCID plugins for negotiation
This adds auto-loading of CCIDs (when module loading is enabled)
for the purpose of feature negotiation.
It is done in dccp_feat_init(), which is in process context.
The
On 10/4/07, Gerrit Renker [EMAIL PROTECTED] wrote:
[DCCP]: Implement both feature-local and feature-remote Sequence Window
feature
This adds full support for both local/remote Sequence Window feature, from
which the
* sequence-number-validity (W) and
* acknowledgment-number-validity
20 matches
Mail list logo