Lines Matching refs:request

280 icl_pdu_ahs_length(const struct icl_pdu *request)  in icl_pdu_ahs_length()  argument
283 return (request->ip_bhs->bhs_total_ahs_len * 4); in icl_pdu_ahs_length()
287 icl_pdu_data_segment_length(const struct icl_pdu *request) in icl_pdu_data_segment_length() argument
291 len += request->ip_bhs->bhs_data_segment_len[0]; in icl_pdu_data_segment_length()
293 len += request->ip_bhs->bhs_data_segment_len[1]; in icl_pdu_data_segment_length()
295 len += request->ip_bhs->bhs_data_segment_len[2]; in icl_pdu_data_segment_length()
302 const struct icl_pdu *request) in icl_soft_conn_pdu_data_segment_length() argument
305 return (icl_pdu_data_segment_length(request)); in icl_soft_conn_pdu_data_segment_length()
356 icl_pdu_receive_ahs(struct icl_pdu *request, struct mbuf **r, size_t *rs) in icl_pdu_receive_ahs() argument
359 request->ip_ahs_len = icl_pdu_ahs_length(request); in icl_pdu_receive_ahs()
360 if (request->ip_ahs_len == 0) in icl_pdu_receive_ahs()
363 request->ip_ahs_mbuf = *r; in icl_pdu_receive_ahs()
364 *r = m_split(request->ip_ahs_mbuf, request->ip_ahs_len, M_WAITOK); in icl_pdu_receive_ahs()
365 *rs -= request->ip_ahs_len; in icl_pdu_receive_ahs()
389 icl_pdu_check_header_digest(struct icl_pdu *request, struct mbuf **r, size_t *rs) in icl_pdu_check_header_digest() argument
393 if (request->ip_conn->ic_header_crc32c == false) in icl_pdu_check_header_digest()
400 request->ip_bhs_mbuf->m_next = request->ip_ahs_mbuf; in icl_pdu_check_header_digest()
401 valid_digest = icl_mbuf_to_crc32c(request->ip_bhs_mbuf, ISCSI_BHS_SIZE); in icl_pdu_check_header_digest()
402 request->ip_bhs_mbuf->m_next = NULL; in icl_pdu_check_header_digest()
417 icl_pdu_data_segment_receive_len(const struct icl_pdu *request) in icl_pdu_data_segment_receive_len() argument
421 len = icl_pdu_data_segment_length(request); in icl_pdu_data_segment_receive_len()
429 KASSERT(len > request->ip_data_len, ("len <= request->ip_data_len")); in icl_pdu_data_segment_receive_len()
430 len -= request->ip_data_len; in icl_pdu_data_segment_receive_len()
465 icl_pdu_receive_data_segment(struct icl_pdu *request, struct mbuf **r, in icl_pdu_receive_data_segment() argument
472 isc = (struct icl_soft_conn *)request->ip_conn; in icl_pdu_receive_data_segment()
477 len = icl_pdu_data_segment_length(request); in icl_pdu_receive_data_segment()
487 KASSERT(len > request->ip_data_len, ("len <= request->ip_data_len")); in icl_pdu_receive_data_segment()
488 len -= request->ip_data_len; in icl_pdu_receive_data_segment()
514 if (request->ip_data_mbuf == NULL) in icl_pdu_receive_data_segment()
515 request->ip_data_mbuf = m; in icl_pdu_receive_data_segment()
517 m_cat(request->ip_data_mbuf, m); in icl_pdu_receive_data_segment()
519 request->ip_data_len += len; in icl_pdu_receive_data_segment()
524 isc->receive_len = icl_pdu_data_segment_receive_len(request); in icl_pdu_receive_data_segment()
530 icl_pdu_check_data_digest(struct icl_pdu *request, struct mbuf **r, size_t *rs) in icl_pdu_check_data_digest() argument
534 if (request->ip_conn->ic_data_crc32c == false) in icl_pdu_check_data_digest()
537 if (request->ip_data_len == 0) in icl_pdu_check_data_digest()
548 valid_digest = icl_mbuf_to_crc32c(request->ip_data_mbuf, in icl_pdu_check_data_digest()
549 roundup2(request->ip_data_len, 4)); in icl_pdu_check_data_digest()
567 struct icl_pdu *request; in icl_conn_receive_pdu() local
575 request = icl_soft_conn_new_pdu(ic, M_NOWAIT); in icl_conn_receive_pdu()
576 if (request == NULL) { in icl_conn_receive_pdu()
582 isc->receive_pdu = request; in icl_conn_receive_pdu()
586 request = isc->receive_pdu; in icl_conn_receive_pdu()
592 icl_soft_receive_buf(r, rs, request->ip_bhs, in icl_conn_receive_pdu()
600 len = icl_pdu_data_segment_length(request); in icl_conn_receive_pdu()
610 isc->receive_len = icl_pdu_ahs_length(request); in icl_conn_receive_pdu()
615 icl_pdu_receive_ahs(request, r, rs); in icl_conn_receive_pdu()
625 error = icl_pdu_check_header_digest(request, r, rs); in icl_conn_receive_pdu()
633 isc->receive_len = icl_pdu_data_segment_receive_len(request); in icl_conn_receive_pdu()
638 error = icl_pdu_receive_data_segment(request, r, rs, in icl_conn_receive_pdu()
650 if (request->ip_data_len == 0 || ic->ic_data_crc32c == false) in icl_conn_receive_pdu()
658 error = icl_pdu_check_data_digest(request, r, rs); in icl_conn_receive_pdu()
672 return (request); in icl_conn_receive_pdu()
819 icl_pdu_finalize(struct icl_pdu *request) in icl_pdu_finalize() argument
826 ic = request->ip_conn; in icl_pdu_finalize()
828 icl_pdu_set_data_segment_length(request, request->ip_data_len); in icl_pdu_finalize()
830 pdu_len = icl_pdu_size(request); in icl_pdu_finalize()
833 digest = icl_mbuf_to_crc32c(request->ip_bhs_mbuf, in icl_pdu_finalize()
835 ok = m_append(request->ip_bhs_mbuf, sizeof(digest), in icl_pdu_finalize()
843 if (request->ip_data_len != 0) { in icl_pdu_finalize()
844 padding = icl_pdu_padding(request); in icl_pdu_finalize()
846 ok = m_append(request->ip_data_mbuf, padding, in icl_pdu_finalize()
855 digest = icl_mbuf_to_crc32c(request->ip_data_mbuf, in icl_pdu_finalize()
856 roundup2(request->ip_data_len, 4)); in icl_pdu_finalize()
858 ok = m_append(request->ip_data_mbuf, sizeof(digest), in icl_pdu_finalize()
866 m_cat(request->ip_bhs_mbuf, request->ip_data_mbuf); in icl_pdu_finalize()
867 request->ip_data_mbuf = NULL; in icl_pdu_finalize()
870 request->ip_bhs_mbuf->m_pkthdr.len = pdu_len; in icl_pdu_finalize()
879 struct icl_pdu *request, *request2; in icl_conn_send_pdus() local
910 request = STAILQ_FIRST(queue); in icl_conn_send_pdus()
911 size = icl_pdu_size(request); in icl_conn_send_pdus()
935 error = icl_pdu_finalize(request); in icl_conn_send_pdus()
939 icl_soft_pdu_done(request, EIO); in icl_conn_send_pdus()
944 m = request->ip_bhs_mbuf; in icl_conn_send_pdus()
965 icl_soft_pdu_done(request, EIO); in icl_conn_send_pdus()
974 request->ip_bhs_mbuf->m_pkthdr.len += size2; in icl_conn_send_pdus()
986 error = sosend(so, NULL, NULL, request->ip_bhs_mbuf, in icl_conn_send_pdus()
988 request->ip_bhs_mbuf = NULL; /* Sosend consumes the mbuf. */ in icl_conn_send_pdus()
992 icl_soft_pdu_done(request, error); in icl_conn_send_pdus()
996 icl_soft_pdu_done(request, 0); in icl_conn_send_pdus()
1110 icl_soft_conn_pdu_append_bio(struct icl_conn *ic, struct icl_pdu *request, in icl_soft_conn_pdu_append_bio() argument
1113 struct icl_soft_pdu *isp = (struct icl_soft_pdu *)request; in icl_soft_conn_pdu_append_bio()
1121 m_tail = request->ip_data_mbuf; in icl_soft_conn_pdu_append_bio()
1164 request->ip_data_mbuf = m; in icl_soft_conn_pdu_append_bio()
1166 request->ip_data_len += m->m_len; in icl_soft_conn_pdu_append_bio()
1179 request->ip_data_mbuf = m; in icl_soft_conn_pdu_append_bio()
1180 request->ip_data_len += m->m_len; in icl_soft_conn_pdu_append_bio()
1189 if (request->ip_data_mbuf == NULL) { in icl_soft_conn_pdu_append_bio()
1190 request->ip_data_mbuf = m; in icl_soft_conn_pdu_append_bio()
1191 request->ip_data_len = len; in icl_soft_conn_pdu_append_bio()
1194 request->ip_data_len += len; in icl_soft_conn_pdu_append_bio()
1221 icl_soft_conn_pdu_append_data(struct icl_conn *ic, struct icl_pdu *request, in icl_soft_conn_pdu_append_data() argument
1224 struct icl_soft_pdu *isp = (struct icl_soft_pdu *)request; in icl_soft_conn_pdu_append_data()
1257 if (request->ip_data_mbuf == NULL) { in icl_soft_conn_pdu_append_data()
1258 request->ip_data_mbuf = newmb; in icl_soft_conn_pdu_append_data()
1259 request->ip_data_len = len; in icl_soft_conn_pdu_append_data()
1261 m_cat(request->ip_data_mbuf, newmb); in icl_soft_conn_pdu_append_data()
1262 request->ip_data_len += len; in icl_soft_conn_pdu_append_data()