All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: dccp@vger.kernel.org
Subject: Re: [PATCH 07/37] dccp: Registration routines for changing feature
Date: Thu, 28 Aug 2008 20:54:47 +0000	[thread overview]
Message-ID: <20080828205447.GN9193@ghostprotocols.net> (raw)
In-Reply-To: <1219945512-7723-8-git-send-email-gerrit@erg.abdn.ac.uk>

Em Thu, Aug 28, 2008 at 07:44:42PM +0200, Gerrit Renker escreveu:
> Two registration routines, for SP and NN features, are provided by this patch,
> replacing a previous routine which was used for both feature types.
> 
> These are internal-only routines and therefore start with `__feat_register'.
> 
> It further exports the known limits of Sequence Window and Ack Ratio as symbolic
> constants.
> 
> Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
> ---
>  net/dccp/ccids/ccid2.c |    6 +-
>  net/dccp/feat.c        |  123 +++++++++++++++++++++++++++++++++++++++---------
>  net/dccp/feat.h        |   25 +++++++++-
>  net/dccp/proto.c       |    2 +-
>  4 files changed, 128 insertions(+), 28 deletions(-)
> 
> --- a/net/dccp/ccids/ccid2.c
> +++ b/net/dccp/ccids/ccid2.c
> @@ -25,7 +25,7 @@
>  /*
>   * This implementation should follow RFC 4341
>   */
> -
> +#include "../feat.h"
>  #include "../ccid.h"
>  #include "../dccp.h"
>  #include "ccid2.h"
> @@ -147,8 +147,8 @@ static void ccid2_change_l_ack_ratio(struct sock *sk, u32 val)
>  		DCCP_WARN("Limiting Ack Ratio (%u) to %u\n", val, max_ratio);
>  		val = max_ratio;
>  	}
> -	if (val > 0xFFFF)		/* RFC 4340, 11.3 */
> -		val = 0xFFFF;
> +	if (val > DCCPF_ACK_RATIO_MAX)
> +		val = DCCPF_ACK_RATIO_MAX;
>  
>  	if (val = dp->dccps_l_ack_ratio)
>  		return;
> --- a/net/dccp/feat.c
> +++ b/net/dccp/feat.c
> @@ -297,6 +297,95 @@ cloning_failed:
>  	return -ENOMEM;
>  }
>  
> +static u8 dccp_feat_is_valid_nn_val(u8 feat_num, u64 val)
> +{
> +	switch (feat_num) {
> +	case DCCPF_ACK_RATIO:
> +		return val <= DCCPF_ACK_RATIO_MAX;
> +	case DCCPF_SEQUENCE_WINDOW:
> +		return val >= DCCPF_SEQ_WMIN && val <= DCCPF_SEQ_WMAX;
> +	}
> +	return 0;	/* feature unknown - so we can't tell */
> +}
> +
> +/* check that SP values are within the ranges defined in RFC 4340 */
> +static u8 dccp_feat_is_valid_sp_val(u8 feat_num, u8 val)
> +{
> +	switch (feat_num) {
> +	case DCCPF_CCID:
> +		return val = DCCPC_CCID2 || val = DCCPC_CCID3;

Shouldn't we look at the registered CCIDs and do validation based on the
modules loaded? Doing it this hardcoded way will prevent testing CCID4,
for instance, or require that the kernel be patched, which can not be
possible with enterprise distros, etc. And defeats the purpose of having
multiple pluggable congestion control algorithms :-)

> +	/* Type-check Boolean feature values: */
> +	case DCCPF_SHORT_SEQNOS:
> +	case DCCPF_ECN_INCAPABLE:
> +	case DCCPF_SEND_ACK_VECTOR:
> +	case DCCPF_SEND_NDP_COUNT:
> +	case DCCPF_DATA_CHECKSUM:
> +	case DCCPF_SEND_LEV_RATE:
> +		return val < 2;
> +	case DCCPF_MIN_CSUM_COVER:
> +		return val < 16;
> +	}
> +	return 0;			/* feature unknown */
> +}
> +
> +static u8 dccp_feat_sp_list_ok(u8 feat_num, u8 const *sp_list, u8 sp_len)
> +{
> +	if (sp_list = NULL || sp_len < 1)
> +		return 0;
> +	while (sp_len--)
> +		if (!dccp_feat_is_valid_sp_val(feat_num, *sp_list++))
> +			return 0;
> +	return 1;
> +}
> +
> +/**
> + * __feat_register_nn  -  Register new NN value on socket
> + * @fn: feature-negotiation list to register with
> + * @feat: an NN feature from %dccp_feature_numbers
> + * @mandatory: use Mandatory option if 1
> + * @nn_val: value to register (restricted to 4 bytes)
> + * Note that NN features are local by definition (RFC 4340, 6.3.2).
> + */
> +static int __feat_register_nn(struct list_head *fn, u8 feat,
> +			      u8 mandatory, u64 nn_val)
> +{
> +	dccp_feat_val fval = { .nn = nn_val };
> +
> +	if (dccp_feat_type(feat) != FEAT_NN ||
> +	    !dccp_feat_is_valid_nn_val(feat, nn_val))
> +		return -EINVAL;
> +
> +	/* Don't bother with default values, they will be activated anyway. */
> +	if (nn_val - (u64)dccp_feat_default_value(feat) = 0)
> +		return 0;
> +
> +	return dccp_feat_push_change(fn, feat, 1, mandatory, &fval);
> +}
> +
> +/**
> + * __feat_register_sp  -  Register new SP value/list on socket
> + * @fn: feature-negotiation list to register with
> + * @feat: an SP feature from %dccp_feature_numbers
> + * @is_local: whether the local (1) or the remote (0) @feat is meant
> + * @mandatory: use Mandatory option if 1
> + * @sp_val: SP value followed by optional preference list
> + * @sp_len: length of @sp_val in bytes
> + */
> +static int __feat_register_sp(struct list_head *fn, u8 feat, u8 is_local,
> +			      u8 mandatory, u8 const *sp_val, u8 sp_len)
> +{
> +	dccp_feat_val fval;
> +
> +	if (dccp_feat_type(feat) != FEAT_SP ||
> +	    !dccp_feat_sp_list_ok(feat, sp_val, sp_len))
> +		return -EINVAL;
> +
> +	if (dccp_feat_clone_sp_val(&fval, sp_val, sp_len))
> +		return -ENOMEM;
> +
> +	return dccp_feat_push_change(fn, feat, is_local, mandatory, &fval);
> +}
> +
>  int dccp_feat_change(struct dccp_minisock *dmsk, u8 type, u8 feature,
>  		     u8 *val, u8 len, gfp_t gfp)
>  {
> @@ -833,42 +922,30 @@ out_clean:
>  
>  EXPORT_SYMBOL_GPL(dccp_feat_clone);
>  
> -static int __dccp_feat_init(struct dccp_minisock *dmsk, u8 type, u8 feat,
> -			    u8 *val, u8 len)
> -{
> -	int rc = -ENOMEM;
> -	u8 *copy = kmemdup(val, len, GFP_KERNEL);
> -
> -	if (copy != NULL) {
> -		rc = dccp_feat_change(dmsk, type, feat, copy, len, GFP_KERNEL);
> -		if (rc)
> -			kfree(copy);
> -	}
> -	return rc;
> -}
> -
> -int dccp_feat_init(struct dccp_minisock *dmsk)
> +int dccp_feat_init(struct sock *sk)
>  {
> +	struct dccp_sock *dp = dccp_sk(sk);
> +	struct dccp_minisock *dmsk = dccp_msk(sk);
>  	int rc;
>  
> -	INIT_LIST_HEAD(&dmsk->dccpms_pending);
> -	INIT_LIST_HEAD(&dmsk->dccpms_conf);
> +	INIT_LIST_HEAD(&dmsk->dccpms_pending);	/* XXX no longer used */
> +	INIT_LIST_HEAD(&dmsk->dccpms_conf);	/* XXX no longer used */
>  
>  	/* CCID L */
> -	rc = __dccp_feat_init(dmsk, DCCPO_CHANGE_L, DCCPF_CCID,
> -			      &dmsk->dccpms_tx_ccid, 1);
> +	rc = __feat_register_sp(&dp->dccps_featneg, DCCPF_CCID, 1, 0,
> +				&dmsk->dccpms_tx_ccid, 1);
>  	if (rc)
>  		goto out;
>  
>  	/* CCID R */
> -	rc = __dccp_feat_init(dmsk, DCCPO_CHANGE_R, DCCPF_CCID,
> -			      &dmsk->dccpms_rx_ccid, 1);
> +	rc = __feat_register_sp(&dp->dccps_featneg, DCCPF_CCID, 0, 0,
> +				&dmsk->dccpms_rx_ccid, 1);
>  	if (rc)
>  		goto out;
>  
>  	/* Ack ratio */
> -	rc = __dccp_feat_init(dmsk, DCCPO_CHANGE_L, DCCPF_ACK_RATIO,
> -			      &dmsk->dccpms_ack_ratio, 1);
> +	rc = __feat_register_nn(&dp->dccps_featneg, DCCPF_ACK_RATIO, 0,
> +				dmsk->dccpms_ack_ratio);
>  out:
>  	return rc;
>  }
> --- a/net/dccp/feat.h
> +++ b/net/dccp/feat.h
> @@ -14,6 +14,15 @@
>  #include <linux/types.h>
>  #include "dccp.h"
>  
> +/*
> + * Known limits of feature values.
> + */
> +/* Ack Ratio takes 2-byte integer values (11.3) */
> +#define DCCPF_ACK_RATIO_MAX	0xFFFF
> +/* Wmin2 and Wmax=2^46-1 from 7.5.2 */
> +#define DCCPF_SEQ_WMIN		32
> +#define DCCPF_SEQ_WMAX		0x3FFFFFFFFFFFull
> +
>  enum dccp_feat_type {
>  	FEAT_AT_RX   = 1,	/* located at RX side of half-connection  */
>  	FEAT_AT_TX   = 2,	/* located at TX side of half-connection  */
> @@ -74,6 +83,20 @@ static inline u8 dccp_feat_genopt(struct dccp_feat_entry *entry)
>  	return entry->is_local ? DCCPO_CHANGE_L : DCCPO_CHANGE_R;
>  }
>  
> +/**
> + * struct ccid_dependency  -  Track changes resulting from choosing a CCID
> + * @dependent_feat: one of %dccp_feature_numbers
> + * @is_local: local (1) or remote (0) @dependent_feat
> + * @is_mandatory: whether presence of @dependent_feat is mission-critical or not
> + * @val: corresponding default value for @dependent_feat (u8 is sufficient here)
> + */
> +struct ccid_dependency {
> +	u8	dependent_feat;
> +	bool	is_local:1,
> +		is_mandatory:1;
> +	u8	val;
> +};
> +
>  #ifdef CONFIG_IP_DCCP_DEBUG
>  extern const char *dccp_feat_typename(const u8 type);
>  extern const char *dccp_feat_name(const u8 feat);
> @@ -96,6 +119,6 @@ extern int  dccp_feat_confirm_recv(struct sock *sk, u8 type, u8 feature,
>  extern void dccp_feat_clean(struct dccp_minisock *dmsk);
>  extern int  dccp_feat_clone(struct sock *oldsk, struct sock *newsk);
>  extern int  dccp_feat_clone_list(struct list_head const *, struct list_head *);
> -extern int  dccp_feat_init(struct dccp_minisock *dmsk);
> +extern int  dccp_feat_init(struct sock *sk);
>  
>  #endif /* _DCCP_FEAT_H */
> --- a/net/dccp/proto.c
> +++ b/net/dccp/proto.c
> @@ -202,7 +202,7 @@ int dccp_init_sock(struct sock *sk, const __u8 ctl_sock_initialized)
>  	 * setsockopt(CCIDs-I-want/accept). -acme
>  	 */
>  	if (likely(ctl_sock_initialized)) {
> -		int rc = dccp_feat_init(dmsk);
> +		int rc = dccp_feat_init(sk);
>  
>  		if (rc)
>  			return rc;
> -- 
> 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

WARNING: multiple messages have this Message-ID (diff)
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 07/37] dccp: Registration routines for changing feature values
Date: Thu, 28 Aug 2008 17:54:47 -0300	[thread overview]
Message-ID: <20080828205447.GN9193@ghostprotocols.net> (raw)
In-Reply-To: <1219945512-7723-8-git-send-email-gerrit@erg.abdn.ac.uk>

Em Thu, Aug 28, 2008 at 07:44:42PM +0200, Gerrit Renker escreveu:
> Two registration routines, for SP and NN features, are provided by this patch,
> replacing a previous routine which was used for both feature types.
> 
> These are internal-only routines and therefore start with `__feat_register'.
> 
> It further exports the known limits of Sequence Window and Ack Ratio as symbolic
> constants.
> 
> Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
> ---
>  net/dccp/ccids/ccid2.c |    6 +-
>  net/dccp/feat.c        |  123 +++++++++++++++++++++++++++++++++++++++---------
>  net/dccp/feat.h        |   25 +++++++++-
>  net/dccp/proto.c       |    2 +-
>  4 files changed, 128 insertions(+), 28 deletions(-)
> 
> --- a/net/dccp/ccids/ccid2.c
> +++ b/net/dccp/ccids/ccid2.c
> @@ -25,7 +25,7 @@
>  /*
>   * This implementation should follow RFC 4341
>   */
> -
> +#include "../feat.h"
>  #include "../ccid.h"
>  #include "../dccp.h"
>  #include "ccid2.h"
> @@ -147,8 +147,8 @@ static void ccid2_change_l_ack_ratio(struct sock *sk, u32 val)
>  		DCCP_WARN("Limiting Ack Ratio (%u) to %u\n", val, max_ratio);
>  		val = max_ratio;
>  	}
> -	if (val > 0xFFFF)		/* RFC 4340, 11.3 */
> -		val = 0xFFFF;
> +	if (val > DCCPF_ACK_RATIO_MAX)
> +		val = DCCPF_ACK_RATIO_MAX;
>  
>  	if (val == dp->dccps_l_ack_ratio)
>  		return;
> --- a/net/dccp/feat.c
> +++ b/net/dccp/feat.c
> @@ -297,6 +297,95 @@ cloning_failed:
>  	return -ENOMEM;
>  }
>  
> +static u8 dccp_feat_is_valid_nn_val(u8 feat_num, u64 val)
> +{
> +	switch (feat_num) {
> +	case DCCPF_ACK_RATIO:
> +		return val <= DCCPF_ACK_RATIO_MAX;
> +	case DCCPF_SEQUENCE_WINDOW:
> +		return val >= DCCPF_SEQ_WMIN && val <= DCCPF_SEQ_WMAX;
> +	}
> +	return 0;	/* feature unknown - so we can't tell */
> +}
> +
> +/* check that SP values are within the ranges defined in RFC 4340 */
> +static u8 dccp_feat_is_valid_sp_val(u8 feat_num, u8 val)
> +{
> +	switch (feat_num) {
> +	case DCCPF_CCID:
> +		return val == DCCPC_CCID2 || val == DCCPC_CCID3;

Shouldn't we look at the registered CCIDs and do validation based on the
modules loaded? Doing it this hardcoded way will prevent testing CCID4,
for instance, or require that the kernel be patched, which can not be
possible with enterprise distros, etc. And defeats the purpose of having
multiple pluggable congestion control algorithms :-)

> +	/* Type-check Boolean feature values: */
> +	case DCCPF_SHORT_SEQNOS:
> +	case DCCPF_ECN_INCAPABLE:
> +	case DCCPF_SEND_ACK_VECTOR:
> +	case DCCPF_SEND_NDP_COUNT:
> +	case DCCPF_DATA_CHECKSUM:
> +	case DCCPF_SEND_LEV_RATE:
> +		return val < 2;
> +	case DCCPF_MIN_CSUM_COVER:
> +		return val < 16;
> +	}
> +	return 0;			/* feature unknown */
> +}
> +
> +static u8 dccp_feat_sp_list_ok(u8 feat_num, u8 const *sp_list, u8 sp_len)
> +{
> +	if (sp_list == NULL || sp_len < 1)
> +		return 0;
> +	while (sp_len--)
> +		if (!dccp_feat_is_valid_sp_val(feat_num, *sp_list++))
> +			return 0;
> +	return 1;
> +}
> +
> +/**
> + * __feat_register_nn  -  Register new NN value on socket
> + * @fn: feature-negotiation list to register with
> + * @feat: an NN feature from %dccp_feature_numbers
> + * @mandatory: use Mandatory option if 1
> + * @nn_val: value to register (restricted to 4 bytes)
> + * Note that NN features are local by definition (RFC 4340, 6.3.2).
> + */
> +static int __feat_register_nn(struct list_head *fn, u8 feat,
> +			      u8 mandatory, u64 nn_val)
> +{
> +	dccp_feat_val fval = { .nn = nn_val };
> +
> +	if (dccp_feat_type(feat) != FEAT_NN ||
> +	    !dccp_feat_is_valid_nn_val(feat, nn_val))
> +		return -EINVAL;
> +
> +	/* Don't bother with default values, they will be activated anyway. */
> +	if (nn_val - (u64)dccp_feat_default_value(feat) == 0)
> +		return 0;
> +
> +	return dccp_feat_push_change(fn, feat, 1, mandatory, &fval);
> +}
> +
> +/**
> + * __feat_register_sp  -  Register new SP value/list on socket
> + * @fn: feature-negotiation list to register with
> + * @feat: an SP feature from %dccp_feature_numbers
> + * @is_local: whether the local (1) or the remote (0) @feat is meant
> + * @mandatory: use Mandatory option if 1
> + * @sp_val: SP value followed by optional preference list
> + * @sp_len: length of @sp_val in bytes
> + */
> +static int __feat_register_sp(struct list_head *fn, u8 feat, u8 is_local,
> +			      u8 mandatory, u8 const *sp_val, u8 sp_len)
> +{
> +	dccp_feat_val fval;
> +
> +	if (dccp_feat_type(feat) != FEAT_SP ||
> +	    !dccp_feat_sp_list_ok(feat, sp_val, sp_len))
> +		return -EINVAL;
> +
> +	if (dccp_feat_clone_sp_val(&fval, sp_val, sp_len))
> +		return -ENOMEM;
> +
> +	return dccp_feat_push_change(fn, feat, is_local, mandatory, &fval);
> +}
> +
>  int dccp_feat_change(struct dccp_minisock *dmsk, u8 type, u8 feature,
>  		     u8 *val, u8 len, gfp_t gfp)
>  {
> @@ -833,42 +922,30 @@ out_clean:
>  
>  EXPORT_SYMBOL_GPL(dccp_feat_clone);
>  
> -static int __dccp_feat_init(struct dccp_minisock *dmsk, u8 type, u8 feat,
> -			    u8 *val, u8 len)
> -{
> -	int rc = -ENOMEM;
> -	u8 *copy = kmemdup(val, len, GFP_KERNEL);
> -
> -	if (copy != NULL) {
> -		rc = dccp_feat_change(dmsk, type, feat, copy, len, GFP_KERNEL);
> -		if (rc)
> -			kfree(copy);
> -	}
> -	return rc;
> -}
> -
> -int dccp_feat_init(struct dccp_minisock *dmsk)
> +int dccp_feat_init(struct sock *sk)
>  {
> +	struct dccp_sock *dp = dccp_sk(sk);
> +	struct dccp_minisock *dmsk = dccp_msk(sk);
>  	int rc;
>  
> -	INIT_LIST_HEAD(&dmsk->dccpms_pending);
> -	INIT_LIST_HEAD(&dmsk->dccpms_conf);
> +	INIT_LIST_HEAD(&dmsk->dccpms_pending);	/* XXX no longer used */
> +	INIT_LIST_HEAD(&dmsk->dccpms_conf);	/* XXX no longer used */
>  
>  	/* CCID L */
> -	rc = __dccp_feat_init(dmsk, DCCPO_CHANGE_L, DCCPF_CCID,
> -			      &dmsk->dccpms_tx_ccid, 1);
> +	rc = __feat_register_sp(&dp->dccps_featneg, DCCPF_CCID, 1, 0,
> +				&dmsk->dccpms_tx_ccid, 1);
>  	if (rc)
>  		goto out;
>  
>  	/* CCID R */
> -	rc = __dccp_feat_init(dmsk, DCCPO_CHANGE_R, DCCPF_CCID,
> -			      &dmsk->dccpms_rx_ccid, 1);
> +	rc = __feat_register_sp(&dp->dccps_featneg, DCCPF_CCID, 0, 0,
> +				&dmsk->dccpms_rx_ccid, 1);
>  	if (rc)
>  		goto out;
>  
>  	/* Ack ratio */
> -	rc = __dccp_feat_init(dmsk, DCCPO_CHANGE_L, DCCPF_ACK_RATIO,
> -			      &dmsk->dccpms_ack_ratio, 1);
> +	rc = __feat_register_nn(&dp->dccps_featneg, DCCPF_ACK_RATIO, 0,
> +				dmsk->dccpms_ack_ratio);
>  out:
>  	return rc;
>  }
> --- a/net/dccp/feat.h
> +++ b/net/dccp/feat.h
> @@ -14,6 +14,15 @@
>  #include <linux/types.h>
>  #include "dccp.h"
>  
> +/*
> + * Known limits of feature values.
> + */
> +/* Ack Ratio takes 2-byte integer values (11.3) */
> +#define DCCPF_ACK_RATIO_MAX	0xFFFF
> +/* Wmin=32 and Wmax=2^46-1 from 7.5.2 */
> +#define DCCPF_SEQ_WMIN		32
> +#define DCCPF_SEQ_WMAX		0x3FFFFFFFFFFFull
> +
>  enum dccp_feat_type {
>  	FEAT_AT_RX   = 1,	/* located at RX side of half-connection  */
>  	FEAT_AT_TX   = 2,	/* located at TX side of half-connection  */
> @@ -74,6 +83,20 @@ static inline u8 dccp_feat_genopt(struct dccp_feat_entry *entry)
>  	return entry->is_local ? DCCPO_CHANGE_L : DCCPO_CHANGE_R;
>  }
>  
> +/**
> + * struct ccid_dependency  -  Track changes resulting from choosing a CCID
> + * @dependent_feat: one of %dccp_feature_numbers
> + * @is_local: local (1) or remote (0) @dependent_feat
> + * @is_mandatory: whether presence of @dependent_feat is mission-critical or not
> + * @val: corresponding default value for @dependent_feat (u8 is sufficient here)
> + */
> +struct ccid_dependency {
> +	u8	dependent_feat;
> +	bool	is_local:1,
> +		is_mandatory:1;
> +	u8	val;
> +};
> +
>  #ifdef CONFIG_IP_DCCP_DEBUG
>  extern const char *dccp_feat_typename(const u8 type);
>  extern const char *dccp_feat_name(const u8 feat);
> @@ -96,6 +119,6 @@ extern int  dccp_feat_confirm_recv(struct sock *sk, u8 type, u8 feature,
>  extern void dccp_feat_clean(struct dccp_minisock *dmsk);
>  extern int  dccp_feat_clone(struct sock *oldsk, struct sock *newsk);
>  extern int  dccp_feat_clone_list(struct list_head const *, struct list_head *);
> -extern int  dccp_feat_init(struct dccp_minisock *dmsk);
> +extern int  dccp_feat_init(struct sock *sk);
>  
>  #endif /* _DCCP_FEAT_H */
> --- a/net/dccp/proto.c
> +++ b/net/dccp/proto.c
> @@ -202,7 +202,7 @@ int dccp_init_sock(struct sock *sk, const __u8 ctl_sock_initialized)
>  	 * setsockopt(CCIDs-I-want/accept). -acme
>  	 */
>  	if (likely(ctl_sock_initialized)) {
> -		int rc = dccp_feat_init(dmsk);
> +		int rc = dccp_feat_init(sk);
>  
>  		if (rc)
>  			return rc;
> -- 
> 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

  reply	other threads:[~2008-08-28 20:54 UTC|newest]

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

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=20080828205447.GN9193@ghostprotocols.net \
    --to=acme@redhat.com \
    --cc=dccp@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.