Lines Matching refs:offload_ctx
71 struct tls_offload_context_tx *offload_ctx = in tls_device_tx_del_task() local
73 struct tls_context *ctx = offload_ctx->ctx; in tls_device_tx_del_task()
110 struct tls_offload_context_tx *offload_ctx = tls_offload_ctx_tx(ctx); in tls_device_queue_ctx_destruction() local
115 queue_work(destruct_wq, &offload_ctx->destruct_work); in tls_device_queue_ctx_destruction()
150 static void delete_all_records(struct tls_offload_context_tx *offload_ctx) in delete_all_records() argument
154 list_for_each_entry_safe(info, temp, &offload_ctx->records_list, list) { in delete_all_records()
159 offload_ctx->retransmit_hint = NULL; in delete_all_records()
281 struct tls_offload_context_tx *offload_ctx, in tls_push_record() argument
291 list_add_tail_rcu(&record->list, &offload_ctx->records_list); in tls_push_record()
292 offload_ctx->open_record = NULL; in tls_push_record()
301 sg_unmark_end(&offload_ctx->sg_tx_data[i]); in tls_push_record()
302 sg_set_page(&offload_ctx->sg_tx_data[i], skb_frag_page(frag), in tls_push_record()
307 sg_mark_end(&offload_ctx->sg_tx_data[record->num_frags - 1]); in tls_push_record()
310 return tls_push_sg(sk, ctx, offload_ctx->sg_tx_data, 0, flags); in tls_push_record()
342 static int tls_create_new_record(struct tls_offload_context_tx *offload_ctx, in tls_create_new_record() argument
362 offload_ctx->open_record = record; in tls_create_new_record()
367 struct tls_offload_context_tx *offload_ctx, in tls_do_allocation() argument
373 if (!offload_ctx->open_record) { in tls_do_allocation()
382 ret = tls_create_new_record(offload_ctx, pfrag, prepend_size); in tls_do_allocation()
1040 struct tls_offload_context_tx *offload_ctx; in alloc_offload_ctx_tx() local
1043 offload_ctx = kzalloc_obj(*offload_ctx); in alloc_offload_ctx_tx()
1044 if (!offload_ctx) in alloc_offload_ctx_tx()
1047 INIT_WORK(&offload_ctx->destruct_work, tls_device_tx_del_task); in alloc_offload_ctx_tx()
1048 INIT_LIST_HEAD(&offload_ctx->records_list); in alloc_offload_ctx_tx()
1049 spin_lock_init(&offload_ctx->lock); in alloc_offload_ctx_tx()
1050 sg_init_table(offload_ctx->sg_tx_data, in alloc_offload_ctx_tx()
1051 ARRAY_SIZE(offload_ctx->sg_tx_data)); in alloc_offload_ctx_tx()
1055 offload_ctx->unacked_record_sn = be64_to_cpu(rcd_sn) - 1; in alloc_offload_ctx_tx()
1057 offload_ctx->ctx = ctx; in alloc_offload_ctx_tx()
1059 return offload_ctx; in alloc_offload_ctx_tx()
1065 struct tls_offload_context_tx *offload_ctx; in tls_set_device_offload() local
1119 offload_ctx = alloc_offload_ctx_tx(ctx); in tls_set_device_offload()
1120 if (!offload_ctx) { in tls_set_device_offload()
1125 rc = tls_sw_fallback_init(sk, offload_ctx, crypto_info); in tls_set_device_offload()
1132 list_add_tail(&start_marker_record->list, &offload_ctx->records_list); in tls_set_device_offload()
1157 ctx->priv_ctx_tx = offload_ctx; in tls_set_device_offload()
1181 crypto_free_aead(offload_ctx->aead_send); in tls_set_device_offload()
1183 kfree(offload_ctx); in tls_set_device_offload()