Skip to contentSkip to conversation

: Initialisation framework for feature negotiation

PATCH In review Gerrit Renker 2 participants 2 messages Oct 3, 2007 Networking

lore
Share & tools
lore
#0 lore raw

PATCH 10/14 : Initialisation framework for feature negotiation

[DCCP]: Initialisation framework for feature negotiation

This initialises feature negotiation from two tables, which are initialised from sysctls. Furthermore, specifics of the implementation (e.g. currently short seqnos and ECN are not supported) are advertised for robustness.

---
 include/linux/dccp.h |   19 -------------
 net/dccp/feat.c      |   71 +++++++++++++++++++++++++++++++++++++++++++--------
 net/dccp/feat.h      |    2 -
 3 files changed, 61 insertions(+), 31 deletions(-)
net/dccp/feat.h +1 -1
@@ -101,12 +101,12 @@ static inline void dccp_feat_debug(const
 #define dccp_feat_debug(type, feat, val)
 #endif /* CONFIG_IP_DCCP_DEBUG */
 
+extern int  dccp_feat_init(struct sock *sk);
 extern int  dccp_feat_register_change(struct sock *sk, u8 feat,
 				      u8 is_local, u8 *val, u8 len);
 extern int  dccp_feat_parse_options(struct sock *, struct dccp_request_sock *,
 				    u8 mand, u8 opt, u8 feat, u8 *val, u8 len);
 extern int  dccp_feat_clone_list(struct list_head const *, struct list_head *);
-extern int  dccp_feat_init(struct sock *sk);
 
 /*
  * Determining lengths of variable-length options.
net/dccp/feat.c +60 -11

84 lines not on this page · raw message

include/linux/dccp.h +0 -19
@@ -383,30 +383,11 @@ static inline unsigned int dccp_hdr_len(
   * @dccpms_sequence_window - Sequence Window Feature (section 7.5.2)
   * @dccpms_send_ndp_count - Send NDP Count Feature (7.7.2)
   * @dccpms_ack_ratio - Ack Ratio Feature (section 11.3)
-  * @dccpms_pending - List of features being negotiated
-  * @dccpms_conf -
   */
 struct dccp_minisock {
 	__u64			dccpms_sequence_window;
 	__u8			dccpms_send_ndp_count;
 	__u8			dccpms_ack_ratio;
-	struct list_head	dccpms_pending;
-	struct list_head	dccpms_conf;
-};
-
-struct dccp_opt_conf {
-	__u8			*dccpoc_val;
-	__u8			dccpoc_len;
-};
-
-struct dccp_opt_pend {
-	struct list_head	dccpop_node;
-	__u8			dccpop_type;
-	__u8			dccpop_feat;
-	__u8		        *dccpop_val;
-	__u8			dccpop_len;
-	int			dccpop_conf;
-	struct dccp_opt_conf    *dccpop_sc;
 };
 
 extern void dccp_minisock_init(struct dccp_minisock *dmsk);
Acked-by on v1 10/14
#1 lore raw
Quoted 7 lines · Gerrit Renker

[DCCP]: Initialisation framework for feature negotiation

This initialises feature negotiation from two tables, which are initialised from sysctls. Furthermore, specifics of the implementation (e.g. currently short seqnos and ECN are not supported) are advertised for robustness.