Lines Matching refs:token
48 static struct token_bucket *token_bucket(u32 token) in token_bucket() argument
50 return &token_hash[token & token_mask]; in token_bucket()
55 __token_lookup_req(struct token_bucket *t, u32 token) in __token_lookup_req() argument
61 if (req->token == token) in __token_lookup_req()
68 __token_lookup_msk(struct token_bucket *t, u32 token) in __token_lookup_msk() argument
74 if (mptcp_sk(sk)->token == token) in __token_lookup_msk()
79 static bool __token_bucket_busy(struct token_bucket *t, u32 token) in __token_bucket_busy() argument
81 return !token || t->chain_len >= TOKEN_MAX_CHAIN_LEN || in __token_bucket_busy()
82 __token_lookup_req(t, token) || __token_lookup_msk(t, token); in __token_bucket_busy()
85 static void mptcp_crypto_key_gen_sha(u64 *key, u32 *token, u64 *idsn) in mptcp_crypto_key_gen_sha() argument
94 mptcp_crypto_key_sha(*key, token, idsn); in mptcp_crypto_key_gen_sha()
112 u32 token; in mptcp_token_new_request() local
115 &subflow_req->token, in mptcp_token_new_request()
118 req, subflow_req->local_key, subflow_req->token, in mptcp_token_new_request()
121 token = subflow_req->token; in mptcp_token_new_request()
122 bucket = token_bucket(token); in mptcp_token_new_request()
124 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 ssk, subflow->local_key, subflow->token, subflow->idsn); in mptcp_token_new_connect()
175 WRITE_ONCE(msk->token, subflow->token); in mptcp_token_new_connect()
199 bucket = token_bucket(req->token); in mptcp_token_accept()
203 pos = __token_lookup_req(bucket, req->token); in mptcp_token_accept()
210 bool mptcp_token_exists(u32 token) in mptcp_token_exists() argument
218 bucket = token_bucket(token); in mptcp_token_exists()
223 if (READ_ONCE(msk->token) == token) in mptcp_token_exists()
226 if (get_nulls_value(pos) != (token & token_mask)) in mptcp_token_exists()
246 struct mptcp_sock *mptcp_token_get_sock(struct net *net, u32 token) in mptcp_token_get_sock() argument
254 bucket = token_bucket(token); in mptcp_token_get_sock()
259 if (READ_ONCE(msk->token) != token || in mptcp_token_get_sock()
266 if (READ_ONCE(msk->token) != token || in mptcp_token_get_sock()
273 if (get_nulls_value(pos) != (token & token_mask)) in mptcp_token_get_sock()
359 bucket = token_bucket(subflow_req->token); in mptcp_token_destroy_request()
361 pos = __token_lookup_req(bucket, subflow_req->token); in mptcp_token_destroy_request()
385 bucket = token_bucket(msk->token); in mptcp_token_destroy()
387 pos = __token_lookup_msk(bucket, msk->token); in mptcp_token_destroy()
393 WRITE_ONCE(msk->token, 0); in mptcp_token_destroy()