netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gerrit Renker <gerrit@erg.abdn.ac.uk>
To: davem@davemloft.net
Cc: dccp@vger.kernel.org, netdev@vger.kernel.org
Subject: v2 [PATCH 4/4] dccp: Resolve dependencies of features on choice of CCID
Date: Wed, 12 Nov 2008 07:37:45 +0100	[thread overview]
Message-ID: <20081112063745.GF6405@gerrit.erg.abdn.ac.uk> (raw)
In-Reply-To: <1225950014-6337-5-git-send-email-gerrit@erg.abdn.ac.uk>

dccp: Resolve dependencies of features on choice of CCID

This provides a missing link in the code chain, as several features implicitly
depend and/or rely on the choice of CCID. Most notably, this is the Send Ack Vector
feature, but also Ack Ratio and Send Loss Event Rate (also taken care of).

For Send Ack Vector, the situation is as follows:
 * since CCID2 mandates the use of Ack Vectors, there is no point in allowing 
   endpoints which use CCID2 to disable Ack Vector features such a connection;

 * a peer with a TX CCID of CCID2 will always expect Ack Vectors, and a peer
   with a RX CCID of CCID2 must always send Ack Vectors (RFC 4341, sec. 4);

 * for all other CCIDs, the use of (Send) Ack Vector is optional and thus
   negotiable. However, this implies that the code negotiating the use of Ack
   Vectors also supports it (i.e. is able to supply and to either parse or
   ignore received Ack Vectors). Since this is not the case (CCID-3 has no Ack
   Vector support), the use of Ack Vectors is here disabled, with a comment
   in the source code.

An analogous consideration arises for the Send Loss Event Rate feature,
since the CCID-3 implementation does not support the loss interval options
of RFC 4342. To make such use explicit, corresponding feature-negotiation
options are inserted which signal the use of the loss event rate option,
as it is used by the CCID3 code.

Lastly, the values of the Ack Ratio feature are matched to the choice of CCID.

The patch implements this as a function which is called after the user has
made all other registrations for changing default values of features.

The table is variable-length, the reserved (and hence for feature-negotiation
invalid, confirmed by considering section 19.4 of RFC 4340) feature number `0'
is used to mark the end of the table.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
---
 net/dccp/dccp.h   |    1 
 net/dccp/feat.c   |  160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 net/dccp/output.c |    4 +
 net/dccp/proto.c  |    3 +
 4 files changed, 168 insertions(+)

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

  parent reply	other threads:[~2008-11-12  6:37 UTC|newest]

Thread overview: 241+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <dccp_featneg_last_call_for_comments>
2008-08-28 17:44 ` [PATCH 0/37] dccp: Feature negotiation - last call for comments Gerrit Renker
2008-08-28 17:44   ` [PATCH 01/37] dccp: Basic data structure for feature negotiation Gerrit Renker
2008-08-28 17:44     ` [PATCH 02/37] dccp: Implement lookup table for feature-negotiation information Gerrit Renker
2008-08-28 17:44       ` [PATCH 03/37] dccp: List management for new feature negotiation Gerrit Renker
2008-08-28 17:44         ` [PATCH 04/37] dccp: Per-socket initialisation of " Gerrit Renker
2008-08-28 17:44           ` [PATCH 05/37] dccp: Cleanup routines for " Gerrit Renker
2008-08-28 17:44             ` [PATCH 06/37] dccp: Limit feature negotiation to connection setup phase Gerrit Renker
2008-08-28 17:44               ` [PATCH 07/37] dccp: Registration routines for changing feature values Gerrit Renker
2008-08-28 17:44                 ` [PATCH 08/37] dccp: Query supported CCIDs Gerrit Renker
2008-08-28 17:44                   ` [PATCH 09/37] dccp: Resolve dependencies of features on choice of CCID Gerrit Renker
2008-08-28 17:44                     ` [PATCH 10/37] dccp: Mechanism to resolve CCID dependencies Gerrit Renker
2008-08-28 17:44                       ` [PATCH 11/37] dccp: Deprecate old setsockopt framework Gerrit Renker
2008-08-28 17:44                         ` [PATCH 12/37] dccp: Feature negotiation for minimum-checksum-coverage Gerrit Renker
2008-08-28 17:44                           ` [PATCH 13/37] dccp: Deprecate Ack Ratio sysctl Gerrit Renker
2008-08-28 17:44                             ` [PATCH 14/37] dccp: Tidy up setsockopt calls Gerrit Renker
2008-08-28 17:44                               ` [PATCH 15/37] dccp: Set per-connection CCIDs via socket options Gerrit Renker
2008-08-28 17:44                                 ` [PATCH 16/37] dccp: API to query the current TX/RX CCID Gerrit Renker
2008-08-28 17:44                                   ` [PATCH 17/37] dccp: Increase the scope of variable-length htonl/ntohl functions Gerrit Renker
2008-08-28 17:44                                     ` [PATCH 18/37] dccp: Support for Mandatory options Gerrit Renker
2008-08-28 17:44                                       ` [PATCH 19/37] dccp: Header option insertion routine for feature-negotiation Gerrit Renker
2008-08-28 17:44                                         ` [PATCH 20/37] dccp: Insert feature-negotiation options into skb Gerrit Renker
2008-08-28 17:44                                           ` [PATCH 21/37] dccp: Integrate feature-negotiation insertion code Gerrit Renker
2008-08-28 17:44                                             ` [PATCH 22/37] dccp: Preference list reconciliation Gerrit Renker
2008-08-28 17:44                                               ` [PATCH 23/37] dccp: Process incoming Change feature-negotiation options Gerrit Renker
2008-08-28 17:44                                                 ` [PATCH 24/37] dccp: Processing Confirm options Gerrit Renker
2008-08-28 17:45                                                   ` [PATCH 25/37] dccp: Feature activation handlers Gerrit Renker
2008-08-28 17:45                                                     ` [PATCH 26/37] dccp: Integration of dynamic feature activation - part 1 (socket setup) Gerrit Renker
2008-08-28 17:45                                                       ` [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) Gerrit Renker
2008-08-28 17:45                                                         ` [PATCH 28/37] dccp: Integration of dynamic feature activation - part 3 (client side) Gerrit Renker
2008-08-28 17:45                                                           ` [PATCH 29/37] dccp: Clean up old feature-negotiation infrastructure Gerrit Renker
2008-08-28 17:45                                                             ` [PATCH 30/37] dccp: Remove obsolete parts of the old CCID interface Gerrit Renker
2008-08-28 17:45                                                               ` [PATCH 31/37] dccp: Remove manual influence on NDP Count feature Gerrit Renker
2008-08-28 17:45                                                                 ` [PATCH 32/37] dccp ccid-2: Phase out the use of boolean Ack Vector sysctl Gerrit Renker
2008-08-28 17:45                                                                   ` [PATCH 33/37] dccp: Initialisation framework for feature negotiation Gerrit Renker
2008-08-28 17:45                                                                     ` [PATCH 34/37] dccp: Auto-load (when supported) CCID plugins for negotiation Gerrit Renker
2008-08-28 17:45                                                                       ` [PATCH 35/37] dccp: Implement both feature-local and feature-remote Sequence Window feature Gerrit Renker
2008-08-28 17:45                                                                         ` [PATCH 36/37] dccp: Initialisation and type-checking of feature sysctls Gerrit Renker
2008-08-28 17:45                                                                           ` [PATCH 37/37] dccp: Debugging functions for feature negotiation Gerrit Renker
2008-09-02  6:34                                                     ` [PATCH 25/37] dccp: Feature activation handlers Wei Yongjun
2008-09-03  4:38                                                       ` Gerrit Renker
2008-09-03  5:42                                                         ` Wei Yongjun
2008-09-04  5:12                                                           ` Gerrit Renker
2008-09-02  5:48                                         ` [PATCH 19/37] dccp: Header option insertion routine for feature-negotiation Wei Yongjun
2008-09-03  4:40                                           ` Gerrit Renker
2008-08-28 21:50                                       ` [PATCH 18/37] dccp: Support for Mandatory options Arnaldo Carvalho de Melo
2008-08-28 21:48                                     ` [PATCH 17/37] dccp: Increase the scope of variable-length htonl/ntohl functions Arnaldo Carvalho de Melo
2008-08-28 21:47                                   ` [PATCH 16/37] dccp: API to query the current TX/RX CCID Arnaldo Carvalho de Melo
2008-08-29  7:26                                     ` Gerrit Renker
2008-08-30 13:52                                       ` v2 " Gerrit Renker
2008-08-28 21:45                                 ` [PATCH 15/37] dccp: Set per-connection CCIDs via socket options Arnaldo Carvalho de Melo
2008-08-29  7:17                                   ` Gerrit Renker
2008-08-30 13:52                                     ` v2 " Gerrit Renker
2008-08-28 21:35                               ` [PATCH 14/37] dccp: Tidy up setsockopt calls Arnaldo Carvalho de Melo
2008-08-29  6:57                                 ` Gerrit Renker
2008-08-29  9:25                               ` Eugene Teo
2008-08-30 13:52                                 ` Gerrit Renker
2008-08-28 21:26                             ` [PATCH 13/37] dccp: Deprecate Ack Ratio sysctl Arnaldo Carvalho de Melo
2008-08-28 21:25                           ` [PATCH 12/37] dccp: Feature negotiation for minimum-checksum-coverage Arnaldo Carvalho de Melo
2008-08-29  6:47                             ` Gerrit Renker
2008-08-28 21:07                     ` [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                                                                         ` Gerrit Renker [this message]
2008-11-12  8:49                                                                           ` v2 " 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=20081112063745.GF6405@gerrit.erg.abdn.ac.uk \
    --to=gerrit@erg.abdn.ac.uk \
    --cc=davem@davemloft.net \
    --cc=dccp@vger.kernel.org \
    --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).