netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Wei Yongjun <yjwei@cn.fujitsu.com>
To: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Cc: dccp@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH 19/37] dccp: Header option insertion routine for feature-negotiation
Date: Tue, 02 Sep 2008 13:48:03 +0800	[thread overview]
Message-ID: <48BCD393.6020100@cn.fujitsu.com> (raw)
In-Reply-To: <1219945512-7723-20-git-send-email-gerrit@erg.abdn.ac.uk>

Gerrit Renker wrote:
> The patch extends existing code:
>  * Confirm options divide into the confirmed value plus an optional preference
>    list for SP values. Previously only the preference list was echoed for SP
>    values, now the confirmed value is added as per RFC 4340, 6.1;
>  * length and sanity checks are added to avoid illegal memory (or NULL) access;
>  * clarified the use of TLV length constant, which does not have anything to do
>    with ECN, but with the fact that Type-Length-Value options whose length is
>    determined by an u8 field provide Value space for at most 255 - 2 = 253 bytes
>    due to the Type/Length fields.
>
> Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
> ---
>  net/dccp/ackvec.c  |    8 ++--
>  net/dccp/ackvec.h  |    6 ++--
>  net/dccp/feat.h    |    2 +
>  net/dccp/options.c |   91 ++++++++++++++++++----------------------------------
>  4 files changed, 40 insertions(+), 67 deletions(-)
>
> --- a/net/dccp/ackvec.c
> +++ b/net/dccp/ackvec.c
> @@ -68,7 +68,7 @@ int dccp_insert_option_ackvec(struct sock *sk, struct sk_buff *skb)
>  	struct dccp_sock *dp = dccp_sk(sk);
>  	struct dccp_ackvec *av = dp->dccps_hc_rx_ackvec;
>  	/* Figure out how many options do we need to represent the ackvec */
> -	const u16 nr_opts = DIV_ROUND_UP(av->av_vec_len, DCCP_MAX_ACKVEC_OPT_LEN);
> +	const u8 nr_opts = DIV_ROUND_UP(av->av_vec_len, DCCP_SINGLE_OPT_MAXLEN);
>  	u16 len = av->av_vec_len + 2 * nr_opts, i;
>  	u32 elapsed_time;
>  	const unsigned char *tail, *from;
> @@ -100,8 +100,8 @@ int dccp_insert_option_ackvec(struct sock *sk, struct sk_buff *skb)
>  	for (i = 0; i < nr_opts; ++i) {
>  		int copylen = len;
>  
> -		if (len > DCCP_MAX_ACKVEC_OPT_LEN)
> -			copylen = DCCP_MAX_ACKVEC_OPT_LEN;
> +		if (len > DCCP_SINGLE_OPT_MAXLEN)
> +			copylen = DCCP_SINGLE_OPT_MAXLEN;
>  
>  		*to++ = DCCPO_ACK_VECTOR_0;
>  		*to++ = copylen + 2;
> @@ -432,7 +432,7 @@ found:
>  int dccp_ackvec_parse(struct sock *sk, const struct sk_buff *skb,
>  		      u64 *ackno, const u8 opt, const u8 *value, const u8 len)
>  {
> -	if (len > DCCP_MAX_ACKVEC_OPT_LEN)
> +	if (len > DCCP_SINGLE_OPT_MAXLEN)
>  		return -1;
>  
>  	/* dccp_ackvector_print(DCCP_SKB_CB(skb)->dccpd_ack_seq, value, len); */
> --- a/net/dccp/ackvec.h
> +++ b/net/dccp/ackvec.h
> @@ -16,10 +16,10 @@
>  #include <linux/list.h>
>  #include <linux/types.h>
>  
> -/* Read about the ECN nonce to see why it is 253 */
> -#define DCCP_MAX_ACKVEC_OPT_LEN 253
> +/* maximum size of a single TLV-encoded option (sans type/len bytes) */
> +#define DCCP_SINGLE_OPT_MAXLEN	253
>  /* We can spread an ack vector across multiple options */
> -#define DCCP_MAX_ACKVEC_LEN (DCCP_MAX_ACKVEC_OPT_LEN * 2)
> +#define DCCP_MAX_ACKVEC_LEN (DCCP_SINGLE_OPT_MAXLEN * 2)
>  
>  #define DCCP_ACKVEC_STATE_RECEIVED	0
>  #define DCCP_ACKVEC_STATE_ECN_MARKED	(1 << 6)
> --- a/net/dccp/feat.h
> +++ b/net/dccp/feat.h
> @@ -138,4 +138,6 @@ extern void dccp_encode_value_var(const u64 value, u8 *to, const u8 len);
>  extern u64  dccp_decode_value_var(const u8 *bf, const u8 len);
>  
>  extern int  dccp_insert_option_mandatory(struct sk_buff *skb);
> +extern int  dccp_insert_fn_opt(struct sk_buff *skb, u8 type, u8 feat,
> +			       u8 *val, u8 len, bool repeat_first);
>  #endif /* _DCCP_FEAT_H */
> --- a/net/dccp/options.c
> +++ b/net/dccp/options.c
> @@ -482,23 +482,46 @@ int dccp_insert_option_mandatory(struct sk_buff *skb)
>  	return 0;
>  }
>  
> -static int dccp_insert_feat_opt(struct sk_buff *skb, u8 type, u8 feat,
> -				u8 *val, u8 len)
> +/**
> + * dccp_insert_fn_opt  -  Insert single Feature-Negotiation option into @skb
> + * @type: %DCCPO_CHANGE_L, %DCCPO_CHANGE_R, %DCCPO_CONFIRM_L, %DCCPO_CONFIRM_R
> + * @feat: one out of %dccp_feature_numbers
> + * @val: NN value or SP array (preferred element first) to copy
> + * @len: true length of @val in bytes (excluding first element repetition)
> + * @repeat_first: whether to copy the first element of @val twice
> + * The last argument is used to construct Confirm options, where the preferred
> + * value and the preference list appear separately (RFC 4340, 6.3.1). Preference
> + * lists are kept such that the preferred entry is always first, so we only need
> + * to copy twice, and avoid the overhead of cloning into a bigger array.
> + */
> +int dccp_insert_fn_opt(struct sk_buff *skb, u8 type, u8 feat,
> +		       u8 *val, u8 len, bool repeat_first)
>  {
> -	u8 *to;
> +	u8 tot_len, *to;
>  
> -	if (DCCP_SKB_CB(skb)->dccpd_opt_len + len + 3 > DCCP_MAX_OPT_LEN) {
> -		DCCP_WARN("packet too small for feature %d option!\n", feat);
> +	/* take the `Feature' field and possible repetition into account */
> +	if (len > (DCCP_SINGLE_OPT_MAXLEN - 2)) {
> +		DCCP_WARN("length %u for feature %u too large\n", len, feat);
>  		return -1;
>  	}
>   

Here, should check (len > DCCP_SINGLE_OPT_MAXLEN - 3 - repeat_first)?

if len == DCCP_SINGLE_OPT_MAXLEN - 2, then

tot_len = 3 + repeat_first + len == (DCCP_SINGLE_OPT_MAXLEN + 1 +
repeat_first)

The total length of this option will larger than DCCP_SINGLE_OPT_MAXLEN.



>  
> -	DCCP_SKB_CB(skb)->dccpd_opt_len += len + 3;
> +	if (unlikely(val == NULL || len == 0))
> +		len = repeat_first = 0;
> +	tot_len = 3 + repeat_first + len;
> +
> +	if (DCCP_SKB_CB(skb)->dccpd_opt_len + tot_len > DCCP_MAX_OPT_LEN) {
> +		DCCP_WARN("packet too small for feature %d option!\n", feat);
> +		return -1;
> +	}
> +	DCCP_SKB_CB(skb)->dccpd_opt_len += tot_len;
>  
> -	to    = skb_push(skb, len + 3);
> +	to    = skb_push(skb, tot_len);
>  	*to++ = type;
> -	*to++ = len + 3;
> +	*to++ = tot_len;
>  	*to++ = feat;
>  
> +	if (repeat_first)
> +		*to++ = *val;
>  	if (len)
>  		memcpy(to, val, len);
>  
> @@ -508,51 +531,6 @@ static int dccp_insert_feat_opt(struct sk_buff *skb, u8 type, u8 feat,
>  	return 0;
>  }
>  
> -static int dccp_insert_options_feat(struct sock *sk, struct sk_buff *skb)
> -{
> -	struct dccp_minisock *dmsk = dccp_msk(sk);
> -	struct dccp_opt_pend *opt, *next;
> -	int change = 0;
> -
> -	/* confirm any options [NN opts] */
> -	list_for_each_entry_safe(opt, next, &dmsk->dccpms_conf, dccpop_node) {
> -		dccp_insert_feat_opt(skb, opt->dccpop_type,
> -				     opt->dccpop_feat, opt->dccpop_val,
> -				     opt->dccpop_len);
> -		/* fear empty confirms */
> -		if (opt->dccpop_val)
> -			kfree(opt->dccpop_val);
> -		kfree(opt);
> -	}
> -	INIT_LIST_HEAD(&dmsk->dccpms_conf);
> -
> -	/* see which features we need to send */
> -	list_for_each_entry(opt, &dmsk->dccpms_pending, dccpop_node) {
> -		/* see if we need to send any confirm */
> -		if (opt->dccpop_sc) {
> -			dccp_insert_feat_opt(skb, opt->dccpop_type + 1,
> -					     opt->dccpop_feat,
> -					     opt->dccpop_sc->dccpoc_val,
> -					     opt->dccpop_sc->dccpoc_len);
> -
> -			BUG_ON(!opt->dccpop_sc->dccpoc_val);
> -			kfree(opt->dccpop_sc->dccpoc_val);
> -			kfree(opt->dccpop_sc);
> -			opt->dccpop_sc = NULL;
> -		}
> -
> -		/* any option not confirmed, re-send it */
> -		if (!opt->dccpop_conf) {
> -			dccp_insert_feat_opt(skb, opt->dccpop_type,
> -					     opt->dccpop_feat, opt->dccpop_val,
> -					     opt->dccpop_len);
> -			change++;
> -		}
> -	}
> -
> -	return 0;
> -}
> -
>  /* The length of all options needs to be a multiple of 4 (5.8) */
>  static void dccp_insert_option_padding(struct sk_buff *skb)
>  {
> @@ -589,13 +567,6 @@ int dccp_insert_options(struct sock *sk, struct sk_buff *skb)
>  		dp->dccps_hc_rx_insert_options = 0;
>  	}
>  
> -	/* Feature negotiation */
> -	/* Data packets can't do feat negotiation */
> -	if (DCCP_SKB_CB(skb)->dccpd_type != DCCP_PKT_DATA &&
> -	    DCCP_SKB_CB(skb)->dccpd_type != DCCP_PKT_DATAACK &&
> -	    dccp_insert_options_feat(sk, skb))
> -		return -1;
> -
>  	/*
>  	 * Obtain RTT sample from Request/Response exchange.
>  	 * This is currently used in CCID 3 initialisation.
>   


-- 
--------------------------------------------------
Wei Yongjun
Development Dept.I
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
8/F., Civil Defense Building, No.189 Guangzhou Road,
Nanjing, 210029, China
TEL: +86+25-86630523-836
COINS: 79955-836
FAX: +86+25-83317685
MAIL: yjwei@cn.fujitsu.com
--------------------------------------------------
This communication is for use by the intended recipient(s) only and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you are not an intended recipient of this communication, you are hereby notified that any dissemination, distribution or copying hereof is strictly prohibited.  If you have received this communication in error, please notify me by reply e-mail, permanently delete this communication from your system, and destroy any hard copies you may have printed


  parent reply	other threads:[~2008-09-02  5:50 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                                         ` Wei Yongjun [this message]
2008-09-03  4:40                                           ` [PATCH 19/37] dccp: Header option insertion routine for feature-negotiation 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                     ` [PATCH 09/37] dccp: Resolve dependencies of features on choice of CCID Arnaldo Carvalho de Melo
2008-08-29  6:34                       ` 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=48BCD393.6020100@cn.fujitsu.com \
    --to=yjwei@cn.fujitsu.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).