Re: [PATCH 3/10]: Dedicated auxiliary states to support passive-close

2007-10-01 Thread Gerrit Renker
Quoting Arnaldo Carvalho de Melo: | [DCCP]: Dedicated auxiliary states to support passive-close | | This adds two auxiliary states to deal with passive closes: |   * PASSIVE_1 (reached from OPEN via reception of Close) and |   * PASSIVE_2 (reached from OPEN via reception of CloseReq) |

Re: [PATCH 2/9]: Query supported CCIDs

2007-10-01 Thread Gerrit Renker
| One thing is the pointer in the request_sock case that I have to | figure out what is best and possibly rework your patches to provide what | I think is best. | I am looking forward to that - if you want me to change single patches, let me know. I had one more thought regarding

[PATCH 0/11]: Encoding, inserting, and processing Feature-Negotiation options

2007-10-01 Thread Gerrit Renker
Patch #1: Increases the find-smallest-optlen function to go up to 6 bytes which is the maximum for Seq Window and NDP count; and adds a Fixme, since some of the code still refers to an older draft using 3-bytes NDP count (wireshark was the same). Patch #2: In the

[PATCH 1/11]: Auxiliary function for smallest-fit option lengths

2007-10-01 Thread Gerrit Renker
[DCCP]: Auxiliary function for smallest-fit option lengths This introduces a function to determine the smallest-fit data type to carry options, which is used by the feature-negotiation code to insert option values. While doing this, I found that the same code is required to set the NDP length,

[PATCH 2/11]: Increase the scope of variable-length htonl/ntohl functions

2007-10-01 Thread Gerrit Renker
[DCCP]: Increase the scope of variable-length htonl/ntohl functions This extends the scope of two available functions, encode|decode_value_var, to work up to 6 (8) bytes, to match maximum requirements in the RFC. These functions are going to be used both by general option processing and feature

[PATCH 3/11]: Upgrade NDP count from u32 to u64

2007-10-01 Thread Gerrit Renker
[DCCP]: Upgrade NDP count from u32 to u64 This upgrades the data type and part of the processing code for the NDP count option from 4 to 6 bytes, since the option can be up to 6 bytes (RFC 4340). The data type is 8 bytes, but the actual limit is enforced by the maximum of dccp_bytes_per_value(),

[PATCH 4/11]: Support for Mandatory options

2007-10-01 Thread Gerrit Renker
[DCCP]: Support for Mandatory options Support for Mandatory options is provided by this patch, which will be used by subsequent feature-negotiation patches. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] --- net/dccp/feat.h|2 ++ net/dccp/options.c | 15 +++ 2 files

[PATCH 9/11]: Fill in the Data1..3 fields when option processing encounters option errors

2007-10-01 Thread Gerrit Renker
[DCCP]: Fill in the Data1..3 fields when option processing encounters option errors DCCP provides the Data 1..3 fields in the Reset header to carry information about why the connection was reset. An earlier patch provided basic support, this patch extends the capabilities by adding Reset

[PATCH 7/11]: Integrate feature-negotiation insertion code

2007-10-01 Thread Gerrit Renker
[DCCP]: Integrate feature-negotiation insertion code The patch implements insertion of feature negotiation at the server (listening and request socket) and the client (connecting socket). In dccp_insert_options(), several statements have been grouped together now to achieve (I hope) better

[PATCH 5/11]: Update insertion routine for feature-negotiation options

2007-10-01 Thread Gerrit Renker
[DCCP]: Update insertion routine for feature-negotiation options The patch extends existing code: * Confirm options divide into the confirmed value plus an optional preference list for SP values. Previously only the preference list was echoed for SP values, now the confirmed value is

[PATCH 8/11]: Preference list reconciliation

2007-10-01 Thread Gerrit Renker
[DCCP]: Preference list reconciliation This provides two functions to * reconcile preference lists (with appropriate return codes) and * reorder the preference list if successful reconciliation changed the preferred value. The patch also removes the old code for processing SP/NN Change

[PATCH 11/11]: Processing Confirm options

2007-10-01 Thread Gerrit Renker
[DCCP]: Processing Confirm options Analogous to the previous patch, this adds code to interpret incoming Confirm feature-negotiation options. Both functions operate on the feature-negotiation list of either the request_sock (server) or the dccp_sock (client). Signed-off-by: Gerrit Renker

[PATCH 10/11]: Process incoming Change requests

2007-10-01 Thread Gerrit Renker
[DCCP]: Process incoming Change requests This adds/replaces code for processing incoming Change feature-negotiation options. The main difference is that mandatory FN options are now interpreted inside the function (there are too many individual cases to do this externally); the function

[PATCH 6/11]: Insert feature-negotiation options into skb

2007-10-01 Thread Gerrit Renker
[DCCP]: Insert feature-negotiation options into skb The core insertion routine, provided by this patch, does a simple list walk and calls an already existing function in options.c to do the actual insertion of individual options. This replaces the earlier insertion routine from options.c

Re: [PATCH 1/11]: Auxiliary function for smallest-fit option lengths

2007-10-01 Thread Arnaldo Carvalho de Melo
Em Mon, Oct 01, 2007 at 03:18:11PM +0100, Gerrit Renker escreveu: [DCCP]: Auxiliary function for smallest-fit option lengths This introduces a function to determine the smallest-fit data type to carry options, which is used by the feature-negotiation code to insert option values. While

Re: [PATCH 1/11]: Auxiliary function for smallest-fit option lengths

2007-10-01 Thread Gerrit Renker
Quoting Arnaldo Carvalho de Melo: | +/* Find smallest-fit for @value, but not more than 6 bytes (current maximum) */ | +static inline u8 dccp_bytes_per_value(const u64 value) | +{ | + if (value 0xull) | + return 6; | + return value 0x? 4 : (value

Re: [PATCH 1/9]: Registration routines for changing feature values

2007-10-01 Thread Ian McDonald
On 9/29/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Registration routines for changing feature values Two registration routines, for SP and NN features, are provided by this patch, replacing a previous routine which was used for both feature types. Signed-off-by: Gerrit Renker [EMAIL

Re: [PATCH 2/9]: Query supported CCIDs

2007-10-01 Thread Ian McDonald
On 9/29/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Query supported CCIDs This provides a data structure to record which CCIDs are locally supported and three accessor functions: - a test function for internal use which is used to validate CCID requests made by the user; - a

Re: [PATCH 3/9]: Resolve feature dependencies resulting from choice of CCID

2007-10-01 Thread Ian McDonald
On 9/29/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Resolve feature dependencies resulting from choice of CCID This adds a hook to resolve features whose value depends on the choice of CCID. It is done at the server since it can only be done after the CCID values have been negotiated;

Re: [PATCH 4/9]: Resolve dependencies of features on choice of CCID

2007-10-01 Thread Ian McDonald
On 9/29/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Resolve dependencies of features on choice of CCID This provides a missing link in the code chain, as several features implicitly depend and/or rely on the choice of CCID. Most notably, this is the Send Ack Vector feature, but the

Re: [PATCH 5/9]: Glue function to support sockopt code

2007-10-01 Thread Ian McDonald
On 9/29/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Glue function to support sockopt code This adds a glue function so that change requests can still be made via setsockopt calls. This is useful for testing and maybe even from an API point of view. The test whether the socket is not

Re: [PATCH 6/9]: Provide feature negotiation for minimum-checksum-coverage

2007-10-01 Thread Ian McDonald
On 9/29/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Provide feature negotiation for minimum-checksum-coverage This provides feature negotiation for server minimum checksum coverage which so far has been missing. Since sender/receiver coverage values range only from 0...15, their type

Re: [PATCH 7/9]: Tidy up setsockopt calls

2007-10-01 Thread Ian McDonald
On 9/29/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Tidy up setsockopt calls This splits the setsockopt calls into two groups, depending on whether an integer argument (val) is required and whether routines being called do their own locking. Some options (such as setting the CCID)

Re: [PATCH 9/9]: API to query the current TX/RX CCID

2007-10-01 Thread Ian McDonald
On 9/29/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: API to query the current TX/RX CCID This provides function to query the current TX/RX CCID dynamically, without reliance on the minisock value, using dynamic information available in the currently loaded CCID module. This query

Re: [PATCH 8/9]: Set per-connection CCIDs via socket options

2007-10-01 Thread Ian McDonald
On 9/29/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Set per-connection CCIDs via socket options With this patch, TX/RX CCIDs can now be changed on a per-connection basis, which overrides the defaults set by the global sysctl variables for TX/RX CCIDs. To make full use of this

Re: [PATCH 3/3]: Convert Reset code into socket error number

2007-10-01 Thread Ian McDonald
On 9/30/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Convert Reset code into socket error number This adds support for converting the 11 currently defined Reset codes into system error numbers, which are stored in sk_err for further interpretation. This makes the externally visible

Re: [PATCH 3/3]: Convert Reset code into socket error number

2007-10-01 Thread Ian McDonald
On 10/2/07, Arnaldo Carvalho de Melo [EMAIL PROTECTED] wrote: He used a designated initializer, i.e. he said at which index in the array it the value is to be set. So it really doesn't matter the order. And when checking if the code was within the valid range he tested against the last entry

Re: [PATCH 3/3]: Convert Reset code into socket error number

2007-10-01 Thread Arnaldo Carvalho de Melo
Em Tue, Oct 02, 2007 at 09:07:24AM +1300, Ian McDonald escreveu: On 10/2/07, Arnaldo Carvalho de Melo [EMAIL PROTECTED] wrote: He used a designated initializer, i.e. he said at which index in the array it the value is to be set. So it really doesn't matter the order. And when checking if

Re: [PATCH 2/11]: Increase the scope of variable-length htonl/ntohl functions

2007-10-01 Thread Ian McDonald
On 10/2/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Increase the scope of variable-length htonl/ntohl functions This extends the scope of two available functions, encode|decode_value_var, to work up to 6 (8) bytes, to match maximum requirements in the RFC. These functions are going to

Re: [PATCH 5/11]: Update insertion routine for feature-negotiation options

2007-10-01 Thread Ian McDonald
On 10/2/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Update insertion routine for feature-negotiation options The patch extends existing code: * Confirm options divide into the confirmed value plus an optional preference list for SP values. Previously only the preference list was

Re: [PATCH 6/11]: Insert feature-negotiation options into skb

2007-10-01 Thread Ian McDonald
On 10/2/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Insert feature-negotiation options into skb The core insertion routine, provided by this patch, does a simple list walk and calls an already existing function in options.c to do the actual insertion of individual options. This

Re: [PATCH 7/11]: Integrate feature-negotiation insertion code

2007-10-01 Thread Ian McDonald
On 10/2/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Integrate feature-negotiation insertion code The patch implements insertion of feature negotiation at the server (listening and request socket) and the client (connecting socket). In dccp_insert_options(), several statements have

Re: [PATCH 8/11]: Preference list reconciliation

2007-10-01 Thread Ian McDonald
On 10/2/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Preference list reconciliation This provides two functions to * reconcile preference lists (with appropriate return codes) and * reorder the preference list if successful reconciliation changed the preferred value. The patch

Re: [PATCH 9/11]: Fill in the Data1..3 fields when option processing encounters option errors

2007-10-01 Thread Ian McDonald
On 10/2/07, Gerrit Renker [EMAIL PROTECTED] wrote: [DCCP]: Fill in the Data1..3 fields when option processing encounters option errors DCCP provides the Data 1..3 fields in the Reset header to carry information about why the connection was reset. An earlier patch provided basic support,