lpfc_fabric_abort_nport(9)
π lpfc_fabric_abort_nport(9) β from the Kernel API Manual, bestie
okay so this is a kernel API page, it lives in the 9 section of the manual, and honestly? it's a little baddie of a cleanup function. let's get into it π
β¨ NAME β¨
lpfc_fabric_abort_nport β abort a ndlp's iocbs from the driver fabric iocb list π«Ά
πΈ SYNOPSIS πΈ
void lpfc_fabric_abort_nport (struct lpfc_nodelist *ndlp );
that's it. that's the whole signature. no return value, it just does the thing π
π¦ ARGUMENTS π¦
ndlpβ pointer to a node-list data structure. literally just a pointer to a node-list data structure, bestie, that's the whole vibe β¨
π₯ DESCRIPTION π₯
okay so picture this: this routine aborts all the IOCBs associated with an ndlp from the driver's internal fabric IOCB list. iconic behavior honestly π
so that list? it contains fabric IOCBs that are to be issued to the ELS IOCB ring. like, they're queued up, waiting their turn, minding their own business.
what this abort function does is walk the fabric IOCB list, and for each IOCB it finds that's associated with the ndlp, it:
- removes that IOCB off the list π§Ή
- sets the status field to
IOSTAT_LOCAL_REJECT - invokes the callback function associated with the IOCB π
so yeah β walk, yank, mark it rejected, call the callback. that's the whole little routine. no cap, it's that simple and it eats π
ngl, the IOSTAT_LOCAL_REJECT part matters β every IOCB you pull off that list gets that status, so don't be surprised when the callback shows up with a rejection in hand π
π SEE ALSO π
fr fr go read these, they're all in the kernel file ./drivers/scsi/lpfc/lpfc_els.c and honestly the whole lpfc ELS friend group is here π
lpfc_els_chk_latt(9), lpfc_prep_els_iocb(9), lpfc_issue_fabric_reglogin(9),
lpfc_issue_reg_vfi(9), lpfc_issue_unreg_vfi(9),
lpfc_check_clean_addr_bit(9), lpfc_cmpl_els_flogi_fabric(9),
lpfc_cmpl_els_flogi_nport(9), lpfc_cmpl_els_flogi(9),
lpfc_cmpl_els_link_down(9), lpfc_issue_els_flogi(9),
lpfc_els_abort_flogi(9), lpfc_initial_flogi(9), lpfc_initial_fdisc(9),
lpfc_more_plogi(9), lpfc_plogi_confirm_nport(9), lpfc_end_rscn(9),
lpfc_cmpl_els_rrq(9), lpfc_check_encryption(9), lpfc_cmpl_els_plogi(9),
lpfc_issue_els_plogi(9), lpfc_cmpl_els_prli(9), lpfc_issue_els_prli(9),
lpfc_rscn_disc(9), lpfc_adisc_done(9), lpfc_more_adisc(9),
lpfc_cmpl_els_adisc(9), lpfc_issue_els_adisc(9), lpfc_cmpl_els_logo(9),
lpfc_issue_els_logo(9), lpfc_cmpl_els_cmd(9), lpfc_reg_fab_ctrl_node(9),
lpfc_cmpl_els_disc_cmd(9), lpfc_issue_els_scr(9),
lpfc_issue_els_rscn(9), lpfc_issue_els_farpr(9), lpfc_issue_els_rdf(9),
lpfc_least_capable_settings(9), lpfc_cmpl_els_edc(9),
lpfc_cancel_retry_delay_tmo(9), lpfc_els_retry_delay(9),
lpfc_els_retry_delay_handler(9), lpfc_link_reset(9), lpfc_els_retry(9),
lpfc_els_free_data(9), lpfc_els_free_bpl(9), lpfc_els_free_iocb(9),
lpfc_cmpl_els_logo_acc(9), lpfc_mbx_cmpl_dflt_rpi(9),
lpfc_cmpl_els_rsp(9), lpfc_els_rsp_acc(9), lpfc_els_rsp_reject(9),
lpfc_els_rsp_adisc_acc(9), lpfc_els_rsp_prli_acc(9),
lpfc_els_rsp_rnid_acc(9), lpfc_els_clear_rrq(9),
lpfc_els_rsp_echo_acc(9), lpfc_els_disc_adisc(9),
lpfc_els_disc_plogi(9), lpfc_els_rcv_lcb(9), lpfc_els_flush_rscn(9),
lpfc_rscn_payload_check(9), lpfc_rscn_recovery_check(9),
lpfc_send_rscn_event(9), lpfc_els_rcv_rscn(9), lpfc_els_handle_rscn(9),
lpfc_els_rcv_flogi(9), lpfc_els_rcv_rnid(9), lpfc_els_rcv_echo(9),
lpfc_els_rcv_lirr(9), lpfc_els_rcv_rrq(9), lpfc_els_rsp_rls_acc(9),
lpfc_els_rcv_rls(9), lpfc_els_rcv_rtv(9), lpfc_send_rrq(9),
lpfc_els_rsp_rpl_acc(9), lpfc_els_rcv_rpl(9), lpfc_els_rcv_farp(9),
lpfc_els_rcv_farpr(9), lpfc_els_rcv_fan(9), lpfc_els_rcv_edc(9),
lpfc_els_timeout(9), lpfc_els_timeout_handler(9), lpfc_els_flush_cmd(9),
lpfc_els_flush_all_cmd(9), lpfc_send_els_failure_event(9),
lpfc_send_els_event(9), lpfc_display_fpin_wwpn(9),
lpfc_els_rcv_fpin_li(9), lpfc_els_rcv_fpin_del(9),
lpfc_els_rcv_fpin_peer_cgn(9), lpfc_els_rcv_fpin_cgn(9),
lpfc_els_unsol_buffer(9), lpfc_els_unsol_event(9),
lpfc_do_scr_ns_plogi(9), lpfc_cmpl_reg_new_vport(9),
lpfc_register_new_vport(9), lpfc_cancel_all_vport_retry_delay_timer(9),
lpfc_retry_pport_discovery(9), lpfc_fabric_login_reqd(9),
lpfc_cmpl_els_fdisc(9), lpfc_issue_els_fdisc(9),
lpfc_cmpl_els_npiv_logo(9), lpfc_issue_els_npiv_logo(9),
lpfc_fabric_block_timeout(9), lpfc_resume_fabric_iocbs(9),
lpfc_unblock_fabric_iocbs(9), lpfc_block_fabric_iocbs(9),
lpfc_cmpl_fabric_iocb(9), lpfc_issue_fabric_iocb(9),
lpfc_fabric_abort_vport(9), lpfc_fabric_abort_hba(9),
lpfc_sli4_vport_delete_els_xri_aborted(9), lpfc_sli4_els_xri_aborted(9)
and that's the whole page, bestie π§
π cute little sign-off: this one comes from the source tree at ./drivers/scsi/lpfc and it's dated October 2026. go forth and abort those fabric IOCBs responsibly. periodt. β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms