Lines Matching refs:token
49 static struct token_bucket *token_bucket(u32 token) in token_bucket() argument
51 return &token_hash[token & token_mask]; in token_bucket()
56 __token_lookup_req(struct token_bucket *t, u32 token) in __token_lookup_req() argument
62 if (req->token == token) in __token_lookup_req()
69 __token_lookup_msk(struct token_bucket *t, u32 token) in __token_lookup_msk() argument
75 if (mptcp_sk(sk)->token == token) in __token_lookup_msk()
80 static bool __token_bucket_busy(struct token_bucket *t, u32 token) in __token_bucket_busy() argument
82 return !token || t->chain_len >= TOKEN_MAX_CHAIN_LEN || in __token_bucket_busy()
83 __token_lookup_req(t, token) || __token_lookup_msk(t, token); in __token_bucket_busy()
86 static void mptcp_crypto_key_gen_sha(u64 *key, u32 *token, u64 *idsn) in mptcp_crypto_key_gen_sha() argument
95 mptcp_crypto_key_sha(*key, token, idsn); in mptcp_crypto_key_gen_sha()
113 u32 token; in mptcp_token_new_request() local
116 &subflow_req->token, in mptcp_token_new_request()
119 req, subflow_req->local_key, subflow_req->token, in mptcp_token_new_request()
122 token = subflow_req->token; in mptcp_token_new_request()
123 bucket = token_bucket(token); in mptcp_token_new_request()
125 if (__token_bucket_busy(bucket, token)) { in mptcp_token_new_request()
160 mptcp_crypto_key_gen_sha(&subflow->local_key, &subflow->token, in mptcp_token_new_connect()
163 bucket = token_bucket(subflow->token); in mptcp_token_new_connect()
165 if (__token_bucket_busy(bucket, subflow->token)) { in mptcp_token_new_connect()
173 sk, subflow->local_key, subflow->token, subflow->idsn); in mptcp_token_new_connect()
175 WRITE_ONCE(msk->token, subflow->token); in mptcp_token_new_connect()
196 bucket = token_bucket(req->token); in mptcp_token_accept()
200 pos = __token_lookup_req(bucket, req->token); in mptcp_token_accept()
207 bool mptcp_token_exists(u32 token) in mptcp_token_exists() argument
215 bucket = token_bucket(token); in mptcp_token_exists()
220 if (READ_ONCE(msk->token) == token) in mptcp_token_exists()
223 if (get_nulls_value(pos) != (token & token_mask)) in mptcp_token_exists()
243 struct mptcp_sock *mptcp_token_get_sock(struct net *net, u32 token) in mptcp_token_get_sock() argument
251 bucket = token_bucket(token); in mptcp_token_get_sock()
256 if (READ_ONCE(msk->token) != token || in mptcp_token_get_sock()
263 if (READ_ONCE(msk->token) != token || in mptcp_token_get_sock()
270 if (get_nulls_value(pos) != (token & token_mask)) in mptcp_token_get_sock()
356 bucket = token_bucket(subflow_req->token); in mptcp_token_destroy_request()
358 pos = __token_lookup_req(bucket, subflow_req->token); in mptcp_token_destroy_request()
380 bucket = token_bucket(msk->token); in mptcp_token_destroy()
382 pos = __token_lookup_msk(bucket, msk->token); in mptcp_token_destroy()