: Activation of features after negotiation
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
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.
Signed-off-by Gerrit Renker <[email protected]>