netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Cc: dccp@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH 09/37] dccp: Resolve dependencies of features on choice of CCID
Date: Thu, 28 Aug 2008 18:07:13 -0300	[thread overview]
Message-ID: <20080828210713.GP9193@ghostprotocols.net> (raw)
In-Reply-To: <1219945512-7723-10-git-send-email-gerrit@erg.abdn.ac.uk>

Em Thu, Aug 28, 2008 at 07:44:44PM +0200, Gerrit Renker escreveu:
> 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 also Ack Ratio and Send Loss Event Rate (also taken care of).
> 
> For Send Ack Vector, the situation is as follows:
>  * since CCID2 mandates the use of Ack Vectors, there is no point in allowing
>    endpoints which use CCID2 to disable Ack Vector features such a connection;
> 
>  * a peer with a TX CCID of CCID2 will always expect Ack Vectors, and a peer
>    with a RX CCID of CCID2 must always send Ack Vectors (RFC 4341, sec. 4);
> 
>  * for all other CCIDs, the use of (Send) Ack Vector is optional and thus
>    negotiable. However, this implies that the code negotiating the use of Ack
>    Vectors also supports it (i.e. is able to supply and to either parse or
>    ignore received Ack Vectors). Since this is not the case (CCID-3 has no Ack
>    Vector support), the use of Ack Vectors is here disabled, with a comment
>    in the source code.
> 
> An analogous consideration arises for the Send Loss Event Rate feature,
> since the CCID-3 implementation does not support the loss interval options
> of RFC 4342. To make such use explicit, corresponding feature-negotiation
> options are inserted which signal the use of the loss event rate option,
> as it is used by the CCID3 code.
> 
> Lastly, the values of the Ack Ratio feature are matched to the choice of CCID.
> 
> The patch implements this as a function which is called after the user has
> made all other registrations for changing default values of features.
> 
> The table is variable-length, the reserved (and hence for feature-negotiation
> invalid, confirmed by considering section 19.4 of RFC 4340) feature number `0'
> is used to mark the end of the table.

Doesn't this belongs into struct ccid_operations? Why has the core feature
negotiation have knowledge of any specific CCID? When people want to
merge CCID 4, 5, etc will we need to change net/dccp/feat.c?

I think that this needs thus to go to struct ccid_operations, and then the feature
negotiation code can just use use the ccid number to access:

struct ccid_operations *ccids[CCID_MAX]

ccids[ccid_number]->deps
 
> Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
> ---
>  net/dccp/dccp.h   |    1 +
>  net/dccp/feat.c   |  160 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>  net/dccp/output.c |    4 +
>  net/dccp/proto.c  |    3 +
>  4 files changed, 168 insertions(+), 0 deletions(-)
> 
> --- a/net/dccp/dccp.h
> +++ b/net/dccp/dccp.h
> @@ -442,6 +442,7 @@ static inline int dccp_ack_pending(const struct sock *sk)
>  	       inet_csk_ack_scheduled(sk);
>  }
>  
> +extern int  dccp_feat_finalise_settings(struct dccp_sock *dp);
>  extern void dccp_feat_list_purge(struct list_head *fn_list);
>  
>  extern int dccp_insert_options(struct sock *sk, struct sk_buff *skb);
> --- a/net/dccp/feat.c
> +++ b/net/dccp/feat.c
> @@ -438,6 +438,166 @@ int dccp_feat_change(struct dccp_minisock *dmsk, u8 type, u8 feature,
>  
>  EXPORT_SYMBOL_GPL(dccp_feat_change);
>  
> +/*
> + *	Tracking features whose value depend on the choice of CCID
> + *
> + * This is designed with an extension in mind so that a list walk could be done
> + * before activating any features. However, the existing framework was found to
> + * work satisfactorily up until now, the automatic verification is left open.
> + * When adding new CCIDs, add a corresponding dependency table here.
> + */
> +static const struct ccid_dependency *dccp_feat_ccid_deps(u8 ccid, bool is_local)
> +{
> +	static const struct ccid_dependency ccid2_dependencies[2][2] = {
> +		/*
> +		 * CCID2 mandates Ack Vectors (RFC 4341, 4.): as CCID is a TX
> +		 * feature and Send Ack Vector is an RX feature, `is_local'
> +		 * needs to be reversed.
> +		 */
> +		{	/* Dependencies of the receiver-side (remote) CCID2 */
> +			{
> +				.dependent_feat	= DCCPF_SEND_ACK_VECTOR,
> +				.is_local	= true,
> +				.is_mandatory	= true,
> +				.val		= 1
> +			},
> +			{ 0, 0, 0, 0 }
> +		},
> +		{	/* Dependencies of the sender-side (local) CCID2 */
> +			{
> +				.dependent_feat	= DCCPF_SEND_ACK_VECTOR,
> +				.is_local	= false,
> +				.is_mandatory	= true,
> +				.val		= 1
> +			},
> +			{ 0, 0, 0, 0 }
> +		}
> +	};
> +	static const struct ccid_dependency ccid3_dependencies[2][5] = {
> +		{	/*
> +			 * Dependencies of the receiver-side CCID3
> +			 */
> +			{	/* locally disable Ack Vectors */
> +				.dependent_feat	= DCCPF_SEND_ACK_VECTOR,
> +				.is_local	= true,
> +				.is_mandatory	= false,
> +				.val		= 0
> +			},
> +			{	/* see below why Send Loss Event Rate is on */
> +				.dependent_feat	= DCCPF_SEND_LEV_RATE,
> +				.is_local	= true,
> +				.is_mandatory	= true,
> +				.val		= 1
> +			},
> +			{	/* NDP Count is needed as per RFC 4342, 6.1.1 */
> +				.dependent_feat	= DCCPF_SEND_NDP_COUNT,
> +				.is_local	= false,
> +				.is_mandatory	= true,
> +				.val		= 1
> +			},
> +			{ 0, 0, 0, 0 },
> +		},
> +		{	/*
> +			 * CCID3 at the TX side: we request that the HC-receiver
> +			 * will not send Ack Vectors (they will be ignored, so
> +			 * Mandatory is not set); we enable Send Loss Event Rate
> +			 * (Mandatory since the implementation does not support
> +			 * the Loss Intervals option of RFC 4342, 8.6).
> +			 * The last two options are for peer's information only.
> +			*/
> +			{
> +				.dependent_feat	= DCCPF_SEND_ACK_VECTOR,
> +				.is_local	= false,
> +				.is_mandatory	= false,
> +				.val		= 0
> +			},
> +			{
> +				.dependent_feat	= DCCPF_SEND_LEV_RATE,
> +				.is_local	= false,
> +				.is_mandatory	= true,
> +				.val		= 1
> +			},
> +			{	/* this CCID does not support Ack Ratio */
> +				.dependent_feat	= DCCPF_ACK_RATIO,
> +				.is_local	= true,
> +				.is_mandatory	= false,
> +				.val		= 0
> +			},
> +			{	/* tell receiver we are sending NDP counts */
> +				.dependent_feat	= DCCPF_SEND_NDP_COUNT,
> +				.is_local	= true,
> +				.is_mandatory	= false,
> +				.val		= 1
> +			},
> +			{ 0, 0, 0, 0 }
> +		}
> +	};
> +	switch (ccid) {
> +	case DCCPC_CCID2:
> +		return ccid2_dependencies[is_local];
> +	case DCCPC_CCID3:
> +		return ccid3_dependencies[is_local];
> +	default:
> +		return NULL;
> +	}
> +}
> +
> +/**
> + * dccp_feat_propagate_ccid - Resolve dependencies of features on choice of CCID
> + * @fn: feature-negotiation list to update
> + * @id: CCID number to track
> + * @is_local: whether TX CCID (1) or RX CCID (0) is meant
> + * This function needs to be called after registering all other features.
> + */
> +static int dccp_feat_propagate_ccid(struct list_head *fn, u8 id, bool is_local)
> +{
> +	const struct ccid_dependency *table = dccp_feat_ccid_deps(id, is_local);
> +	int i, rc = (table == NULL);
> +
> +	for (i = 0; rc == 0 && table[i].dependent_feat != DCCPF_RESERVED; i++)
> +		if (dccp_feat_type(table[i].dependent_feat) == FEAT_SP)
> +			rc = __feat_register_sp(fn, table[i].dependent_feat,
> +						    table[i].is_local,
> +						    table[i].is_mandatory,
> +						    &table[i].val, 1);
> +		else
> +			rc = __feat_register_nn(fn, table[i].dependent_feat,
> +						    table[i].is_mandatory,
> +						    table[i].val);
> +	return rc;
> +}
> +
> +/**
> + * dccp_feat_finalise_settings  -  Finalise settings before starting negotiation
> + * @dp: client or listening socket (settings will be inherited)
> + * This is called after all registrations (socket initialisation, sysctls, and
> + * sockopt calls), and before sending the first packet containing Change options
> + * (ie. client-Request or server-Response), to ensure internal consistency.
> + */
> +int dccp_feat_finalise_settings(struct dccp_sock *dp)
> +{
> +	struct list_head *fn = &dp->dccps_featneg;
> +	struct dccp_feat_entry *entry;
> +	int i = 2, ccids[2] = { -1, -1 };
> +
> +	/*
> +	 * Propagating CCIDs:
> +	 * 1) not useful to propagate CCID settings if this host advertises more
> +	 *    than one CCID: the choice of CCID  may still change - if this is
> +	 *    the client, or if this is the server and the client sends
> +	 *    singleton CCID values.
> +	 * 2) since is that propagate_ccid changes the list, we defer changing
> +	 *    the sorted list until after the traversal.
> +	 */
> +	list_for_each_entry(entry, fn, node)
> +		if (entry->feat_num == DCCPF_CCID && entry->val.sp.len == 1)
> +			ccids[entry->is_local] = entry->val.sp.vec[0];
> +	while (i--)
> +		if (ccids[i] > 0 && dccp_feat_propagate_ccid(fn, ccids[i], i))
> +			return -1;
> +	return 0;
> +}
> +
>  static int dccp_feat_update_ccid(struct sock *sk, u8 type, u8 new_ccid_nr)
>  {
>  	struct dccp_sock *dp = dccp_sk(sk);
> --- a/net/dccp/output.c
> +++ b/net/dccp/output.c
> @@ -469,6 +469,10 @@ int dccp_connect(struct sock *sk)
>  	struct sk_buff *skb;
>  	struct inet_connection_sock *icsk = inet_csk(sk);
>  
> +	/* do not connect if feature negotiation setup fails */
> +	if (dccp_feat_finalise_settings(dccp_sk(sk)))
> +		return -EPROTO;
> +
>  	dccp_connect_init(sk);
>  
>  	skb = alloc_skb(sk->sk_prot->max_header, sk->sk_allocation);
> --- a/net/dccp/proto.c
> +++ b/net/dccp/proto.c
> @@ -278,6 +278,9 @@ static inline int dccp_listen_start(struct sock *sk, int backlog)
>  	struct dccp_sock *dp = dccp_sk(sk);
>  
>  	dp->dccps_role = DCCP_ROLE_LISTEN;
> +	/* do not start to listen if feature negotiation setup fails */
> +	if (dccp_feat_finalise_settings(dp))
> +		return -EPROTO;
>  	return inet_csk_listen_start(sk, backlog);
>  }
>  
> -- 
> 1.6.0.rc2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe dccp" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2008-08-28 21:11 UTC|newest]

Thread overview: 241+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <dccp_featneg_last_call_for_comments>
2008-08-28 17:44 ` [PATCH 0/37] dccp: Feature negotiation - last call for comments Gerrit Renker
2008-08-28 17:44   ` [PATCH 01/37] dccp: Basic data structure for feature negotiation Gerrit Renker
2008-08-28 17:44     ` [PATCH 02/37] dccp: Implement lookup table for feature-negotiation information Gerrit Renker
2008-08-28 17:44       ` [PATCH 03/37] dccp: List management for new feature negotiation Gerrit Renker
2008-08-28 17:44         ` [PATCH 04/37] dccp: Per-socket initialisation of " Gerrit Renker
2008-08-28 17:44           ` [PATCH 05/37] dccp: Cleanup routines for " Gerrit Renker
2008-08-28 17:44             ` [PATCH 06/37] dccp: Limit feature negotiation to connection setup phase Gerrit Renker
2008-08-28 17:44               ` [PATCH 07/37] dccp: Registration routines for changing feature values Gerrit Renker
2008-08-28 17:44                 ` [PATCH 08/37] dccp: Query supported CCIDs Gerrit Renker
2008-08-28 17:44                   ` [PATCH 09/37] dccp: Resolve dependencies of features on choice of CCID Gerrit Renker
2008-08-28 17:44                     ` [PATCH 10/37] dccp: Mechanism to resolve CCID dependencies Gerrit Renker
2008-08-28 17:44                       ` [PATCH 11/37] dccp: Deprecate old setsockopt framework Gerrit Renker
2008-08-28 17:44                         ` [PATCH 12/37] dccp: Feature negotiation for minimum-checksum-coverage Gerrit Renker
2008-08-28 17:44                           ` [PATCH 13/37] dccp: Deprecate Ack Ratio sysctl Gerrit Renker
2008-08-28 17:44                             ` [PATCH 14/37] dccp: Tidy up setsockopt calls Gerrit Renker
2008-08-28 17:44                               ` [PATCH 15/37] dccp: Set per-connection CCIDs via socket options Gerrit Renker
2008-08-28 17:44                                 ` [PATCH 16/37] dccp: API to query the current TX/RX CCID Gerrit Renker
2008-08-28 17:44                                   ` [PATCH 17/37] dccp: Increase the scope of variable-length htonl/ntohl functions Gerrit Renker
2008-08-28 17:44                                     ` [PATCH 18/37] dccp: Support for Mandatory options Gerrit Renker
2008-08-28 17:44                                       ` [PATCH 19/37] dccp: Header option insertion routine for feature-negotiation Gerrit Renker
2008-08-28 17:44                                         ` [PATCH 20/37] dccp: Insert feature-negotiation options into skb Gerrit Renker
2008-08-28 17:44                                           ` [PATCH 21/37] dccp: Integrate feature-negotiation insertion code Gerrit Renker
2008-08-28 17:44                                             ` [PATCH 22/37] dccp: Preference list reconciliation Gerrit Renker
2008-08-28 17:44                                               ` [PATCH 23/37] dccp: Process incoming Change feature-negotiation options Gerrit Renker
2008-08-28 17:44                                                 ` [PATCH 24/37] dccp: Processing Confirm options Gerrit Renker
2008-08-28 17:45                                                   ` [PATCH 25/37] dccp: Feature activation handlers Gerrit Renker
2008-08-28 17:45                                                     ` [PATCH 26/37] dccp: Integration of dynamic feature activation - part 1 (socket setup) Gerrit Renker
2008-08-28 17:45                                                       ` [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) Gerrit Renker
2008-08-28 17:45                                                         ` [PATCH 28/37] dccp: Integration of dynamic feature activation - part 3 (client side) Gerrit Renker
2008-08-28 17:45                                                           ` [PATCH 29/37] dccp: Clean up old feature-negotiation infrastructure Gerrit Renker
2008-08-28 17:45                                                             ` [PATCH 30/37] dccp: Remove obsolete parts of the old CCID interface Gerrit Renker
2008-08-28 17:45                                                               ` [PATCH 31/37] dccp: Remove manual influence on NDP Count feature Gerrit Renker
2008-08-28 17:45                                                                 ` [PATCH 32/37] dccp ccid-2: Phase out the use of boolean Ack Vector sysctl Gerrit Renker
2008-08-28 17:45                                                                   ` [PATCH 33/37] dccp: Initialisation framework for feature negotiation Gerrit Renker
2008-08-28 17:45                                                                     ` [PATCH 34/37] dccp: Auto-load (when supported) CCID plugins for negotiation Gerrit Renker
2008-08-28 17:45                                                                       ` [PATCH 35/37] dccp: Implement both feature-local and feature-remote Sequence Window feature Gerrit Renker
2008-08-28 17:45                                                                         ` [PATCH 36/37] dccp: Initialisation and type-checking of feature sysctls Gerrit Renker
2008-08-28 17:45                                                                           ` [PATCH 37/37] dccp: Debugging functions for feature negotiation Gerrit Renker
2008-09-02  6:34                                                     ` [PATCH 25/37] dccp: Feature activation handlers Wei Yongjun
2008-09-03  4:38                                                       ` Gerrit Renker
2008-09-03  5:42                                                         ` Wei Yongjun
2008-09-04  5:12                                                           ` Gerrit Renker
2008-09-02  5:48                                         ` [PATCH 19/37] dccp: Header option insertion routine for feature-negotiation Wei Yongjun
2008-09-03  4:40                                           ` Gerrit Renker
2008-08-28 21:50                                       ` [PATCH 18/37] dccp: Support for Mandatory options Arnaldo Carvalho de Melo
2008-08-28 21:48                                     ` [PATCH 17/37] dccp: Increase the scope of variable-length htonl/ntohl functions Arnaldo Carvalho de Melo
2008-08-28 21:47                                   ` [PATCH 16/37] dccp: API to query the current TX/RX CCID Arnaldo Carvalho de Melo
2008-08-29  7:26                                     ` Gerrit Renker
2008-08-30 13:52                                       ` v2 " Gerrit Renker
2008-08-28 21:45                                 ` [PATCH 15/37] dccp: Set per-connection CCIDs via socket options Arnaldo Carvalho de Melo
2008-08-29  7:17                                   ` Gerrit Renker
2008-08-30 13:52                                     ` v2 " Gerrit Renker
2008-08-28 21:35                               ` [PATCH 14/37] dccp: Tidy up setsockopt calls Arnaldo Carvalho de Melo
2008-08-29  6:57                                 ` Gerrit Renker
2008-08-29  9:25                               ` Eugene Teo
2008-08-30 13:52                                 ` Gerrit Renker
2008-08-28 21:26                             ` [PATCH 13/37] dccp: Deprecate Ack Ratio sysctl Arnaldo Carvalho de Melo
2008-08-28 21:25                           ` [PATCH 12/37] dccp: Feature negotiation for minimum-checksum-coverage Arnaldo Carvalho de Melo
2008-08-29  6:47                             ` Gerrit Renker
2008-08-28 21:07                     ` Arnaldo Carvalho de Melo [this message]
2008-08-29  6:34                       ` [PATCH 09/37] dccp: Resolve dependencies of features on choice of CCID Gerrit Renker
2008-09-03  4:51                       ` Gerrit Renker
2008-09-04  0:59                         ` Arnaldo Carvalho de Melo
2008-08-28 21:00                   ` [PATCH 08/37] dccp: Query supported CCIDs Arnaldo Carvalho de Melo
2008-08-29  6:17                     ` Gerrit Renker
2008-08-30 13:52                     ` Gerrit Renker
2008-08-28 20:54                 ` [PATCH 07/37] dccp: Registration routines for changing feature values Arnaldo Carvalho de Melo
2008-08-29  6:12                   ` Gerrit Renker
2008-09-02  6:12                     ` Wei Yongjun
2008-09-03  4:46                       ` Gerrit Renker
2008-08-28 20:50               ` [PATCH 06/37] dccp: Limit feature negotiation to connection setup phase Arnaldo Carvalho de Melo
2008-08-29  5:54                 ` Gerrit Renker
2008-08-28 19:53           ` [PATCH 04/37] dccp: Per-socket initialisation of feature negotiation Arnaldo Carvalho de Melo
2008-08-29  5:41             ` Gerrit Renker
2008-08-28 19:43         ` [PATCH 03/37] dccp: List management for new " Arnaldo Carvalho de Melo
2008-08-29  5:22           ` Gerrit Renker
2008-08-30 13:51           ` v2 " Gerrit Renker
2008-08-30 13:51           ` Gerrit Renker
2008-08-30 17:25           ` [PATCH 0/37] --- Summary of revision changes so far Gerrit Renker
2008-09-01 16:46             ` net-next-2.6 [pull-request] [PATCH 0/37] dccp: Revised set of feature-negotiation patches Gerrit Renker
2008-09-01 21:20               ` David Miller
2008-09-02 13:50                 ` Arnaldo Carvalho de Melo
2008-09-03  4:24                   ` Gerrit Renker
2008-09-03  6:06                     ` David Miller
2008-09-03  8:18                       ` Gerrit Renker
2008-09-04  6:15                         ` Gerrit Renker
2008-09-09  0:32                           ` David Miller
2008-09-09  8:09                             ` Gerrit Renker
2008-09-09  8:57                               ` David Miller
2008-09-09 11:59                                 ` Gerrit Renker
2008-09-09 12:15                                   ` David Miller
2008-09-10  5:01                                     ` Gerrit Renker
2008-09-10  5:19                                       ` David Miller
2008-09-11  5:41                                         ` Gerrit Renker
2008-09-11  5:51                                           ` David Miller
2008-09-11 14:02                                             ` Arnaldo Carvalho de Melo
2008-09-11 15:57                                             ` Gerrit Renker
2008-09-11  5:45                                 ` What to do with DCCP (was: net-next-2.6 [pull-request] [PATCH 0/37]...) Gerrit Renker
2008-09-11  5:53                                   ` What to do with DCCP David Miller
2008-09-12  5:16                                     ` Gerrit Renker
2008-09-22  4:57                       ` net-next-2.6 [pull-request] [PATCH 0/37] dccp: Revised set of feature-negotiation patches Gerrit Renker
2008-09-22  5:09                         ` David Miller
2008-09-22  6:28                           ` Gerrit Renker
2008-09-22  6:58                             ` David Miller
2008-09-22  7:21                               ` [PATCH 0/5] dccp: Feature negotiation, Part I - Underlying data structures Gerrit Renker
2008-09-22  7:21                                 ` [PATCH 1/5] dccp: Basic data structure for feature negotiation Gerrit Renker
2008-09-22  7:21                                   ` [PATCH 2/5] dccp: Implement lookup table for feature-negotiation information Gerrit Renker
2008-09-22  7:21                                     ` [PATCH 3/5] dccp: List management for new feature negotiation Gerrit Renker
2008-09-22  7:21                                       ` [PATCH 4/5] dccp: Per-socket initialisation of " Gerrit Renker
2008-09-22  7:21                                         ` [PATCH 5/5] dccp: Cleanup routines for " Gerrit Renker
2008-09-22 14:21                                     ` [PATCH 2/5] dccp: Implement lookup table for feature-negotiation information Arnaldo Carvalho de Melo
2008-09-22 15:45                                       ` Gerrit Renker
2008-09-22 16:49                                         ` Arnaldo Carvalho de Melo
2008-09-22 17:00                                         ` Arnaldo Carvalho de Melo
2008-09-24  4:41                                           ` Gerrit Renker
2008-09-24 13:58                                             ` Arnaldo Carvalho de Melo
2008-09-23  3:20                                         ` David Miller
2008-09-24  5:18                                           ` v2 " Gerrit Renker
2008-09-24  5:23                                             ` v2 [PATCH 1/5] dccp: Basic data structure for feature negotiation Gerrit Renker
2008-09-24 13:59                                               ` Arnaldo Carvalho de Melo
2008-10-02  5:05                                                 ` [PATCH 0/5] dccp: First part of feature-negotiation patch set Gerrit Renker
2008-10-02 19:52                                                   ` David Miller
2008-10-04  9:13                                                     ` v2 [PATCH 0/5] dccp: Feature negotiation, Part I - Underlying data structures Gerrit Renker
2008-10-04  9:13                                                       ` [PATCH 1/5] dccp: Basic data structure for feature negotiation Gerrit Renker
2008-10-04  9:13                                                         ` [PATCH 2/5] dccp: Implement lookup table for feature-negotiation information Gerrit Renker
2008-10-04  9:13                                                           ` [PATCH 3/5] dccp: List management for new feature negotiation Gerrit Renker
2008-10-04  9:13                                                             ` [PATCH 4/5] dccp: Per-socket initialisation of " Gerrit Renker
2008-10-04  9:13                                                               ` [PATCH 5/5] dccp: Cleanup routines for " Gerrit Renker
2008-10-05 16:13                                                       ` v2 [PATCH 0/5] dccp: Feature negotiation, Part I - Underlying data structures David Miller
2008-10-06  4:14                                                         ` Gerrit Renker
2008-10-11  7:31                                                         ` v3 " Gerrit Renker
2008-10-11 18:07                                                           ` David Miller
2008-10-13 14:58                                                             ` Gerrit Renker
2008-10-13 18:50                                                               ` David Miller
2008-11-05  6:51                                                           ` v3 [Re-Send] " Gerrit Renker
2008-11-05  7:56                                                             ` David Miller
2008-11-06  5:40                                                               ` net-next-2.6 [PATCH 0/4] dccp: Feature negotiation - conclusion of Part I (basis) Gerrit Renker
2008-11-06  5:40                                                                 ` [PATCH 1/4] dccp: Limit feature negotiation to connection setup phase Gerrit Renker
2008-11-06  5:40                                                                   ` [PATCH 2/4] dccp: Registration routines for changing feature values Gerrit Renker
2008-11-06  5:40                                                                     ` [PATCH 3/4] dccp: Query supported CCIDs Gerrit Renker
2008-11-06  5:40                                                                       ` [PATCH 4/4] dccp: Resolve dependencies of features on choice of CCID Gerrit Renker
2008-11-10 21:17                                                                         ` David Miller
2008-11-10 21:20                                                                           ` David Miller
2008-11-12  6:14                                                                             ` Gerrit Renker
2008-11-12  6:37                                                                         ` v2 " Gerrit Renker
2008-11-12  8:49                                                                           ` David Miller
2008-11-10 21:16                                                                       ` [PATCH 3/4] dccp: Query supported CCIDs David Miller
2008-11-12  6:37                                                                       ` v2 " Gerrit Renker
2008-11-12  8:49                                                                         ` David Miller
2008-11-10 21:16                                                                     ` [PATCH 2/4] dccp: Registration routines for changing feature values David Miller
2008-11-12  6:37                                                                     ` v2 " Gerrit Renker
2008-11-12  8:49                                                                       ` David Miller
2008-11-10 21:15                                                                   ` [PATCH 1/4] dccp: Limit feature negotiation to connection setup phase David Miller
2008-11-12  6:37                                                                   ` v2 " Gerrit Renker
2008-11-12  8:49                                                                     ` David Miller
2008-11-12  6:36                                                                 ` v2 [PATCH 0/4] dccp: Feature negotiation - conclusion of Part I (basis) Gerrit Renker
2008-11-15 12:11                                                                   ` net-next-2.6 [PATCH 0/5] dccp: Feature negotiation - begin of Part II (core) Gerrit Renker
2008-11-15 12:11                                                                     ` [PATCH 1/5] dccp: Mechanism to resolve CCID dependencies Gerrit Renker
2008-11-15 12:11                                                                       ` [PATCH 2/5] dccp: Deprecate old setsockopt framework Gerrit Renker
2008-11-15 12:11                                                                         ` [PATCH 3/5] dccp: Feature negotiation for minimum-checksum-coverage Gerrit Renker
2008-11-15 12:11                                                                           ` [PATCH 4/5] dccp: Deprecate Ack Ratio sysctl Gerrit Renker
2008-11-15 12:11                                                                             ` [PATCH 5/5] dccp: Tidy up setsockopt calls Gerrit Renker
2008-11-17  6:57                                                                               ` David Miller
2008-11-17  6:56                                                                             ` [PATCH 4/5] dccp: Deprecate Ack Ratio sysctl David Miller
2008-11-17  6:53                                                                           ` [PATCH 3/5] dccp: Feature negotiation for minimum-checksum-coverage David Miller
2008-11-17  6:53                                                                         ` [PATCH 2/5] dccp: Deprecate old setsockopt framework David Miller
2008-11-17 15:31                                                                           ` Gerrit Renker
2008-11-17  6:50                                                                       ` [PATCH 1/5] dccp: Mechanism to resolve CCID dependencies David Miller
2008-11-18  5:03                                                                         ` Gerrit Renker
2008-11-20  9:03                                                                           ` David Miller
2008-11-22 10:30                                                                     ` net-next-2.6 [PATCH 0/5] dccp: Feature negotiation - continuation of Part II (core) Gerrit Renker
2008-11-22 10:30                                                                       ` [PATCH 1/5] dccp: Set per-connection CCIDs via socket options Gerrit Renker
2008-11-22 10:30                                                                         ` [PATCH 2/5] dccp: API to query the current TX/RX CCID Gerrit Renker
2008-11-22 10:30                                                                           ` [PATCH 3/5] dccp: Increase the scope of variable-length htonl/ntohl functions Gerrit Renker
2008-11-22 10:30                                                                             ` [PATCH 4/5] dccp: Support for Mandatory options Gerrit Renker
2008-11-22 10:30                                                                               ` [PATCH 5/5] dccp: Header option insertion routine for feature-negotiation Gerrit Renker
2008-11-24  0:09                                                                               ` [PATCH 4/5] dccp: Support for Mandatory options David Miller
2008-11-30 13:22                                                                     ` [PATCH 0/6] dccp: Feature negotiation - conclusion of Part II (core) Gerrit Renker
2008-11-30 13:22                                                                       ` [PATCH 1/6] dccp: Insert feature-negotiation options into skb Gerrit Renker
2008-11-30 13:22                                                                         ` [PATCH 2/6] dccp: Integrate feature-negotiation insertion code Gerrit Renker
2008-11-30 13:22                                                                           ` [PATCH 3/6] dccp: Preference list reconciliation Gerrit Renker
2008-11-30 13:22                                                                             ` [PATCH 4/6] dccp: Process incoming Change feature-negotiation options Gerrit Renker
2008-11-30 13:22                                                                               ` [PATCH 5/6] dccp: Processing Confirm options Gerrit Renker
2008-11-30 13:22                                                                                 ` [PATCH 6/6] dccp: Feature activation handlers Gerrit Renker
2008-12-02  7:34                                                                       ` [PATCH 0/6] dccp: Feature negotiation - conclusion of Part II (core) David Miller
2008-12-06 16:40                                                                       ` net-next-2.6 [PATCH 0/7] dccp: Feature negotiation - Part III (integration) Gerrit Renker
2008-12-06 16:40                                                                         ` [PATCH 1/7] dccp: Integration of dynamic feature activation - part 1 (socket setup) Gerrit Renker
2008-12-06 16:40                                                                           ` [PATCH 2/7] dccp: Integration of dynamic feature activation - part 2 (server side) Gerrit Renker
2008-12-06 16:40                                                                             ` [PATCH 3/7] dccp: Integration of dynamic feature activation - part 3 (client side) Gerrit Renker
2008-12-06 16:40                                                                               ` [PATCH 4/7] dccp: Clean up old feature-negotiation infrastructure Gerrit Renker
2008-12-06 16:40                                                                                 ` [PATCH 5/7] dccp: Remove obsolete parts of the old CCID interface Gerrit Renker
2008-12-06 16:40                                                                                   ` [PATCH 6/7] dccp: Remove manual influence on NDP Count feature Gerrit Renker
2008-12-06 16:40                                                                                     ` [PATCH 7/7] dccp ccid-2: Phase out the use of boolean Ack Vector sysctl Gerrit Renker
2008-12-08  9:19                                                                                       ` David Miller
2008-12-13 13:41                                                                                         ` net-next-2.6 [PATCH 0/5] dccp: Feature negotiation part III -- complete Gerrit Renker
2008-12-13 13:41                                                                                           ` [PATCH 1/5] dccp: Initialisation framework for feature negotiation Gerrit Renker
2008-12-13 13:41                                                                                             ` [PATCH 2/5] dccp: Auto-load (when supported) CCID plugins for negotiation Gerrit Renker
2008-12-13 13:41                                                                                               ` [PATCH 3/5] dccp: Implement both feature-local and feature-remote Sequence Window feature Gerrit Renker
2008-12-13 13:41                                                                                                 ` [PATCH 4/5] dccp: Initialisation and type-checking of feature sysctls Gerrit Renker
2008-12-13 13:41                                                                                                   ` [PATCH 5/5] dccp: Debugging functions for feature negotiation Gerrit Renker
2008-12-15 14:15                                                                                                   ` [PATCH 4/5] dccp: Initialisation and type-checking of feature sysctls Arnaldo Carvalho de Melo
2008-12-15 14:23                                                                                                     ` walter harms
2008-12-13 13:55                                                                                               ` [PATCH 2/5] dccp: Auto-load (when supported) CCID plugins for negotiation Michał Mirosław
2008-12-13 14:56                                                                                                 ` Gerrit Renker
2008-12-14 14:50                                                                                                   ` Michał Mirosław
2008-12-15 16:25                                                                                                     ` gerrit
2008-12-16  5:29                                                                                                       ` Gerrit Renker
2008-12-16  9:40                                                                                                         ` David Miller
2008-12-16 11:19                                                                                                           ` Arnaldo Carvalho de Melo
2008-12-16 21:32                                                                                                             ` David Miller
2008-12-16 22:25                                                                                                               ` Arnaldo Carvalho de Melo
2008-12-16 23:11                                                                                                                 ` David Miller
2008-12-17 13:13                                                                                                                   ` Arnaldo Carvalho de Melo
     [not found]                                                                                                                     ` <20081217182038.GV14518@ghostprotocols.net>
2008-12-17 18:30                                                                                                                       ` [RFC][PATCH] static builtin CCIDs was " Arnaldo Carvalho de Melo
2008-12-18  5:41                                                                                                                         ` Gerrit Renker
2008-12-18 10:55                                                                                                                           ` Arnaldo Carvalho de Melo
2008-12-18  5:46                                                                                                                     ` Gerrit Renker
2008-12-18 14:01                                                                                                                       ` Arnaldo Carvalho de Melo
2008-12-16  5:55                                                                                                     ` Gerrit Renker
2008-12-16 11:31                                                                                                       ` Michał Mirosław
2008-12-18  5:56                                                                                                         ` Gerrit Renker
2008-12-15 13:48                                                                                               ` Arnaldo Carvalho de Melo
2008-12-16  5:44                                                                                                 ` Gerrit Renker
2008-12-08  9:18                                                                                     ` [PATCH 6/7] dccp: Remove manual influence on NDP Count feature David Miller
2008-12-08  9:18                                                                                   ` [PATCH 5/7] dccp: Remove obsolete parts of the old CCID interface David Miller
2008-12-08  9:17                                                                                 ` [PATCH 4/7] dccp: Clean up old feature-negotiation infrastructure David Miller
2008-12-08  9:16                                                                               ` [PATCH 3/7] dccp: Integration of dynamic feature activation - part 3 (client side) David Miller
2008-12-08  9:16                                                                             ` [PATCH 2/7] dccp: Integration of dynamic feature activation - part 2 (server side) David Miller
2008-12-08  9:15                                                                           ` [PATCH 1/7] dccp: Integration of dynamic feature activation - part 1 (socket setup) David Miller
     [not found]                                                         ` <1223312049-25967-1-git-send-email-gerrit@erg.abdn.ac.uk>
2008-10-11  7:31                                                           ` [PATCH 1/5] dccp: Basic data structure for feature negotiation Gerrit Renker
     [not found]                                                             ` <20081105065208.GC3482@gerrit.erg.abdn.ac.uk>
     [not found]                                                               ` <20081105070109.GH3482@gerrit.erg.abdn.ac.uk>
2008-11-05  7:03                                                                 ` Gerrit Renker
     [not found]                                                           ` <1223312049-25967-2-git-send-email-gerrit@erg.abdn.ac.uk>
2008-10-11  7:31                                                             ` [PATCH 2/5] dccp: Implement lookup table for feature-negotiation information Gerrit Renker
2008-11-05  6:52                                                               ` Gerrit Renker
     [not found]                                                             ` <1223312049-25967-3-git-send-email-gerrit@erg.abdn.ac.uk>
2008-10-11  7:31                                                               ` [PATCH 3/5] dccp: List management for new feature negotiation Gerrit Renker
2008-11-05  6:53                                                                 ` Gerrit Renker
     [not found]                                                               ` <1223312049-25967-4-git-send-email-gerrit@erg.abdn.ac.uk>
2008-10-11  7:31                                                                 ` [PATCH 4/5] dccp: Per-socket initialisation of " Gerrit Renker
2008-11-05  6:53                                                                   ` Gerrit Renker
     [not found]                                                                 ` <1223312049-25967-5-git-send-email-gerrit@erg.abdn.ac.uk>
2008-10-11  7:32                                                                   ` [PATCH 5/5] dccp: Cleanup routines for " Gerrit Renker
2008-11-05  6:54                                                                     ` Gerrit Renker
2008-09-24 14:01                                             ` v2 [PATCH 2/5] dccp: Implement lookup table for feature-negotiation information Arnaldo Carvalho de Melo
2008-09-22 14:10                                   ` [PATCH 1/5] dccp: Basic data structure for feature negotiation Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080828210713.GP9193@ghostprotocols.net \
    --to=acme@redhat.com \
    --cc=dccp@vger.kernel.org \
    --cc=gerrit@erg.abdn.ac.uk \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).