Lines Matching defs:fc_pkt

244 static void fcip_ipkt_callback(fc_packet_t *fc_pkt);
246 static void fcip_pkt_callback(fc_packet_t *fc_pkt);
2670 fc_packet_t *fc_pkt;
2716 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
2717 fc_pkt->pkt_cmd_fhdr.r_ctl = R_CTL_ELS_RSP;
2718 fc_pkt->pkt_fca_device = fca_dev;
2737 FCIP_CP_OUT(fcmd, fc_pkt->pkt_cmd, fc_pkt->pkt_cmd_acc,
2740 rval = fc_ulp_issue_els(fport->fcipp_handle, fc_pkt);
4078 fc_packet_t *fc_pkt;
4147 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
4163 fc_pkt->pkt_pd = fdestp->fcipd_pd;
4166 fc_pkt, flags) != FC_SUCCESS) {
4174 fc_pkt->pkt_fca_device = fdestp->fcipd_fca_dev;
4178 fc_pkt->pkt_cmdlen, fc_pkt->pkt_rsplen, fc_pkt->pkt_datalen));
4320 fc_packet_t *fc_pkt;
4332 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
4337 if (fc_pkt->pkt_cmd_fhdr.d_id == did &&
4338 fc_pkt->pkt_tran_type != FC_PKT_BROADCAST) {
4341 fc_pkt->pkt_tran_type = FC_PKT_BROADCAST;
4345 if ((fc_pkt->pkt_tran_type != FC_PKT_BROADCAST) &&
4346 (fc_pkt->pkt_pd == NULL)) {
4365 if (fc_pkt->pkt_pd != NULL) {
4392 fc_pkt->pkt_ulp_rscn_infop = NULL;
4394 rval = fc_ulp_transport(fport->fcipp_handle, fc_pkt);
4430 fcip_pkt_callback(fc_packet_t *fc_pkt)
4436 fcip_pkt = (fcip_pkt_t *)fc_pkt->pkt_ulp_private;
5836 fc_packet_t *fc_pkt;
5862 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
5863 fc_pkt->pkt_ulp_rscn_infop = NULL;
5872 &fc_pkt->pkt_cmd_dma) != DDI_SUCCESS) {
5876 fc_pkt->pkt_cmd_acc = fc_pkt->pkt_resp_acc = NULL;
5877 fc_pkt->pkt_fca_private = (opaque_t)((caddr_t)buf +
5879 fc_pkt->pkt_ulp_private = (opaque_t)fcip_pkt;
5881 fc_pkt->pkt_cmd_cookie_cnt = fc_pkt->pkt_resp_cookie_cnt =
5882 fc_pkt->pkt_data_cookie_cnt = 0;
5883 fc_pkt->pkt_cmd_cookie = fc_pkt->pkt_resp_cookie =
5884 fc_pkt->pkt_data_cookie = NULL;
5896 fc_packet_t *fc_pkt;
5905 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
5907 if (fc_pkt->pkt_cmd_dma) {
5908 ddi_dma_free_handle(&fc_pkt->pkt_cmd_dma);
6207 fc_packet_t *fc_pkt;
6231 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
6242 fc_pkt->pkt_fca_device = bdestp->fcipd_fca_dev;
6274 fcmd->dest_id.port_id = fc_pkt->pkt_cmd_fhdr.d_id;
6285 fc_pkt->pkt_cmdlen = sizeof (la_els_farp_t);
6286 fc_pkt->pkt_rsplen = sizeof (la_els_farp_t);
6287 fc_pkt->pkt_tran_type = FC_PKT_EXCHANGE;
6288 fc_pkt->pkt_ulp_private = (opaque_t)fcip_pkt;
6293 FCIP_CP_OUT(fcmd, fc_pkt->pkt_cmd, fc_pkt->pkt_cmd_acc,
6299 rval = fc_ulp_issue_els(fport->fcipp_handle, fc_pkt);
6372 fc_packet_t *fc_pkt;
6408 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
6413 fr_hdr = &fc_pkt->pkt_cmd_fhdr;
6425 fc_pkt->pkt_rsplen = sizeof (la_els_logi_t);
6426 fc_pkt->pkt_comp = fcip_ipkt_callback;
6427 fc_pkt->pkt_tran_type = FC_PKT_EXCHANGE;
6428 fc_pkt->pkt_timeout = 10; /* 10 seconds */
6429 fcip_pkt->fcip_pkt_ttl = fptr->fcip_timeout_ticks + fc_pkt->pkt_timeout;
6430 fc_pkt->pkt_ulp_private = (opaque_t)fcip_pkt;
6437 fc_pkt->pkt_tran_flags = FC_TRAN_INTR | FC_TRAN_CLASS3;
6446 FCIP_CP_OUT((uint8_t *)&logi, fc_pkt->pkt_cmd, fc_pkt->pkt_cmd_acc,
6449 rval = fc_ulp_login(fport->fcipp_handle, &fc_pkt, 1);
6465 fcip_ipkt_callback(fc_packet_t *fc_pkt)
6475 fr_hdr = &fc_pkt->pkt_cmd_fhdr;
6477 FCIP_CP_IN(fc_pkt->pkt_resp, (uint8_t *)&logi_resp,
6478 fc_pkt->pkt_resp_acc, sizeof (logi_resp));
6480 FCIP_CP_IN(fc_pkt->pkt_cmd, (uint8_t *)&logi_req, fc_pkt->pkt_cmd_acc,
6483 fcip_pkt = (fcip_pkt_t *)fc_pkt->pkt_ulp_private;
6490 if (fc_pkt->pkt_state != FC_PKT_SUCCESS ||
6513 frp->fcipr_pd = fc_pkt->pkt_pd;
6533 fc_packet_t *fc_pkt;
6546 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
6547 fcip_pkt->fcip_pkt_fcpktp = fc_pkt;
6548 fc_pkt->pkt_tran_flags = 0;
6554 fc_pkt->pkt_cmd = (caddr_t)bp->b_rptr;
6555 if (ddi_dma_addr_bind_handle(fc_pkt->pkt_cmd_dma, NULL,
6558 &fc_pkt->pkt_cmd_cookie_cnt) != DDI_DMA_MAPPED) {
6564 if (fc_pkt->pkt_cmd_cookie_cnt >
6569 ASSERT(fc_pkt->pkt_cmd_cookie_cnt != 0);
6571 cp = fc_pkt->pkt_cmd_cookie = (ddi_dma_cookie_t *)kmem_alloc(
6572 fc_pkt->pkt_cmd_cookie_cnt * sizeof (pkt_cookie),
6581 for (cnt = 1; cnt < fc_pkt->pkt_cmd_cookie_cnt; cnt++, cp++) {
6582 ddi_dma_nextcookie(fc_pkt->pkt_cmd_dma, &pkt_cookie);
6586 fc_pkt->pkt_cmdlen = datalen;
6612 fc_packet_t *fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
6615 if (fc_pkt->pkt_cmd_cookie != NULL) {
6616 kmem_free(fc_pkt->pkt_cmd_cookie, fc_pkt->pkt_cmd_cookie_cnt *
6618 fc_pkt->pkt_cmd_cookie = NULL;
6627 (void) fc_ulp_uninit_packet(fptr->fcip_port_info->fcipp_handle, fc_pkt);
6641 fc_packet_t *fc_pkt;
6663 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
6664 fcip_pkt->fcip_pkt_fcpktp = fc_pkt;
6665 fc_pkt->pkt_tran_flags = 0;
6666 fc_pkt->pkt_cmdlen = 0;
6667 fc_pkt->pkt_rsplen = 0;
6668 fc_pkt->pkt_datalen = 0;
6669 fc_pkt->pkt_fca_private = (opaque_t)((caddr_t)fcip_pkt +
6671 fc_pkt->pkt_ulp_private = (opaque_t)fcip_pkt;
6676 &fc_pkt->pkt_cmd_dma) != DDI_SUCCESS) {
6680 if (ddi_dma_mem_alloc(fc_pkt->pkt_cmd_dma, cmdlen,
6682 cb, NULL, (caddr_t *)&fc_pkt->pkt_cmd,
6683 &real_len, &fc_pkt->pkt_cmd_acc) != DDI_SUCCESS) {
6688 fc_pkt->pkt_cmdlen = cmdlen;
6694 if (ddi_dma_addr_bind_handle(fc_pkt->pkt_cmd_dma, NULL,
6695 (caddr_t)fc_pkt->pkt_cmd, real_len,
6697 &pkt_cookie, &fc_pkt->pkt_cmd_cookie_cnt) !=
6704 if (fc_pkt->pkt_cmd_cookie_cnt >
6709 ASSERT(fc_pkt->pkt_cmd_cookie_cnt != 0);
6711 cp = fc_pkt->pkt_cmd_cookie = (ddi_dma_cookie_t *)kmem_alloc(
6712 fc_pkt->pkt_cmd_cookie_cnt * sizeof (pkt_cookie),
6721 for (cnt = 1; cnt < fc_pkt->pkt_cmd_cookie_cnt; cnt++, cp++) {
6722 ddi_dma_nextcookie(fc_pkt->pkt_cmd_dma, &pkt_cookie);
6730 &fc_pkt->pkt_resp_dma) != DDI_SUCCESS) {
6734 if (ddi_dma_mem_alloc(fc_pkt->pkt_resp_dma, resplen,
6736 cb, NULL, (caddr_t *)&fc_pkt->pkt_resp,
6737 &real_len, &fc_pkt->pkt_resp_acc) != DDI_SUCCESS) {
6747 if (ddi_dma_addr_bind_handle(fc_pkt->pkt_resp_dma, NULL,
6748 (caddr_t)fc_pkt->pkt_resp, real_len,
6750 &pkt_cookie, &fc_pkt->pkt_resp_cookie_cnt) !=
6756 fc_pkt->pkt_rsplen = resplen;
6758 if (fc_pkt->pkt_resp_cookie_cnt >
6763 ASSERT(fc_pkt->pkt_resp_cookie_cnt != 0);
6765 cp = fc_pkt->pkt_resp_cookie = (ddi_dma_cookie_t *)kmem_alloc(
6766 fc_pkt->pkt_resp_cookie_cnt * sizeof (pkt_cookie),
6775 for (cnt = 1; cnt < fc_pkt->pkt_resp_cookie_cnt; cnt++, cp++) {
6776 ddi_dma_nextcookie(fc_pkt->pkt_resp_dma, &pkt_cookie);
6785 fc_pkt->pkt_pd = pd;
6791 fc_pkt, flags) != FC_SUCCESS) {
6826 fc_packet_t *fc_pkt;
6839 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
6841 if (fc_pkt->pkt_cmd_cookie != NULL) {
6842 kmem_free(fc_pkt->pkt_cmd_cookie, fc_pkt->pkt_cmd_cookie_cnt *
6844 fc_pkt->pkt_cmd_cookie = NULL;
6847 if (fc_pkt->pkt_resp_cookie != NULL) {
6848 kmem_free(fc_pkt->pkt_resp_cookie, fc_pkt->pkt_resp_cookie_cnt *
6850 fc_pkt->pkt_resp_cookie = NULL;
6853 if (fc_ulp_uninit_packet(fport->fcipp_handle, fc_pkt) != FC_SUCCESS) {
6856 (void *)fc_pkt));
6870 fc_packet_t *fc_pkt;
6874 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
6875 fr_hdr = &fc_pkt->pkt_cmd_fhdr;
6890 fc_pkt->pkt_rsplen = 0;
6891 fc_pkt->pkt_datalen = 0;
6892 fc_pkt->pkt_comp = comp;
6894 fc_pkt->pkt_tran_flags |= FC_TRAN_INTR;
6896 fc_pkt->pkt_tran_flags |= FC_TRAN_NO_INTR;
6898 fc_pkt->pkt_tran_type = FC_PKT_OUTBOUND | FC_PKT_IP_WRITE;
6899 fc_pkt->pkt_timeout = fcip_pkt_ttl_ticks;
6900 fcip_pkt->fcip_pkt_ttl = fptr->fcip_timeout_ticks + fc_pkt->pkt_timeout;
6910 fc_packet_t *fc_pkt;
6919 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
6920 fr_hdr = &fc_pkt->pkt_cmd_fhdr;
6937 fc_pkt->pkt_tran_type = FC_PKT_BROADCAST;
6948 fc_pkt->pkt_comp = comp;
6951 fc_pkt->pkt_tran_flags |= FC_TRAN_INTR;
6953 fc_pkt->pkt_tran_flags |= FC_TRAN_NO_INTR;
6956 fc_pkt->pkt_tran_type = FC_PKT_BROADCAST;
6957 fc_pkt->pkt_timeout = fcip_pkt_ttl_ticks;
6958 fcip_pkt->fcip_pkt_ttl = fptr->fcip_timeout_ticks + fc_pkt->pkt_timeout;
6969 fc_packet_t *fc_pkt;
6971 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
6978 (void) ddi_dma_unbind_handle(fc_pkt->pkt_cmd_dma);
6981 ddi_dma_mem_free(&fc_pkt->pkt_cmd_acc);
6985 (void) ddi_dma_unbind_handle(fc_pkt->pkt_resp_dma);
6988 ddi_dma_mem_free(&fc_pkt->pkt_resp_acc);
6995 if (fc_pkt->pkt_cmd_dma) {
6996 ddi_dma_free_handle(&fc_pkt->pkt_cmd_dma);
6998 if (fc_pkt->pkt_resp_dma) {
6999 ddi_dma_free_handle(&fc_pkt->pkt_resp_dma);
7358 fc_packet_t *fc_pkt;
7365 fc_pkt = FCIP_PKT_TO_FC_PKT(fcip_pkt);
7371 rval = fc_ulp_abort(fport->fcipp_handle, fc_pkt, KM_NOSLEEP);