Lines Matching defs:response
20 struct smbd_response *response);
25 struct smbd_connection *info, struct smbd_response *response);
28 struct smbd_response *response, int data_length);
34 struct smbd_response *response);
260 static inline void *smbd_response_payload(struct smbd_response *response)
262 return (void *)response->packet;
306 * Process a negotiation response message, according to [MS-SMBD]3.1.5.7
307 * response, packet_length: the negotiation response message
311 struct smbd_response *response, int packet_length)
313 struct smbd_connection *info = response->info;
314 struct smbd_negotiate_resp *packet = smbd_response_payload(response);
385 struct smbd_response *response;
399 response = get_receive_buffer(info);
401 response = get_empty_queue_buffer(info);
402 if (!response) {
411 response->type = SMBD_TRANSFER_DATA;
412 response->first_segment = false;
413 rc = smbd_post_recv(info, response);
417 put_receive_buffer(info, response);
445 struct smbd_response *response =
447 struct smbd_connection *info = response->info;
450 log_rdma_recv(INFO, "response=%p type=%d wc status=%d wc opcode %d byte_len=%d pkey_index=%x\n",
451 response, response->type, wc->status, wc->opcode,
463 response->sge.addr,
464 response->sge.length,
467 switch (response->type) {
468 /* SMBD negotiation response */
470 dump_smbd_negotiate_resp(smbd_response_payload(response));
473 process_negotiation_response(response, wc->byte_len);
479 data_transfer = smbd_response_payload(response);
488 response->first_segment = true;
497 response,
500 put_empty_packet(info, response);
524 /* Send a KEEP_ALIVE response right away if requested */
535 "unexpected response type=%d\n", response->type);
539 put_receive_buffer(info, response);
771 * back a response.
1041 struct smbd_connection *info, struct smbd_response *response)
1046 response->sge.addr = ib_dma_map_single(
1047 info->id->device, response->packet,
1049 if (ib_dma_mapping_error(info->id->device, response->sge.addr))
1052 response->sge.length = info->max_receive_size;
1053 response->sge.lkey = info->pd->local_dma_lkey;
1055 response->cqe.done = recv_done;
1057 recv_wr.wr_cqe = &response->cqe;
1059 recv_wr.sg_list = &response->sge;
1064 ib_dma_unmap_single(info->id->device, response->sge.addr,
1065 response->sge.length, DMA_FROM_DEVICE);
1077 struct smbd_response *response = get_receive_buffer(info);
1079 response->type = SMBD_NEGOTIATE_RESP;
1080 rc = smbd_post_recv(info, response);
1082 rc, response->sge.addr,
1083 response->sge.length, response->sge.lkey);
1111 struct smbd_connection *info, struct smbd_response *response)
1114 list_add_tail(&response->list, &info->empty_packet_queue);
1128 * response: the packet received
1133 struct smbd_response *response,
1137 list_add_tail(&response->list, &info->reassembly_queue);
1220 struct smbd_connection *info, struct smbd_response *response)
1224 ib_dma_unmap_single(info->id->device, response->sge.addr,
1225 response->sge.length, DMA_FROM_DEVICE);
1228 list_add_tail(&response->list, &info->receive_queue);
1240 struct smbd_response *response;
1258 response = mempool_alloc(info->response_mempool, GFP_KERNEL);
1259 if (!response)
1262 response->info = info;
1263 list_add_tail(&response->list, &info->receive_queue);
1271 response = list_first_entry(
1274 list_del(&response->list);
1277 mempool_free(response, info->response_mempool);
1284 struct smbd_response *response;
1286 while ((response = get_receive_buffer(info)))
1287 mempool_free(response, info->response_mempool);
1289 while ((response = get_empty_queue_buffer(info)))
1290 mempool_free(response, info->response_mempool);
1324 struct smbd_response *response;
1356 response = _get_first_reassembly(info);
1357 if (response) {
1358 list_del(&response->list);
1361 put_receive_buffer(info, response);
1365 } while (response);
1770 struct smbd_response *response;
1801 response = _get_first_reassembly(info);
1802 data_transfer = smbd_response_payload(response);
1817 if (response->first_segment && size == 4) {
1822 response->first_segment = false;
1842 list_del(&response->list);
1846 list_del(&response->list);
1853 put_receive_buffer(info, response);