aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/dccp.h
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2008-12-02 02:34:01 -0500
committerDavid S. Miller <davem@davemloft.net>2008-12-02 02:34:01 -0500
commit422d9cdcb85b3622d08a590fed66021af7aea333 (patch)
treee40520346933d4c1d27ad7712f09bcd45fb25fca /net/dccp/dccp.h
parentb1ad00422ecba0449f8e3a8f2ec9267bc994bf8f (diff)
dccp: Feature activation handlers
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. Thanks to Wei Yongjun for pointing out the necessity of skipping over empty Confirm options while copying the negotiated feature values. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/dccp.h')
-rw-r--r--net/dccp/dccp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h
index 4ed7c5936bcf..94f6785f81ec 100644
--- a/net/dccp/dccp.h
+++ b/net/dccp/dccp.h
@@ -445,6 +445,7 @@ extern int dccp_feat_finalise_settings(struct dccp_sock *dp);
445extern int dccp_feat_server_ccid_dependencies(struct dccp_request_sock *dreq); 445extern int dccp_feat_server_ccid_dependencies(struct dccp_request_sock *dreq);
446extern int dccp_feat_insert_opts(struct dccp_sock*, struct dccp_request_sock*, 446extern int dccp_feat_insert_opts(struct dccp_sock*, struct dccp_request_sock*,
447 struct sk_buff *skb); 447 struct sk_buff *skb);
448extern int dccp_feat_activate_values(struct sock *sk, struct list_head *fn);
448extern void dccp_feat_list_purge(struct list_head *fn_list); 449extern void dccp_feat_list_purge(struct list_head *fn_list);
449 450
450extern int dccp_insert_options(struct sock *sk, struct sk_buff *skb); 451extern int dccp_insert_options(struct sock *sk, struct sk_buff *skb);