#include <linux/module.h>
#include <linux/slab.h>
#include "ccid.h"
#include "feat.h"
Go to the source code of this file.
|
void | dccp_feat_list_purge (struct list_head *fn_list) |
|
| EXPORT_SYMBOL_GPL (dccp_feat_list_purge) |
|
int | dccp_feat_clone_list (struct list_head const *from, struct list_head *to) |
|
int | dccp_feat_insert_opts (struct dccp_sock *dp, struct dccp_request_sock *dreq, struct sk_buff *skb) |
|
int | dccp_feat_register_sp (struct sock *sk, u8 feat, u8 is_local, u8 const *list, u8 len) |
|
u64 | dccp_feat_nn_get (struct sock *sk, u8 feat) |
|
| EXPORT_SYMBOL_GPL (dccp_feat_nn_get) |
|
int | dccp_feat_signal_nn_change (struct sock *sk, u8 feat, u64 nn_val) |
|
| EXPORT_SYMBOL_GPL (dccp_feat_signal_nn_change) |
|
int | dccp_feat_finalise_settings (struct dccp_sock *dp) |
|
int | dccp_feat_server_ccid_dependencies (struct dccp_request_sock *dreq) |
|
int | dccp_feat_parse_options (struct sock *sk, struct dccp_request_sock *dreq, u8 mandatory, u8 opt, u8 feat, u8 *val, u8 len) |
|
int | dccp_feat_init (struct sock *sk) |
|
int | dccp_feat_activate_values (struct sock *sk, struct list_head *fn_list) |
|
#define dccp_feat_print_fnlist |
( |
|
fn_list | ) |
|
#define DCCP_FEAT_SUPPORTED_MAX ARRAY_SIZE(dccp_feat_table) |
dccp_feat_finalise_settings - Finalise settings before starting negotiation : 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.
Definition at line 968 of file feat.c.
dccp_feat_init - Seed feature negotiation with host-specific defaults This initialises global defaults, depending on the value of the sysctls. These can later be overridden by registering changes via setsockopt calls. The last link in the chain is finalise_settings, to make sure that between here and the start of actual feature negotiation no inconsistencies enter.
All features not appearing below use either defaults or are otherwise later adjusted through dccp_feat_finalise_settings().
Definition at line 1440 of file feat.c.
dccp_feat_insert_opts - Generate FN options from current list state : next sk_buff to be sent to the peer : for client during handshake and general negotiation : used by the server only (all Changes/Confirms in LISTEN/RESPOND)
Definition at line 634 of file feat.c.
dccp_feat_nn_get - Query current/pending value of NN feature : DCCP socket of an established connection : NN feature number from dccp_feature_numbers
For a known NN feature, returns value currently being negotiated, or current (confirmed) value if no negotiation is going on.
Definition at line 771 of file feat.c.
dccp_feat_parse_options - Process Feature-Negotiation Options : for general use and used by the client during connection setup : used by the server during connection setup : whether was preceded by a Mandatory option : DCCPO_CHANGE_L | DCCPO_CHANGE_R | DCCPO_CONFIRM_L | DCCPO_CONFIRM_R : one of dccp_feature_numbers : value contents of : length of in bytes
Returns 0 on success, a Reset code for ending the connection otherwise.
Definition at line 1394 of file feat.c.
dccp_feat_register_sp - Register requests to change SP feature values : client or listening socket : one of dccp_feature_numbers : whether the local (1) or remote (0) is meant : array of preferred values, in descending order of preference : length of in bytes
Definition at line 752 of file feat.c.
dccp_feat_server_ccid_dependencies - Resolve CCID-dependent features It is the server which resolves the dependencies once the CCID has been fully negotiated. If no CCID has been negotiated, it uses the default CCID.
Definition at line 998 of file feat.c.
dccp_feat_signal_nn_change - Update NN values for an established connection : DCCP socket of an established connection : NN feature number from dccp_feature_numbers : the new value to use
This function is used to communicate NN updates out-of-band.
Definition at line 801 of file feat.c.