Skip to contentSkip to conversation

: Activation of features after negotiation

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

lore
Share & tools
lore
#0 lore raw

PATCH 1/14 : Activation of features after negotiation

[DCCP]: Activation of features after negotiation

This patch provides the post-processing of feature negotiation state, after the negotiation has completed.

To this purpose, handlers are used and added to the dccp_feat_table. Each handler is passed a boolean flag whether the RX or TX side of the feature is meant.

Several handlers are provided already, new handlers can easily be added.

The initialisation is now fully dynamic, i.e. CCIDs are activated only after the feature negotiation. The integration of this dynamic activation is done in the subsequent patches.

---
 net/dccp/dccp.h      |    1 
 net/dccp/feat.c      |  176 +++++++++++++++++++++++++++++++++++----------------
 net/dccp/minisocks.c |   90 ++++++++++++++++++++++++++
 3 files changed, 212 insertions(+), 55 deletions(-)
net/dccp/dccp.h +1 -0
@@ -426,6 +426,7 @@ extern int  dccp_feat_finalise_settings(
 extern int  dccp_feat_server_ccid_dependencies(struct dccp_request_sock *dreq);
 extern int  dccp_feat_insert_opts(struct dccp_sock*, struct dccp_request_sock*,
 				  struct sk_buff *skb);
+extern int  dccp_feat_activate_values(struct sock *sk, struct list_head *fn);
 extern void dccp_feat_list_purge(struct list_head *fn_list);
 
 extern int dccp_insert_options(struct sock *sk, struct sk_buff *skb);
net/dccp/feat.c +121 -55

211 lines not on this page · raw message

net/dccp/minisocks.c +90 -0

93 lines not on this page · raw message

Acked-by on v1 1/14
#1 lore raw
Quoted 8 lines · Gerrit Renker

[DCCP]: Activation of features after negotiation

This patch provides the post-processing of feature negotiation state, after the negotiation has completed.

To this purpose, handlers are used and added to the dccp_feat_table. Each handler is passed a boolean flag whether the RX or TX side of the feature is meant.

Quoted 7 lines

Several handlers are provided already, new handlers can easily be added.

The initialisation is now fully dynamic, i.e. CCIDs are activated only after the feature negotiation. The integration of this dynamic activation is done in the subsequent patches.